7.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.
7.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. The solvers using ﬂuidThermo are rhoSimpleFoam, rhoPorousSimpleFoam rhoPimpleFoam, buoyantFoam, rhoParticleFoam and thermoFoam.
 psiThermo
 Thermophysical model for gases only, with ﬁxed composition, used by rhoCentralFoam.
 ﬂuidReactionThermo
 Thermophysical model for ﬂuid of varying composition, including reactingFoam, chtMultiRegionFoam and chemFoam.
 psiuReactionThermo
 Thermophysical model for combustion solvers that model combustion based on laminar ﬂame speed and regress variable, e.g.XiFoam, PDRFoam.
 multiphaseMixtureThermo
 Thermophysical models for multiple phases used by compressibleMultiphaseInterFoam.
 solidThermo
 Thermophysical models for solids used by chtMultiRegionFoam.
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, ﬂuidReactionThermo and psiThermo.
 heRhoThermo: available for solvers that construct ﬂuidThermo, ﬂuidReactionThermo and multiphaseMixtureThermo.
 heheuPsiThermo: for solvers that construct psiuReactionThermo.
 heSolidThermo: for solvers that construct solidThermo.
The mixture speciﬁes the mixture composition. The option typically used for thermophysical models without reactions is pureMixture, which represents a mixture with ﬁxed composition. When pureMixture is speciﬁed, the thermophysical models coeﬃcients are speciﬁed within a subdictionary called mixture.
For mixtures with variable composition, required by thermophysical models with reactions, the multicomponentMixture option is used. Species and reactions are listed in a chemistry ﬁle, speciﬁed by the foamChemistryFile keyword. The multicomponentMixture model then requires the thermophysical models coeﬃcients to be speciﬁed for each specie within subdictionaries named after each specie, e.g. O2, N2.
For combustion based on laminar ﬂame speed and regress variables, constituents are a set of mixtures, such as fuel, oxidant and burntProducts. The available mixture models for this combustion modelling are homogeneousMixture, inhomogeneousMixture and veryInhomogeneousMixture.
Other models for variable composition are egrMixture, singleComponentMixture.
7.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:
(7.1)  polynomial
 calculates and as a function of
temperature from a polynomial of any order , e.g.:
(7.2)  logPolynomial
 calculates and as a function of
from a polynomial of any order ; from which
,
are
calculated by taking the exponential, e.g.:
(7.3)  Andrade
 calculates and as a polynomial
function of , e.g. for
:
(7.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:
(7.5)
7.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 :
(7.6)  ePower
 calculates as a power of
temperature according to:
(7.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 :
(7.8)  hPower
 calculates as a power of
temperature according to:
(7.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 7.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:
(7.10)
7.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.
7.1.5 Equation of state
The following equations of state are available in the thermophysical modelling library.
 adiabaticPerfectFluid
 Adiabatic perfect ﬂuid:
(7.11)  Boussinesq
 Boussinesq approximation
(7.12)  icoPolynomial
 Incompressible, polynomial equation of
state:
(7.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:
(7.14)  linear
 Linear equation of state:
(7.15)  PengRobinsonGas
 Peng Robinson equation of state:
(7.16)  perfectFluid
 Perfect ﬂuid:
(7.17)  perfectGas
 Perfect gas:
(7.18)  rhoConst
 Constant density:
(7.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:
(7.20)
7.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

(7.21) 
7.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;
}
}