Go to the documentation of this file.
37 namespace regionModels
39 namespace surfaceFilmModels
49 BrunDrippingInjection::BrunDrippingInjection
56 ubarStar_(coeffDict_.getOrDefault<scalar>(
"ubarStar", 1.62208)),
57 dCoeff_(coeffDict_.getOrDefault<scalar>(
"dCoeff", 3.3)),
58 deltaStable_(coeffDict_.getOrDefault<scalar>(
"deltaStable", 0)),
79 refCast<const kinematicSingleLayer>(this->film());
89 const scalar magg =
mag(film.
g().
value());
93 bool dripping =
false;
95 if (sinAlpha[celli] > SMALL &&
delta[celli] > deltaStable_)
97 const scalar rhoc =
rho[celli];
98 const scalar lc =
sqrt(
sigma[celli]/(rhoc*magg));
99 const scalar deltaStable =
max
101 3*lc*
sqrt(1 -
sqr(sinAlpha[celli]))
102 /(ubarStar_*
sqrt(sinAlpha[celli])*sinAlpha[celli]),
106 if (
delta[celli] > deltaStable)
108 const scalar ddelta =
max(
delta[celli] - deltaStable, 0);
110 const scalar massDrip =
111 min(availableMass[celli],
max(ddelta*rhoc*magSf[celli], 0));
115 const scalar diam = dCoeff_*lc;
116 diameter_[celli] = diam;
118 massToInject[celli] += massDrip;
119 availableMass[celli] -= massDrip;
121 diameterToInject[celli] = diam;
122 addToInjectedMass(massDrip);
131 diameterToInject[celli] = 0;
132 massToInject[celli] = 0;
A class for managing temporary objects.
Kinematic form of single-cell layer surface film model.
const Type & value() const
Return const reference to value.
addToRunTimeSelectionTable(surfaceFilmRegionModel, kinematicSingleLayer, mesh)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
const dimensionedVector & g() const
Return the acceleration due to gravity.
#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.
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.
const volScalarField & sigma() const
Return const access to the surface tension [kg/s2].
defineTypeNameAndDebug(kinematicSingleLayer, 0)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
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].
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
virtual const volScalarField & rho() const
Return the film density [kg/m3].
virtual ~BrunDrippingInjection()
Destructor.