Fluid Model
FluidModel directory overview. (Placeholder content — add a figure or tree here if desired.)
types
noFluidModel Type
The no type is empty and serves as a place holder when the FluidModel is not used.
pureThermo Type
The pureThermo type updates the following thermodynamics properties using the model given by the user and writes them in the output directory.
Temperature, \(T\)
Pressure, \(p\)
Density, \(\rho\)
Compressibility, \(\psi\)
Internal energy, \(e\)
Thermal diffusivity, \(\alpha\)
Effective thermal diffusivity, \(\alpha_{eff}\)
Electrical conductivity, \(\sigma\)
Heat capacity ratio, \(\gamma\)
Dynamic viscosity, \(\mu\)
Effective dynamic viscosity, \(\mu_{eff}\)
Species and elements mass fraction, \(y_i\)
Heterogeneous production rate, \(\Omega_h\)
simpleFoam Type
The simpleFoam type is a steady state fluid solver for incompressible, turbulent flow, using the SIMPLE algorithm. It is based on the OpenFOAM simpleFoam solver extended for multiple regions.
pimpleFoam Type
The pimpleFoam type is a transient solver for incompressible, turbulent flow of Newtonian fluid, with optional mesh motion and mesh topology changes. It is based on the OpenFOAM pimpleFoam solver extended for multiple regions.
reactingFoam Type
The reactingFoam type is a transient solver for combustion with chemical reactions. It is based on the OpenFOAM reactingFoam solver extended for multiple regions.
fireFoam Type
The fireFoam type is a transient solver for fires and turbulent diffusion flames with reacting particle clouds, surface film and pyrolysis modelling. It is based on the OpenFOAM fireFoam solver extended for multiple regions.
chtMultiRegionFoam Type
The chtMultiRegionFoam type is a solver for steady or transient fluid flow and solid heat conduction, with conjugate heat transfer between regions, buoyancy effects, turbulence, reactions and radiation modelling.
rhoCentralFoam Type
The rhoCentralFoam type is a density-based compressible flow solver based on central-upwind schemes of Kurganov and Tadmor with support for mesh-motion topology changes. It is based on the OpenFOAM rhoCentralFoam solver extended for multiple regions and time stitching. Time stitching is a method to update the fluid region only if the variation of the coupled wall temperature is greater than a user defined tolerance (tol). The stitching is only available with PATOxs (or PATOx stitching), a solver under development.
rhoCentralFoamUserThermo Type
The rhoCentralFoamUserThermo type is based on the rhoCentralFoam type using thermodynamics models defined in UserThermo directory, where the user can put its own thermodynamics types.
fvPatches
Figure 1.2 shows the architecture of the fvPatches in FluidModel. The fvPatches directory contains the boundary conditions. The BCs are the boundary conditions specific to rhoCentralFoam model.
fvPatches directory overview. (Placeholder content — add a figure or tree here if desired.)
mixedFixedValueSlip BC
The mixedFixedValueSlip is a BC specialized for supersonic fluid. It is a mixed boundary type that blends between fixedValue and slip, as opposed to the standard mixed condition that blends between fixedValue and fixedGradient; required to implement maxwellSlipU BC. It is based on the OpenFOAM mixedFixedValueSlip BC.
fixedRho BC
The fixedRho is a BC specialized for supersonic fluid. This BC provides a fixed density inlet condition for compressible solvers. It is based on the OpenFOAM fixedRho BC.
smoluchowskiJumpT BC
The smoluchowskiJumpT is a BC specialized for supersonic fluid. This BC provides a Smoluchowski temperature jump BC for compressible solvers. It is based on the OpenFOAM smoluchowskiJumpT BC.
maxwellSlipU BC
The maxwellSlipU is a BC specialized for supersonic fluid. This BC provides a Maxwell slip BC including thermal creep and surface curvature terms that can be optionally switched off. It is based on the OpenFOAM maxwellSlipU BC.
fixedValueToNbrValue BC
The fixedValueToNbrValue BC fixes the value of the field on the patch \(\Phi_{own}\) equal to the value of the neighboring patch \(\Phi_{nei}\).
heterogeneousReaction BC
The heterogeneousReaction BC calculates the heterogeneous production rate at the boundary with a fixed first order reaction parameter \(k_y\).
thermos
Figure 1.3 shows the architecture of the thermos in FluidModel. The thermos directory contains the fluid thermodynamic models specific to PATO. Modified thermodynamics models from OpenFOAM are available in PATOthermophysicalModels. The makeUserThermo.C file creates the UserThermo types based on the basicUserThermo class. It allows PATO users to create their own thermophysical model. The user thermodynamics types are described below. Turbulence models from OpenFOAM are handled in the turbulence directory.
thermos directory overview. (Placeholder content — add a figure or tree here if desired.)
PATOthermophysicalModels
A single model is available in the current version of PATO. This model insures the implementation of the equilibrium chemistry thermophysical property. It reads \(\left(p,T \right)\) tables of thermophysical properties of the mixture and interpolates values between points. The hePsiThermoFrozen is used for chemically frozen flow, and the temperature is calculated through a Newtonian method. The tabularThermo basic model updates the density by reading a table.
UserThermo: Mutation
This module utilizes the library to calculate mixture composition and thermophysical properties. The library has been built to centralize data and algorithms and provide accurate physico-chemical properties to CFD solvers. In this subsection, we describe the physico-chemical models implemented in the library that has been used in PATO.
Physico-chemical models for gas phase
The energy per unit volume is written as
with \(\rho\) being the mixture mass density, \(\rho_e\) and \(e_e\super{T}\) are respectively the electron density and the electron internal energy. The internal energy for the heavy species \(\hset\) is defined as,
where the superscripts T, V, R, and E represent the translational, vibrational, rotational, and electronic modes, \(\aset\) represents the set of atoms, and \(\mset\) is the set of molecules. The term \(e_i\super{F}\) represents the formation energy of the species \(i\) at 298 K. The pressure is retrieved with the perfect gas law as \(p = \sum_{i \in \hset} \rho_i R_i T + \rho_e R_e T\), where \(R_i\) is the perfect gas constant of the species \(i\).
The viscous stress tensor reads
where \(\shearvisc\) is the multicomponent shear viscosity. The heat flux yields,
where the diffusion flux of species \(i\) is
and \(\Velocity\) is the diffusion velocity.
Thermodynamic properties
The RRHO model allows one to express translational, rotational, vibrational, electronic and formation thermodynamic properties for each species where specific data for each species can be found in . The NASA-9 database of comprises the thermodynamic data of several species in the form of 9-coefficient polynomials. This data is accurate up to \(\SI{20000}{\kelvin}\) for the majority of the species and includes vibration-rotation coupling effects as well as anharmonicity corrections.
Transport properties
The multicomponent shear viscosity \(\shearvisc\) is a solution of the following linear system,
where \(x\) is the species mole fraction.
Similarly to the shear viscosity, the thermal conductivity of the heavy particle translational mode is a solution of the following system,
The thermal conductivity for each internal mode is given by the Eucken correction,
where \(c_i^R\), \(c_i^V\) and \(c_i^E\) are the rotational, vibrational, and electronic species specific heats per particle, respectively.
The diffusion velocity vector \(\Velocity\) is given by the generalized Stefan–Maxwell system that can be written as
where \(\vector{d}_i^{\Theta'} = \vector{d}'_i \Theta_i\), \(k_i^{\Theta} =k_i\Theta_i\), \(\Theta_i = T_h/T_i\), \(i \in \gset\). The grouping parameter \(k\) is
where the last equation refers to the mixture charge. Neglecting thermo- and baro-diffusion, the modified driving force follows
Details on transport algorithms to solve the linear systems are provided in , and more details on the transport properties expressions and models are provided by and .
Chemical kinetic
\[\sum_{i \in \mathcal{G}} \nu^{'}_{ir} X_i \rightleftharpoons \sum_{i \in \mathcal{G}} \nu^{''}_{ir} X_i, \quad \forall r \in \mathcal{R}\]where \(X_i\) is the chemical symbol for species \(i\in\mathcal{G}\), and \(\nu^{'}_{ir}\) and \(\nu^{''}_{ir}\) are the forward and backward stoichiometric coefficients for species \(i\) in reaction \(r\).
From the Law of Mass Action, the chemical production rate is given by
where \(\nu_{ir} = \nu^{''}_{ir}-\nu^{'}_{ir}\) and the symbol \(M_i\) stands for the species molar mass.
The rate of progress for reaction \(r\) is given by
where \(k_{r}^f\) is the forward rate that follows an Arrhenius-type and \(k_{r}^b\) is the backward rate. A zero rate of progress means a chemical equilibrium condition which leads to \(\mathbf{\dot{\omega}}\super{chem}_i = 0\).
Chemical equilibrium
\[x_{i}=x_{i}\left(T, p, x_{e}\right) \qquad \forall i \in \gset\]leading to the species mole fraction gradient as
\[\partial_{x} x_{i}=\frac{\partial x_{i}}{\partial p} \partial_{x} p+\frac{\partial x_{i}}{\partial T} \partial_{x} T+\sum_{e \in \eset} \frac{\partial x_{i}}{\partial w} \partial_{x} x_{e},\]where \(\eset\) is the set of elements.
The elemental diffusion flux yields
and the diffusive energy fluxes are obtained by multiplying the species mass fluxes by the mass enthalpy such that
where \(\mathcal{F}_{e}^{p}\), \(\mathcal{F}_{e}^{T}\), \(\mathcal{F}_{e}^{X_{l}}\), \(\mathcal{F}_{h}^{p}\), \(\mathcal{F}_{h}^{T}\), and \(\mathcal{F}_{h}^{x_{l}}\) are driving forces provided by and their expressions can be found in .
basicMutation
This class is the mother class of all Mutation sub-models. Three sub-models are available:
FiniteRateMutation
PTEquilMutation
PTXEquilMutation
FiniteRateMutation
PTEquilMutation
PTXEquilMutation
UserThermo: Tabulated
The basicTabulated class is the mother class of all Tabulated sub-models. Two sub-models are available:
PTEquilTabulated
PTXEquilTabulated