35 namespace populationBalance
37 namespace coalescenceModels
73 wakeEntrainment_(
dict.
lookup(
"wakeEntrainment")),
164 CPack_ =
min(PMax_/
max(PMax_ - popBal_.alphas(), small), CPackMax_);
171 const uniformDimensionedVectorField& g =
172 popBal_.mesh().lookupObject<uniformDimensionedVectorField>(
"g");
174 dCrit_ = 4*
sqrt(
sigma/(
mag(g)*(rhoc - popBal_.phases().first().rho()())));
214 uRelBuoy_ = CBuoy_*
mag(uTerminal_[i] - uTerminal_[j]);
219 uRelShear_ = CShear_*0.5/
pi*(dSphi + dSphj)*shearStrainRate_;
224 neg(kolmogorovLengthScale_ - (dSphi + dSphj))
233 *
sqr(
max(uRelTurb_,
max(uRelBuoy_, uRelShear_)))
236 +
pos0(kolmogorovLengthScale_ - (dSphi + dSphj))
260 neg(kolmogorovLengthScale_ - (dSphi + dSphj))
264 *collisionEfficiency;
269 coalescenceRate += CPack_*0.5*Aij*uRelBuoy_*collisionEfficiency;
274 coalescenceRate += CPack_*0.5*Aij*uRelShear_*collisionEfficiency;
281 CEddy_*0.5/
pi*(dSphi + dSphj)*eddyStrainRate_
285 pos0(kolmogorovLengthScale_ - (dSphi + dSphj))
290 *collisionEfficiency;
293 if (wakeEntrainment_)
306 *
pos0(dSphi - 0.5*dCrit_)
308 pow6(dSphi - 0.5*dCrit_)
309 /(
pow6(dSphi - 0.5*dCrit_) +
pow6(0.5*dCrit_))
313 *
pos0(dSphj - 0.5*dCrit_)
315 pow6(dSphj - 0.5*dCrit_)
316 /(
pow6(dSphj - 0.5*dCrit_) +
pow6(0.5*dCrit_))
321 return tcoalescenceRate;
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static tmp< DimensionedField< Type, GeoMesh, PrimitiveField > > New(const word &name, const GeoMesh &mesh, const dimensionSet &, const PrimitiveField< Type > &)
Return a temporary field constructed from name, mesh,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
Base class for coalescence and breakup models of Liao et al. (2015).
virtual void precompute()
Pre-compute 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 precompute()
Pre-compute diameter independent expressions.
LiaoCoalescence(const populationBalanceModel &popBal, const dictionary &dict)
virtual tmp< volScalarField::Internal > rate(const label i, const label j) const
Return the coalescence rate between two groups.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionSet dimless
defineTypeNameAndDebug(AdachiStuartFokkink, 0)
addToRunTimeSelectionTable(coalescenceModel, AdachiStuartFokkink, dictionary)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
dimensionedScalar exp(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.
const dimensionSet & dimLength
const dimensionSet & dimVolume
void pow6(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar log(const dimensionedScalar &ds)
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
const dimensionSet & dimVelocity
const dimensionSet & dimTime
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensionedScalar neg(const dimensionedScalar &ds)
void cbrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
const dimensionSet & dimEnergy
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)