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 variable C on all inlet boundaries.

  • Initial conditions must be set for Z and C.

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 as module 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.

Field Variable Output for Combusting Flamelet Flows

Variable

Description

Default

ZZ

Mixture fraction

No

C

Mixture progress variable

No

ZResidual

Mixture fraction eq. residual

No

CResidual

Mixture progress variable eq. residual

No

References

[Pete2000]
  1. Peters, Turbulent Combustion, Cambridge University Press, 2000.