Difference between revisions of "Step 4"
(→Description of Step 4) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Description of Step 4 = | = 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.<ref name="Boivin2011" | + | 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.<ref name="Boivin2011"/> involving 9 species and 12 reversible reactions should be used in order to enable direct comparisons. |
− | + | The [https://benchmark.coria-cfd.fr/images/b/b4/Profiles_3d_zoom.pdf initial profiles of temperature and of mass fractions] show the initial profiles for temperature, heat release, mass fractions of <math>H_2</math> and of <math>O_2</math> (????). | |
− | + | 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 the [https://benchmark.coria-cfd.fr/images/b/b4/Profiles_3d_zoom.pdf initial profiles of temperature and of mass fractions]. | |
− | 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 | + | Now, the local species concentration corresponds to the equilibrium values obtained after initializing composition with Eqs (3) and (4) of [https://benchmark.coria-cfd.fr/index.php/Step_3 Step 3] at initial temperature <math>T_0=300 K</math> 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. |
− | Now, the local species concentration corresponds to the equilibrium values obtained after initializing composition with Eqs | + | |
Again, periodic boundary conditions are used in each direction. | 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. | 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. | + | 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: | To enable meaningful comparisons, it is necessary to take into account this effect in the energy or temperature equation: | ||
− | <math>\frac{\partial T}{\partial t}+ u_j \frac{\partial T}{\partial x_j} = \frac{1}{\rho C_p}\left[\frac{dP_0}{dt}+\frac{\partial }{\partial x_j} \left(\lambda \frac{\partial T}{\partial x_j} \right) -\frac{\partial T}{\partial x_j} \sum_{k=1}^{N_s} \rho C_{p,k} Y_k \theta_{k,j} -\sum_{k=1}^{N_s} h_k \dot{\omega}_k\right]\,</math> | + | <math>\frac{\partial T}{\partial t}+ u_j \frac{\partial T}{\partial x_j} = \frac{1}{\rho C_p}\left[\frac{dP_0}{dt}+\frac{\partial }{\partial x_j} \left(\lambda \frac{\partial T}{\partial x_j} \right) -\frac{\partial T}{\partial x_j} \sum_{k=1}^{N_s} \rho C_{p,k} Y_k \theta_{k,j} -\sum_{k=1}^{N_s} h_k \dot{\omega}_k\right]\,</math> (1) |
All symbols used in this equation are defined below. | All symbols used in this equation are defined below. | ||
− | Usually, most simulations of '''low-Mach flow''' conditions assume that the thermodynamic pressure <math>P_0</math> does not vary in time in case of open boundaries, considering that <math>P_0</math> corresponds to the surrounding (usually atmospheric) pressure; therefore, <math>dP_0/dt</math> vanishes in Eq. | + | Usually, most simulations of '''low-Mach flow''' conditions assume that the thermodynamic pressure <math>P_0</math> does not vary in time in case of open boundaries, considering that <math>P_0</math> corresponds to the surrounding (usually atmospheric) pressure; therefore, <math>dP_0/dt</math> vanishes in Eq.(1). |
− | On the other hand, for a closed computational domain -- as assumed here --, <math>P_0</math> may change in time due to dilatation and must be evaluated at each '''timestep''' as follows<ref name="Motheau2016" | + | On the other hand, for a closed computational domain -- as assumed here --, <math>P_0</math> may change in time due to dilatation and must be evaluated at each '''timestep''' as follows<ref name="Motheau2016"/>: |
− | <math>P_0 = \frac{M_0 R}{\int_\Omega \left( T \sum_{k=1}^{N_s} Y_k/W_k \right)^{-1} dV}</math> | + | <math>P_0 = \frac{M_0 R}{\int_\Omega \left( T \sum_{k=1}^{N_s} Y_k/W_k \right)^{-1} dV}</math> (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. | 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. | + | In Eqs. (1) and (2), <math>\rho</math>, <math>u_j</math>, <math>T</math>, <math>Y_k</math>, <math>W_k</math>, <math>N_s</math>, <math>C_{p,k}</math>, <math>h_k</math>, <math>\theta_{k,j}</math> and <math>\mathrm{R}</math> are the density of the gas mixture, <math>j</math>-th component of flow velocity, gas temperature, <math>k</math>-th species mass fraction, <math>k</math>-th species molecular weight, number of species, <math>k</math>-th species specific heat capacity at constant pressure, <math>k</math>-th species enthalpy, <math>j</math>-th component of the species molecular diffusion velocity for each species <math>k</math>, and ideal gas constant, respectively. |
Finally, if the system is closed, the total mass <math>M_0</math> of the mixture inside the computational domain <math>\Omega</math> can be computed as: | Finally, if the system is closed, the total mass <math>M_0</math> of the mixture inside the computational domain <math>\Omega</math> can be computed as: | ||
− | <math>M_0 = \int_\Omega \rho \, dV\, | + | <math>M_0 = \int_\Omega \rho \, dV\,</math> (3) |
or an additional ODE on mass can be integrated if some mass fluxes are present at boundaries. | 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. | + | 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 <math>t=0.5 \; \mathrm{ms} = 2 \tau_\mathrm{ref}</math> and can be continued up to <math>t=2.5 \; \mathrm{ms} = 10 \tau_\mathrm{ref}</math> for a full comparison with the data available on the benchmark repository<ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>. | + | As in '''Step 3''', the simulation should be performed for a physical time of at least <math>t=0.5 \; \mathrm{ms} = 2 \tau_\mathrm{ref}</math> and can be continued up to <math>t=2.5 \; \mathrm{ms} = 10 \tau_\mathrm{ref}</math> for a full comparison with the data available on the benchmark repository<ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>. |
Because of the various time-integration techniques used in each code it is difficult to give recommendations regarding the '''timestep''' here. | Because of the various time-integration techniques used in each code it is difficult to give recommendations regarding the '''timestep''' here. | ||
Line 35: | Line 34: | ||
'''Nek5000''' has no operator splitting and uses implicit schemes: its '''timestep constraints''' are again different. | '''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. | 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 <math>CFL=0.3</math> and <math>Fo=0.2</math> that were proposed in Step 3 can be used as a first attempt. | + | The conservative values <math>CFL=0.3</math> and <math>Fo=0.2</math> 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'''. | In any case, it is recommended '''to check that the timestep is small enough to not influence the final result'''. | ||
= Aside suggestions = | = 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 | + | 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 |
Line 46: | Line 45: | ||
TBD | TBD | ||
+ | |||
+ | <references> | ||
+ | <ref name="Boivin2011"> | ||
+ | <bibtex> | ||
+ | @article{Boivin2011, | ||
+ | author= {P. Boivin, C. Jiménez, A.L. Sanchez, and F.A. Williams}, | ||
+ | title= {An explicit reduced mechanism for H2-air combustion.}, | ||
+ | journal={Proc. Combust. Inst.}, | ||
+ | year= {2011}, | ||
+ | volume={33}, | ||
+ | pages={517--523}, | ||
+ | } | ||
+ | </bibtex> | ||
+ | </ref> | ||
+ | <ref name="Motheau2016"> | ||
+ | <bibtex> | ||
+ | @article{Motheau2016, | ||
+ | author= {E. Motheau and J. Abraham}, | ||
+ | title= {A high-order numerical algorithm for DNS of low-Mach-number reactive flows with detailed chemistry and quasi-spectral accuracy}, | ||
+ | journal={J. Comput. Phys.}, | ||
+ | year= {2016}, | ||
+ | volume={313}, | ||
+ | pages={430--454}, | ||
+ | } | ||
+ | </bibtex> | ||
+ | </ref> | ||
+ | </references> |
Latest revision as of 13:52, 26 August 2020
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. The initial profiles of temperature and of mass fractions show 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 the initial profiles of temperature and of mass fractions. Now, the local species concentration corresponds to the equilibrium values obtained after initializing composition with Eqs (3) and (4) of Step 3 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:
(1)
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.(1). 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]:
(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. (1) and (2), , , , , , , , , 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:
(3)
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
- ↑
P. Boivin, C. Jiménez, A.L. Sanchez,, F.A. Williams, An explicit reduced mechanism for H2-air combustion., Proc. Combust. Inst. 33:517--523, 2011, BibtexAuthor : P. Boivin, C. Jiménez, A.L. Sanchez,, F.A. Williams
Title : An explicit reduced mechanism for H2-air combustion.
In : Proc. Combust. Inst. -
Address :
Date : 2011 - ↑
E. Motheau, 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, BibtexAuthor : E. Motheau, J. Abraham
Title : A high-order numerical algorithm for DNS of low-Mach-number reactive flows with detailed chemistry and quasi-spectral accuracy
In : J. Comput. Phys. -
Address :
Date : 2016 - ↑ benchmark.coria-cfd.fr