31 template<
class MixtureType>
36 const dimensionSet& psiDim,
37 scalar (MixtureType::thermoType::*psiMethod)
47 const typename MixtureType::thermoType&
thermo =
48 this->specieThermo(speciei);
50 tmp<volScalarField> tPsi
54 IOobject::groupName(psiName,
T.group()),
64 psi[celli] = (
thermo.*psiMethod)(
p[celli],
T[celli]);
67 volScalarField::Boundary& psiBf =
psi.boundaryFieldRef();
77 ppsi[facei] = (
thermo.*psiMethod)(pp[facei], pT[facei]);
85 template<
class MixtureType>
88 scalar (MixtureType::thermoType::*psiMethod)
98 const typename MixtureType::thermoType&
thermo =
99 this->specieThermo(speciei);
107 psi[facei] = (
thermo.*psiMethod)(
p[facei],
T[facei]);
116 template<
class MixtureType>
121 const word& phaseName
124 MixtureType(thermoDict, mesh, phaseName)
130 template<
class MixtureType>
133 return this->specieThermo(speciei).W();
137 template<
class MixtureType>
140 return this->specieThermo(speciei).Hf();
144 template<
class MixtureType>
152 return this->specieThermo(speciei).rho(
p,
T);
156 template<
class MixtureType>
164 return volScalarFieldProperty
176 template<
class MixtureType>
184 return this->specieThermo(speciei).Cp(
p,
T);
188 template<
class MixtureType>
196 return volScalarFieldProperty
208 template<
class MixtureType>
216 return this->specieThermo(speciei).HE(
p,
T);
220 template<
class MixtureType>
228 return fieldProperty(&MixtureType::thermoType::HE, speciei,
p,
T);
232 template<
class MixtureType>
240 return volScalarFieldProperty
244 &MixtureType::thermoType::HE,
252 template<
class MixtureType>
260 return this->specieThermo(speciei).Hs(
p,
T);
264 template<
class MixtureType>
276 template<
class MixtureType>
284 return volScalarFieldProperty
296 template<
class MixtureType>
304 return this->specieThermo(speciei).Ha(
p,
T);
308 template<
class MixtureType>
320 template<
class MixtureType>
328 return volScalarFieldProperty
340 template<
class MixtureType>
348 return this->specieThermo(speciei).mu(
p,
T);
352 template<
class MixtureType>
360 return volScalarFieldProperty
372 template<
class MixtureType>
380 return this->specieThermo(speciei).kappa(
p,
T);
384 template<
class MixtureType>
392 return volScalarFieldProperty
scalar Ha(const scalar p, const scalar T) const
scalar Hs(const scalar p, const scalar T) const
scalar Cp(const scalar p, const scalar T) const
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
virtual scalar Wi(const label speciei) const
Molecular weight of the given specie [kg/kmol].
SpecieMixture(const dictionary &, const fvMesh &, const word &phaseName)
Construct from dictionary, mesh and phase name.
virtual scalar HE(const label speciei, const scalar p, const scalar T) const
Enthalpy/Internal energy [J/kg].
virtual scalar Ha(const label speciei, const scalar p, const scalar T) const
Absolute enthalpy [J/kg].
virtual const volScalarField & Cp() const =0
Heat capacity at constant pressure for patch [J/kg/K].
virtual scalar mu(const label speciei, const scalar p, const scalar T) const
Dynamic viscosity [kg/m/s].
virtual scalar Hs(const label speciei, const scalar p, const scalar T) const
Sensible enthalpy [J/kg].
virtual scalar kappa(const label speciei, const scalar p, const scalar T) const
Thermal conductivity [W/m/K].
virtual scalar Hf(const label speciei) const
Enthalpy of formation [J/kg].
virtual scalar rho(const label speciei, const scalar p, const scalar T) const
Density [kg/m^3].
A list of keyword definitions, which are a keyword followed by any number of values (e....
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.
A class for handling words, derived from string.
volScalarField scalarField(fieldObject, mesh)
const volScalarField & psi
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
const dimensionedScalar mu
Atomic mass unit.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimEnergy
const dimensionSet dimPower
const dimensionSet dimLength
const dimensionSet dimTemperature
const dimensionSet dimTime
const dimensionSet dimDensity
VolField< scalar > volScalarField
const dimensionSet dimMass
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
fvPatchField< scalar > fvPatchScalarField
fluidMulticomponentThermo & thermo