36 namespace diameterModels
38 namespace coalescenceModels
73 turbulence_(
dict.lookup(
"turbulence")),
74 buoyancy_(
dict.lookup(
"buoyancy")),
75 laminarShear_(
dict.lookup(
"laminarShear")),
76 eddyCapture_(
dict.lookup(
"eddyCapture")),
77 wakeEntrainment_(
dict.lookup(
"wakeEntrainment")),
83 popBal_.time().
name(),
103 popBal_.time().
name(),
119 popBal_.time().
name(),
135 popBal_.time().
name(),
151 popBal_.time().
name(),
171 CPack_ =
min(PMax_/
max(PMax_ - popBal_.alphas(),
SMALL), CPackMax_);
179 popBal_.sigmaWithContinuousPhase(popBal_.sizeGroups()[1].phase())()
180 /(
mag(g)*(popBal_.continuousPhase().rho()
181 - popBal_.sizeGroups()[1].phase().rho()))
194 const phaseModel& continuousPhase = popBal_.continuousPhase();
195 const sizeGroup& fi = popBal_.sizeGroups()[i];
196 const sizeGroup& fj = popBal_.sizeGroups()[j];
206 *
cbrt(popBal_.continuousTurbulence().epsilon());
211 uRelBuoy_ = CBuoy_*
mag(uTerminal_[i] - uTerminal_[j]);
216 uRelShear_ = CShear_*0.5/
pi*(fi.
dSph() + fj.
dSph())*shearStrainRate_;
221 neg(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
226 continuousPhase.
rho()*dEq
227 /popBal_.sigmaWithContinuousPhase(fi.
phase())
228 *
sqr(
max(uRelTurb_,
max(uRelBuoy_, uRelShear_)))
231 +
pos0(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
234 - 3*continuousPhase.
thermo().
mu()*dEq*eddyStrainRate_
235 /(4*popBal_.sigmaWithContinuousPhase(fi.
phase()))
240 pi*popBal_.sigmaWithContinuousPhase(fi.
phase())*
sqr(dEq)
250 neg(kolmogorovLengthScale_ - (fi.
dSph() + fj.
dSph()))
251 *CPack_*Aij*uRelTurb_*collisionEfficiency;
256 coalescenceRate += CPack_*0.5*Aij*uRelBuoy_*collisionEfficiency;
261 coalescenceRate += CPack_*0.5*Aij*uRelShear_*collisionEfficiency;
268 CEddy_*0.5/
pi*(fi.
dSph() + fj.
dSph())*eddyStrainRate_
273 *CPack_*0.5*Aij*uRelEddy*collisionEfficiency;
276 if (wakeEntrainment_)
280 CWake_*uTerminal_[i]*
cbrt(Cd_[i])
285 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 tmp< volScalarField > mu() const =0
Dynamic viscosity of mixture [kg/m/s].
virtual const rhoThermo & thermo() 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)
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)
word name(const complex &)
Return a string representation of a complex.