Simulation of Combusting Flows with Flamelet Method
Stream supports solving combustion problems via using flamelet tables that are created from solving flamelet equations.
Flamelet Method
The flamelet method tries to balance computational speed and accuracy by pre-tabulating reaction data for a class of representative combustion model problems that can accumulated to build a database that can be queried to quickly provide information such as heat release and species production rates. A limitation of this method is that it is not accurate for problems that do not lend themselves to being easily represented by a series of flamelet solutions. The flamelet generation process and the theory behind the flamelet equations is documented in a separate guide. A much more detailed introduction to flamelet modeling can be found in Peters’ book Turbulent Combustion [Pete2000]. Diffusion flamelet tables are heavily used with in the flamelet model due to their applicability for injector combustion problems.
To use the compressible flamelet module, the run control file should appear as follows:
loadModule: compressible_flamelet_tf
{
... standard vars file content
}
All flamelet simulations are parameterized by at least two variables: the mixture fraction(Z) and the progress variable(C). The mixture fraction is a variable that represents the state in the fuel and oxidizer streams where a value of Z=0 in the oxidizer stream and Z=1 in the fuel stream. The progress variable is usually defined as the summation of a series of combustion product mass fractions (e.g., C= YH20 + YCO2), and as such is used as a measure of the completeness of a reaction. A value of zero would represent a state where there are no products of combustion and a value of 1 would be a state where there are only products of combustion. Practically, C rarely will go to 1 as there is often a limit to the combustion process turning all the reactants into products for engineering applications.
Control File Setup
A few important guidelines must be observed when setting up the run control file for a flamelet combustion simulation:
Boundary conditions must be set for the mixture fraction variable
Z
and the progress variableC
on all inlet boundaries.Initial conditions must be set for
Z
andC
.
The following subsections detail the specifics of each section of the vars file required for flamelet simulations.
Boundary Conditions
The following shows an example of the specification of the flamelet boundary condition for a subsonic inlet for an oxidizer stream with an inert species present in the stream:
Oxidizer_Inlet=subsonicInlet(mdot=2.51243E-04 kg/s, T=700.0 K, Z=0.0, C=0.0551,
k=4.2, omega=12900.0)
This specification has an oxidizer inlet with an inert species present
in the oxidizer stream (not pure O2), and a definition of the progress
variable that includes the species that is mixed with the oxidizer;
therefore, the value of C
is non-zero for this case. For cases with
totally pure oxidizer and fuel streams, the value of C
will be zero. A
specification of an inlet boundary condition for a pure fuel stream is shown below:
Fuel_Inlet=subsonicInlet(mdot=9.1978E-05 kg/s, T=811.0 K, Z=1.0, C=0.0,
k=0.5, omega=37950.0)
Initial Conditions
The initial conditions for Z
and C
are set as follows:
initialCondition: <v=0.0 m/s, p=5.4e+06 Pa, T=3174.0 K, Z=0.34, C=0.912,
k=0.5, omega=37950.0>
Similar specification of Z
and C
can be made using the run control file
variables ql
and qr
or the variable initialConditionRegions
.
Transport Properties
When running with the compressible flamelet module, the transport properties used by Stream can be either obtained from the flamelet table or from tabular data.
Flamelet Table Transport Properties
- To use the transport properties from the flamelet table. Specify the
transport_model
asmodule
as shown below.
transport_model: module
The flamelet table provides transport properties that are precomputed and stored for quick access during simulations.
Tabular Transport Properties
There may be cases where a certain flamelet type, such as a 0D reactor, does not include transport properties, or cases where a user may want to provide their own transport properties. The tabular transport properties feature provides the functionality to use user-generated transport property tables in flamelet simulations. This module overrides the transport properties that are obtained from the flamelet table with values from user-generated tabulation files.
To activate the tabular transport properties, the the compressible_flamelet_tf_tabular_transport
module needs to be loaded at the
top of the run control file. An example of the run control file variables that need to be specified is shown below:
..code-block:
loadModule: compressible_flamelet_tf_tabular_transport
{
transport_model: module
eos_type: fluid
combustionModels:
<
detailed_chemistry=H2,
nonpremixed=flamelet(table="allstar_fpvc_ideal_20240909.h5")
>
}
Where the argument in the detailed_chemistry
option is the name of the .mdl
file that contains the species data. Two available tabulation
formats are available when using the tabular transport module: ideal-gas and REFPROP style tabulations.
Ideal-Gas Tabulation
The ideal-gas tabulation format utilizes a Chemkin format transport database file which includes fitting coefficients for viscosity, thermal conductivity, and diffusion coefficients.
The method for generating tabulation files is outlined here. The final result will be a folder named
transport/
which contains the tabulated transport properties for all the species in the mechanism.
REFPROP Tabulation
To generate tabulations for species that have REFPROP fluid file available, the makeTables
utility can be used.
makeTables -refpropfluid O2
This will generated a set of files that will be output to an EoSTables/
folder. Multiple fits for different species can be made and the data
for each species fit will be located in a separate folder within the EoSTables/
directory named after the species. This requires a version of
REFPOP to be installed on the user’s system.
Custom Temperature Tabulation
Another alternative that can be used for cases where a REFPROP fluid file is not available is to use the makeTables
utility with a
custom set of input data for the fluid of interest. This data is stored in a file where the first column is the temperature and the second column
is the property. These files can then be passed to the makeTables
utility and it will generate a set of curve fits that are output to a
folder named EoSTables/
.
Flamelet Equation Options
The flamelet equation section of the run control file with all available options appears as follows:
flameletEquationOptions: <linearSolver=SGS, relaxationFactor=0.5, maxIterations=5>
combustion: on
flameletInviscidFlux: SOU
Output Variables
The table below shows additional field variables that are available for
output in flamelet simulations. Default variables are output
automatically and do not need to be specified in the plot_output
line in
the run control file.
Variable |
Description |
Default |
---|---|---|
|
Mixture fraction |
No |
|
Mixture progress variable |
No |
|
Mixture fraction eq. residual |
No |
|
Mixture progress variable eq. residual |
No |
References
Peters, Turbulent Combustion, Cambridge University Press, 2000.