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)),
59 diameter_(film.regionMesh().nCells(), -1.0)
79 refCast<const kinematicSingleLayer>(this->
film());
93 bool dripping =
false;
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]))
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;
118 massToInject[celli] += massDrip;
119 availableMass[celli] -= massDrip;
121 diameterToInject[celli] = diam;
131 diameterToInject[celli] = 0;
132 massToInject[celli] = 0;
const Type & value() const noexcept
Return const reference to value.
Base class for surface film models.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Kinematic form of single-cell layer surface film model.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
Film Dripping mass transfer model.
scalar deltaStable_
Stable film thickness - drips only formed if thickness.
scalar ubarStar_
Critical non-dimensional interface velocity.
scalar dCoeff_
Coefficient relating the diameter of the drops formed to.
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
virtual const volScalarField & rho() const =0
Return the film density [kg/m3].
addToRunTimeSelectionTable(surfaceFilmRegionModel, kinematicSingleLayer, mesh)
Macros for easy insertion into run-time selection tables.
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
#define forAll(list, i)
Loop across all elements in list.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual const volScalarField & delta() const =0
Return the film thickness [m].
scalarList diameter_
Diameters of particles to inject into the dripping.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
void addToInjectedMass(const scalar dMass)
Add to injected mass.
const dimensionedVector & g() const
Return the acceleration due to gravity.
Base class for film injection models, handling mass transfer from the film.
virtual ~BrunDrippingInjection()
Destructor.
virtual const volScalarField & magSf() const
Return the face area magnitudes / [m2].
A class for managing temporary objects.
virtual const volScalarField & sigma() const =0
Return the film surface tension [N/m].
defineTypeNameAndDebug(kinematicSingleLayer, 0)