https://benchmark.coria-cfd.fr/api.php?action=feedcontributions&user=Xonnainty&feedformat=atomCFD Benchmark - User contributions [en]2024-03-28T22:34:59ZUser contributionsMediaWiki 1.26.2https://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=477Analysis of Step 42020-08-26T13:33:15Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''';<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain;<br />
<br />
3. '''Profiles of temperature''', '''heat release''' and '''mass fractions''' of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerline of the domain.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and <math>768^3</math> only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions. This quantity does not appear to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' and '''temperature''' at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>) around the center of the domain. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in the figures below that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Step_4&diff=474Step 42020-08-26T12:52:09Z<p>Xonnainty: </p>
<hr />
<div>= Description of Step 4 =<br />
<br />
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.<br />
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> (????).<br />
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]. <br />
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.<br />
<br />
Again, periodic boundary conditions are used in each direction.<br />
There is thus '''no net fluxes of mass''', '''momentum''' or '''energy''' in any direction: the simulation domain can thus be considered to be closed.<br />
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. <br />
To enable meaningful comparisons, it is necessary to take into account this effect in the energy or temperature equation:<br />
<br />
<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)<br />
<br />
All symbols used in this equation are defined below.<br />
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). <br />
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"/>:<br />
<br />
<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)<br />
<br />
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.<br />
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. <br />
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:<br />
<br />
<math>M_0 = \int_\Omega \rho \, dV\,</math> (3)<br />
<br />
or an additional ODE on mass can be integrated if some mass fluxes are present at boundaries.<br />
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. <br />
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>.<br />
<br />
Because of the various time-integration techniques used in each code it is difficult to give recommendations regarding the '''timestep''' here.<br />
For example, '''DINO''' being fully explicit, it is always limited by the '''Fourier Condition''' and thus uses '''small timesteps'''.<br />
On the other hand, '''YALES2''' can treat diffusion implicitly and thus uses convective timestep as a limiter.<br />
'''Nek5000''' has no operator splitting and uses implicit schemes: its '''timestep constraints''' are again different.<br />
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.<br />
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.<br />
In any case, it is recommended '''to check that the timestep is small enough to not influence the final result'''.<br />
<br />
= Aside suggestions =<br />
<br />
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<br />
<br />
<br />
= References =<br />
<br />
TBD<br />
<br />
<references><br />
<ref name="Boivin2011"><br />
<bibtex><br />
@article{Boivin2011, <br />
author= {P. Boivin, C. Jiménez, A.L. Sanchez, and F.A. Williams},<br />
title= {An explicit reduced mechanism for H2-air combustion.},<br />
journal={Proc. Combust. Inst.},<br />
year= {2011},<br />
volume={33},<br />
pages={517--523},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Motheau2016"><br />
<bibtex><br />
@article{Motheau2016, <br />
author= {E. Motheau and J. Abraham},<br />
title= {A high-order numerical algorithm for DNS of low-Mach-number reactive flows with detailed chemistry and quasi-spectral accuracy},<br />
journal={J. Comput. Phys.},<br />
year= {2016},<br />
volume={313},<br />
pages={430--454},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=473Analysis of Step 42020-08-26T03:52:41Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''';<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain;<br />
<br />
3. '''Profiles of temperature''', '''heat release''' and '''mass fractions''' of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerline of the domain.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions. This quantity does not appear to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' and '''temperature''' at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>) around the center of the domain. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in the figures below that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Tmax_nonreacting_3d_withzoom.png&diff=472File:Tmax nonreacting 3d withzoom.png2020-08-26T03:48:43Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:T_y_nonreacting_withzoom.png&diff=471File:T y nonreacting withzoom.png2020-08-26T03:48:17Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=470Analysis of Step 32020-08-26T03:47:38Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain;<br />
<br />
2. '''Profiles''' of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. '''time'''.<br />
<br />
Looking at the results of '''velocity''' at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes.<br />
<br />
[[File:vx_x_3d_nonreacting.png|250px]]<br />
[[File:vy_y_3d_nonreacting.png|250px]]<br />
[[File:yh2_y_nonreacting.png|250px]]<br />
[[File:yo2_y_nonreacting.png|250px]]<br />
<br />
'''Profile of mass fractions''' of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
[[File:T_y_nonreacting_withzoom.png|250px]]<br />
[[File:tmax_nonreacting_3d_withzoom.png|250px]]<br />
<br />
Regarding temperature, the figure on the left shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in this figure.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in the figure on the right.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=469Analysis of Step 32020-08-26T03:33:47Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 7;<br />
<br />
2. '''Profiles''' of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain, as illustrated in Figs. 8 and 9;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. '''time''', as depicted in Fig. 10.<br />
<br />
Looking at the results of '''velocity''' (Fig. 7) at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes, as it can be observed from Fig. 8.<br />
<br />
[[File:vx_x_3d_nonreacting.png|250px]]<br />
[[File:vy_y_3d_nonreacting.png|250px]]<br />
[[File:yh2_y_nonreacting.png|250px]]<br />
[[File:yo2_y_nonreacting.png|250px]]<br />
<br />
'''Profile of mass fractions''' of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
Regarding temperature, Figure 9 shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in Fig. 9.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in Fig. 10.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=468Analysis of Step 32020-08-26T03:31:54Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 7;<br />
<br />
2. '''Profiles''' of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain, as illustrated in Figs. 8 and 9;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. time, as depicted in Fig. 10.<br />
<br />
Looking at the results of '''velocity''' (Fig. 7) at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes, as it can be observed from Fig. 8.<br />
<br />
[[File:vx_x_3d_nonreacting.png|250px]]<br />
[[File:vy_y_3d_nonreacting.png|250px]]<br />
[[File:yh2_y_nonreacting.png|250px]]<br />
[[File:yo2_y_nonreacting.png|250px]]<br />
<br />
'''Profile of mass fractions''' of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
Regarding temperature, Figure 9 shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in Fig. 9.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in Fig. 10.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_1&diff=467Analysis of Step 12020-08-26T03:24:05Z<p>Xonnainty: </p>
<hr />
<div>The verification involves a direct comparison with the analytical solution. For this purpose, analytic fields for<br />
'''velocity''' (x- and y-components) and '''vorticity''' <math>(\delta_xv - \delta_yu)</math> at <math>t=10 \tau_{ref}</math> are presented in Fig. 3. It should be noted<br />
that both '''YALES2''' and '''DINO''' used 642 '''grid points''' for this test case, while '''Nek5000''' employed 82<br />
'''spectral elements of order 8''', which results in 64 '''discretization points''' in each direction. The velocity profiles along both centerlines of<br />
the domain at <math>t = 10 \tau_{ref}</math> are shown in Fig. 4. It can be observed that the three codes give perfect visual agreement<br />
14<br />
with the '''analytical solution'''. Table 3 present the analytical maximal velocity at <math>t = 10 \tau_{ref}</math> (as computed from Eq. 2)<br />
and the values obtained with the three codes, as well as the associated relative error: it is observed that the maximal<br />
deviation is less than <math>0.03%</math> for the three codes.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Comparison of the peak velocity at <math>t = 10 \tau_{ref}</math> for Step 1 (verification)<br />
|-<br />
|<br />
! scope="col" | Analytical<br />
! scope="col" | YALES2<br />
! scope="col" | DINO<br />
! scope="col" | Nek5000<br />
|-<br />
! scope="row" | <math>V_{max}</math><br />
| 0.987271<br />
| 0.987583<br />
| 0.987565<br />
| ????<br />
|-<br />
! scope="row" | <math>\epsilon_{rel}</math><br />
| 0 [Ref]<br />
| 0.03%<br />
| 0.03%<br />
| -<br />
|}<br />
<br />
This configuration, although quite far from any realistic flame, is nevertheless an excellent manner to verify the<br />
numerical procedure. It can be used to check the obtained discretization order in space and time and to quantify<br />
numerical dissipation, as documented for instance in Figure 5 of <ref name="abelsamie2016"/>.<br />
<br />
[[File:vx_t2.png|250px|alt text]]<br />
[[File:vy_t2.png|250px|alt text]]<br />
[[File:wz_t2.png|250px|alt text]]<br />
<br />
You can see on the figures above the analytic fields of x-velocity, y-velocity, and vorticity, respectively (from left to right), at <math>t = 10 \tau_{ref}</math> for '''Step 1''' (verification step).<br />
<br />
[[File:vx_2d.png|250px]]<br />
[[File:vy_2d.png|250px]]<br />
<br />
Comparing the results of the '''three codes''' with the analytical solution for the '''2-D Taylor-Green vortex''' ('''Step 1'''). Left: xcomponent of velocity. Right: y-component of velocity.<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yo2_y_lm_512_withzoom.png&diff=456File:Yo2 y lm 512 withzoom.png2020-08-25T20:14:59Z<p>Xonnainty: Xonnainty uploaded a new version of File:Yo2 y lm 512 withzoom.png</p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yoh_y_lm_512_withzoom.png&diff=455File:Yoh y lm 512 withzoom.png2020-08-25T20:14:12Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yo2_y_lm_512_withzoom.png&diff=454File:Yo2 y lm 512 withzoom.png2020-08-25T20:13:11Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Hr_y_lm_512_withzoom.png&diff=453File:Hr y lm 512 withzoom.png2020-08-25T20:12:31Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:T_y_lm_512.png&diff=452File:T y lm 512.png2020-08-25T20:12:10Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yoh_y_lm_256_withzoom.png&diff=451File:Yoh y lm 256 withzoom.png2020-08-25T20:11:52Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yo2_y_lm_256_withzoom.png&diff=450File:Yo2 y lm 256 withzoom.png2020-08-25T20:11:29Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yh2_y_lm_256.png&diff=449File:Yh2 y lm 256.png2020-08-25T20:11:08Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Hr_y_lm_256_withzoom.png&diff=448File:Hr y lm 256 withzoom.png2020-08-25T20:10:41Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:T_y_lm_256.png&diff=447File:T y lm 256.png2020-08-25T20:10:17Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vy_y_lm_256.png&diff=446File:Vy y lm 256.png2020-08-25T20:09:51Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vx_x_lm_256.png&diff=445File:Vx x lm 256.png2020-08-25T20:09:27Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=444Analysis of Step 42020-08-25T20:08:24Z<p>Xonnainty: /* Comparing results at spatial resolution of 256^3 */</p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. '''Profiles of temperature''', '''heat release''' and '''mass fractions''' of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=443Analysis of Step 42020-08-25T20:07:50Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. '''Profiles of temperature''', '''heat release''' and '''mass fractions''' of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=442Analysis of Step 42020-08-25T20:06:44Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Mass fraction profiles''' of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=441Analysis of Step 42020-08-25T20:06:14Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png|250px]]<br />
[[File:vy_y_lm_256.png|250px]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png|250px]]<br />
[[File:hr_y_lm_256_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png|250px]]<br />
[[File:yo2_y_lm_256_withzoom.png|250px]]<br />
[[File:yoh_y_lm_256_withzoom.png|250px]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png|250px]]<br />
[[File:hr_y_lm_512_withzoom.png|250px]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png|250px]]<br />
[[File:yoh_y_lm_512_withzoom.png|250px]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yo2_y_nonreacting.png&diff=440File:Yo2 y nonreacting.png2020-08-25T20:04:17Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Yh2_y_nonreacting.png&diff=439File:Yh2 y nonreacting.png2020-08-25T20:03:54Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vy_y_3d_nonreacting.png&diff=438File:Vy y 3d nonreacting.png2020-08-25T20:03:33Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vx_x_3d_nonreacting.png&diff=437File:Vx x 3d nonreacting.png2020-08-25T20:02:43Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=436Analysis of Step 32020-08-25T19:41:25Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 7;<br />
<br />
2. '''Profiles''' of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain, as illustrated in Figs. 8 and 9;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. time, as depicted in Fig. 10.<br />
<br />
Looking at the results of '''velocity''' (Fig. 7) at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes, as it can be observed from Fig. 8.<br />
<br />
[[File:vx_x_3d_nonreacting.png|250px]]<br />
[[File:vy_y_3d_nonreacting.png|250px]]<br />
[[File:yh2_y_nonreacting.png|250px]]<br />
[[File:yo2_y_nonreacting.png|250px]]<br />
<br />
Profile of mass fractions of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
Regarding temperature, Figure 9 shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in Fig. 9.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in Fig. 10.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=435Analysis of Step 32020-08-25T19:37:49Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 7;<br />
<br />
2. '''Profiles''' of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain, as illustrated in Figs. 8 and 9;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. time, as depicted in Fig. 10.<br />
<br />
Looking at the results of '''velocity''' (Fig. 7) at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes, as it can be observed from Fig. 8.<br />
<br />
[[File:vx_x_3d_nonreacting.png]]<br />
[[File:vy_y_3d_nonreacting.png]]<br />
[[File:yh2_y_nonreacting.png]]<br />
[[File:yo2_y_nonreacting.png]]<br />
<br />
Profile of mass fractions of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
Regarding temperature, Figure 9 shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in Fig. 9.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in Fig. 10.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_2&diff=434Analysis of Step 22020-08-25T19:28:06Z<p>Xonnainty: </p>
<hr />
<div>The second step concerns the '''3-D''', '''non-reacting cold flow''', used as validation by comparison with the published<br />
results of a pseudo-spectral solver <ref name="vanrees2011"/>. The main quantities of interest for this comparison are:<br />
<br />
1. Velocity profiles along centerlines of the domain at <math>t = 12.11 \tau_{ref}</math>, as illustrated in Fig. 5.<br />
2. The evolution of kinetic energy (<math>k(t) = \frac{1}{2} <u_i u_i></math>) and of its dissipation rate (<math>\epsilon (t) = −dk/dt = 2 \nu <S_{ij}S_{ij}></math>)<br />
versus time, as shown in Fig. 6, where <math>S_{ij}</math> is the symmetric strain-rate tensor,<br />
<br />
<math>S_{ij} = \frac{1}{2}(\frac {\delta u_i}{\delta x_j} + \frac {\delta u_j}{\delta x_i})</math> ; (11)<br />
<br />
Comparing the '''velocity fields''' at <math>t = 12.11 \tau_{ref}</math> is done on purpose. As known from the '''TGV''' literature, this instant<br />
corresponds to a complex pseudo-turbulent field, before further turbulence decay due to dissipation (see also Figure<br />
9 in <ref name="abelsamie2016"/>). Getting the correct '''velocity field''' in these conditions is challenging, since the obtained results are very<br />
sensitive with regard to the employed algorithms and discretization.<br />
Unlike the '''2-D''' situation, no analytical solution is available there, and the results can only be compared to<br />
other numerical simulations. In the present case, the reference data are taken from a simulation relying on the<br />
pseudo-spectral code RLPK using <math>512^3</math> grid points <ref name="vanrees2011"/>.<br />
<br />
[[File:vx_3d_incomp.png|250px]]<br />
[[File:vy_3d_incomp.png|250px]]<br />
<br />
Velocities along the centerlines of the domain for cold 3-D TGV case ('''Step 2''') at <math>t = 12.11 \tau_{ref}</math>.<br />
<br />
First, it appears on Fig. 5 that no differences can be identified visually from the '''velocity fields''' along the '''centerlines'''<br />
at <math>t = 12.11 \tau_{ref}</math>.<br />
Looking at Figs. 6 it can be observed that the three codes are able to reproduce the evolution of turbulence kinetic<br />
energy without any visible differences, whereas for the dissipation rate minute deviations appear at two instants (see<br />
enlargements in Fig. 6, right): (1) shortly after transition (<math>11 < t/\tau_{ref} < 13.5</math>) for '''YALES2''', and (2) just before flow<br />
relaminarization (<math>16.25 < t/\tau_{ref} ≤ 20</math>) for both '''DINO''' and '''YALES2'''. The results of '''RLPK''' and of '''Nek5000''' coincide<br />
visually at all times.<br />
These two time-instants are very sensitive moments at which the accuracy of the numerical methods and the<br />
resolution in time and space appear to play a major role. These small discrepancies are regarded as minor and<br />
considered acceptable with respect to the validation process of the codes. '''It must also be kept in mind that the data used as a reference have been obtained with a resolution of <math>512^3</math> grid points with a pseudo-spectral solver'''.<br />
<br />
[[File:ke_3d_incomp.png|250px]]<br />
[[File:eps_3d_incomp.png|250px]]<br />
<br />
Here is the evolution with time of turbulent kinetic energy k (left, written KE in vertical axis) and of its dissipation rate <math>\epsilon</math> (right), by comparison with published reference data from <ref name="vanrees2011"/>.<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="vanrees2011"><br />
<bibtex><br />
@article{Vanrees2011, <br />
author= {W.M. van Rees, A. Leonard, D.I. Pullin, and P. Koumoutsakos},<br />
title= {A comparison of vortex and pseudo-spectral<br />
methods for the simulation of periodic vortical flows at high Reynolds numbers.},<br />
journal={J. Comput. Phys.},<br />
year= {2011},<br />
volume={230},<br />
pages={2794--2805},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_2&diff=433Analysis of Step 22020-08-25T19:25:52Z<p>Xonnainty: </p>
<hr />
<div>The second step concerns the '''3-D''', '''non-reacting cold flow''', used as validation by comparison with the published<br />
results of a pseudo-spectral solver <ref name="vanrees2011"/>. The main quantities of interest for this comparison are:<br />
<br />
1. Velocity profiles along centerlines of the domain at <math>t = 12.11 \tau_{ref}</math>, as illustrated in Fig. 5.<br />
2. The evolution of kinetic energy (<math>k(t) = \frac{1}{2} <u_i u_i></math>) and of its dissipation rate (<math>\epsilon (t) = −dk/dt = 2 \nu <S_{ij}S_{ij}></math>)<br />
versus time, as shown in Fig. 6, where <math>S_{ij}</math> is the symmetric strain-rate tensor,<br />
<br />
<math>S_{ij} = \frac{1}{2}(\frac {\delta u_i}{\delta x_j} + \frac {\delta u_j}{\delta x_i})</math> ; (11)<br />
<br />
Comparing the '''velocity fields''' at <math>t = 12.11 \tau_{ref}</math> is done on purpose. As known from the '''TGV''' literature, this instant<br />
corresponds to a complex pseudo-turbulent field, before further turbulence decay due to dissipation (see also Figure<br />
9 in <ref name="abelsamie2016"/>). Getting the correct '''velocity field''' in these conditions is challenging, since the obtained results are very<br />
sensitive with regard to the employed algorithms and discretization.<br />
Unlike the '''2-D''' situation, no analytical solution is available there, and the results can only be compared to<br />
other numerical simulations. In the present case, the reference data are taken from a simulation relying on the<br />
pseudo-spectral code RLPK using <math>512^3</math> grid points <ref name="vanrees2011"/>.<br />
<br />
[[File:vx_3d_incomp.png|250px]]<br />
[[File:vy_3d_incomp.png|250px]]<br />
<br />
Velocities along the centerlines of the domain for cold 3-D TGV case ('''Step 2''') at <math>t = 12.11 \tau_{ref}</math>.<br />
<br />
First, it appears on Fig. 5 that no differences can be identified visually from the '''velocity fields''' along the '''centerlines'''<br />
at <math>t = 12.11 \tau_{ref}</math>.<br />
Looking at Figs. 6 it can be observed that the three codes are able to reproduce the evolution of turbulence kinetic<br />
energy without any visible differences, whereas for the dissipation rate minute deviations appear at two instants (see<br />
enlargements in Fig. 6, right): (1) shortly after transition (<math>11 < t/\tau_{ref} < 13.5</math>) for '''YALES2''', and (2) just before flow<br />
relaminarization (<math>16.25 < t/\tau_{ref} ≤ 20</math>) for both '''DINO''' and '''YALES2'''. The results of '''RLPK''' and of '''Nek5000''' coincide<br />
visually at all times.<br />
These two time-instants are very sensitive moments at which the accuracy of the numerical methods and the<br />
resolution in time and space appear to play a major role. These small discrepancies are regarded as minor and<br />
considered acceptable with respect to the validation process of the codes. '''It must also be kept in mind that the data used as a reference have been obtained with a resolution of <math>512^3</math> grid points with a pseudo-spectral solver'''.<br />
<br />
[[File:ke_3d_incomp.png|250px]]<br />
[[File:eps_3d_incomp.png|250px]]<br />
<br />
Here is the evolution with time of turbulent kinetic energy k (left, written KE in vertical axis) and of its dissipation rate � (right), by comparison with published reference data from <ref name="vanrees2011"/>.<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="vanrees2011"><br />
<bibtex><br />
@article{Vanrees2011, <br />
author= {W.M. van Rees, A. Leonard, D.I. Pullin, and P. Koumoutsakos},<br />
title= {A comparison of vortex and pseudo-spectral<br />
methods for the simulation of periodic vortical flows at high Reynolds numbers.},<br />
journal={J. Comput. Phys.},<br />
year= {2011},<br />
volume={230},<br />
pages={2794--2805},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Eps_3d_incomp.png&diff=432File:Eps 3d incomp.png2020-08-25T19:24:39Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Ke_3d_incomp.png&diff=431File:Ke 3d incomp.png2020-08-25T19:24:15Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vy_3d_incomp.png&diff=430File:Vy 3d incomp.png2020-08-25T19:23:48Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vx_3d_incomp.png&diff=429File:Vx 3d incomp.png2020-08-25T19:23:39Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_2&diff=428Analysis of Step 22020-08-25T19:22:49Z<p>Xonnainty: </p>
<hr />
<div>The second step concerns the '''3-D''', '''non-reacting cold flow''', used as validation by comparison with the published<br />
results of a pseudo-spectral solver <ref name="vanrees2011"/>. The main quantities of interest for this comparison are:<br />
<br />
1. Velocity profiles along centerlines of the domain at <math>t = 12.11 \tau_{ref}</math>, as illustrated in Fig. 5.<br />
2. The evolution of kinetic energy (<math>k(t) = \frac{1}{2} <u_i u_i></math>) and of its dissipation rate (<math>\epsilon (t) = −dk/dt = 2 \nu <S_{ij}S_{ij}></math>)<br />
versus time, as shown in Fig. 6, where <math>S_{ij}</math> is the symmetric strain-rate tensor,<br />
<br />
<math>S_{ij} = \frac{1}{2}(\frac {\delta u_i}{\delta x_j} + \frac {\delta u_j}{\delta x_i})</math> ; (11)<br />
<br />
Comparing the '''velocity fields''' at <math>t = 12.11 \tau_{ref}</math> is done on purpose. As known from the '''TGV''' literature, this instant<br />
corresponds to a complex pseudo-turbulent field, before further turbulence decay due to dissipation (see also Figure<br />
9 in <ref name="abelsamie2016"/>). Getting the correct '''velocity field''' in these conditions is challenging, since the obtained results are very<br />
sensitive with regard to the employed algorithms and discretization.<br />
Unlike the '''2-D''' situation, no analytical solution is available there, and the results can only be compared to<br />
other numerical simulations. In the present case, the reference data are taken from a simulation relying on the<br />
pseudo-spectral code RLPK using 5123 grid points <ref name="vanrees2011"/>.<br />
<br />
[[File:vx_3d_incomp.png|250px]]<br />
[[File:vy_3d_incomp.png|250px]]<br />
<br />
Velocities along the centerlines of the domain for cold 3-D TGV case ('''Step 2''') at <math>t = 12.11 \tau_{ref}</math>.<br />
<br />
First, it appears on Fig. 5 that no differences can be identified visually from the '''velocity fields''' along the '''centerlines'''<br />
at <math>t = 12.11 \tau_{ref}</math>.<br />
Looking at Figs. 6 it can be observed that the three codes are able to reproduce the evolution of turbulence kinetic<br />
energy without any visible differences, whereas for the dissipation rate minute deviations appear at two instants (see<br />
enlargements in Fig. 6, right): (1) shortly after transition (<math>11 < t/\tau_{ref} < 13.5</math>) for '''YALES2''', and (2) just before flow<br />
relaminarization (<math>16.25 < t/\tau_{ref} ≤ 20</math>) for both '''DINO''' and '''YALES2'''. The results of '''RLPK''' and of '''Nek5000''' coincide<br />
visually at all times.<br />
These two time-instants are very sensitive moments at which the accuracy of the numerical methods and the<br />
resolution in time and space appear to play a major role. These small discrepancies are regarded as minor and<br />
considered acceptable with respect to the validation process of the codes. '''It must also be kept in mind that the data used as a reference have been obtained with a resolution of 5123 grid points with a pseudo-spectral solver'''.<br />
<br />
[[File:ke_3d_incomp.png|250px]]<br />
[[File:eps_3d_incomp.png|250px]]<br />
<br />
Here is the evolution with time of turbulent kinetic energy k (left, written KE in vertical axis) and of its dissipation rate � (right), by comparison with published reference data from <ref name="vanrees2011"/>.<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="vanrees2011"><br />
<bibtex><br />
@article{Vanrees2011, <br />
author= {W.M. van Rees, A. Leonard, D.I. Pullin, and P. Koumoutsakos},<br />
title= {A comparison of vortex and pseudo-spectral<br />
methods for the simulation of periodic vortical flows at high Reynolds numbers.},<br />
journal={J. Comput. Phys.},<br />
year= {2011},<br />
volume={230},<br />
pages={2794--2805},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_1&diff=427Analysis of Step 12020-08-25T19:21:45Z<p>Xonnainty: </p>
<hr />
<div>The verification involves a direct comparison with the analytical solution. For this purpose, analytic fields for<br />
'''velocity''' (x- and y-components) and '''vorticity''' <math>(\delta_xv - \delta_yu)</math> at <math>t=10 \tau_{ref}</math> are presented in Fig. 3. It should be noted<br />
that both '''YALES2''' and '''DINO''' used 642 '''grid points''' for this test case, while '''Nek5000''' employed 82<br />
'''spectral elements of order 8''', which results in 64 '''discretization points''' in each direction. The velocity profiles along both centerlines of<br />
the domain at <math>t = 10 \tau_{ref}</math> are shown in Fig. 4. It can be observed that the three codes give perfect visual agreement<br />
14<br />
with the '''analytical solution'''. Table 3 present the analytical maximal velocity at <math>t = 10 \tau_{ref}</math> (as computed from Eq. 2)<br />
and the values obtained with the three codes, as well as the associated relative error: it is observed that the maximal<br />
deviation is less than <math>0.03%</math> for the three codes.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Comparison of the peak velocity at <math>t = 10 \tau_{ref}</math> for Step 1 (verification)<br />
|-<br />
|<br />
! scope="col" | Analytical<br />
! scope="col" | YALES2<br />
! scope="col" | DINO<br />
! scope="col" | Nek5000<br />
|-<br />
! scope="row" | <math>V_{max}</math><br />
| 0.987271<br />
| 0.987583<br />
| 0.987565<br />
| ????<br />
|-<br />
! scope="row" | <math>\epsilon_{rel}</math><br />
| 0 [Ref]<br />
| 0.03%<br />
| 0.03%<br />
| -<br />
|}<br />
<br />
This configuration, although quite far from any realistic flame, is nevertheless an excellent manner to verify the<br />
numerical procedure. It can be used to check the obtained discretization order in space and time and to quantify<br />
numerical dissipation, as documented for instance in Figure 5 of <ref name="abelsamie2016"/>.<br />
<br />
[[File:vx_t2.png|250px|alt text]]<br />
[[File:vy_t2.png|250px|alt text]]<br />
[[File:wz_t2.png|250px|alt text]]<br />
<br />
You can see on the figures above the analytic fields of x-velocity, y-velocity, and vorticity, respectively (from left to right), at <math>t = 10 \tau_{ref}</math> for '''Step 1''' (verification step).<br />
<br />
[[File:vx_2d.png|250px]]<br />
[[File:vy_2d.png|250px]]<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_1&diff=426Analysis of Step 12020-08-25T19:21:15Z<p>Xonnainty: </p>
<hr />
<div>The verification involves a direct comparison with the analytical solution. For this purpose, analytic fields for<br />
'''velocity''' (x- and y-components) and '''vorticity''' <math>(\delta_xv - \delta_yu)</math> at <math>t=10 \tau_{ref}</math> are presented in Fig. 3. It should be noted<br />
that both '''YALES2''' and '''DINO''' used 642 '''grid points''' for this test case, while '''Nek5000''' employed 82<br />
'''spectral elements of order 8''', which results in 64 '''discretization points''' in each direction. The velocity profiles along both centerlines of<br />
the domain at <math>t = 10 \tau_{ref}</math> are shown in Fig. 4. It can be observed that the three codes give perfect visual agreement<br />
14<br />
with the '''analytical solution'''. Table 3 present the analytical maximal velocity at <math>t = 10 \tau_{ref}</math> (as computed from Eq. 2)<br />
and the values obtained with the three codes, as well as the associated relative error: it is observed that the maximal<br />
deviation is less than <math>0.03%</math> for the three codes.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Comparison of the peak velocity at <math>t = 10 \tau_{ref}</math> for Step 1 (verification)<br />
|-<br />
|<br />
! scope="col" | Analytical<br />
! scope="col" | YALES2<br />
! scope="col" | DINO<br />
! scope="col" | Nek5000<br />
|-<br />
! scope="row" | <math>V_{max}</math><br />
| 0.987271<br />
| 0.987583<br />
| 0.987565<br />
| ????<br />
|-<br />
! scope="row" | <math>\epsilon_{rel}</math><br />
| 0 [Ref]<br />
| 0.03%<br />
| 0.03%<br />
| -<br />
|}<br />
<br />
This configuration, although quite far from any realistic flame, is nevertheless an excellent manner to verify the<br />
numerical procedure. It can be used to check the obtained discretization order in space and time and to quantify<br />
numerical dissipation, as documented for instance in Figure 5 of <ref name="abelsamie2016"/>.<br />
<br />
[[File:vx_t2.png|250px|alt text]]<br />
[[File:vy_t2.png|250px|alt text]]<br />
[[File:wz_t2.png|250px|alt text]]<br />
<br />
You can see on the figures above the analytic fields of x-velocity, y-velocity, and vorticity, respectively (from left to right), at <math>t = 10 \tau_{ref}</math> for '''Step 1''' (verification step).<br />
<br />
[[File:vx_2d.png|250px]]<br />
[[File:vy_2d.png]]<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vy_2d.png&diff=425File:Vy 2d.png2020-08-25T19:19:17Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=File:Vx_2d.png&diff=424File:Vx 2d.png2020-08-25T19:18:56Z<p>Xonnainty: </p>
<hr />
<div></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_1&diff=423Analysis of Step 12020-08-25T19:17:22Z<p>Xonnainty: </p>
<hr />
<div>The verification involves a direct comparison with the analytical solution. For this purpose, analytic fields for<br />
'''velocity''' (x- and y-components) and '''vorticity''' <math>(\delta_xv - \delta_yu)</math> at <math>t=10 \tau_{ref}</math> are presented in Fig. 3. It should be noted<br />
that both '''YALES2''' and '''DINO''' used 642 '''grid points''' for this test case, while '''Nek5000''' employed 82<br />
'''spectral elements of order 8''', which results in 64 '''discretization points''' in each direction. The velocity profiles along both centerlines of<br />
the domain at <math>t = 10 \tau_{ref}</math> are shown in Fig. 4. It can be observed that the three codes give perfect visual agreement<br />
14<br />
with the '''analytical solution'''. Table 3 present the analytical maximal velocity at <math>t = 10 \tau_{ref}</math> (as computed from Eq. 2)<br />
and the values obtained with the three codes, as well as the associated relative error: it is observed that the maximal<br />
deviation is less than <math>0.03%</math> for the three codes.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Comparison of the peak velocity at <math>t = 10 \tau_{ref}</math> for Step 1 (verification)<br />
|-<br />
|<br />
! scope="col" | Analytical<br />
! scope="col" | YALES2<br />
! scope="col" | DINO<br />
! scope="col" | Nek5000<br />
|-<br />
! scope="row" | <math>V_{max}</math><br />
| 0.987271<br />
| 0.987583<br />
| 0.987565<br />
| ????<br />
|-<br />
! scope="row" | <math>\epsilon_{rel}</math><br />
| 0 [Ref]<br />
| 0.03%<br />
| 0.03%<br />
| -<br />
|}<br />
<br />
This configuration, although quite far from any realistic flame, is nevertheless an excellent manner to verify the<br />
numerical procedure. It can be used to check the obtained discretization order in space and time and to quantify<br />
numerical dissipation, as documented for instance in Figure 5 of <ref name="abelsamie2016"/>.<br />
<br />
[[File:vx_t2.png|250px|alt text]]<br />
[[File:vy_t2.png|250px|alt text]]<br />
[[File:wz_t2.png|250px|alt text]]<br />
<br />
You can see on the figures above the analytic fields of x-velocity, y-velocity, and vorticity, respectively (from left to right), at <math>t = 10 \tau_{ref}</math> for '''Step 1''' (verification step).<br />
<br />
[[File:vx_2d.png]]<br />
[[File:vy_2d.png]]<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_2&diff=422Analysis of Step 22020-08-25T19:15:50Z<p>Xonnainty: </p>
<hr />
<div>The second step concerns the '''3-D''', '''non-reacting cold flow''', used as validation by comparison with the published<br />
results of a pseudo-spectral solver <ref name="vanrees2011"/>. The main quantities of interest for this comparison are:<br />
<br />
1. Velocity profiles along centerlines of the domain at <math>t = 12.11 \tau_{ref}</math>, as illustrated in Fig. 5.<br />
2. The evolution of kinetic energy (<math>k(t) = \frac{1}{2} <u_i u_i></math>) and of its dissipation rate (<math>\epsilon (t) = −dk/dt = 2 \nu <S_{ij}S_{ij}></math>)<br />
versus time, as shown in Fig. 6, where <math>S_{ij}</math> is the symmetric strain-rate tensor,<br />
<br />
<math>S_{ij} = \frac{1}{2}(\frac {\delta u_i}{\delta x_j} + \frac {\delta u_j}{\delta x_i})</math> ; (11)<br />
<br />
Comparing the '''velocity fields''' at <math>t = 12.11 \tau_{ref}</math> is done on purpose. As known from the '''TGV''' literature, this instant<br />
corresponds to a complex pseudo-turbulent field, before further turbulence decay due to dissipation (see also Figure<br />
9 in <ref name="abelsamie2016"/>). Getting the correct '''velocity field''' in these conditions is challenging, since the obtained results are very<br />
sensitive with regard to the employed algorithms and discretization.<br />
Unlike the '''2-D''' situation, no analytical solution is available there, and the results can only be compared to<br />
other numerical simulations. In the present case, the reference data are taken from a simulation relying on the<br />
pseudo-spectral code RLPK using 5123 grid points <ref name="vanrees2011"/>.<br />
<br />
[[File:vx_3d_incomp.png]]<br />
[[File:vy_3d_incomp.png]]<br />
<br />
Velocities along the centerlines of the domain for cold 3-D TGV case ('''Step 2''') at <math>t = 12.11 \tau_{ref}</math>.<br />
<br />
First, it appears on Fig. 5 that no differences can be identified visually from the '''velocity fields''' along the '''centerlines'''<br />
at <math>t = 12.11 \tau_{ref}</math>.<br />
Looking at Figs. 6 it can be observed that the three codes are able to reproduce the evolution of turbulence kinetic<br />
energy without any visible differences, whereas for the dissipation rate minute deviations appear at two instants (see<br />
enlargements in Fig. 6, right): (1) shortly after transition (<math>11 < t/\tau_{ref} < 13.5</math>) for '''YALES2''', and (2) just before flow<br />
relaminarization (<math>16.25 < t/\tau_{ref} ≤ 20</math>) for both '''DINO''' and '''YALES2'''. The results of '''RLPK''' and of '''Nek5000''' coincide<br />
visually at all times.<br />
These two time-instants are very sensitive moments at which the accuracy of the numerical methods and the<br />
resolution in time and space appear to play a major role. These small discrepancies are regarded as minor and<br />
considered acceptable with respect to the validation process of the codes. '''It must also be kept in mind that the data used as a reference have been obtained with a resolution of 5123 grid points with a pseudo-spectral solver'''.<br />
<br />
[[File:ke_3d_incomp.png]]<br />
[[File:eps_3d_incomp.png]]<br />
<br />
Here is the evolution with time of turbulent kinetic energy k (left, written KE in vertical axis) and of its dissipation rate � (right), by comparison with published reference data from <ref name="vanrees2011"/>.<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="vanrees2011"><br />
<bibtex><br />
@article{Vanrees2011, <br />
author= {W.M. van Rees, A. Leonard, D.I. Pullin, and P. Koumoutsakos},<br />
title= {A comparison of vortex and pseudo-spectral<br />
methods for the simulation of periodic vortical flows at high Reynolds numbers.},<br />
journal={J. Comput. Phys.},<br />
year= {2011},<br />
volume={230},<br />
pages={2794--2805},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="abelsamie2016"><br />
<bibtex><br />
@article{Abdelsamie2016, <br />
author= {A. Abdelsamie and G. Fru and F. Dietzsch and G. Janiga and D. Thévenin},<br />
title= {Towards direct numerical simulations of low-Mach number turbulent reacting and two-phase flows using immersed boundaries},<br />
journal={Comput. Fluids},<br />
year= {2016},<br />
volume={131},<br />
number={5},<br />
pages={123--141},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_3&diff=421Analysis of Step 32020-08-25T19:14:33Z<p>Xonnainty: </p>
<hr />
<div>The main difference between this step and the previous one, is that now '''species and heat diffusion are additionally<br />
taken into account in an inhomogeneous environment'''. Neither analytical nor reference solution are available for this<br />
configuration, so that only comparisons between the three codes involved in the benchmark are possible.<br />
Compared to '''Step 2''', the presence of '''high-temperature regions''' additionally modifies the '''evolution''' of the '''TGV'''<br />
with time, '''turbulence''' being locally damped due to '''dilatation''' and '''higher viscosities'''. As a consequence, the needed<br />
resolution for this case is less than in '''Step 2''': '''YALES2''' and '''DINO''' used only 256 grid points in each direction while<br />
'''Nek5000''' used 36 elements (again with 7 Gauss-Lobatto-Legendre points in each element), i.e. 252 points in each<br />
direction.<br />
<br />
The results that will be compared involve:<br />
<br />
1. '''Velocity profiles''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 7;<br />
<br />
2. Profiles of <math>H_2</math> and <math>O_2</math> '''mass fractions''' and '''profile of temperature''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the y-centerline of<br />
the domain, as illustrated in Figs. 8 and 9;<br />
<br />
3. '''Evolution of maximal temperature''' in the domain vs. time, as depicted in Fig. 10.<br />
<br />
Looking at the results of '''velocity''' (Fig. 7) at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the computational domain,<br />
it is observed that the three codes deliver the same '''velocity profiles'''; the agreement is visually perfect.<br />
The results for the two main species '''mass fractions''' (<math>Y_{H2}</math><br />
and <math>Y_{O2}</math>) are also in excellent agreement among the<br />
three participating codes, as it can be observed from Fig. 8.<br />
<br />
[[File:vx_x_3d_nonreacting.png]]<br />
[[File:vy_y_3d_nonreacting.png]]<br />
[[File:yh2_y_nonreacting.png]]<br />
[[File:yo2_y_nonreacting.png]]<br />
<br />
Profile of mass fractions of <math>H_2</math> (left) and <math>O_2</math> (right) at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''').<br />
<br />
Regarding temperature, Figure 9 shows along the centerline '''two peaks''' and '''one valley''', as expected. Very small<br />
deviations are revealed in the inlaid enlargements shown in Fig. 9.<br />
Finally, the evolution with time of maximum temperature inside the computational domain is presented in Fig. 10.<br />
Here again, no differences are observed at all concerning this parameter.<br />
As a conclusion concerning this step, the three codes are able to reproduce numerically the behavior of a complex multi-species, non-isothermal flow with excellent agreement, and are thus strong candidates for high-fidelity<br />
simulations of turbulent flames, as considered in the next and final step.</div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=420Analysis of Step 42020-08-25T19:05:49Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png]]<br />
[[File:vy_y_lm_256.png]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.png]]<br />
[[File:hr_y_lm_256_withzoom.png]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png]]<br />
[[File:yo2_y_lm_256_withzoom.png]]<br />
[[File:yoh_y_lm_256_withzoom.png]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png]]<br />
[[File:hr_y_lm_512_withzoom.png]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png]]<br />
[[File:yoh_y_lm_512_withzoom.png]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=419Analysis of Step 42020-08-25T19:04:58Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.png]]<br />
[[File:vy_y_lm_256.png]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.p]]ng<br />
[[File:hr_y_lm_256_withzoom.png]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:yh2_y_lm_256.png]]<br />
[[File:yo2_y_lm_256_withzoom.png]]<br />
[[File:yoh_y_lm_256_withzoom.png]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:T_y_lm_512.png]]<br />
[[File:hr_y_lm_512_withzoom.png]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:yo2_y_lm_512_withzoom.png]]<br />
[[File:yoh_y_lm_512_withzoom.png]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=418Analysis of Step 42020-08-25T18:30:39Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.pdf]]<br />
[[File:vy_y_lm_256.pdf]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.pdf]]<br />
[[File:hr_y_lm_256_withzoom.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=417Analysis of Step 42020-08-25T18:02:46Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
[[File:.pdf]]<br />
<br />
Profile of temperature at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''')<br />
<br />
[[File:.pdf]]<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.pdf]]<br />
[[File:vy_y_lm_256.pdf]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.pdf]]<br />
[[File:hr_y_lm_256_withzoom.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnaintyhttps://benchmark.coria-cfd.fr/index.php?title=Analysis_of_Step_4&diff=416Analysis of Step 42020-08-25T18:02:03Z<p>Xonnainty: </p>
<hr />
<div>'''Step 4''' is definitely the most complex but also the most interesting case to compare '''high-fidelity codes''' for '''turbulent reacting flows''', since it contains all the features relevant for '''turbulent combustion'''. Therefore, a more detailed analysis is useful. The comparisons will involve:<br />
<br />
[[File:]]<br />
<br />
Profile of temperature at <math>t = 2 \tau_{ref} ms</math>, <math>x = 0.5L</math>, and <math>z = 0.5L</math> for '''3-D non-reacting multi-species flow''' ('''Step 3''')<br />
<br />
[[File:]]<br />
<br />
1. The '''evolution of maximum temperature''' versus '''time''', as depicted in Fig. 10;<br />
<br />
2. '''Velocity fields''' at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain, as shown in Fig. 11;<br />
<br />
3. Profiles of temperature, heat release and mass fractions of <math>H_2</math>, <math>O_2</math> and <math>OH</math> at <math>t = 2 \tau_{ref} = 0.5 ms</math> along the<br />
centerline of the domain, as illustrated in Figs. 12 and 13.<br />
<br />
The simulations of '''YALES2''', '''DINO''' and '''Nek5000''' are presented in the following subsections for two different<br />
resolutions in space (<math>256^3</math> and <math>512^3</math>), in order to check the impact of the '''spatial resolution''' on the results. Additional data for other grids are also available (<math>384^3</math><br />
for both '''YALES2''' and '''DINO''', and 7683 only for '''DINO'''). They are not discussed at length in the text and in separate figures in the interest of space, but the corresponding values are included in the Tables 4 and 5 summarizing all results of '''Step 4'''. Additionally, all results at all grid resolutions are available online in the benchmark repository <ref name="TGV-coria-cfd">[https://benchmark.coria-cfd.fr benchmark.coria-cfd.fr]</ref>.<br />
Starting with the evolution of maximum temperature versus time, a perfect visual agreement between all three<br />
codes is observed at all resolutions, as shown in Fig. 10 (with a resolution of <math>512^3</math><br />
). This quantity does not appear<br />
to be difficult to predict correctly, as already observed previously for the non-reacting flow in '''Step 3''', provided that the pressure variation due to the heat release is correctly taken into account.<br />
<br />
== Comparing results at spatial resolution of <math>256^3</math> ==<br />
<br />
The results shown in this section have been obtained for the same grid size than in '''Step 3''', i.e. <math>256^3</math><br />
for '''YALES2'''<br />
and '''DINO''' and 2523<br />
for '''Nek5000'''. The corresponding results for '''velocity''' (Fig. 11) and '''temperature''' (Fig. 12, left)<br />
at time <math>t = 2 \tau_{ref} = 0.5 ms</math> along the centerlines of the domain show visually a perfect agreement. Nevertheless, the<br />
three codes show slight differences concerning heat release and some '''mass fractions profiles''' (in particular <math>O_2</math> and <math>OH</math>)<br />
around the center of the domain, as it can be observed from Figs. 12 (right) and 13. These differences – though small<br />
– are larger than those experienced in the non-reacting case. Note that there is originally no oxygen in this region,<br />
explaining why the mass fraction of <math>O_2</math> is still smaller than the mass fraction of <math>OH</math> there. One reason behind these<br />
discrepancies might be the well-known stiffness of the chemical source terms, inducing different non-linear effects as<br />
a function of the underlying algorithms employed for integration in time. Another possible source of error is the<br />
employed '''spatial discretization''', which might still be insufficient to perfectly capture the reaction front; in the present<br />
case, the typical cell size is approximately 25 µm. To check this last point, the simulations have been repeated with<br />
a finer spatial resolution, as discussed in the next subsection.<br />
<br />
[[File:vx_x_lm_256.pdf]]<br />
[[File:vy_y_lm_256.pdf]]<br />
<br />
'''Velocity''' at time <math>t = 2τref = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:T_y_lm_256.pdf]]<br />
[[File:hr_y_lm_256_withzoom.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 256^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>H_2</math>, <math>O_2</math>, and <math>OH</math> at </math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2\tau_{ref} = 0.5 ms</math> for 3-D reacting case (Step 4)<br />
with <math>N = 256^3</math> grid points.<br />
<br />
== Comparing results at spatial resolution of <math>512^3</math> ==<br />
<br />
The present results have been obtained on a grid size of <math>512^3</math> for '''YALES2''' and '''DINO''', while '''Nek5000''' relies on<br />
similar '''discretization''' size of 5143<br />
(57 '''spectral elements''' of order 9 in each direction). To reduce computational costs,<br />
the simulation is conducted only for the first <math>t = 2 \tau_{ref} = 0.5 ms</math> of physical time.<br />
Only the quantities showing visible discrepancies at a resolution of <math>256^3</math><br />
(heat release, <math>Y_{O_2}</math>, <math>Y_{OH}</math>) are discussed here in the interest of brevity, since all other quantities already revealed a perfect agreement for the previous resolution.<br />
It can be observed in Figs. 14 and 15 that doubling the spatial resolution in each direction did not improve the<br />
comparisons in a clear way; marginal differences still exist between the codes, and a convergence towards a unique<br />
solution is not really visible. To discuss this issue in more detail, a refined analysis is necessary, as discussed in the<br />
next subsection.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
'''Temperature''' (left) and '''heat release profiles''' (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case''' ('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
[[File:.pdf]]<br />
[[File:.pdf]]<br />
<br />
Mass fraction profiles of <math>O_2</math> (left), and <math>OH</math> (right) at <math>x = 0.5 L</math>, <math>z = 0.5 L</math>, and time <math>t = 2 \tau_{ref} = 0.5 ms</math> for '''3-D reacting case'''<br />
('''Step 4''') with <math>N = 512^3</math> grid points.<br />
<br />
== Quantitative comparisons at the center point at t = 0.5 ms ==<br />
<br />
In Table 4 the values of different variables at the center of the numerical domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math> are<br />
presented and analyzed. These values have been obtained for the three different codes involved in the benchmark<br />
(from left to right, '''YALES2''', '''DINO''', '''Nek5000'''), for an increasing '''spatial resolution''' from left to right, but also<br />
with different '''timesteps'''. The controlling time-limiter (as a condition on maximum '''CFL''' or '''Fourier number''' with<br />
corresponding value) is also listed in the table; it depends on the retained criteria and on the explicit or implicit<br />
integration of the corresponding terms in the equations.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>252^3</math><br />
| <math>504^3</math><br />
|-<br />
! scope="row" | Timestep control<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>T[K]</math><br />
| 1752<br />
| 1751<br />
| 1750<br />
| 1754<br />
| 1755<br />
| 1755<br />
| 1758<br />
| 1758<br />
| 1758<br />
|-<br />
! scope="row" | <math>Y_{O_2}[-]</math><br />
| 1.553E-3<br />
| 1.523E-3<br />
| 1.523E-3<br />
| 1.508E-3<br />
| 1.500E-3<br />
| 1.508E-3<br />
| 1.521E-3<br />
| 1.499E-3<br />
| 1.506E-3<br />
|-<br />
! scope="row" | <math>Y_{H_2}[-]</math><br />
| 2.692E-3<br />
| 2.714E-3<br />
| 2.720E-3<br />
| 2.764E-3<br />
| 2.737E-3<br />
| 2.720E-3<br />
| 2.700E-3<br />
| 2.681E-3<br />
| 2.688E-3<br />
|-<br />
! scope="row" | <math>Y_{OH}[-]</math><br />
| 1.852E-3<br />
| 1.838E-3<br />
| 1.831E-3<br />
| 1.844E-3<br />
| 1.851E-3<br />
| 1.858E-3<br />
| 1.873E-3<br />
| 1.862E-3<br />
| 1.861E-3<br />
|-<br />
! scope="row" | <math>HR[MW/m^3]</math><br />
| 670.8<br />
| 669.7<br />
| 670.1<br />
| 684.1<br />
| 675.8<br />
| 673.5<br />
| 671.8<br />
| 674.2<br />
| 660.8<br />
|}<br />
<br />
Looking separately at the values obtained by each code, it is not always easy to recognize the convergence toward<br />
a single value that would be expected for a grid-independence analysis. By a comparison between the last column<br />
for each code, a good agreement is overall observed, in spite of differences regarding algorithms, resolution in space<br />
and in time. Nevertheless, the agreement is never perfect, and trends can better be seen by computing differences.<br />
This is why, choosing arbitrarily the results of the implicit time integration at the highest spatial resolution with<br />
'''DINO''' (7683) as a reference, all corresponding relative errors have been computed.<br />
<br />
{| class="wikitable alternance center"<br />
|+ Values of different variables at the center of the domain at time <math>t = 2 \tau_{ref} = 0.5 ms</math><br />
|-<br />
! scope="row" | Code<br />
| YALES2<br />
| YALES2<br />
| YALES2<br />
| DINO<br />
| DINO<br />
| DINO<br />
| DINO<br />
| Nek5000<br />
| Nek5000<br />
|-<br />
! scope="row" | Spatial resolution<br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>256^3</math><br />
| <math>384^3</math><br />
| <math>512^3</math><br />
| <math>768^3</math><br />
| <math>253^3</math><br />
| <math>514^3</math><br />
|-<br />
! scope="row" | Controlling CFL/Fo<br />
| CFL=0.10<br />
| CFL=0.15<br />
| CFL=0.25<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.15<br />
| Fo=0.2<br />
| CFL=0.25<br />
| CFL=0.25<br />
|-<br />
! scope="row" | <math>\Delta T[%]</math><br />
| −0.341 <br />
| −0.398 <br />
| −0.455 <br />
| −0.228 <br />
| −0.171 <br />
| −0.171 <br />
| 0 [Ref] <br />
| 0 <br />
| 0<br />
|-<br />
! scope="row" | <math>\Delta Y_{O_2}[%]</math><br />
| 2.104 <br />
| 0.131 <br />
| 0.131 <br />
| −0.855 <br />
| −1.381 <br />
| −0.855 <br />
| 0 [Ref] <br />
| −1.446 <br />
| −0.986<br />
|-<br />
! scope="row" | <math>\Delta Y_{H_2}[%]</math><br />
| −0.296 <br />
| 0.518 <br />
| 0.741 <br />
| 2.370 <br />
| 1.370 <br />
| 0.741 <br />
| 0 [Ref] <br />
| −0.704 <br />
| −0.444<br />
|-<br />
! scope="row" | <math>\Delta Y_{OH}[%]</math><br />
| −1.121 <br />
| −1.869 <br />
| −2.242 <br />
| −1.548 <br />
| −1.175 <br />
| −0.801 <br />
| 0 [Ref] <br />
| −0.587 <br />
| −0.641<br />
|-<br />
! scope="row" | <math>\Delta HR[%]</math><br />
| −0.149 <br />
| −0.313 <br />
| −0.253 <br />
| 1.831 <br />
| 0.595 <br />
| 0.253 <br />
| 0 [Ref] <br />
| 0.363 <br />
| −1.637<br />
|}<br />
<br />
Analyzing in detail all the values, the following intermediate conclusions can be drawn:<br />
<br />
• The overall agreement between the three completely independent '''high-resolution codes''' employed in the benchmark is very good, with typical relative differences of the order of 1% for the essential quantities used to analyze '''turbulent combustion''' ('''temperature''', '''mass fractions''', '''heat release''').<br />
23<br />
<br />
• Compared to the differences observed in the previous '''verification step''' (errors below 0.03%), the variations<br />
are obviously much larger, typically by two orders of magnitude. This is a result of the far more challenging<br />
configuration, with additional physicochemical complexity, stiffer profiles, highly non-linear processes in '''space'''<br />
and '''time'''.<br />
<br />
• Increasing further the '''spatial resolution''' (which is also connected to a '''reduction of the timestep''') does not seem<br />
to increase much the observed agreement between the codes. For all considered grids in the analysis finer<br />
than <math>256^3</math>, overall differences of the order of 1% are observed. Often, using a finer resolution leads to a better<br />
agreement for most of the indicators, but to a worse comparison for some other ones.<br />
<br />
• Though this has been attempted, it was impossible to obtain meaningful predictions using the '''Richardson<br />
extrapolation''' <ref name="Ferziger2012"/><ref name="Celik2008"/>, since the results of all codes are '''non-monotonic''' when increasing resolution in space.<br />
<br />
• Somewhat unexpectedly, the '''observed uncertainty is in the same range for temperature, mass fractions of main<br />
species or of radicals, and heat release'''. Quantities that are typically considered '''more sensitive''' ('''radicals''', '''heat release''') do not lead to larger discrepancies in the analysis.<br />
<br />
Finally, the central finding is that all codes employed in the benchmark deliver suitable results for this configuration,<br />
and this already at a typical grid resolution of <math>256^3</math><br />
for this particular case. An irreducible uncertainty of the order<br />
of 1% is observed for all quantities relevant for turbulent combustion. This uncertainty, noticeably larger than for<br />
cold flows, is apparently the result of stiff non-linear processes, of different splitting schemes, and of the different<br />
libraries/library versions employed for computing thermodynamic, diffusion, and reaction parameters.<br />
After this detailed analysis of uncertainty, '''it is necessary to quantify the corresponding numerical costs needed to get this level of accuracy.'''<br />
<br />
= References =<br />
<br />
<references><br />
<ref name="Ferziger2012"><br />
<bibtex><br />
@article{Ferziger2012, <br />
author= {J.H. Ferziger and M. Peric},<br />
title= {Computational Methods for Fluid Dynamics},<br />
journal={Springer},<br />
year= {2012},<br />
}<br />
</bibtex><br />
</ref><br />
<ref name="Celik2008"><br />
<bibtex><br />
@article{Celik2008, <br />
author= {I.B. Celik, U. Ghia, P.J. Roache, C.J. Freitas, H. Coleman, and P.E. Raad},<br />
title= {Procedure for estimation and<br />
reporting of uncertainty due to discretization in CFD applications},<br />
journal={J. Fluids Eng.},<br />
year= {2008},<br />
volume={130},<br />
}<br />
</bibtex><br />
</ref><br />
</references></div>Xonnainty