-
Notifications
You must be signed in to change notification settings - Fork 18
Problem Statement
This page summarizes the problem statement for the single-injector 2D combustor. See Swischuk et al. for full details.
We consider a two-dimensional representation of a combustion chamber with a single fuel injector. The geometry is pictured below.
Methane (CH4) is introduced upstream (from the left) through the small injector and oxygen (O2) and water vapor (H2O) are introduced upstream through the large injector. The chemicals react in a single-step combustion process, producing carbon dioxide (CO2). The stoichiometric equation is CH4 + 2O2 → 2H2O + CO2. Reactants flow downstream (to the right) and out, i.e., the right end of the domain is where combustion products are ejected.
In addition to the chemical species, the variables of greatest interest for engineering purposes are temperature and pressure. The dynamics also depend on the density of the mixture, the velocity of the fluid flow, and the total energy.
Variable Name | Symbol | Code | Units |
---|---|---|---|
Pressure | p | p |
Pa |
x-velocity | vx | vx |
m/s |
y-velocity | vy | vy |
m/s |
Temperature | T | T |
K |
Density | ρ | rho |
kg/m3 |
Specific volume | ξ | xi |
m3/kg |
CH4 mass fraction | Y1 | Y_CH4 |
|
O2 mass fraction | Y2 | Y_O2 |
|
H2O mass fraction | Y3 | Y_H2O |
|
CO2 mass fraction | Y4 | Y_CO2 |
|
CH4 molar concentration | c1 | c_CH4 |
kmol/m3 |
O2 molar concentration | c2 | c_O2 |
kmol/m3 |
H2O molar concentration | c3 | c_H2O |
kmol/m3 |
CO2 molar concentration | c4 | c_CO2 |
kmol/m3 |
Total energy | e | e |
J/m3 |
The variables are grouped in the following ways.
- Conservative variables [p, ρvx, ρvy, ρe, Yρ1, Yρ2, Yρ3, Yρ4 ]T: independent variables of the governing conservation equations.
- Primitive variables [p, vx, vy, T, Y1, Y2, Y3, Y4 ]T: solution variables of the finite volume CFD code that discretizes the conservation equations.
- Learning variables [p, vx, vy, T, ξ, c1, c2, c3, c4 ]T: variables used by Operator Inference to learn a reduced-order model (ROM) for the problem.
The combustion dynamics are governed by the conservation equations for mass, momentum, energy, and species mass fraction, ∂qc / ∂t + ∇.(K - Kv) = S, where
- K is the inviscid flux,
- Kv is the viscous flux, and
- S is the source term defined by the combustion reaction.
The boundary conditions are as follows.
- Top and bottom wall: no-slip conditions.
- Upstream at the inlets: constant mass flow (fuel / oxidizer being injected).
- Downstream at the outlet: non-reflecting while maintaining chamber pressure (reactants being ejected).
It is shown in Swischuk et al. that by transforming from the conservative variables to the learning variables, the governing equations become nearly quadratic. The strategy we pursue is to obtain high-dimensional simulation data, transform it to the learning variables, and learn a quadratic ROM from the transformed data with Operator Inference.
The General Equation and Mesh Solver (GEMS), a finite-volume CFD code developed at Purdue University, was used to simulate the combustion conservation equations. The computational domain is discretized into 38,523 cells and the solution is computed for the 8 variables, resulting in 38,523 x 8 = 308,184 entries for a full solution at a single time. Data is available for 30,000 time steps with step size 10-7s, i.e., 3 ms of simulation time. See Installation and Setup for download instructions. Stacking these 30,000 data snapshots column-wise into a single matrix yields the 308,184 x 30,000 snapshot matrix that constitutes available training data for a ROM.
Our goal is to employ Operator Inference to learn low-dimensional reduced-order models (ROMs) that faithfully represent the combustion dynamics. The learning takes place in the following steps (see, e.g., Algorithm 1 of McQuarrie et al.).
- Transform ("lift") the primitive variables to the learning variables, exposing a nearly-quadratic structure in the governing equations (see Swischuck et al.).
- Scale each of the learning variables so that large-value variables (e.g., pressure and temperature) do not dominate the learning.
- Compute the proper orthogonal decomposition (POD) of the scaled learning variables.
- Project the scaled data to the low-dimensional subspace defined by the POD basis.
- Estimate time derivatives of the projected data through finite differences.
- Use Operator Inference with an optimal regularization parameter to learn a ROM from the projected data.
See Operator Inference for a mathematical overview of Operator Inference and Documentation for details on using the code to do the ROM learning.
To judge the effectiveness of a learned ROM for this problem, we compare simulation output from the ROM to the output of GEMS in three main ways.
- Point traces of the learning variable at specified locations in the computational domain, e.g., the pressure at the corner of the domain above the injector as a function of time.
- Statistical features of the flow, e.g., the spatially-averaged temperature as a function of time.
- Full-domain animations of the flow in two dimensions, allowing a comparison of coherent structures.
See Results for plots and analysis.
Problem Statement: computational domain, state variables, and description of the data.
Installation and Setup: how to download the source code and the data files.
File Summary: short descriptions of each file in the repository.
Documentation: how to use the repository for reduced-order model learning.
Results: plots and figures, including many additional results that are not in the publications.
References: short list of primary references.