Step 4

From CFD Benchmark
Revision as of 15:50, 6 August 2020 by Xonnainty (Talk | contribs) (Description of Step 4)

Jump to: navigation, search

Description of Step 4

In this last benchmark, Step 3 is repeated while now activating chemical reactions from the start. To this aim, the kinetic scheme of Boivin et al.[1] involving 9 species and 12 reversible reactions should be used in order to enable direct comparisons. Figure~\ref{fig:profiles_3-D_nonreacting} shows the initial profiles for temperature, heat release, mass fractions of and of (????). As it can be observed from this figure, the species profiles are now different along the fuel/oxidizer interface compared to those in the non-reacting case (Step 3), shown in Fig.~\ref{fig:profiles_3-D_nonreacting}. Now, the local species concentration corresponds to the equilibrium values obtained after initializing composition with Eqs.~\ref{eq:YF} and ~\ref{eq:YOx} at initial temperature and atmospheric pressure; in this manner, the initial conditions already mimic a real flame front, with local composition and temperature in agreement with each other.

Again, periodic boundary conditions are used in each direction. There is thus no net fluxes of mass, momentum or energy in any direction: the simulation domain can thus be considered to be closed. As a consequence, and contrary to Step 3, the thermodynamic pressure evolves in time during the present simulation because of the heat released by the chemical reactions and of the resulting dilatation. To enable meaningful comparisons, it is necessary to take into account this effect in the energy or temperature equation:

All symbols used in this equation are defined below. Usually, most simulations of low-Mach flow conditions assume that the thermodynamic pressure does not vary in time in case of open boundaries, considering that corresponds to the surrounding (usually atmospheric) pressure; therefore, vanishes in Eq.~(\ref{eq:temp_energy}). On the other hand, for a closed computational domain -- as assumed here --, may change in time due to dilatation and must be evaluated at each timestep as follows[2]:

This equation is obtained by integrating the equation of state for perfect gases on the whole computational domain while assuming that the total mass is fixed and that the thermodynamic pressure is homogeneous inside the domain. In Eqs.~(\ref{eq:temp_energy}) and (\ref{eq:thermod_p0}), , , , , , , , , and are the density of the gas mixture, -th component of flow velocity, gas temperature, -th species mass fraction, -th species molecular weight, number of species, -th species specific heat capacity at constant pressure, -th species enthalpy, -th component of the species molecular diffusion velocity for each species , and ideal gas constant, respectively. Finally, if the system is closed, the total mass of the mixture inside the computational domain can be computed as:

or an additional ODE on mass can be integrated if some mass fluxes are present at boundaries. All other physical and numerical parameters are identical for Step 3 and Step 4, the only difference between the two benchmarks being the activation of the reaction terms. As in Step 3, the simulation should be performed for a physical time of at least and can be continued up to for a full comparison with the data available on the benchmark repository[3].

Because of the various time-integration techniques used in each code it is difficult to give recommendations regarding the timestep here. For example, DINO being fully explicit, it is always limited by the Fourier Condition and thus uses small timesteps. On the other hand, YALES2 can treat diffusion implicitly and thus uses convective timestep as a limiter. Nek5000 has no operator splitting and uses implicit schemes: its timestep constraints are again different. In all cases, the chemical source terms are treated by a stiff integrator which is the only solution to deal with the extremly small timescales present in flames. The conservative values and that were proposed in Step 3 can be used as a first attempt. In any case, it is recommended to check that the timestep is small enough to not influence the final result.

Aside suggestions

Should we prove that it is the case for our codes? It could be done easily, for each mesh, on a small number of iterations, say simulate 0.1ms with 2 or 3 different timesteps. This could also be done for Step 2 and 3 actually


References

TBD
  1. P. Boivin, C. Jim´enez, A.L. S´anchez, and F.A. Williams. An explicit reduced mechanism for H2-air combustion. Proc. Combust. Inst., 33:517–523, 2011.
  2. E. Motheau and J. Abraham. A high-order numerical algorithm for DNS of low-Mach number reactive flows with detailed chemistry and quasi-spectral accuracy. J. Comput. Phys., 313:430–454, 2016.
  3. [1]