33 namespace filmEjectionModels
52 dict.optionalSubDict(typeName +
"Coeffs")
53 .lookup<scalar>(
"deltaStable")
55 minParticlesPerParcel_
57 dict.optionalSubDict(typeName +
"Coeffs")
58 .lookupOrDefault(
"minParticlesPerParcel", 1)
65 dict.optionalSubDict(typeName +
"Coeffs")
66 .subDict(
"parcelDistribution"),
92 const scalar deltaT = film_.mesh.time().deltaTValue();
100 if (gnHat[celli] > small &&
delta[celli] > deltaStable_)
102 const scalar ddelta =
delta[celli] - deltaStable_;
103 const scalar massDrip = ddelta*
rho[celli]*magSf[celli];
106 diameter_[celli] = parcelDistribution_->sample();
109 const scalar minMass =
110 minParticlesPerParcel_
111 *
rho[celli]*piBy6*
pow3(diameter_[celli]);
113 if (massDrip > minMass)
116 rate_[celli] = ddelta/(deltaT*
delta[celli]);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Base class for statistical distributions.
Dripping film to cloud ejection transfer model.
virtual ~dripping()
Destructor.
virtual void correct()
Correct.
dripping(const dictionary &dict, const solvers::isothermalFilm &film)
Construct from dictionary and film model.
Solver module for flow of compressible isothermal liquid films.
addToRunTimeSelectionTable(ejectionModel, BrunDripping, dictionary)
defineTypeNameAndDebug(BrunDripping, 0)
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionSet dimLength
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)