43 fixedValueFvPatchVectorField(
p, iF),
44 filmRegionName_(
"surfaceFilmProperties"),
60 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
61 filmRegionName_(ptf.filmRegionName_),
62 GammaMean_(ptf.GammaMean_.clone()),
64 omega_(ptf.omega_.clone())
76 fixedValueFvPatchVectorField(
p, iF,
dict),
79 dict.getOrDefault<
word>(
"filmRegion",
"surfaceFilmProperties")
93 fixedValueFvPatchVectorField(fmfrpvf),
94 filmRegionName_(fmfrpvf.filmRegionName_),
95 GammaMean_(fmfrpvf.GammaMean_.clone()),
96 a_(fmfrpvf.a_.clone()),
97 omega_(fmfrpvf.omega_.clone())
108 fixedValueFvPatchVectorField(fmfrpvf, iF),
109 filmRegionName_(fmfrpvf.filmRegionName_),
110 GammaMean_(fmfrpvf.GammaMean_.clone()),
111 a_(fmfrpvf.a_.clone()),
112 omega_(fmfrpvf.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;
169 const scalar t = db().time().timeOutputValue();
171 const scalar GMean = GammaMean_->value(t);
172 const scalar a = a_->value(t);
173 const scalar omega = omega_->value(t);
178 const scalarField mup(
mu.boundaryField()[patchi].patchInternalField());
181 const scalarField rhop(
rho.boundaryField()[patchi].patchInternalField());
187 fixedValueFvPatchVectorField::updateCoeffs();
200 "surfaceFilmProperties",
203 GammaMean_->writeData(
os);
205 omega_->writeData(
os);
206 writeEntry(
"value",
os);
217 inclinedFilmNusseltInletVelocityFvPatchVectorField
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
fvPatchField< vector > fvPatchVectorField
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.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
inclinedFilmNusseltInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
virtual void write(Ostream &) const
Write.
GeometricField< vector, fvPatchField, volMesh > volVectorField
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
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)
scalarField Re(const UList< complex > &cf)
Extract real component.
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.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
#define WarningInFunction
Report a warning using Foam::Warning.
virtual void write(Ostream &) const
Write.
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.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
Film velocity boundary condition for inclined films that imposes a sinusoidal perturbation on top of ...