Go to the documentation of this file.
36 namespace regionModels
38 namespace surfaceFilmModels
48 BrunDrippingInjection::BrunDrippingInjection
55 ubarStar_(coeffDict_.lookupOrDefault<scalar>(
"ubarStar", 1.62208)),
56 dCoeff_(coeffDict_.lookupOrDefault<scalar>(
"dCoeff", 3.3)),
57 deltaStable_(coeffDict_.lookupOrDefault<scalar>(
"deltaStable", 0)),
78 refCast<const kinematicSingleLayer>(this->film());
88 const scalar magg =
mag(film.
g().
value());
92 bool dripping =
false;
94 if (sinAlpha[celli] > SMALL &&
delta[celli] > deltaStable_)
96 const scalar rhoc =
rho[celli];
97 const scalar lc =
sqrt(
sigma[celli]/(rhoc*magg));
98 const scalar deltaStable =
max
100 3*lc*
sqrt(1 -
sqr(sinAlpha[celli]))
101 /(ubarStar_*
sqrt(sinAlpha[celli])*sinAlpha[celli]),
105 if (
delta[celli] > deltaStable)
107 const scalar ddelta =
max(
delta[celli] - deltaStable, 0);
109 const scalar massDrip =
110 min(availableMass[celli],
max(ddelta*rhoc*magSf[celli], 0));
114 const scalar diam = dCoeff_*lc;
115 diameter_[celli] = diam;
117 massToInject[celli] += massDrip;
118 availableMass[celli] -= massDrip;
120 diameterToInject[celli] = diam;
121 addToInjectedMass(massDrip);
130 diameterToInject[celli] = 0;
131 massToInject[celli] = 0;
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
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.