36 namespace diameterModels
48 tmp<volScalarField> tInvDsm
62 const sizeGroup& fi = sizeGroups_[i];
64 invDsm += fi.a()*fi/fi.x();
73 tmp<volScalarField> tN
87 N += phase()*sizeGroups_[i]/sizeGroups_[i].x();
95 Foam::diameterModels::velocityGroup::fSum()
const 97 tmp<volScalarField> tsumSizeGroups
111 sumSizeGroups += sizeGroups_[i];
114 return tsumSizeGroups;
118 void Foam::diameterModels::velocityGroup::scale()
120 Info<<
"Scaling sizeGroups for velocityGroup " << phase().name() <<
endl;
124 sizeGroups_[i].max(0);
131 sizeGroups_[i] /= f_;
133 sizeGroups_[i].correctBoundaryConditions();
139 Foam::diameterModels::velocityGroup::mvconvection()
const 147 phase().alphaRhoPhi(),
148 phase().
mesh().divScheme
150 "div(" + phase().alphaRhoPhi()().
name() +
",f)" 171 tmp<volScalarField> tA
185 const sizeGroup& fi = sizeGroups_[i];
187 a += fi.a()*fi/fi.x();
198 const dictionary& diameterProperties,
199 const phaseModel& phase
202 diameterModel(diameterProperties, phase),
203 popBalName_(diameterProperties.
lookup(
"populationBalance")),
226 diameterProperties.
lookup(
"sizeGroups"),
227 sizeGroup::iNew(phase, *this)
234 IOobject::groupName(
"source", phase.
name()),
244 fields_.add(sizeGroups_[
i]);
261 mvConvection_ = mvconvection();
269 phase().
mesh().solverDict(popBalName_).lookupOrDefault<Switch>
281 f_.correctBoundaryConditions();
283 Info<<
phase().
name() <<
" sizeGroups-sum volume fraction, min, max = " 284 << f_.weightedAverage(
phase().
mesh().V()).value()
285 <<
' ' <<
min(f_).value()
286 <<
' ' <<
max(f_).value()
291 Info<< this->
phase().
name() <<
" Sauter mean diameter, min, max = " 292 << d_.weightedAverage(d_.mesh().V()).value()
293 <<
' ' <<
min(d_).value()
294 <<
' ' <<
max(d_).value()
301 const dictionary& phaseProperties
#define forAll(list, i)
Loop across all elements in list.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, const Internal &, const PtrList< fvPatchField< scalar >> &)
Return a temporary field constructed from name,.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const word & name() const
virtual tmp< volScalarField > calcD() const
Get the diameter field.
velocityGroup(const dictionary &diameterProperties, const phaseModel &phase)
Construct from components.
const phaseModel & phase() const
Return const-reference to the phase.
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimVolume(pow3(dimLength))
stressControl lookup("compactNormalStress") >> compactNormalStress
virtual bool read(const dictionary &phaseProperties)
Read phaseProperties dictionary.
virtual ~velocityGroup()
Destructor.
void min(const dimensioned< Type > &)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
const Mesh & mesh() const
Return mesh.
defineTypeNameAndDebug(combustionModel, 0)
virtual tmp< volScalarField > calcA() const
Get the surface area per unit volume field.
word name(const complex &)
Return a string representation of a complex.
const dimensionSet dimDensity
Internal & ref()
Return a reference to the dimensioned internal field.
void preSolve()
Corrections before populationBalanceModel::solve()
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
void max(const dimensioned< Type > &)
void postSolve()
Corrections after populationBalanceModel::solve()
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)")))
static tmp< convectionScheme< Type > > New(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
Return a pointer to a new convectionScheme created on freestore.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
const autoPtr< label > & i() const
Return label of the sizeGroup within the population balance.
virtual bool read(const dictionary &diameterProperties)
Read diameterProperties dictionary.
A class for managing temporary objects.