Go to the documentation of this file.
41 namespace regionModels
43 namespace surfaceFilmModels
53 drippingInjection::drippingInjection
60 deltaStable_(coeffDict_.get<scalar>(
"deltaStable")),
61 particlesPerParcel_(coeffDict_.get<scalar>(
"particlesPerParcel")),
67 coeffDict_.subDict(
"parcelDistribution"),
91 refCast<const kinematicSingleLayer>(this->film());
107 if (gNorm[i] > SMALL)
109 const scalar ddelta =
max(0.0,
delta[i] - deltaStable_);
111 min(availableMass[i],
max(0.0, ddelta*
rho[i]*magSf[i]));
119 if (massDrip[celli] > 0)
122 if (diameter_[celli] < 0)
124 diameter_[celli] = parcelDistribution_->sample();
127 scalar& diam = diameter_[celli];
128 scalar rhoc =
rho[celli];
129 scalar minMass = particlesPerParcel_*rhoc*
pi/6*
pow3(diam);
131 if (massDrip[celli] > minMass)
134 massToInject[celli] += massDrip[celli];
135 availableMass[celli] -= massDrip[celli];
138 diameterToInject[celli] = diam;
141 diam = parcelDistribution_->sample();
143 addToInjectedMass(massDrip[celli]);
148 massToInject[celli] = 0.0;
149 diameterToInject[celli] = 0.0;
154 massToInject[celli] = 0.0;
155 diameterToInject[celli] = 0.0;
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
Kinematic form of single-cell layer surface film model.
addToRunTimeSelectionTable(surfaceFilmRegionModel, kinematicSingleLayer, mesh)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
#define forAll(list, i)
Loop across all elements in list.
label nCells() const noexcept
Number of mesh cells.
tmp< volScalarField > gNorm() const
Return the gravity normal-to-patch component contribution.
Base class for surface film models.
dimensionedScalar pow3(const dimensionedScalar &ds)
virtual const volScalarField & magSf() const
Return the face area magnitudes / [m2].
const fvMesh & regionMesh() const
Return the region mesh database.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base class for film injection models, handling mass transfer from the film.
Macros for easy insertion into run-time selection tables.
static autoPtr< distributionModel > New(const dictionary &dict, Random &rndGen)
Selector.
defineTypeNameAndDebug(kinematicSingleLayer, 0)
constexpr scalar pi(M_PI)
virtual ~drippingInjection()
Destructor.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const volScalarField & delta() const
Return const access to the film thickness [m].
virtual const volScalarField & rho() const
Return the film density [kg/m3].