35 namespace diameterModels
37 namespace nucleationModels
77 alphatWallBoilingWallFunction;
81 if (isA<alphatWallBoilingWallFunction>(alphatBf[
patchi]))
83 const alphatWallBoilingWallFunction& alphatw =
84 refCast<const alphatWallBoilingWallFunction>(alphatBf[
patchi]);
88 if (
min(dDep) < velGroup_.sizeGroups().first().dSph().value())
91 <<
"Minimum departure diameter " <<
min(dDep)
92 <<
" m outside of range ["
93 << velGroup_.sizeGroups().first().dSph().value() <<
", "
94 << velGroup_.sizeGroups().last().dSph().value() <<
"] m"
95 <<
" at patch " << alphatw.patch().name()
97 <<
" The nucleation rate in populationBalance "
98 << popBal_.
name() <<
" is set to zero." <<
endl
99 <<
" Adjust discretisation over property space to"
100 <<
" suppress this warning."
103 else if (
max(dDep) > velGroup_.sizeGroups().last().dSph().value())
106 <<
"Maximum departure diameter " <<
max(dDep)
107 <<
" m outside of range ["
108 << velGroup_.sizeGroups().first().dSph().value() <<
", "
109 << velGroup_.sizeGroups().last().dSph().value() <<
"] m"
110 <<
" at patch " << alphatw.patch().name()
112 <<
" The nucleation rate in populationBalance "
113 << popBal_.
name() <<
" is set to zero." <<
endl
114 <<
" Adjust discretisation over property space to"
115 <<
" suppress this warning."
129 const sizeGroup& fi = popBal_.sizeGroups()[i];
142 alphatWallBoilingWallFunction;
146 if (!isA<alphatWallBoilingWallFunction>(alphatBf[
patchi]))
continue;
148 const alphatWallBoilingWallFunction& alphatw =
149 refCast<const alphatWallBoilingWallFunction>(alphatBf[
patchi]);
154 const labelList& faceCells = alphatw.patch().faceCells();
160 if (dmdt[facei] > small)
162 const label faceCelli = faceCells[facei];
164 nucleationRate[faceCelli] +=
170 *dmdt[facei]/
rho[faceCelli]/fi.
x().
value();
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
const Mesh & mesh() const
Return mesh.
Generic GeometricBoundaryField class.
Generic GeometricField class.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
static word groupName(Name name, const word &group)
virtual const fileName & name() const
Return the name of the stream.
A thermal wall function for simulation of subcooled nucleate wall boiling with runtime selectable sub...
Base class for nucleation models.
Wall-boiling model which requires a velocityGroup (i.e. phase) to be specified in which the nucleatio...
virtual void precompute()
Precompute diameter independent expressions.
virtual void addToNucleationRate(volScalarField &nucleationRate, const label i)
Add to nucleationRate.
wallBoiling(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....
const Type & value() const
Return const reference to value.
virtual const volScalarField & rho() const =0
Return the density field.
defineTypeNameAndDebug(reactionDriven, 0)
addToRunTimeSelectionTable(nucleationModel, reactionDriven, dictionary)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionSet dimLength
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)