36 namespace regionModels
38 namespace areaSurfaceFilmModels
85 const word& modelType,
91 thermo_(
dict.subDict(
"thermo")),
98 regionMesh().thisDb(),
111 regionMesh().thisDb(),
124 regionMesh().thisDb(),
137 regionMesh().thisDb(),
150 regionMesh().thisDb(),
163 regionMesh().thisDb(),
176 regionMesh().thisDb(),
189 regionMesh().thisDb(),
202 regionMesh().thisDb(),
215 primaryMesh().thisDb(),
226 "cloudDiameterTrans",
228 primaryMesh().thisDb(),
236 availableMass_(regionMesh().faces().size(),
Zero),
237 injection_(*this,
dict),
242 Info<<
"Initialised film temperature to T0" <<
endl;
305 Info<<
"\nSurface film: " <<
type() <<
" on patch: ";
309 Info<<
' ' << patchi;
317 <<
indent <<
"min/max(delta) = " 319 <<
indent <<
"coverage = " 321 <<
indent <<
"total mass = " scalar Cp(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture heat capacity [J/(kg K)].
void mapToSurface(const GeometricBoundaryField< Type, fvPatchField, volMesh > &, Field< Type > &result) const
Map volume boundary fields as area field.
Ostream & indent(Ostream &os)
Indent stream.
areaScalarField Tf_
Film temperature [K].
scalar deltaTValue() const noexcept
Return time step value.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
virtual void correct(scalarField &availableMass, volScalarField &massToInject, volScalarField &diameterToInject)
Correct.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
areaScalarField gn_
Normal gravity field.
areaScalarField mu_
Dynamic viscosity [Pa.s].
const areaScalarField & rho() const noexcept
Access const reference rho.
const volSurfaceMapping & vsm() const
Return mapping between surface and volume fields.
liquidMixtureProperties thermo_
Liquid thermo.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
constexpr char nl
The newline '\n' character (0x0a)
dimensionedScalar h0_
Smallest film thickness.
areaVectorField USp_
Momentum source.
areaScalarField h_
Film height.
label size() const
Return the number of liquids in the mixture.
const dimensionSet dimViscosity
Ostream & endl(Ostream &os)
Add newline and flush stream.
areaVectorField Uf_
Film velocity.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
const Time & time() const
Return the top-level database.
virtual void info()
Provide some feedback.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
virtual void info(Ostream &os)
Provide some info.
defineTypeNameAndDebug(kinematicThinFilm, 0)
areaScalarField rho_
Density [kg/m3].
Macros for easy insertion into run-time selection tables.
volScalarField pnSource_
Normal pressure by particles.
scalar mu(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture viscosity [Pa s].
volScalarField massSource_
Mass.
#define forAll(list, i)
Loop across all elements in list.
volVectorField momentumSource_
Momentum.
scalar rho(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture density [kg/m^3].
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
areaScalarField sigma_
Surface tension [m/s^2].
Type gSum(const FieldField< Field, Type > &f)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
scalar sigma(const scalar p, const scalar T, const scalarField &X) const
Estimate mixture surface tension [N/m].
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
virtual void postEvolveRegion()
Post-evolve film.
const areaScalarField & h() const noexcept
Access const reference h.
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
injectionModelList injection_
Cloud injection.
const faMesh & regionMesh() const
Return the region mesh database.
volScalarField cloudMassTrans_
Film mass for transfer to cloud.
MinMax< Type > gMinMax(const FieldField< Field, Type > &f)
const dimensionSet dimPressure
areaScalarField Cp_
Film heat capacity [J/K].
virtual void preEvolveRegion()
Pre-evolve film.
scalar Tref_
Reference temperature.
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry if present, and assign to T val. FatalIOError if it is found and the number of tokens i...
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
liquidFilmModel(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from components and dict.
scalarMinMax gMinMaxMag(const FieldField< Field, Type > &f)
areaScalarField pf_
Film pressure.
const dimensionSet dimEnergy
typeOfMag< Type >::type gSumMag(const FieldField< Field, Type > &f)
const dimensionSet dimDensity
const labelList & primaryPatchIDs() const
List of patch IDs on the primary region coupled to this region.
const Field< Type > & field() const noexcept
Return const-reference to the field values.
virtual void preEvolveRegion()
Pre-evolve film.
virtual void postEvolveRegion()
Post-evolve film.
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field values.
areaScalarField pnSp_
Normal pressure by particles.
void relax(const scalar alpha)
Relax field (for steady-state solution).
scalar pRef_
Reference absolute pressure.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
scalarField availableMass_
Available mass for transfer via sub-models.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Mesh data needed to do the Finite Volume discretisation.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
void correctThermoFields()
Correct thermo.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
messageStream Info
Information stream (stdout output on master, null elsewhere)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
tmp< areaScalarField > alpha() const
Wet indicator using h0.
Defines the attributes of an object for which implicit objectRegistry management is supported...
Base class for film turbulence models.
areaScalarField rhoSp_
Mass source.
static constexpr const zero Zero
Global zero (0)
const dimensionSet dimVelocity