37 namespace diameterModels
39 namespace coalescenceModels
74 turbulence_(
dict.lookup(
"turbulence")),
75 buoyancy_(
dict.lookup(
"buoyancy")),
76 laminarShear_(
dict.lookup(
"laminarShear")),
77 eddyCapture_(
dict.lookup(
"eddyCapture")),
78 wakeEntrainment_(
dict.lookup(
"wakeEntrainment")),
84 popBal_.time().
name(),
104 popBal_.time().
name(),
120 popBal_.time().
name(),
136 popBal_.time().
name(),
152 popBal_.time().
name(),
172 CPack_ =
min(PMax_/
max(PMax_ - popBal_.alphas(),
SMALL), CPackMax_);
180 popBal_.sigmaWithContinuousPhase(popBal_.sizeGroups()[1].phase())()
181 /(
mag(g)*(popBal_.continuousPhase().rho()
182 - popBal_.sizeGroups()[1].phase().rho()))
195 const phaseModel& continuousPhase = popBal_.continuousPhase();
196 const sizeGroup& fi = popBal_.sizeGroups()[i];
197 const sizeGroup& fj = popBal_.sizeGroups()[j];
207 *
cbrt(popBal_.continuousTurbulence().epsilon());
212 uRelBuoy_ = CBuoy_*
mag(uTerminal_[i] - uTerminal_[j]);
217 uRelShear_ = CShear_*0.5/
pi*(fi.
dSph() + fj.
dSph())*shearStrainRate_;
222 neg(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
227 continuousPhase.
rho()*dEq
228 /popBal_.sigmaWithContinuousPhase(fi.
phase())
229 *
sqr(
max(uRelTurb_,
max(uRelBuoy_, uRelShear_)))
232 +
pos0(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
236 /(4*popBal_.sigmaWithContinuousPhase(fi.
phase()))
241 pi*popBal_.sigmaWithContinuousPhase(fi.
phase())*
sqr(dEq)
251 neg(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
252 *CPack_*Aij*uRelTurb_*collisionEfficiency;
257 coalescenceRate += CPack_*0.5*Aij*uRelBuoy_*collisionEfficiency;
262 coalescenceRate += CPack_*0.5*Aij*uRelShear_*collisionEfficiency;
269 CEddy_*0.5/
pi*(fi.
dSph() + fj.
dSph())*eddyStrainRate_
274 *CPack_*0.5*Aij*uRelEddy*collisionEfficiency;
277 if (wakeEntrainment_)
281 CWake_*uTerminal_[i]*
cbrt(Cd_[i])
286 CWake_*uTerminal_[j]*
cbrt(Cd_[j])
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Base class for coalescence and breakup models of Liao et al. (2015).
virtual void precompute()
Precompute diameter independent expressions.
Base class for coalescence models.
Bubble coalescence model of Liao et al. (2015). The terminal velocities and drag coefficients are com...
virtual void addToCoalescenceRate(volScalarField &coalescenceRate, const label i, const label j)
Add to coalescenceRate.
virtual void precompute()
Precompute diameter independent expressions.
LiaoCoalescence(const populationBalanceModel &popBal, const dictionary &dict)
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
Single size class fraction field representing a fixed particle volume as defined by the user through ...
const dimensionedScalar & dSph() const
Return representative spherical diameter of the sizeGroup.
const phaseModel & phase() const
Return const-reference to the phase.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual const volScalarField & mu() const =0
Dynamic viscosity of mixture [kg/m/s].
virtual const rhoFluidThermo & fluidThermo() const =0
Return the thermophysical model.
virtual const volScalarField & rho() const =0
Return the density field.
Calculate the gradient of the given field.
addToRunTimeSelectionTable(coalescenceModel, AdachiStuartFokkink, dictionary)
defineTypeNameAndDebug(AdachiStuartFokkink, 0)
dimensionedScalar pow6(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar pos0(const dimensionedScalar &ds)
static const scalar SMALL
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimEnergy
dimensionedSymmTensor sqr(const dimensionedVector &dv)
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
const dimensionSet dimLength
dimensionedScalar log(const dimensionedScalar &ds)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar neg(const dimensionedScalar &ds)
const dimensionSet dimVelocity
dimensionedScalar cbrt(const dimensionedScalar &ds)