43 fixedValueFvPatchScalarField(
p, iF),
44 filmRegionName_(
"surfaceFilmProperties"),
60 fixedValueFvPatchScalarField(ptf,
p, iF, mapper),
61 filmRegionName_(ptf.filmRegionName_),
62 GammaMean_(ptf.GammaMean_.clone()),
64 omega_(ptf.omega_.clone())
76 fixedValueFvPatchScalarField(
p, iF,
dict),
79 dict.getOrDefault<
word>(
"filmRegion",
"surfaceFilmProperties")
93 fixedValueFvPatchScalarField(wmfrhpsf),
94 filmRegionName_(wmfrhpsf.filmRegionName_),
95 GammaMean_(wmfrhpsf.GammaMean_.clone()),
96 a_(wmfrhpsf.a_.clone()),
97 omega_(wmfrhpsf.omega_.clone())
108 fixedValueFvPatchScalarField(wmfrhpsf, iF),
109 filmRegionName_(wmfrhpsf.filmRegionName_),
110 GammaMean_(wmfrhpsf.GammaMean_.clone()),
111 a_(wmfrhpsf.a_.clone()),
112 omega_(wmfrhpsf.omega_.clone())
125 const label patchi =
patch().index();
129 const regionModels::regionModel& region =
130 db().time().lookupObject<regionModels::regionModel>(filmRegionName_);
132 const regionModels::surfaceFilmModels::kinematicSingleLayer& film =
135 const regionModels::surfaceFilmModels::kinematicSingleLayer&
148 <<
"is designed to operate on patches inclined with respect to " 155 const vectorField nHatp(nHat.boundaryField()[patchi].patchInternalField());
158 nTan /=
mag(nTan) + ROOTVSMALL;
167 const scalar t = db().time().timeOutputValue();
169 const scalar GMean = GammaMean_->value(t);
170 const scalar a = a_->value(t);
171 const scalar omega = omega_->value(t);
176 const scalarField mup(
mu.boundaryField()[patchi].patchInternalField());
179 const scalarField rhop(
rho.boundaryField()[patchi].patchInternalField());
188 fixedValueFvPatchScalarField::updateCoeffs();
202 "surfaceFilmProperties",
205 GammaMean_->writeData(
os);
207 omega_->writeData(
os);
220 inclinedFilmNusseltHeightFvPatchScalarField
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
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...
const dimensionedScalar G
Newtonian constant of gravitation.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
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.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void write(Ostream &) const
Write.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Macros for easy insertion into run-time selection tables.
Film height boundary condition for inclined films that imposes a sinusoidal perturbation on top of a ...
GeometricField< scalar, fvPatchField, volMesh > volScalarField
fvPatchField< scalar > fvPatchScalarField
constexpr scalar twoPi(2 *M_PI)
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
A FieldMapper for finite-volume patch fields.
dimensionedScalar cbrt(const dimensionedScalar &ds)
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
dimensionedScalar sin(const dimensionedScalar &ds)
OBJstream os(runTime.globalPath()/outputName)
const dimensionedScalar mu
Atomic mass unit.
inclinedFilmNusseltHeightFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
virtual void write(Ostream &) const
Write.
#define WarningInFunction
Report a warning using Foam::Warning.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
Field< vector > vectorField
Specialisation of Field<T> for vector.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)