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;
244 Tf_ = dimensionedScalar(
"T0", dimTemperature, dict);
305 Info<<
"\nSurface film: " <<
type() <<
" on patch: ";
309 Info<<
' ' << patchi;
317 <<
indent <<
"min/max(delta) = "
319 <<
indent <<
"coverage = "
321 <<
indent <<
"total mass = "
Macros for easy insertion into run-time selection tables.
label size() const noexcept
The number of elements in list.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const DynamicField< Type > & field() const noexcept
Return const-reference to the primitive field values.
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field values.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
@ NO_READ
Nothing to be read.
@ READ_IF_PRESENT
Reading is optional [identical to LAZY_READ].
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
@ AUTO_WRITE
Automatically write from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
scalar deltaTValue() const noexcept
Return time step value.
const word & name() const
Name function is needed to disambiguate those inherited from regIOobject and dictionary.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
dictionary()
Default construct, a top-level empty dictionary.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
scalar mu(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture viscosity [Pa s].
scalar sigma(const scalar p, const scalar T, const scalarField &X) const
Estimate mixture surface tension [N/m].
scalar Cp(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture heat capacity [J/(kg K)].
scalar rho(const scalar p, const scalar T, const scalarField &X) const
Calculate the mixture density [kg/m^3].
Base class for film turbulence models.
virtual void info(Ostream &os)
Provide some info.
areaVectorField Uf_
Film velocity.
areaScalarField h_
Film height.
virtual void postEvolveRegion()
Post-evolve film.
static autoPtr< liquidFilmBase > New(const fvMesh &mesh, const dictionary &dict)
Return a reference to the selected model using dictionary.
areaScalarField gn_
Normal gravity field.
tmp< areaScalarField > alpha() const
Wet indicator using h0.
liquidFilmBase(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from type name and mesh and dict.
volScalarField pnSource_
Normal pressure by particles.
dimensionedScalar h0_
Smallest film thickness.
virtual void preEvolveRegion()
Pre-evolve film.
volScalarField massSource_
Mass.
areaScalarField pf_
Film pressure.
volVectorField momentumSource_
Momentum.
const areaScalarField & h() const noexcept
Access const reference h.
scalar pRef_
Reference absolute pressure.
liquidFilmModel(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from components and dict.
areaScalarField Cp_
Film heat capacity [J/K].
virtual void postEvolveRegion()
Post-evolve film.
forceList forces_
List of film forces.
liquidMixtureProperties thermo_
Liquid thermo.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
areaScalarField pnSp_
Normal pressure by particles.
areaScalarField rho_
Density [kg/m3].
injectionModelList injection_
Cloud injection.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
areaScalarField rhoSp_
Mass source.
areaVectorField USp_
Momentum source.
areaScalarField hRho_
Film rho*height [m.kg/m^3].
virtual void preEvolveRegion()
Pre-evolve film.
areaScalarField mu_
Dynamic viscosity [Pa.s].
areaScalarField sigma_
Surface tension [m/s^2].
void correctThermoFields()
Correct thermo.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
virtual void info()
Provide some feedback.
scalar Tref_
Reference temperature.
volScalarField cloudMassTrans_
Film mass for transfer to cloud.
const areaScalarField & rho() const noexcept
Access const reference rho.
scalarField availableMass_
Available mass for transfer via sub-models.
autoPtr< filmTurbulenceModel > turbulence_
Turbulence model.
areaScalarField Tf_
Film temperature [K].
word regionName_
Region name.
const Time & time() const noexcept
Return the reference to the time database.
const volSurfaceMapping & vsm() const
Return mapping between surface and volume fields.
const faMesh & regionMesh() const
Return the region mesh database.
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
const labelList & primaryPatchIDs() const
List of patch IDs on the primary region coupled to this region.
void mapToSurface(const GeometricBoundaryField< Type, fvPatchField, volMesh > &, Field< Type > &result) const
Map volume boundary fields as area field.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
const dimensionSet dimPressure
const dimensionSet dimViscosity
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.
Type gSum(const FieldField< Field, Type > &f)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimEnergy
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimVelocity
messageStream Info
Information stream (stdout output on master, null elsewhere).
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
scalarMinMax gMinMaxMag(const FieldField< Field, Type > &f)
Ostream & endl(Ostream &os)
Add newline and flush stream.
Ostream & indent(Ostream &os)
Indent stream.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
MinMax< Type > gMinMax(const FieldField< Field, Type > &f)
static constexpr const zero Zero
Global zero (0).
typeOfMag< Type >::type gSumMag(const FieldField< Field, Type > &f)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimDensity
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.