Go to the documentation of this file.
39 namespace regionModels
41 namespace surfaceFilmModels
58 deltaStable_(
readScalar(coeffDict_.lookup(
"deltaStable"))),
59 particlesPerParcel_(
readScalar(coeffDict_.lookup(
"particlesPerParcel"))),
60 rndGen_(
label(0), -1),
65 coeffDict_.subDict(
"parcelDistribution"),
89 refCast<const kinematicSingleLayer>(this->owner());
105 if (gNorm[i] > SMALL)
107 const scalar ddelta =
max(0.0,
delta[i] - deltaStable_);
109 min(availableMass[i],
max(0.0, ddelta*
rho[i]*magSf[i]));
117 if (massDrip[cellI] > 0)
120 if (diameter_[cellI] < 0)
122 diameter_[cellI] = parcelDistribution_->sample();
125 scalar& diam = diameter_[cellI];
126 scalar rhoc =
rho[cellI];
127 scalar minMass = particlesPerParcel_*rhoc*
pi/6*
pow3(diam);
129 if (massDrip[cellI] > minMass)
132 massToInject[cellI] += massDrip[cellI];
133 availableMass[cellI] -= massDrip[cellI];
136 diameterToInject[cellI] = diam;
139 diam = parcelDistribution_->sample();
141 addToInjectedMass(massDrip[cellI]);
146 massToInject[cellI] = 0.0;
147 diameterToInject[cellI] = 0.0;
152 massToInject[cellI] = 0.0;
153 diameterToInject[cellI] = 0.0;
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
static autoPtr< distributionModel > New(const dictionary &dict, cachedRandom &rndGen)
Selector.
drippingInjection(const drippingInjection &)
Disallow default bitwise copy construct.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
tmp< volScalarField > gNorm() const
Return the gravity normal-to-patch component contribution.
dimensionedScalar pow3(const dimensionedScalar &ds)
virtual const volScalarField & magSf() const
Return the face area magnitudes / [m2].
Film Dripping mass transfer model.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Base class for film injection models, handling mass transfer from the film.
Macros for easy insertion into run-time selection tables.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
defineTypeNameAndDebug(kinematicSingleLayer, 0)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
virtual ~drippingInjection()
Destructor.
const volScalarField & delta() const
Return const access to the film thickness / [m].
addToRunTimeSelectionTable(surfaceFilmModel, kinematicSingleLayer, mesh)
Base class for surface film models.
virtual const volScalarField & rho() const
Return the film density [kg/m3].
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
const fvMesh & regionMesh() const
Return the region mesh database.