40 namespace regionModels
42 namespace surfaceFilmModels
64 <<
"Thermo model requires a " << thermoSingleLayer::typeName
65 <<
" film to supply the pressure and temperature, but " 66 <<
filmModel_.type() <<
" film model selected. " 67 <<
"Use the 'useReferenceValues' flag to employ reference " 71 return refCast<const thermoSingleLayer>(
filmModel_);
113 surfaceFilmRegionModel& film,
117 filmThermoModel(typeName, film,
dict),
118 name_(
"unknown_liquid"),
121 useReferenceValues_(coeffDict_.
get<bool>(
"useReferenceValues")),
271 rho[celli] = this->
rho(p[celli],
T[celli]);
275 trho.ref().correctBoundaryConditions();
289 extrapolatedCalculatedFvPatchScalarField::typeName
306 mu[celli] = this->
mu(p[celli],
T[celli]);
310 tmu.ref().correctBoundaryConditions();
324 extrapolatedCalculatedFvPatchScalarField::typeName
345 tsigma.ref().correctBoundaryConditions();
359 extrapolatedCalculatedFvPatchScalarField::typeName
376 Cp[celli] = this->
Cp(p[celli],
T[celli]);
380 tCp.ref().correctBoundaryConditions();
394 extrapolatedCalculatedFvPatchScalarField::typeName
415 tkappa.ref().correctBoundaryConditions();
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
virtual scalar D(const scalar p, const scalar T) const
Return diffusivity [m2/s].
virtual ~liquidFilmThermo()
Destructor.
virtual tmp< volScalarField > kappa() const
Return thermal conductivity [W/m/K].
virtual scalar rho(scalar p, scalar T) const =0
Liquid density [kg/m^3].
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const tmp< volScalarField > & tCp
dimensionedSymmTensor sqr(const dimensionedVector &dv)
virtual scalar pvInvert(scalar p) const
Invert the vapour pressure relationship to retrieve the.
tmp< volScalarField > trho
virtual scalar hl(scalar p, scalar T) const =0
Heat of vapourisation [J/kg].
const Type * findObject(const word &name, const bool recursive=false) const
Return const pointer to the object of the given Type.
const dictionary coeffDict_
Coefficients dictionary.
liquidFilmThermo(const liquidFilmThermo &)=delete
No copy construct.
const dictionary & dict() const
Return const access to the cloud dictionary.
addToRunTimeSelectionTable(surfaceFilmRegionModel, kinematicSingleLayer, mesh)
Macros for easy insertion into run-time selection tables.
virtual tmp< volScalarField > mu() const
Return dynamic viscosity [Pa.s].
virtual scalar kappa(scalar p, scalar T) const =0
Liquid thermal conductivity [W/(m K)].
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
#define forAll(list, i)
Loop across all elements in list.
virtual scalar sigma(scalar p, scalar T) const =0
Surface tension [N/m].
const liquidProperties * liquidPtr_
Pointer to the liquid properties.
virtual scalar W() const
Return molecular weight [kg/kmol].
bool useReferenceValues_
Flag to indicate that reference values of p and T should be used.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
Find entry and assign to T val. FatalIOError if it is found and the number of tokens is incorrect...
const dictionary & optionalSubDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary, otherwise return this dictionary.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
scalar pRef_
Reference pressure [pa].
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
void initLiquid(const dictionary &dict)
Initialise the liquid pointer.
A class for handling words, derived from Foam::string.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
scalar W() const
Molecular weight [kg/kmol].
const thermoSingleLayer & thermoFilm() const
Return a reference to a thermo film.
virtual tmp< volScalarField > rho() const
Return density [kg/m3].
virtual scalar Cp(const scalar p, const scalar T) const =0
Heat capacity at constant pressure [J/(kg K)].
virtual scalar pv(const scalar p, const scalar T) const
Return vapour pressure [Pa].
virtual scalar pv(scalar p, scalar T) const =0
Vapour pressure [Pa].
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
const dimensionSet dimPressure
virtual tmp< volScalarField > sigma() const
Return surface tension [kg/s2].
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions and patch type. [Takes current timeN...
const dimensionSet dimPower
virtual scalar Tb(const scalar p) const
Return boiling temperature [K].
virtual scalar hl(const scalar p, const scalar T) const
Return latent heat [J/kg].
static autoPtr< liquidProperties > New(const word &name)
Return a pointer to a new liquidProperties created from name.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual tmp< volScalarField > Cp() const
Return specific heat capacity [J/kg/K].
virtual scalar D(scalar p, scalar T) const =0
Vapour diffusivity [m2/s].
const dimensionSet dimEnergy
const dimensionSet dimDensity
virtual const word & name() const
Return the specie name.
Template functions to aid in the implementation of demand driven data.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
surfaceFilmRegionModel & filmModel_
Reference to the film surface film model.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
A class for managing temporary objects.
virtual scalar mu(scalar p, scalar T) const =0
Liquid viscosity [Pa s].
static const word & extrapolatedCalculatedType() noexcept
The type name for extrapolatedCalculated patch fields combines zero-gradient and calculated.
void deleteDemandDrivenData(DataPtr &dataPtr)
scalar TRef_
Reference temperature [K].
defineTypeNameAndDebug(kinematicSingleLayer, 0)
Do not request registration (bool: false)
Thermodynamic form of single-cell layer surface film model.
bool ownLiquid_
Flag to indicate that model owns the liquid object.
static constexpr const zero Zero
Global zero (0)
virtual const volScalarField & T() const =0
Return the film mean temperature [K].