34 namespace diameterModels
36 namespace binaryBreakupModels
66 turbulence_(
dict.lookup(
"turbulence")),
67 laminarShear_(
dict.lookup(
"laminarShear")),
68 turbulentShear_(
dict.lookup(
"turbulentShear")),
69 interfacialFriction_(
dict.lookup(
"interfacialFriction"))
89 const phaseModel& continuousPhase = popBal_.continuousPhase();
90 const sizeGroup& fi = popBal_.sizeGroups()[i];
91 const sizeGroup& fj = popBal_.sizeGroups()[j];
97 6*popBal_.sigmaWithContinuousPhase(fj.
phase())/fj.
dSph()
103 popBal_.sigmaWithContinuousPhase(fj.
phase())/
min(dk, fi.
dSph())
112 pos(fj.
dSph() - kolmogorovLengthScale_)*BTurb_*continuousPhase.
rho()
113 *
sqr(
cbrt(popBal_.continuousTurbulence().epsilon()*fj.
dSph()))
117 pos(tauTurb - tauCrit)*1/fj.
dSph()
118 *
sqrt(
mag(tauTurb - tauCrit)/continuousPhase.
rho())/fj.
x();
125 BShear_*continuousPhase.
thermo().
mu()*shearStrainRate_
129 pos(tauShear - tauCrit)*1/fj.
dSph()
130 *
sqrt(
mag(tauShear - tauCrit)/continuousPhase.
rho())/fj.
x();
137 pos0(kolmogorovLengthScale_ - fj.
dSph())
138 *BEddy_*continuousPhase.
thermo().
mu()*eddyStrainRate_
142 pos(tauEddy - tauCrit)*1/fj.
dSph()
143 *
sqrt(
mag(tauEddy - tauCrit)/continuousPhase.
rho())/fj.
x();
146 if (interfacialFriction_)
150 BFric_*0.5*continuousPhase.
rho()*
sqr(uTerminal_[j])*Cd_[j]
154 pos(tauFric - tauCrit)*1/fj.
dSph()
155 *
sqrt(
mag(tauFric - tauCrit)/continuousPhase.
rho())/fj.
x();
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
Base class for coalescence and breakup models of Liao et al. (2015).
virtual void precompute()
Precompute diameter independent expressions.
Base class for binary breakup models that provide a breakup rate between a size class pair directly,...
Bubble breakup model of Liao et al. (2015). The terminal velocities and drag coefficients are compute...
virtual void precompute()
Precompute diameter independent expressions.
virtual void addToBinaryBreakupRate(volScalarField &binaryBreakupRate, const label i, const label j)
Add to binary breakupRate.
Liao(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 dimensionedScalar & x() const
Return representative volume 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.
defineTypeNameAndDebug(LehrMilliesMewes, 0)
addToRunTimeSelectionTable(binaryBreakupModel, LehrMilliesMewes, dictionary)
dimensionedScalar pos(const dimensionedScalar &ds)
dimensionedScalar pos0(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionSet dimless
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 cbrt(const dimensionedScalar &ds)