[version 12][version 11][version 10][version 9][version 8][version 7][version 6]
8.1 Thermophysical models
Thermophysical models are concerned with: thermodynamics, e.g. relating internal energy to temperature ; transport, e.g. the dependence of properties such as on temperature; and state, e.g. dependence of density on and pressure . Thermophysical models are speciﬁed in the physicalProperties dictionary.
A thermophysical model required an entry named thermoType which speciﬁes the package of thermophysical modelling that is used in the simulation. OpenFOAM includes a large set of precompiled combinations of modelling, built within the code using C++ templates. It can also compile ondemand a combination which is not precompiled during a simulation.
Thermophysical modelling packages begin with the equation of state and then adding more layers of thermophysical modelling that derive properties from the previous layer(s). The keyword entries in thermoType reﬂects the multiple layers of modelling and the underlying framework in which they combined. Below is an example entry for thermoType:
thermoType
{
type hePsiThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
The keyword entries specify the choice of thermophysical models, e.g. transport constant (constant viscosity, thermal diﬀusion), equationOfState perfectGas , etc. In addition there is a keyword entry named energy that allows the user to specify the form of energy to be used in the solution and thermodynamics. The following sections explains the entries and options in the thermoType package.
8.1.1 Thermophysical and mixture models
Each solver that uses thermophysical modelling constructs an object of a speciﬁc thermophysical model class. The model classes are listed below.
ﬂuidThermo
Thermophysical model for a general ﬂuid with ﬁxed composition used by the isoThermalFluid and ﬂuid solver modules.
rhoThermo
Thermophysical model for liquids and solids, used by the isothermalFilm and ﬁlm solver module.
psiThermo
Thermophysical model for gases only, with ﬁxed composition, used by the shockFluid solver module.
ﬂuidMulticomponentThermo
Thermophysical model for ﬂuid of varying composition used by the multicomponentFluid solver module.
psiuMulticomponentThermo
Thermophysical model for combustion that modelled by a laminar ﬂame speed and regress variable used by the XiFluid solver module.
compressibleMultiphaseVoFMixtureThermo
Thermophysical models for multiple phases used by the compressibleMultiphaseVoF solver module.
solidThermo and solidDisplacementThermo
Thermophysical models for solids used by by the solid and solidDisplacement solver modules, respectively.
The type keyword (in the thermoType subdictionary) speciﬁes the underlying thermophysical model used by the solver. The user can select from the following.

hePsiThermo: available for solvers that construct ﬂuidThermo, psiThermo, ﬂuidMulticomponentThermo and .

heRhoThermo: available for solvers that construct ﬂuidThermo, rhoThermo, ﬂuidMulticomponentThermo, compressibleMultiphaseVoFMixtureThermo.

heheuPsiThermo: for solvers that construct psiuMulticomponentThermo.

heSolidThermo: for solvers that construct solidThermo or solidDisplacementThermo.
The mixture speciﬁes the mixture composition. The options available are listed below.

pureMixture: mixture with ﬁxed composition, which reads properties from a a subdictionary called mixture.

multicomponentMixture: mixture with variable composition, with species, e.g. O2, N2, listed by the species keyword, and properties speciﬁed for each specie within subdictionaries named after each specie.

coefficientWilkeMulticomponentMixture: as multicomponentMixture, but applies Wilke’s equation to calculate transport properties for the mixture.

valueMulticomponentMixture: as multicomponentMixture, but applies molefraction weighting to calculate transport properties for the mixture.

homogeneousMixture, inhomogeneousMixture and veryInhomogeneousMixture: for combustion based on laminar ﬂame speed and regress variables, constituents are a set of mixtures, such as fuel, oxidant and burntProducts.
8.1.2 Transport model
The transport modelling concerns evaluating dynamic viscosity , thermal conductivity and thermal diﬀusivity (for internal energy and enthalpy equations). The current transport models are as follows:
const
assumes a constant and Prandtl number which is simply speciﬁed by a two keywords, mu and Pr, respectively.
sutherland
calculates as a function of temperature from a Sutherland coeﬃcient and Sutherland temperature , speciﬁed by keywords As and Ts; is calculated according to:
(8.1)
polynomial
calculates and as a function of temperature from a polynomial of any order , e.g.:
(8.2)
logPolynomial
calculates and as a function of from a polynomial of any order ; from which , are calculated by taking the exponential, e.g.:
(8.3)
Andrade
calculates and as a polynomial function of , e.g. for :
(8.4)
tabulated
uses uniform tabulated data for viscosity and thermal conductivity as a function of pressure and temperature.
icoTabulated
uses nonuniform tabulated data for viscosity and thermal conductivity as a function of temperature.
WLF
(WilliamsLandelFerry) calculates as a function of temperature from coeﬃcients and and reference temperature speciﬁed by keywords C1, C2 and Tr; is calculated according to:
(8.5)
8.1.3 Thermodynamic models
The thermodynamic models are concerned with evaluating the speciﬁc heat from which other properties are derived. The current thermo models are as follows:
eConst
assumes a constant and a heat of fusion which is simply speciﬁed by a two values , given by keywords Cv and Hf.
eIcoTabulated
calculates by interpolating nonuniform tabulated data of value pairs, e.g.:
( (200 1005) (400 1020) );
ePolynomial
calculates as a function of temperature by a polynomial of any order :
(8.6)
ePower
calculates as a power of temperature according to:
(8.7)
eTabulated
calculates by interpolating uniform tabulated data of value pairs, e.g.:
( (200 1005) (400 1020) );
hConst
assumes a constant and a heat of fusion which is simply speciﬁed by a two values , given by keywords Cp and Hf.
hIcoTabulated
calculates by interpolating nonuniform tabulated data of value pairs, e.g.:
( (200 1005) (400 1020) );
hPolynomial
calculates as a function of temperature by a polynomial of any order :
(8.8)
hPower
calculates as a power of temperature according to:
(8.9)
hTabulated
calculates by interpolating uniform tabulated data of value pairs, e.g.:
( (200 1005) (400 1020) );
janaf
calculates as a function of temperature from a set of coeﬃcients taken from JANAF tables of thermodynamics. The ordered list of coeﬃcients is given in Table 8.1. The function is valid between a lower and upper limit in temperature and respectively. Two sets of coeﬃcients are speciﬁed, the ﬁrst set for temperatures above a common temperature (and below ), the second for temperatures below (and above ). The function relating to temperature is:
(8.10)
8.1.4 Composition of each constituent
There is currently only one option for the specie model which speciﬁes the composition of each constituent. That model is itself named specie, which is speciﬁed by the following entries.

nMoles: number of moles of component. This entry is only used for combustion modelling based on regress variable with a homogeneous mixture of reactants; otherwise it is set to 1.

molWeight in grams per mole of specie.
8.1.5 Equation of state
The following equations of state are available in the thermophysical modelling library.
adiabaticPerfectFluid
Adiabatic perfect ﬂuid:
(8.11)
Boussinesq
Boussinesq approximation
(8.12)
icoPolynomial
Incompressible, polynomial equation of state:
(8.13)
icoTabulated
Tabulated data for an incompressible ﬂuid using value pairs, e.g.
rho ( (200 1010) (400 980) );
incompressiblePerfectGas
Perfect gas for an incompressible ﬂuid:
(8.14)
linear
Linear equation of state:
(8.15)
PengRobinsonGas
Peng Robinson equation of state:
(8.16)
perfectFluid
Perfect ﬂuid:
(8.17)
perfectGas
Perfect gas:
(8.18)
rhoConst
Constant density:
(8.19)
rhoTabulated
Uniform tabulated data for a compressible ﬂuid, calculating as a function of and .
rPolynomial
Reciprocal polynomial equation of state for liquids and solids:
(8.20)
8.1.6 Selection of energy variable
The user must specify the form of energy to be used in the solution, either internal energy and enthalpy , and in forms that include the heat of formation or not. This choice is speciﬁed through the energy keyword.
We refer to absolute energy where heat of formation is included, and sensible energy where it is not. For example absolute enthalpy is related to sensible enthalpy by
(8.21) 
8.1.7 Thermophysical property data
The basic thermophysical properties are speciﬁed for each species from input data. Data entries must contain the name of the specie as the keyword, e.g. O2, H2O, mixture, followed by subdictionaries of coeﬃcients, including:
specie
containing i.e. number of moles, nMoles, of the specie, and molecular weight, molWeight in units of g/mol;
thermodynamics
containing coeﬃcients for the chosen thermodynamic model (see below);
transport
containing coeﬃcients for the chosen tranpsort model (see below).
The following is an example entry for a specie named fuel modelled using sutherland transport and janaf thermodynamics:
fuel
{
specie
{
nMoles 1;
molWeight 16.0428;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs (1.63543 0.0100844 3.36924e06 5.34973e10
3.15528e14 10005.6 9.9937);
lowCpCoeffs (5.14988 0.013671 4.91801e05 4.84744e08
1.66694e11 10246.6 4.64132);
}
transport
{
As 1.67212e06;
Ts 170.672;
}
}
air
{
specie
{
nMoles 1;
molWeight 28.96;
}
thermodynamics
{
Cp 1004.5;
Hf 2.544e+06;
}
transport
{
mu 1.8e05;
Pr 0.7;
}
}