39namespace areaSurfaceFilmModels
53 { frictionMethodType::mquadraticProfile,
"quadraticProfile" },
54 { frictionMethodType::mlinearProfile,
"linearProfile" },
55 { frictionMethodType::mDarcyWeisbach,
"DarcyWeisbach" },
56 { frictionMethodType::mManningStrickler,
"ManningStrickler" }
66 { shearMethodType::msimple,
"simple" },
67 { shearMethodType::mwallFunction,
"wallFunction" }
75 const word& modelType,
81 dict_(
dict.subDict(modelType +
"Coeffs")),
82 method_(frictionMethodTypeNames_.get(
"friction", dict_)),
83 shearMethod_(shearMethodTypeNames_.get(
"shearStress", dict_)),
84 rhoName_(dict_.getOrDefault<
word>(
"rho",
"rho")),
116 auto&
Cw = tCw.ref();
153 const scalar Cf =
dict_.
get<scalar>(
"DarcyWeisbach");
170 Cw.primitiveFieldRef() =
178 <<
"Unimplemented method "
180 <<
"Please set 'frictionMethod' to one of "
224 = tdevRhoReff().boundaryField();
237 fT -= nHat*(fT & nHat);
250 vectorField& aForce = taForce.ref().primitiveFieldRef();
260 tshearStress.
ref() += taForce();
284 if (m.
foundObject<cmpTurbModel>(cmpTurbModel::propertiesName))
287 m.
lookupObject<cmpTurbModel>(cmpTurbModel::propertiesName);
289 return turb.devRhoReff();
291 else if (m.
foundObject<icoTurbModel>(icoTurbModel::propertiesName))
294 m.
lookupObject<icoTurbModel>(icoTurbModel::propertiesName);
307 const auto& laminarT =
324 <<
"No valid model for viscous stress calculation"
const uniformDimensionedVectorField & g
compressible::turbulenceModel & turb
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
List< word > sortedToc() const
The sorted list of enum names.
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
static const GeometricField< symmTensor, fvPatchField, volMesh > & null()
Return a null geometric field.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Templated abstract base class for single-phase incompressible turbulence models.
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
bool writeTime() const noexcept
True if this is a write time.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
static word timeName(const scalar t, const int precision=precision_)
static const word dictName
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
const Type & value() const
Return const reference to value.
const Time & time() const
Return reference to time.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
const areaVectorField & faceAreaNormals() const
Return face area normals.
Fundamental fluid thermodynamic properties.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
const surfaceVectorField & Sf() const
Return cell face area vectors.
bool foundObject(const word &name, const bool recursive=false) const
Is the named Type found?
const Type & lookupObject(const word &name, const bool recursive=false) const
Base class for film turbulence models.
scalar rhoRef_
Reference density needed for incompressible calculations.
frictionMethodType
Options for the friction models.
const liquidFilmBase & film() const
Return film.
static const Enum< frictionMethodType > frictionMethodTypeNames_
Names for friction models.
tmp< faVectorMatrix > primaryRegionFriction(areaVectorField &U) const
Return primary region friction.
static const Enum< shearMethodType > shearMethodTypeNames_
Names for shear stress models.
tmp< volSymmTensorField > devRhoReff() const
Return the effective viscous stress (laminar + turbulent)
tmp< volScalarField > rho() const
Return rho if specified otherwise rhoRef.
const frictionMethodType method_
Method used.
const liquidFilmBase & film_
Reference to liquidFilmBase.
const shearMethodType shearMethod_
Shear method used.
word rhoName_
Name of density field (optional)
const dictionary dict_
Model dictionary.
virtual tmp< areaScalarField > Cw() const
Return the wall film surface friction.
shearMethodType
Options for the shear stress models.
const areaVectorField & Uf() const
Access const reference Uf.
const areaScalarField & h() const
Access const reference h.
tmp< areaVectorField > Up() const
Primary region velocity at film hight. Assume the film to be.
virtual const areaScalarField & mu() const =0
Access const reference mu.
virtual const areaScalarField & rho() const =0
Access const reference rho.
word UName() const
Name of the U field.
const dimensionedScalar & h0() const
Return h0.
const fvMesh & primaryMesh() const
Return the reference to the primary mesh database.
label patchID() const
Return patch ID.
const volSurfaceMapping & vsm() const
Return mapping between surface and volume fields.
const faMesh & regionMesh() const
Return the region mesh database.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
Base-class for all transport models used by the incompressible turbulence models.
tmp< Field< Type > > mapToSurface(const GeometricBoundaryField< Type, fvPatchField, volMesh > &df) const
Map volume boundary field to surface.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
const volScalarField & mu
autoPtr< surfaceVectorField > Uf
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
zeroField Sp(const Foam::zero, const GeometricField< Type, faPatchField, areaMesh > &)
A no-op source.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
const dimensionSet dimViscosity
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
const dimensionSet dimVelocity
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
faMatrix< vector > faVectorMatrix
static constexpr const zero Zero
Global zero (0)
dimensionedScalar cbrt(const dimensionedScalar &ds)
const dimensionSet dimDensity
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
IOdictionary transportProperties(IOobject("transportProperties", runTime.constant(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE))