37 namespace regionModels
39 namespace surfaceFilmModels
58 if (!isA<thermoSingleLayer>(
owner_))
61 <<
"Thermo model requires a " << thermoSingleLayer::typeName
62 <<
" film to supply the pressure and temperature, but " 63 <<
owner_.type() <<
" film model selected. " 64 <<
"Use the 'useReferenceValues' flag to employ reference " 68 return refCast<const thermoSingleLayer>(
owner_);
110 name_(
"unknown_liquid"),
248 owner().regionMesh(),
252 owner().regionMesh(),
254 extrapolatedCalculatedFvPatchScalarField::typeName
276 rho[celli] = this->
rho(p[celli], T[celli]);
280 trho.
ref().correctBoundaryConditions();
296 owner().regionMesh(),
300 owner().regionMesh(),
302 extrapolatedCalculatedFvPatchScalarField::typeName
324 mu[celli] = this->
mu(p[celli], T[celli]);
328 tmu.
ref().correctBoundaryConditions();
344 owner().regionMesh(),
348 owner().regionMesh(),
350 extrapolatedCalculatedFvPatchScalarField::typeName
372 sigma[celli] = this->
sigma(p[celli], T[celli]);
376 tsigma.
ref().correctBoundaryConditions();
392 owner().regionMesh(),
396 owner().regionMesh(),
398 extrapolatedCalculatedFvPatchScalarField::typeName
420 Cp[celli] = this->
Cp(p[celli], T[celli]);
424 tCp.
ref().correctBoundaryConditions();
440 owner().regionMesh(),
444 owner().regionMesh(),
446 extrapolatedCalculatedFvPatchScalarField::typeName
468 kappa[celli] = this->
kappa(p[celli], T[celli]);
472 tkappa.
ref().correctBoundaryConditions();
virtual tmp< volScalarField > mu() const
Return dynamic viscosity [Pa.s].
virtual tmp< volScalarField > Cp() const
Return specific heat capacity [J/kg/K].
const PtrList< liquidProperties > & properties() const
Return the liquid properties.
label liquidId(const word &cmptName, bool allowNotFound=false) const
Index of liquid component.
virtual ~liquidFilmThermo()
Destructor.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
virtual scalar W() const
Return molecular weight [kg/kmol].
A list of keyword definitions, which are a keyword followed by any number of values (e...
bool foundObject(const word &name) const
Is the named Type found?
surfaceFilmModel & owner_
Reference to the owner surface film model.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
virtual scalar hl(scalar p, scalar T) const
Heat of vapourisation [J/kg].
virtual scalar mu(scalar p, scalar T) const
Liquid viscosity [Pa s].
tmp< volScalarField > trho
virtual const word & name() const
Return the specie name.
const dictionary coeffDict_
Coefficients dictionary.
liquidFilmThermo(const liquidFilmThermo &)
Disallow default bitwise copy construct.
Macros for easy insertion into run-time selection tables.
virtual tmp< volScalarField > sigma() const
Return surface tension [kg/s2].
const liquidProperties * liquidPtr_
Pointer to the liquid properties.
bool useReferenceValues_
Flag to indicate that reference values of p and T should be used.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
virtual tmp< volScalarField > rho() const
Return density [kg/m3].
scalar pRef_
Reference pressure [pa].
addToRunTimeSelectionTable(surfaceFilmModel, kinematicSingleLayer, mesh)
void initLiquid(const dictionary &dict)
Initialise the liquid pointer.
A class for handling words, derived from string.
virtual scalar hl(const scalar p, const scalar T) const
Return latent heat [J/kg].
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
virtual scalar sigma(scalar p, scalar T) const
Surface tension [N/m].
virtual scalar D(const scalar p, const scalar T) const
Return diffusivity [m2/s].
The thermophysical properties of a liquidProperties.
virtual scalar Cp(scalar p, scalar T) const
Liquid heat capacity [J/(kg K)].
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
const liquidMixtureProperties & liquids() const
Return reference to the global (additional) liquids.
const dimensionSet dimPressure
virtual scalar rho(scalar p, scalar T) const
Liquid rho [kg/m^3].
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
const dimensionSet dimPower
virtual const volScalarField & T() const
Return the film mean temperature [K].
virtual scalar pv(scalar p, scalar T) const
Vapour pressure [Pa].
virtual scalar pv(const scalar p, const scalar T) const
Return vapour pressure [Pa].
virtual scalar K(scalar p, scalar T) const
Liquid thermal conductivity [W/(m K)].
virtual scalar pvInvert(scalar p) const
Invert the vapour pressure relationship to retrieve the.
const dimensionSet dimEnergy
const dimensionSet dimDensity
Template functions to aid in the implementation of demand driven data.
scalar W() const
Molecular weight [kg/kmol].
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const surfaceFilmModel & owner() const
Return const access to the owner surface film model.
Base class for surface film models.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual scalar Tb(const scalar p) const
Return boiling temperature [K].
const thermoSingleLayer & thermoFilm() const
Return a reference to a thermo film.
virtual scalar D(scalar p, scalar T) const
Vapour diffussivity [m2/s].
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
const fvMesh & primaryMesh() const
Return the reference to the primary mesh database.
void deleteDemandDrivenData(DataPtr &dataPtr)
scalar TRef_
Reference temperature [K].
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
defineTypeNameAndDebug(kinematicSingleLayer, 0)
const volScalarField & pPrimary() const
Pressure / [Pa].
virtual tmp< volScalarField > kappa() const
Return thermal conductivity [W/m/K].
bool ownLiquid_
Flag to indicate that model owns the liquid object.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.