[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 specified in the physicalProperties dictionary.
A thermophysical model required an entry named thermoType which specifies the package of thermophysical modelling that is used in the simulation. OpenFOAM includes a large set of pre-compiled combinations of modelling, built within the code using C++ templates. It can also compile on-demand a combination which is not pre-compiled 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 reflects 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 diffusion), 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 specific thermophysical model class. The model classes are listed below.
- fluidThermo
- Thermophysical model for a general fluid with fixed composition used by the isoThermalFluid and fluid solver modules.
- rhoThermo
- Thermophysical model for liquids and solids, used by the isothermalFilm and film solver module.
- psiThermo
- Thermophysical model for gases only, with fixed composition, used by the shockFluid solver module.
- fluidMulticomponentThermo
- Thermophysical model for fluid of varying composition used by the multicomponentFluid solver module.
- psiuMulticomponentThermo
- Thermophysical model for combustion that modelled by a laminar flame 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 sub-dictionary) specifies the underlying thermophysical model used by the solver. The user can select from the following.
- hePsiThermo: available for solvers that construct fluidThermo, psiThermo, fluidMulticomponentThermo and .
- heRhoThermo: available for solvers that construct fluidThermo, rhoThermo, fluidMulticomponentThermo, compressibleMultiphaseVoFMixtureThermo.
- heheuPsiThermo: for solvers that construct psiuMulticomponentThermo.
- heSolidThermo: for solvers that construct solidThermo or solidDisplacementThermo.
The mixture specifies the mixture composition. The options available are listed below.
- pureMixture: mixture with fixed composition, which reads properties from a a sub-dictionary called mixture.
- multicomponentMixture: mixture with variable composition, with species, e.g. O2, N2, listed by the species keyword, and properties specified for each specie within sub-dictionaries named after each specie.
- coefficientWilkeMulticomponentMixture: as multicomponentMixture, but applies Wilke’s equation to calculate transport properties for the mixture.
- valueMulticomponentMixture: as multicomponentMixture, but applies mole-fraction weighting to calculate transport properties for the mixture.
- homogeneousMixture, inhomogeneousMixture and veryInhomogeneousMixture: for combustion based on laminar flame 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 diffusivity (for internal energy and enthalpy equations). The current transport models are as follows:
- const
- assumes a constant and Prandtl number which is simply specified by a two keywords, mu and Pr, respectively.
- sutherland
- calculates as a function of
temperature from a Sutherland coefficient and Sutherland
temperature , specified 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 non-uniform tabulated data for viscosity and thermal conductivity as a function of temperature.
- WLF
- (Williams-Landel-Ferry) calculates
as
a function of temperature from coefficients and and reference
temperature specified 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 specific 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 specified by a two values , given by keywords Cv and Hf.
- eIcoTabulated
- calculates by interpolating
non-uniform 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 specified by a two values , given by keywords Cp and Hf.
- hIcoTabulated
- calculates by interpolating
non-uniform 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 coefficients taken from JANAF tables of thermodynamics. The ordered
list of coefficients is given in Table 8.1.
The function is valid between a lower and upper limit in
temperature and respectively. Two sets of coefficients are specified,
the first 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 specifies the composition of each constituent. That model is itself named specie, which is specified 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 fluid:
(8.11) - Boussinesq
- Boussinesq approximation
(8.12) - icoPolynomial
- Incompressible, polynomial equation of
state:
(8.13) - icoTabulated
- Tabulated data for an incompressible fluid
using value pairs, e.g.
rho ( (200 1010) (400 980) ); - incompressiblePerfectGas
- Perfect gas for an incompressible fluid:
(8.14) - linear
- Linear equation of state:
(8.15) - PengRobinsonGas
- Peng Robinson equation of state:
(8.16) - perfectFluid
- Perfect fluid:
(8.17) - perfectGas
- Perfect gas:
(8.18) - rhoConst
- Constant density:
(8.19) - rhoTabulated
- Uniform tabulated data for a compressible fluid, 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 specified 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 specified 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 sub-dictionaries of coefficients, including:
- specie
- containing i.e. number of moles, nMoles, of the specie, and molecular weight, molWeight in units of g/mol;
- thermodynamics
- containing coefficients for the chosen thermodynamic model (see below);
- transport
- containing coefficients 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.36924e-06 5.34973e-10
-3.15528e-14 -10005.6 9.9937);
lowCpCoeffs (5.14988 -0.013671 4.91801e-05 -4.84744e-08
1.66694e-11 -10246.6 -4.64132);
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
air
{
specie
{
nMoles 1;
molWeight 28.96;
}
thermodynamics
{
Cp 1004.5;
Hf 2.544e+06;
}
transport
{
mu 1.8e-05;
Pr 0.7;
}
}