Turbulent combustion models in LES and RANS codes rarely carry detailed chemistry: they look up thermochemistry in tables built from laminar flamelets. Flamelet Table Generator builds those tables with Cantera. It solves steady counterflow diffusion flamelets across a strain-rate sweep, traces the S-curve to extinction, and integrates the flamelets over a presumed β-PDF into a flamelet/progress-variable (FPV) lookup table. It produces CFD input in a neutral format; it does not run CFD. It runs on CPU.
How it works
- Opposed jets. Fuel and oxidizer streams meet in a counterflow diffusion flame between two nozzles. For each global strain rate, the inlet mass fluxes balance the jets' momentum.
- Continuation sweep. The first strain rate is solved from scratch; each later one starts from the previous solution, so the sweep climbs the burning branch of the S-curve.
- Extinction. A point whose peak temperature falls close to the inlet temperature (or that still fails to converge after smaller intermediate steps) is flagged extinguished. Later points are flagged without solving, and a short bisection narrows the extinction strain rate. Extinguished points are flagged, never dropped.
- Flamelet quantities. Each flamelet reports the mixture fraction Z (Bilger's definition by default, or element-based), a progress variable C (a weighted sum of product mass fractions, CO₂, H₂O, CO and H₂ by default) and its source term, the scalar dissipation rate χ, and the values at stoichiometric Z, including λ = C(Z_st), which labels the flamelet.
- Lookup table. Each burning flamelet, plus a frozen-mixing flamelet (the lowest λ), is averaged over a presumed β-PDF of Z on a grid of mean Z and normalized variance. The integral treats each profile as piecewise linear in Z and is exact for that interpolant.
Inputs
- The mechanism: built-in
gri30orh2o2(mechanism_id), or your own Cantera YAML or single CHEMKIN file with thermodynamic and transport data, uploaded or from an artifact. A reduced mechanism from Mechanism Reduction is the intended input. - Streams: fuel and oxidizer compositions with their temperatures, the pressure, and the nozzle separation.
- Strain sweep: a logarithmic or linear grid, or an explicit increasing list of strain rates (1/s), and the extinction threshold.
- Tables: the mixture-fraction definition, progress-variable weights, the species to tabulate, and the β-PDF grid size. Unknown species fail the job before any solve.
Outputs
| File | Contents |
|---|---|
flamelets.csv | Every solved flamelet's profile: position, Z, C, temperature, χ, the progress-variable source term, and species mass fractions |
flamelets/<flamelet_id>.csv | The same profiles, one file per flamelet, each a workflow record with its peak temperature, strain rate, χ at stoichiometric Z, λ, and extinguished flag |
s_curve.csv | One row per requested strain rate: peak temperature, χ at stoichiometric Z, λ, branch, and the extinguished flag |
fpv_table.csv | The β-PDF lookup table over λ, mean Z, and normalized Z variance |
flamelet_manifest.json | Units, species, streams, progress-variable weights, table axes, and the extinguished flamelets |
summary.json | Counts, the extinction strain-rate bracket, and warnings |
In a workflow, filters on the per-flamelet records can keep only burning flamelets, cut a strain-rate window, or rank flamelets by peak temperature.
Not covered
- Unsteady flamelets, premixed or burner-stabilized flamelets, and the unstable middle branch of the S-curve.
- Multicomponent transport, Soret diffusion, radiation, and soot.
- Solver-specific table formats (OpenFOAM, FDS, CONVERGE) and tabulation libraries such as ISAT.
- Running the CFD itself.
Related tools
Generate mechanisms with RMG Mechanism Generator, shrink them with Mechanism Reduction, check them against measurements with Mechanism Target Validator, and run single flames or reactors in Cantera.