34 namespace diameterModels
46 tmp<volScalarField> tInvDsm
60 const sizeGroup& fi = sizeGroups_[i];
62 invDsm += fi.a()*fi/fi.x();
71 tmp<volScalarField> tN
85 N += phase()*sizeGroups_[i]/sizeGroups_[i].x();
93 Foam::diameterModels::velocityGroup::fSum()
const
95 tmp<volScalarField> tsumSizeGroups
109 sumSizeGroups += sizeGroups_[i];
112 return tsumSizeGroups;
116 void Foam::diameterModels::velocityGroup::scale()
118 Info<<
"Scaling sizeGroups for velocityGroup " << phase().name() <<
endl;
122 sizeGroups_[i].max(0);
129 sizeGroups_[i] /= fSum;
131 sizeGroups_[i].correctBoundaryConditions();
145 popBalName_(diameterProperties.lookup(
"populationBalance")),
149 diameterProperties.lookup(
"sizeGroups"),
181 if (popBalPtr_ ==
nullptr)
215 a += fi.
a()*fi/fi.
x();
230 sizeGroups_[i].correct();
235 phase().mesh().
solution().solverDict(popBalName_)
236 .lookupOrDefault<Switch>
248 Info<< phase().name() <<
" sizeGroups-sum volume fraction, min, max = "
250 <<
' ' <<
min(fSum).value()
251 <<
' ' <<
max(fSum).value()
256 Info<< this->phase().name() <<
" Sauter mean diameter, min, max = "
257 << d_.weightedAverage(d_.mesh().V()).value()
258 <<
' ' <<
min(d_).value()
259 <<
' ' <<
max(d_).value()
#define forAll(list, i)
Loop across all elements in list.
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...
const Mesh & mesh() const
Return mesh.
dimensioned< Type > weightedAverage(const DimensionedField< scalar, GeoMesh > &) const
Calculate and return weighted average.
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Abstract base-class for dispersed-phase particle diameter models.
const phaseModel & phase() const
Return the phase.
virtual bool read(const dictionary &phaseProperties)
Read phaseProperties dictionary.
static groups & New(const word &popBalName, const objectRegistry &db)
Lookup in the registry or construct new.
void insert(velocityGroup &group)
Insert a velocity group into the table.
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
const phaseSystem & fluid() const
Return reference to the phaseSystem.
Switch solveOnFinalIterOnly() const
Solve on final pimple iteration only.
const fvMesh & mesh() const
Return reference to the mesh.
Single size class fraction field representing a fixed particle volume as defined by the user through ...
const dimensionedScalar & x() const
Return representative volume of the sizeGroup.
const tmp< volScalarField > a() const
Return representative surface area of the sizeGroup.
Computes the Sauter mean diameter based on a user specified size distribution, defined in terms of si...
virtual void correct()
Correct the model.
const populationBalanceModel & popBal() const
Return the populationBalance this velocityGroup belongs to.
virtual bool read(const dictionary &diameterProperties)
Read diameterProperties dictionary.
virtual tmp< volScalarField > d() const
Get the diameter field.
velocityGroup(const dictionary &diameterProperties, const phaseModel &phase)
Construct from dictionary and phase.
virtual ~velocityGroup()
Destructor.
virtual tmp< volScalarField > Av() const
Get the surface area per unit volume field.
A list of keyword definitions, which are a keyword followed by any number of values (e....
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
Helper class to manage multi-specie phase properties.
const pimpleNoLoopControl & pimple() const
Return pimpleNoLoopControl.
bool finalIter() const
Flag to indicate the final iteration.
Selector class for relaxation factors, solver type and solution.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
addToRunTimeSelectionTable(diameterModel, constant, dictionary)
defineTypeNameAndDebug(constant, 0)
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
const dimensionSet dimLength
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimVolume
VolField< scalar > volScalarField
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.