From fe7017e7d14765b000edda0a192a16c667dc20bc Mon Sep 17 00:00:00 2001 From: Alberto Passalacqua Date: Sun, 30 Oct 2016 06:40:34 +0100 Subject: [PATCH] BUG: Corrected database lookup of turbulence model to address problem encountered with pbeFoam and some breakup kernels. Corrects bug: https://github.com/OpenQBMM/OpenQBMM/issues/45 --- applications/pbeFoam/createFields.H | 6 ++++-- applications/pbeFoam/output.H | 1 - applications/pbeFoam/pbeFoam.C | 8 ++++++-- .../turbulentBrownian/turbulentBrownian.C | 8 ++++---- .../breakupKernels/AyaziShamlou/AyaziShamlou.C | 18 +++++++++--------- .../breakupKernels/LuoSvendsen/LuoSvendsen.C | 8 ++++---- 6 files changed, 27 insertions(+), 22 deletions(-) diff --git a/applications/pbeFoam/createFields.H b/applications/pbeFoam/createFields.H index 0ebbbe819..b77f4f740 100644 --- a/applications/pbeFoam/createFields.H +++ b/applications/pbeFoam/createFields.H @@ -57,7 +57,6 @@ thermo ) ); - compressible::turbulenceModel& turbulence = pTurbulence(); turbulence.validate(); @@ -79,6 +78,9 @@ ( populationBalanceModel::New ( - "populationBalance", populationBalanceProperties, U, phi + "populationBalance", + populationBalanceProperties, + U, + phi ) ); diff --git a/applications/pbeFoam/output.H b/applications/pbeFoam/output.H index e22d7a529..52115a487 100644 --- a/applications/pbeFoam/output.H +++ b/applications/pbeFoam/output.H @@ -4,4 +4,3 @@ Info<< "moment.0 = " << moment0[0] << endl; - diff --git a/applications/pbeFoam/pbeFoam.C b/applications/pbeFoam/pbeFoam.C index 613345851..0b6096b49 100644 --- a/applications/pbeFoam/pbeFoam.C +++ b/applications/pbeFoam/pbeFoam.C @@ -38,8 +38,8 @@ Description #include "psiThermo.H" #include "turbulentFluidThermoModel.H" #include "OFstream.H" -#include "thermoPhysicsTypes.H" -#include "basicMultiComponentMixture.H" +//#include "thermoPhysicsTypes.H" +//#include "basicMultiComponentMixture.H" #include "cellModeller.H" #include "populationBalanceModel.H" @@ -49,6 +49,10 @@ int main(int argc, char *argv[]) { argList::noParallel(); + #define CREATE_MESH createSingleCellMesh.H + #define NO_CONTROL + #include "postProcess.H" + #include "setRootCase.H" #include "createTime.H" #include "createSingleCellMesh.H" diff --git a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/aggregationKernels/turbulentBrownian/turbulentBrownian.C b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/aggregationKernels/turbulentBrownian/turbulentBrownian.C index 11bf95801..6aaa3783a 100644 --- a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/aggregationKernels/turbulentBrownian/turbulentBrownian.C +++ b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/aggregationKernels/turbulentBrownian/turbulentBrownian.C @@ -77,7 +77,7 @@ Foam::populationBalanceSubModels::aggregationKernels::turbulentBrownian::Ka const volScalarField& abscissa2 ) const { - if (!abscissa1.mesh().foundObject(basicThermo::dictName)) + if (!abscissa1.db().foundObject(basicThermo::dictName)) { FatalErrorInFunction << "No valid thermophysical model found." @@ -85,13 +85,13 @@ Foam::populationBalanceSubModels::aggregationKernels::turbulentBrownian::Ka } const fluidThermo& flThermo = - abscissa1.mesh().lookupObject(basicThermo::dictName); + abscissa1.db().lookupObject(basicThermo::dictName); typedef compressible::turbulenceModel cmpTurbModel; if ( - !abscissa1.mesh().foundObject + !abscissa1.db().foundObject ( cmpTurbModel::propertiesName ) @@ -103,7 +103,7 @@ Foam::populationBalanceSubModels::aggregationKernels::turbulentBrownian::Ka } const compressible::turbulenceModel& flTurb = - abscissa1.mesh().lookupObject + abscissa1.db().lookupObject ( turbulenceModel::propertiesName ); diff --git a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/AyaziShamlou/AyaziShamlou.C b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/AyaziShamlou/AyaziShamlou.C index 0eebf0cfc..30fbe00be 100644 --- a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/AyaziShamlou/AyaziShamlou.C +++ b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/AyaziShamlou/AyaziShamlou.C @@ -78,7 +78,7 @@ Foam::populationBalanceSubModels::breakupKernels::AyaziShamlou::Kb const volScalarField& abscissa ) const { - if (!abscissa.mesh().foundObject(basicThermo::dictName)) + if (!abscissa.db().foundObject(basicThermo::dictName)) { FatalErrorInFunction << "No valid thermophysical model found." @@ -86,13 +86,13 @@ Foam::populationBalanceSubModels::breakupKernels::AyaziShamlou::Kb } const fluidThermo& flThermo = - abscissa.mesh().lookupObject(basicThermo::dictName); + abscissa.db().lookupObject(basicThermo::dictName); typedef compressible::turbulenceModel cmpTurbModel; if ( - !abscissa.mesh().foundObject + !abscissa.mesh().time().db().foundObject ( cmpTurbModel::propertiesName ) @@ -103,8 +103,8 @@ Foam::populationBalanceSubModels::breakupKernels::AyaziShamlou::Kb << abort(FatalError); } - const compressible::turbulenceModel& flTurb = - abscissa.mesh().lookupObject + const cmpTurbModel& flTurb = + abscissa.mesh().time().db().lookupObject ( turbulenceModel::propertiesName ); @@ -122,14 +122,14 @@ Foam::populationBalanceSubModels::breakupKernels::AyaziShamlou::Kb volScalarField kc(15.0*pow(phiL, 1.2)); // Aggregation strength - volScalarField tauf(9.0*kc*phiL*F/(8.0*sqr(primarySize_) + volScalarField sigma(9.0*kc*phiL*F/(8.0*sqr(primarySize_) *Foam::constant::mathematical::pi)); - const volScalarField& mu = flThermo.mu(); + volScalarField epsilonByNu(flTurb.epsilon()/flThermo.nu()); - volScalarField epsilonByNu(flTurb.epsilon()*flThermo.rho()/mu); + volScalarField tau = flThermo.mu()*sqrt(epsilonByNu); - return sqrt(epsilonByNu/15.0)*exp(-tauf/(mu*sqrt(epsilonByNu))); + return sqrt(epsilonByNu/15.0)*exp(-sigma/tau); } // ************************************************************************* // diff --git a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/LuoSvendsen/LuoSvendsen.C b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/LuoSvendsen/LuoSvendsen.C index 3655a203b..e4b91d520 100644 --- a/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/LuoSvendsen/LuoSvendsen.C +++ b/src/quadratureMethods/populationBalanceModels/populationBalanceSubModels/breakupKernels/LuoSvendsen/LuoSvendsen.C @@ -82,7 +82,7 @@ Foam::populationBalanceSubModels::breakupKernels::LuoSvendsen::Kb if ( - !abscissa.mesh().foundObject + !abscissa.mesh().time().db().foundObject ( cmpTurbModel::propertiesName ) @@ -93,10 +93,10 @@ Foam::populationBalanceSubModels::breakupKernels::LuoSvendsen::Kb << abort(FatalError); } - const compressible::turbulenceModel& flTurb = - abscissa.mesh().lookupObject + const cmpTurbModel& flTurb = + abscissa.mesh().time().db().lookupObject ( - turbulenceModel::propertiesName + cmpTurbModel::propertiesName ); return Cb_*pow(flTurb.epsilon(), epsilonExp_)