T. POINSOT
Lundi 31 Mai 2010, 11h00 – 12h30
Codes de Combustion
Waves 1
Codes for combustion
T. Poinsot1,2,3, F. Nicoud2, B. Cuenot2, L. Selle1, G. Lartigue2, L. Gicquel2, S. Candel4 and others !
1IMFT, CNRS, Toulouse France 2/CERFACS, Toulouse France 3CTR, Stanford and NASA Ames 4EM2C, Paris
Waves 2
OUTLINE The reacting Navier Stokes equations and the codes to solve them
The differences between RANS, DNS and LES
Computing vortices and acoustic waves in CFD: simple ?
High Performance Computing and combustion
Which equations ?
AVBP-course 3
Here we will talk only about the compressible reacting Navier Stokes equations.
Arrhenius reaction rates but usually reduced chemical schemes.
No simplifications using special models (infinitely fast chemistry, flamelet model etc).
Acoustics included
Full multispecies formulation, no simplification for the state equation, the variable heat capacities
Waves 4
Thermodynamics: equation of state A mixture of k= 1 to N perfect gases. Composition characterized by mass fractions Yk=mk/m
Molar weight of the mixture
with
Waves 5
EQUATIONS : compressible reacting Navier Stokes
MOMENTUM:
Same as usually. Except that viscosity is more difficult to estimate: • it is a gas mixture with varying composition Yk, k=1 to N • its temperature changes significantly Viscosity = f(Yk,T)
Waves 6
MASS CONSERVATION: one equation for each species k= 1 to N
Reaction rate Diffusion
!k = ! *Yk is the partial density of species k
Waves 7
ENERGY:
Heat flux Reaction rate Radiation
THESE EQUATIONS ARE UNFILTERED, INSTANTANEOUS THE MAIN ISSUE IS HOW TO HANDLE TURBULENCE !
8
Classification générale LAMINAIRE TURBULENT
Zéro dimensionnel: T=f(t) Yk=gk(t)
PREMELANGE
DIFFUSION
1D: Codes de recherche Premix COSILAB
CODES TURBULENTS
Codes de recherche Oppdiff CHEMKIN
CHEMKIN: Aurora CHEMKIN: Aurora
Avec méthode pdf
C est quoi, un calcul 0D ?
Waves 9
Exemple: le temps d’autoallumage
10
Allumage: un premier calcul 0D
Taux de réaction (cours flammes prémélangées):
Il faut avoir: du A du B de la température
11
Allumage En prémélange pauvre avec Lewis=1, on arrive à:
Ce taux de réaction ne dépend que de la température réduite
12
Allumage dans un réacteur homogène
Volume V, surface S, température homogène T(t)
T
Text On part d’un état initial où on a des gaz frais prémélangés à richesse imposée et à température T(t=0)=Tinit
Coefficient d’échange h
13
Cool: le système est stable Auto allumage
dT/dt<0
Tc
600
500
400
300
200
100
0
Taux
de pr
oduc
tion
200015001000500Température (K)
Dégagement de chaleur !
Pertes de chaleur S/V h(T-Text)
dT/dt>0
Avec un code de calcul 0D:
! On fait la même chose mais avec un schéma cinétique complet. On peut en déduire des temps d’autoallumage et les tabuler en fonction de la fraction de mélange par exemple
14
AVBP-course 16
Time Tem
péra
ture
Experiment or!DNS
RANS: averages
LES
Back to methods for turbulent flows:
17
Revenons sur les cas turbulents 3D: il y a en fait plusieurs méthodes
Codes DNS: dans les labos
Codes RANS: codes commerciaux Avec modèles de combustion turbulente (EBU, pdf, surface de flamme, etc): FLUENT, CFX, STAR CD
Codes LES: au milieu ! En train de remplacer le RANS
NB: quand on moyenne le résultat d’une DNS ou d’une LES, on doit retomber sur le RANS
18
RANS: the standard CFD tool • In laboratories since 1970 • In all companies since 1990 • Provides mean values of all quantities (averaged over time) • Requires model adjustments • Does not give access to unsteady phenomena • Fluent, CFX, Phoenics, etc
Champ de température calculé en RANS pour une flamme de Diffusion turbulente (Labo EM2C)
19
On the other side: Direct Numerical Simulation (DNS)
• Developed in laboratories since 1980 (France / USA) • No model for turbulence: compute instantaneous fields • Unsteady by nature • Limited to small cubic boxes • Review papers: Prog. En. Comb. Sci. 1996 (21) or Ann. Rev. Fluid Mech. 1998 (30)
0.1 à 3 mm
20
RANS
1990: a gap between DNS and RANS
0.1 mm
10 m
DNS
ZOOM !
LES WAS NEEDED
2008 21
A comparison of RANS and LES
The ICLEAC burner (Ecole Centrale Paris): diffusion, 250 kW.
AIR
Propane
2008 22
Quartz window
2008 23
Typical RANS result: one field of ‘averaged’ values (here temperature)
Régime FUEL(g/s) AIR(g/s)B 4,5 62,5
24
Exemple de LES (aero gas turbine). Gaseous fuel /air (DLR) PRECCINSTA!
3 millions cells
Roux, Lartigue, Poinsot, Meier and Bérat Comb and Flame 141, 2005!
25
COLD FLOW - PRECCINSTA
26
27
Unsteady hydrodynamic (PVC) modes
Preccinsta is dominated by a large PVC structure (see AVBP result below) but other modes also exist (acoustics).!
28
29
RESULTATS DE FLUENT ou RESULTATS D UNE LES MOYENNEE EN TEMPS
AVBP-course 30
A more cynical view at the true difference between codes doing LES, RANS and DNS ?
All applications of interest have large Reynolds numbers:
!
Re(real) =UL/"A large Reynolds number implies a large difference between large and small spatial scales and therefore a huge number of grid points Which we simply dont have
AVBP-course 31
So, we cant resolve scales associated to large Reynolds numbers.
We use two tricks (call them ‘models’): - turbulence models: add turbulent viscosity !t - dissipative schemes: add numerical viscosity !a
Back up for a while: let us define turbulent viscosity:
With:
AVBP-course 32
This is the : - non linear term - source of turbulence - ennemy of all CFD codes
This is the: - viscous term - linear term - damper of turbulence - friend of all PhD students
AVBP-course 33
Average these equations in space or in time (Favre averages):
Replace in momentum:
Introduce turbulent viscosity:
AVBP-course 34
Very dangerous model: it transforms a non-linear term (source of turbulence) into a viscous term (which damps turbulence). Now this term plays a role similar to laminar viscosity Other interpretation: move from left to right Other interpretation: this was a good way to get our codes to work !
AVBP-course 35
Note also that the averaging procedure never appears anywhere: RANS, LES, URANS, whatever… The only difference in all codes is only in the RHS terms…
AVBP-course 36
What about artificial viscosity ?: here, the viscous term is introduced through the numerical scheme
Centered schemes have … problems: they generate wiggles as soon as the resolution is not sufficient
AVBP-course 37
Introduce artificial viscosity:
Makes the scheme more stable and able to handle gradients In practice we are not solving:
But:
AVBP-course 38
Upwind schemes are not a solution:
Using:
An upwind scheme is like a centered scheme with a numerical viscosity equal to 1/2 u "x
AVBP-course 39
Combining turbulent viscosity !t and numerical viscosity !a allows the codes to run. But at which price ?
!
Re(num) =UL/(" +" t +" a )
In practice, the Reynolds number seen by the code is :
which is much smaller than the Reynolds of the flow.
==> We are not computing the same flow…
AVBP-course 40
RANS: turbulent viscosity is very large ==> the Reynolds of the code is so small that the flow is steady (ie laminar)
Laminar viscosity
The code sees a laminar flow!
Turbulent viscosity
AVBP-course 41
RANS: since the flow is so viscous, might as well use numerical viscosity too to make it faster and more robust !
Numerical viscosity
Upwind schemes
!
Re =UL/(" +" t +" a ) << Re(real)
large CFL (implicit codes)
Temporal
Spatial
Laminar viscosity
Turbulent viscosity
AVBP-course 42
CODE DNS: nothing more than the laminar viscosity
High-order scheme + Small CFL
!
Re(num) =UL/(" +" t +" a ) =UL/"Numerical viscosity
Laminar viscosity
Turbulent viscosity
AVBP-course 43
A good LES code: turbulent viscosity reduced and limited numerical viscosity ==> Reynolds turbulent smaller than the true one but large enough for the flow to be turbulent
Centered schemes
!
Re =UL/(" +" t +" a ) > Re(crit)
Small CFL
Numerical viscosity
Laminar viscosity
Turbulent viscosity
AVBP-course 44
DANGERS of RANS codes used for LES:
Temporel
Upwind schemes
!
Re(num) =UL/(" +" t +" a ) toosmall
Spatial Large CFL
Numerical viscosity
Laminar viscosity
Turbulent viscosity
AVBP-course 45
Classical test: remove the turbulent viscosity
Temporel
Spatial
Numerical viscosity
Laminar viscosity
Turbulent viscosity
AVBP-course 46
CONCLUSION: A good LES needs: ! high order schemes ! small time steps ! small CPU times ? (! OK, let us say ‘reasonable’)
Of course, needs also ! combustion models for LES ! boundary conditions
AVBP-course 47
Numerical waves vs acoustic waves
CFD approaches must propagate vortices and acoustic waves. An important set of questions is: • How do codes propagate waves ? NOT SO WELL… • Do codes propagate ‘other’ non physical waves ? YES…
Consider the simplest case of one-dimensional convection equation at speed c:
!
""tu + c ""xu=0
NOTE: everything here is valid for compressible codes but also for incompressible or low Mach number codes
AVBP-course 48
The exact solution for this wave problem is a convection at speed c:
!
u(x,t) = u(x"ct, t=0) = v(0) exp2 j#$(x"ct)%
& ' '
(
) * *
x
u(x,t) exact
ct
Being able to predict this convection speed is crucial for acoustics but also for turbulence (to convect vortices or entropy waves).
u(x,t=0)= v(0) exp2 j!"x#
$
% %
&
'
( (
AVBP-course 49
!
x=i"xDiscretize x axis:
Assume that u is a sinusoidal function of space (pulsation "):
!
u(i"x,t)=ui(t)=v(t)exp(2#j $ i"x) j2=-1 x
What happens in codes ? space is discretized…!Take the simplest finite difference example:!
AVBP-course 50
What does a second order code do ? Suppose we discretize this equation in space on a grid of spacing #x and assume we have perfect time advancement:
!
""tui + cui+1#ui#12$x =0
!
u(x,t) = v(0) exp2j"#(x$csin(2"#%x)2"#%x t)&
'
( (
)
*
+ +
The numerical solution for this problem is:
For sinusoidal wave propagation: Replacing u by v(t) in Eq. (1) leads to:
!
ui = v(t) exp(2"j # i$x)
!
""tv = #cjv sin(2$%&x)/&x
!
v(t) = v(0) exp("cj sin(2#$%x)%x t)Or:
(1)
AVBP-course 51
Numerical dissipation factor !
Comparing the exact and the numerical solution:
!
u(x,t) = v(0) exp2 j"#(x$ct)%
& ' '
(
) * *
The numerical scheme is dispersive: the speed is not right BUT the amplitude of the signal is right==> no damping is introduced by the centered scheme. Good for LES/DNS !
u(x,t) = v(0) exp2 j"#(x$csin(2"#%x)2"#%x
t)&
'
( ( ( (
)
*
+ + + +
Exact:
Numerical:
!
u(x,t) = v(0) exp("ct/#x(1"cos2$%#x))exp2j$%(x"csin(2$%#x)2$%#x t)&
'
( (
)
*
+ +
This property is true of all centered schemes but not of upwind schemes. For the first order upwind scheme, for example, the numerical solution would be:
AVBP-course 52
!
c(")c = sin(2#"$x)2#"$x
Moreover, for the centered scheme, comparing now the speeds:
!
u(x,t) = v(0) exp2 j"#(x$ct)%
& ' '
(
) * *
shows that the numerical scheme makes the flow ‘dispersive’; different wavelengths " are propagated at different speeds c(" ):
!
u(x,t) = v(0) exp2 j"#(x$csin(2"#%x)2"#%x
t)&
'
( ( ( (
)
*
+ + + +
!
"#x = #x/$
1.0
0.8
0.6
0.4
0.2
0.0
0.50.40.30.20.10.0
Exact
Second order scheme
!
c(")c
Exact:
Numerical:
AVBP-course 53
1.0
0.8
0.6
0.4
0.2
0.0
108642
Second order scheme
Exact
!
"/#x=1/($#x) (Number of points per wavelength)
!
c(")c
!
"
!
"x
This is not good news for second-order schemes: they do not propagate waves at the right speed as soon as the resolution (ie the number of points per wavelength ) is not very high. ! /"x
3rd order scheme
Higher order schemes do better.
6th order!
AVBP-course 54 0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
A simple example in one dimension!• Second order centered scheme!• Fourth order Runge Kutta time integration!
!
""tu + c ""xu=0
Black:code!Cyan: exact!
Periodic boundaries
0 10 20 30 40-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
AVBP-course 55
Examples specific to studies of combustion instabilities:!
" Convection of vortices in periodic 2D flows.!
" Propagation of acoustic waves in 1D periodic domain.!
AVBP-course 56
2D Vortex convection!
!
u = "#Rc2 ye
"x 2 +y 2
2Rc2
!
v ="Rc2 xe
#x 2 +y 2
2Rc2
!
p " p0 = "#$2
2Rc2 e
"x 2 +y 2
Rc2
!
Ux =100m /s Cutting line!Symmetry!
Symmetry!
Periodicity! Periodicity!x
y
Convecting vortices is the basic feature of LES!
Moureau et al, JCP 2005!
• $= 1 m/s2 ; Rc = 19.45*10-3 m ; p0 = 101300 Pa!
• 2D structured mesh 30X30 elements.!• Analytical solution!• Tested LW (2nd order) and TTGC (3rd order) numerical scheme.!• Acoustic CFL = 0.7!• Tested also a commercial code. CFX 5.7 using a 2nd order centred finite volume
scheme.!
AVBP-course 57
Periodic on all sides Vortex leaves
And comes back
AVBP-course 58
Results after three turn over times!Time step is set by CFL = c #t/#x = 0.7!
Comparing three schemes: • 2nd order Lax Wendroff in AVBP (code CERFACS) • 2nd order CFX • 3rd order TTGC in AVBP (Oxford/CERFACS: Colin and Rudgyard, J. Comp. Phys. 162 (2000)).
AVBP-course 59
-1600
-1200
-800
-400
0
-0.04 0.00 0.04
X [m]
Relative pressure [Pa]
Exact sol. AVBP LW
CFXLow pressure in vortex center (analytical solution)!
AVBP-course 60
-1600
-1200
-800
-400
0
-0.04 0.00 0.04
X [m]
Relative pressure [Pa]
Exact sol. AVBP LW
CFX
AVBP TTGC
AVBP-course 61
-30
-15
0
15
30
-0.04 0.00 0.04
X [m]
Velocity y [m/s]
Exact sol. AVBP LW
CFX
AVBP-course 62
-30
-15
0
15
30
-0.04 0.00 0.04
X [m]
Velocity y [m/s]
Exact sol. AVBP LW
CFX
AVBP TTGC
AVBP-course 63
CFL = 0.7!
Results after ten turn over times!
AVBP-course 64
-1600
-1200
-800
-400
0
-0.04 0.00 0.04
X [m]
Relative pressure [Pa]
Exact sol. AVBP LW
CFX
AVBP-course 65
-1600
-1200
-800
-400
0
-0.04 0.00 0.04
X [m]
Relative pressure [Pa]
Exact sol. AVBP LW
CFX
AVBP TTGC
AVBP-course 66
-30
-15
0
15
30
-0.04 0.00 0.04
X [m]
Velocity y [m/s]
Exact sol. AVBP LW
CFX
AVBP-course 67
-30
-15
0
15
30
-0.04 0.00 0.04
X [m]
Velocity y [m/s]
Exact sol. AVBP LW
CFX
AVBP TTGC
AVBP-course 68
69!
Influence of time step !Influence of time step !
Most implicit codes use large time steps and therefore additional dissipation!
How does this change the present results ?!
The same case was run with an implicit commercial code: !
70!
Influence of time step !
-1600
-1200
-800
-400
0
-0.04 0.00 0.04
X [m]
Relative pressure [Pa]
Exact sol. CFX CFL=0.7
CFX CFL=3.5
CFX CFL=25
Influence of time step!
71!
Acoustic wave propagation - 1 !
Acoustic waves must propagate, without being artificially damped, over the entire computational domain.!
Initialization of the 1D periodic domain (30 mesh points)!
• Euler equations, no artificial viscosity.!• Periodic computational domain.!• 100 cycles computed.!• Only numerical dissipation observed.!• Tested only LW and TTGC AVBP schemes.!
72!
Acoustic wave propagation - 2 !
Pressure [Pa]!
Pressure temporal evolution on a grid point. !
For this periodic test case, TTGC is clearly less dissipative than LW. !
73!
Convergence order analysis !
In a periodic domain, the convergence order is correctly recovered for both schemes.!
74!
-0.20
-0.10
0.00
0.10
0.20
43210
Cycles
Exact sol.
CFX CFL=0.7
CFX CFL=3.5
CFX CFL=25
Influence of time step - 2!
AVBP-course 75
So high order schemes are better ==> well known : they are a MUST for DNS codes
In the DNS community (which uses structured grids): - Spectral schemes (not many in combustion) - Pseudo spectral schemes - Finite differences: 6th, 8th, 10th order in space
BUT IT IS NOT SIMPLE TO CONSTRUCT AN EXPLICIT HIGH-ORDER SCHEME ON UNSTRUCTURED MESHES ! 1st order: easy 2nd order: OK 3rd order: much more difficult 4th order: ouch !
AVBP-course 76
Since structured meshes can not be a good approach for combustion chambers… BIG PROBLEM FOR LES ! The previous example was obtained with TTGC (3rd order in space): Colin and Rudgyard, J. Comp. Phys. 162 (2000). ==> Care is needed to propagate physical waves (vortex and acoustic waves) at the right speed and amplitude.
But there are worse news: ‘other’ waves are created and propagated by codes. These waves travel in ‘packets’: need to study their group velocity
Vichnevetski and Bowles 1982, SIAM studies in Applied Mechanics Sengupta 2004 Fundamentals of Computational Fluid Dynamics Poinsot Veynante 2005, R.T. Edwards
AVBP-course 77
The group velocity of wiggles
Main idea: in dispersive flows, group velocities Vg (") of wave packets differ from c(#)…Illustration for the advection equation with a second order scheme.
!
""tu + c ""xu=0
Typical wave packet: enveloppe (long wave length %) + higher frequency wave (short wave length &)
X
!
"
!
"
Vg
AVBP-course 78
0 10 20 30 40-1
-0.5
0
0.5
1
Spatial abscissa
Initial condition: A typical wave train of numerical waves
0 10 20 30 40-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
Numerical wave packet: • Wavelength=2 #x • Propagating in the wrong direction !
AVBP-course 79
Do we understand this ? See theory in waves books. For fluid flow and centered schemes, see Vichnevetski and Bowles 1982, 1986 or Sengupta 2004. The main result is that the group velocity Vg of wave packets is given by:
Vg(!)
c= dd!
!c(!)c
"
#
$ $ $ $ $
%
&
' ' ' ' '
Vg(!)
c= cos(2"!#x)
For the second-order scheme:
-1.0
-0.5
0.0
0.5
1.0
108642
!
"/#x=1/($#x)
Vg(!)
c
!
c(")c = sin(2#"$x)2#"$x
AVBP-course 80
• Numerical waves (short wave) called ‘q’ going against the flow
q waves
• Physical waves called ‘p’ (long wave): they go with the flow
p waves
Codes propagate two types of waves depending on the sign of Vg:
-1.0
-0.5
0.0
0.5
1.0
108642
!
"/#x=1/($#x)
Vg(!)
c
AVBP-course 81
For the centered second order scheme, the group velocity of wiggles (waves with a wavelength equal to 2 Dx) is
Vg(!)
c= -1
For higher order schemes, this velocity gets … worse. For example, a compact sixth-order scheme (Baum et al 1994):
Vg(!)
c= -4.3
Wiggles propagate upstream at -4.3 times the sound speed.
AVBP-course 82
Why do we care about ‘q’ waves ? : they perturb the flow. They also reflect into ‘p’ waves at boundaries !
0 10 20 30 40-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
AVBP-course 83
Numerical waves are difficult to avoid:!1/ They can be created by stiff initial conditions,even if the user does not see them!
0 10 20 30 40-0.2
0
0.2
0.4
0.6
0.8
Spatial abscissa0 10 20 30 40
-0.2
0
0.2
0.4
0.6
0.8
Spatial abscissa0 10 20 30 40
-0.2
0
0.2
0.4
0.6
0.8
Spatial abscissa0 10 20 30 40
-0.2
0
0.2
0.4
0.6
0.8
Spatial abscissa0 10 20 30 40
-0.2
0
0.2
0.4
0.6
0.8
Spatial abscissa
Non reflecting outlet
AVBP-course 84
2/ Numerical ‘"q"’ waves are also generated when physical ‘"p"’waves interact with boundaries!
0 10 20 30 40-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
AVBP-course 85
As a consequence, numerical waves can induce false numerical resonances (see Buelle and Huerre CTR 1988, Poinsot and Lele 1992, Poinsot and Veynante 2005):
0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa
Non reflecting outlet
u=0
0 10 20 30 40
-0.4
-0.2
0
0.2
0.4
0.6
Spatial abscissa
Will happen even in supersonic flows
AVBP-course 86
Some people wonder WHY we discuss this: they have never seen this problem in commercial codes !! Well... this is due to the viscosity of RANS codes. Example: compare non dissipative scheme (left) and typical RANS scheme (right)!
0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa0 10 20 30 40
-1
-0.5
0
0.5
1
Spatial abscissa
NON DISSIPATIVE SCHEME!(LES or DNS)!
DISSIPATIVE SCHEME!(RANS)!
AVBP-course 87
All waves (acoustic and numerical) exist in AVBP and you will see them this week and also later in your work with AVBP. The question is: How do we avoid creating ‘q’ waves ?:
• Stable and better numerical schemes ! --> zero dissipation and better dispersion • Smooth initial conditions: do not start from step functions • Good boundary conditions: Do not use step functions. Do not impose non-zero velocities on walls. Do not etc… • Use good meshes In turbulent cases, AVBP uses local artificial viscosity (smu2, smu4) triggered by localized sensors to add just the dissipation required for stability and not more. Do not use upwind schemes
AVBP-course 88
• LES do not have large viscosities like RANS ==> wiggles must be avoided at boundaries
• Turbulence must be injected at the boundaries
• Acoustic waves (to mimic forcing) must also be injected at boundaries
Among all these problems, boundary conditions are the most critical: an old issue in CFD but a topic of much more interest for LES than for RANS because:
Waves 89
HIGH PERFORMANCE COMPUTING AND COMBUSTION
For 3D LES and DNS, CPU time is a major issue
Parallel computing has opened a revolutionary evolution ten years ago
DNS has become possible in simple geometries
LES has become in complex geometries
DNS is becoming possible in complex geometries
90
La combustion numérique: à l’intersection de la physique et de l’informatique
91
Analysis of code performance Target machines: 5 machines among the Top 20, 2 in-house machines (IBM JS21 226 PP970MP and CRAY XD1 120 procs) and an HP Cluster (800 Opterons at CINES). !
JUNE 2006!
92
Scalability: speedup
The performance obtained on parallel machines with more than 300 processors would be impossible to obtain on vector machines!
12000
10000
8000
6000
4000
2000
0
Equiv
alent
Perf
orm
ance
120001000080006000400020000
Cores
Ideal /L
CINES, GENCI, SGI Altix ICE - AVBP GR (*)
Thomas Watson, Bluegene /L (1)
CCRT, Novascale Itanium (2)
CINES, GENCI, SGI Altix ICE (4)
CERFACS, BlueGene /L(5)
ARNL, INCITE, BlueGene /P (5)
(1) 40M cells case / AVBP
(2) 18M cells case / AVBP
(3) 10M cells case / AVBP
(4) 75M cells case /AVBP
(5) 37M cells case /AVBP
(*) 29M cells case/ AVBP GR
93
And the next step: 320 000 processors!
CERFACS is performing combustion LES on the BlueGene/P machine of Argonne National Lab!
http://www.doe.gov/sciencetech/5849.htm.
http://www.sc.doe.gov/ascr/incite/index.html.
Objective : simulate gas turbine chambers on 10 to 40 000 processors!Status today: 16 000 proc run performed in March 2008. Speed up of the order of 13 000!
2008 94
Do we still need DNS ? YES, to: • understand • build SGS models for LES • maybe one day, replace LES
C3H8/air flame DNS Full chemical scheme Jimenez et al, Comb and Flame 2002.
2008 95
2008 96
Chen et al 31st Symp.
Today: 1 billion points on 30 000 proc
Waves 97
Tomorrow: DNS in complex geometries
V. Moureau, P. Domingo, L. Vervisch, MSC-DNS: a multi-scale convergence methodology for Direct Numerical Simulation of turbulent reacting flows. Application in an industrial premixed burner. Soumis au Combustion Symposium, 2010
DNS – like LES on 2.7 billion points
Waves 98
THIS PROGRESS IN HPC FOR COMBUSTION IMPACTS COMBUSTION SCIENCE:
- long course on turbulent combustion during this school
BUT : if we can perform DNS everywhere… we will not need turbulent combustion models !
Same evolution observed about RANS:
- who does high-order turbulence models today ? - who does analytical methods ?
Is this good ? We will still need to understand what is going on.
!"#$%&'"()*+,-)+()./012)
345)6%*-&)-7-689:-6-;)<:-"68)+&)="(-;)>-)?@()&"*7-)-7-68A:+(=)9+A:)"%6)(%#-6+?@*)#-A:"B&)C)
<:-)(-9)D6"E-?A)F3G)02)9-)@??-DA-B)A")&"*7-)A:-)-H%@'"()9:+?:)D%II*-&)&")#@(8)D-"D*-)+()+(B%&A68)
99
F"6)A:+&)#-=@)D6"E-?AJ)K)$6+**+@(A)L",)?"%6&-M)N:3)&A%B-(A&)?"**@$"6@A-)A")%&-)OPQNRRR;)<:+&)(-9)?"B-)%&-&2)
• 0SA:)"6B-6J)#+#-'?J),%-*)+(E-?A-BJ)%*A6@D@6@**-*)&?:-#-&)
• <"A@**8)@%A"#@'?)#-&:)=-(-6@'"()#-A:"B&)&A@6'(=),6"#)@)D:"A"=6@D:)",)A:-)"$E-?A)A")#-&:)L9"6T&)-7-()+()A:-)B@6TM)
• UV@W"D)#@?:+(-&)+(&A@**-B)+()@)01)W""6)$%+*B+(=)
• <:-)*@A-&A)7-6&+"()",)A:-)GXY)+()9:+?:)8"%)A@*T)+(&A-@B)",)?*+?T+(=)*+T-)ZN*-@&-)?"#D%A-)=-"#-A68).K)("9[))
<:-)F3G)D6"$*-#2)
• <:-)+(B%&A68)@(B)A:-)="7-6(#-(A):@7-)@&T-B)A")&"*7-)@)7-68)B+\?%*A)D6"$*-#2)
• <:-)D6"D"&@*)+(?*%B-&)A:6--)D:@&-&),"6)F3GJ)-@?:)"(-)+&)A:6--)8-@6&)*"(=;)Q%B=-A)];1^)U%6"&)
• <:-)F3G)-H%@'"()A")&"*7-)+&2)_(B)V)&%?:)A:@A2)
100
!
O`-6)A:6--)8-@6&)LF3G)0M2)
• >-):@7-)%&-B)#@(8)#-A:"B&)@7@+*@$*-)+()OPQN)A")&"*7-)A:+&)-H%@'"(),"6)@)a)0J)$a)bJ)?)a)0)
• >-)$-*+-7-)A:@A)A:-6-)@6-)?@&-&)9:-6-)OPQNRRR)?"(7-6=-&)@(B)=+7-&)@)&"*%'"(;)P-68)-(?"%6@=+(=)6-&%*A&;)<:+&)=+7-&)@)=""B)#"'7@'"()A")@&T),"6)F3G).)@(B)./)^)U%6"&)
101
!
O`-6)&+V)8-@6&)LF3G).M2)
We do not know yet the form of the solution but something very strange happened. One of the PhD students tried a=1, b=2, c=4 and he could not find ANY solution.
Had to run 150 million CPU hours and the code did not converge ! Exciting ! We need FDG 3, a new code and more efforts: 30 Million Euros.
102
!
O`-6)(+(-)8-@6&)LF3G)bM)2)
We tried to write papers on their results but (strange…) noone wants to publish them. It does not matter: we have found something even more exciting. Sometimes, the code gives not only ONE solution but TWO !
Negociations begin with sponsors to define FDG 4 where we will test all values of a, b and c.
We will especially focus on cases with more than two solutions ! (very promising indeed !)
103
!
5"c;)
How long before understanding: - That a does not play a role. Only b/a and c/a are important
- That there is an analytical solution !
- Answer: NEVER ! This will simply never happen ! Because the method is wrong. We compute and we do not … think !
104
!
>-**J)$"&&J)7-68),%((8)$%A)A:+&)+&)A"")#%?:;)>"([A):@DD-()A")%&c)
Well, well, not so sure…
3%6+(=)#8)N:3)B-,-(&-)L0dS]MJ)^;)Q@66-6-)A"*B)#-2)ZefJ)8"%6)6-&%*A&)&:"9)A:@A)A:-)+(&A@$+*+A8)?6+A-6+"()+()@)$%6(-6)+&)A:@A)A:-)?"#$%&'"()B-*@8)&:"%*B)$-)#"6-)A:@():@*,)A:-)@?"%&'?)D-6+"B;)<:+&)+&)9:@A)9-),"%(B)+()0d11c[)
Y()N"+(&"AgP-8(@(A-)L.//1MJ)?:@DA-6)SJ)8"%)_(B)@)A9")D@=-&)B-#")&:"9+(=)A:@A)&@#-)6-&%*A)+()@)&+(=*-)$%6(-6;))
105
!
O6-)8"%)&%6-)8"%)@6-)("A)9@&'(=)8"%6)'#-)@(B)"%6)&D"(&"6&)#"(-8)h)
Y().//SJ)@`-6)&+V)8-@6&)",)7-68):@6B)9"6TJ)!;)5-(&+@%)L54U!^O)g)!UiFO!5M)%&-B)@()OP5N)?"B-)A")D6-B+?A)&A@$+*+A8)+()@((%*@6)?:@#$-6&;)>:-()-7-68A:+(=)9@&)_(+&:-B)L+A)A""T)A:6--)8-@6&MJ)A:-)&A@$+*+A8)?6+A-6+"(),"6)@I+#%A:@*)#"B-&):-)"$A@+(-B)9@&)A:@A)A:-)?"#$%&'"()B-*@8)&:"%*B)$-)#"6-)A:@():@*,)A:-)@I+#%A:@*)D-6+"B;)
<:+&)A8D-)",)?"+(?+B-(?-)#@T-&)#-)(-67"%&;)>@&)A:-6-)@)9@8)A")"$A@+()+()A9")*+(-&)9:@A)9-)"$A@+(-B)+()j)8-@6&)hh)3+B)9-),"6=-A)A")A:+(T)h))
106
!
5")D*-@&-)
• )<:+(T)C)• )Q-)?%6+"%&)• )i-@B)D@D-6&)• )>6+A-)-H%@'"(&)@(B)&A%B8)A:-"68)• )G-A)8"%6)Z?"#D%'(=)*+?-(?-)
107
!