reacting*EulerFoam: populationBalanceModel: Improvements to updates of mass transfer rate and sources

The update of mass transfer rates in the population balance system is
now done at the same time as other source terms. This benefits
synchronisation of the mass transfer rate and the source terms and
prevents the system converging to an incorrect state.

Patch contributed by VTT Technical Research Centre of Finland Ltd and
Institute of Fluid Dynamics, Helmholtz-Zentrum Dresden - Rossendorf (HZDR).
This commit is contained in:
Will Bainbridge
2019-11-14 10:28:18 +00:00
parent b22545b931
commit cebc401534
8 changed files with 23 additions and 33 deletions

View File

@ -241,6 +241,8 @@ void Foam::diameterModels::shapeModels::fractal::correct()
6.0/popBal.sizeGroups().first().dSph()
);
kappa_.correctBoundaryConditions();
// Update the collisional diameter
dColl_ = dColl();
}

View File

@ -129,6 +129,8 @@ void Foam::diameterModels::velocityGroup::scale()
forAll(sizeGroups_, i)
{
sizeGroups_[i] /= f_;
sizeGroups_[i].correctBoundaryConditions();
};
}

View File

@ -1286,10 +1286,9 @@ void Foam::diameterModels::populationBalanceModel::solve()
if (updateSources())
{
sources();
dmdt();
}
dmdt();
maxInitialResidual = 0;
forAll(sizeGroups_, i)

View File

@ -74,6 +74,12 @@ functions
normalize yes;
geometric yes;
}
#includeFunc writeObjects \
( \
d.particles, \
phaseTransfer:dmidtf.TiO2.particlesAndVapor \
)
}

View File

@ -23,6 +23,7 @@ ddtSchemes
gradSchemes
{
default Gauss linear;
limited cellLimited Gauss linear 1;
}
divSchemes
@ -41,7 +42,7 @@ divSchemes
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,f.*\)" Gauss upwind;
"div\(fAlphaRhoPhi.*,kappa.*\)" Gauss limitedLinear 1;
"div\(fAlphaRhoPhi.*,kappa.*\)" Gauss linearUpwind limited;
"div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
}

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: hzdr
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "0/uniform";
object time;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
value 0;
name "0";
index 0;
deltaT 0.0001;
deltaT0 0.0001;
// ************************************************************************* //

View File

@ -74,6 +74,14 @@ functions
normalize yes;
geometric yes;
}
#includeFunc writeObjects \
( \
d.particles, \
a.particles, \
phaseTransfer:dmidtf.TiO2.particlesAndVapor, \
phaseTransfer:dmidtf.TiO2_s.particlesAndVapor \
)
}

View File

@ -23,6 +23,7 @@ ddtSchemes
gradSchemes
{
default Gauss linear;
limited cellLimited Gauss linear 1;
}
divSchemes
@ -41,7 +42,7 @@ divSchemes
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,f.*\)" Gauss upwind;
"div\(fAlphaRhoPhi.*,kappa.*\)" Gauss limitedLinear 1;
"div\(fAlphaRhoPhi.*,kappa.*\)" Gauss linearUpwind limited;
"div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
}