Méthodes numériques avancées et HPC pour la simulation...

25
Méthodes numériques avancées et HPC pour la simulation de phénomènes complexes Schéma d’ordre arbitrairement élevé pour l’équation d’advection Marc Massot 1 Laurent Series 2 1 Professeur - Ecole Polytechnique Centre de Mathématiques Appliquées co-porteur de l’initiative HPC@Maths [email protected] 2 Ingénieur de Recherche - CentraleSupélec Laboratoire MICS - EA 4037 Responsable du mésocentre de calcul de l’ENS Paris-Saclay et de CentraleSupélec [email protected] Master AMS - Cours X02 / Math. Model. - UPMC Marc Massot, Laurent Series Méthodes numériques avancées 1/25

Transcript of Méthodes numériques avancées et HPC pour la simulation...

Page 1: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Méthodes numériques avancées et HPC pour lasimulation de phénomènes complexes

Schéma d’ordre arbitrairement élevé pour l’équation d’advection

Marc Massot1 Laurent Series2

1Professeur - Ecole PolytechniqueCentre de Mathématiques Appliquéesco-porteur de l’initiative HPC@Maths

[email protected]énieur de Recherche - CentraleSupélec

Laboratoire MICS - EA 4037Responsable du mésocentre de calcul de l’ENS Paris-Saclay et de CentraleSupélec

[email protected]

Master AMS - Cours X02 / Math. Model. - UPMC

Marc Massot, Laurent Series Méthodes numériques avancées 1/25

Page 2: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Equation d’advection

Considérons l’équation hyperbolique 1D :{∂tu(x , t) + ∂x f (u(x , t)) = 0u(x , 0) = u0(x)

On se place dans le cas linéaire :

f(u(x , t)

)= au(x , t)

il s’agit alors de l’équation d’advection à vitesse constante a :

∂tu(x , t) + ∂x (au(x , t)) = 0

pour laquelle on connaît la solution : u(x , t) = u0(x − at)

Marc Massot, Laurent Series Méthodes numériques avancées 2/25

Page 3: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Equation d’advection

La solution u(x , t) reste contant le long des droites x − at = cste.

0x

t

ta

tb

u0(x)

u(x, ta)

u(x, tb)x−

at=

cste

x−

at=

cste

x−

at=

cste

x−

at=

cste

Marc Massot, Laurent Series Méthodes numériques avancées 3/25

Page 4: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Méthode des volumes finis

Le domaine de calcul est divisé en N volumes Vj = [xj−1/2, xj+1/2] :

xj−1/2 xj+1/2

On intègre sur chaque maille l’équation d’advection :

∂t

∫ xj+1/2

xj−1/2

u(x , t)dx +

∫ xj+1/2

xj−1/2

a∂xu(x , t)dx = 0

Caractère conservatif (bilan des flux) :

∂t

∫ xj+1/2

xj−1/2

u(x , t)dx = au(xj−1/2, t)− au(xj+1/2, t) (1)

Les quantités au(xj−1/2, t) et au(xj+1/2, t) correspondent aux flux de laquantité u à travers les parois xj−1/2 et xj+1/2.

Marc Massot, Laurent Series Méthodes numériques avancées 4/25

Page 5: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Méthode des volumes finis

En intégrant l’expression (1) sur l’intervalle [tn, tn+1] :

∫ xj+1/2

xj−1/2

u(x , tn+1)dx−∫ xj+1/2

xj−1/2

u(x , tn)dx =

∫ tn+1

tnau(xj−1/2, t)dt−

∫ tn+1

tnau(xj+1/2, t)dt

On désigne par unj une approximation de la valeur moyenne sur Vj au temps tn :

unj '

1∆x

∫ xj+1/2

xj−1/2

u(x , tn)dx

En divisant par ∆x , on obtient :

un+1j − un

j = −1

∆x

[∫ tn+1

tnau(xj+1/2, t)dt −

∫ tn+1

tnau(xj−1/2, t)dt

]

Marc Massot, Laurent Series Méthodes numériques avancées 5/25

Page 6: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Méthode des volumes finis

En posant :

f nj±1/2 '

1∆t

∫ tn+1

tn

au(xj±1/2, t)dt

on obtient un schéma de la forme :un+1

j = unj −

∆t

∆x(f n

j+1/2 − f nj−1/2)

u0j =1

∆x

∫ xj+1/2

xj−1/2

u0(x)dx

Les quantités f nj+1/2 et f n

j−1/2 :

constituent les flux numériques du schéma

leur expression en fonction des inconnues discrètes unj détermine le

schéma numérique

Marc Massot, Laurent Series Méthodes numériques avancées 6/25

Page 7: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind

Le schéma upwind consiste à chosir les flux numériques suivants :{f nj+1/2 = aun

j

f nj−1/2 = aun

j−1si a > 0

Il s’écrit donc :un+1

j = unj − a

∆t

∆x(un

j − unj−1)

C’est un schéma d’ordre 1 en temps et en espace et stable, consistant etconvergent si :

a∆t

∆x< 1 (condition CFL)

Marc Massot, Laurent Series Méthodes numériques avancées 7/25

Page 8: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind : résultats numériques

domaine de cacul : x = [−1, 1]

conditions aux limites périodiques

solution initiale : u0(x) = −200 x e−100x2

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−10

−5

0

5

10

solution initiale

Marc Massot, Laurent Series Méthodes numériques avancées 8/25

Page 9: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind : résultats numériques

discrétisation : dx = 2/1000 = 0.002

cfl = 0.8, a = 1

schéma très diffusif

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−10

−5

0

5

10

solution exacte

solution à t = 2

solution à t = 4

solution à t = 8

Marc Massot, Laurent Series Méthodes numériques avancées 9/25

Page 10: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind : résultats numériques

t = 4, cfl = 0.8, a = 1

schéma converge vers la solution quand h→ 0

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−10

−5

0

5

10

solution exacte

solution (dx = 2/1000)

solution (dx = 2/2000)

solution (dx = 2/5000)

Marc Massot, Laurent Series Méthodes numériques avancées 10/25

Page 11: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind : erreur de discrétisation

Erreur de discrétisation :

On appelle erreur de discrétisation en xi , la différence entre la solution exacte u en xi

et la ieme composante de la solution numérique au temps tn :

ei = uni −

1∆x

∫ xj+1/2

xj−1/2

u(xi , tn)dx

Soit E∆x = (e1, . . . , eN )T le vecteur des erreurs obtenues pour un maillage de pas ∆x ,on peut montrer que :

||E∆x || < CT (∆x)p

où CT est une constante strictement positive dépendante de tn et de u0(x) etindépendante de ∆x et p l’ordre du schéma.

Résultats numériques (a = 1, t = 2, cfl = 0.8) :

∆x ||E∆x ||2 nb. itérations1.000000e − 02 1.607349e + 00 2501.000000e − 03 2.562784e − 01 25001.000000e − 04 2.723178e − 02 250001.000000e − 05 2.740323e − 03 250000

Marc Massot, Laurent Series Méthodes numériques avancées 11/25

Page 12: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind : ordre du schéma

On peut estimer l’ordre du schéma en traçant log ||E∆x || en fonction de log ∆x .Si l’on considère que la norme ||E∆x || se comporte comme CT (∆x)p , l’ordre duschéma p correspond à la pente de la droite log ||E∆x || en fonction de log ∆x .

10−5 10−4 10−3 10−2

10−2

10−1

100

0.97

log ∆x

log||E

∆x|| 2

Estimation de l’ordre du schéma upwind (t = 2 et cfl = 0.8)

Marc Massot, Laurent Series Méthodes numériques avancées 12/25

Page 13: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma upwind

Le schéma upwind possède de bonnes propriétés mathématiques luipermettant de converger vers la solution quand ∆x → 0.

Cependant, le phénomène de diffusion ne permet pas d’obtenir unesolution "acceptable" avec une discrétisation "acceptable".

En pratique, il n’est pas possible de diminuer le pas de maillageindéfiniment. En effet, lorsque la précision machine est atteinte, il n’estplus possible d’améliorer la solution en diminuant le pas d’espace.

→ Besoin de schémas plus précis

Marc Massot, Laurent Series Méthodes numériques avancées 13/25

Page 14: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma Lax-Wendroff

On part du schéma upwind :

un+1j = un

j − a∆t

∆x(F 1

j − F 1j−1) avec F 1

j = unj (2)

On considère unj comme la fonction u évaluée en (xj , n∆t). En remplaçant dans

le schéma (2), les termes un+1j et un

j−1 par leur développement de Taylor àl’ordre 2, on obtient l’équation qui est effectivement résolue par (2) à l’ordre 2 :

∂t unj + a∂x un

j =a∆x

2∂2x un

j −a∆x

2∂2t un

j + O(∆x2) + O(∆t2)

Puisque u(x , t) = u0(x − at), on a ∂2t u = a2∂2x u, on peut écrire :

∂t unj + a∂x un

j =

(a∆x

2−

∆t

2

)∂2x un

j + O(∆x2) + O(∆t2)

En posant ν = a ∆t∆x

, on a :

∂t unj + a∂t un

j = a∆x1− ν2

∂2x unj + O(∆x2) + O(∆t2)

Le terme de droite est l’erreur commise par le schéma upwind, elle est d’ordre 1.Le terme a∆x 1−ν

2 ∂2x unj correspond à un opérateur de diffusion qui explique le

caractère très diffusif du schéma.

Marc Massot, Laurent Series Méthodes numériques avancées 14/25

Page 15: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma Lax-Wendroff

En discrétisant ∂2x unj à l’ordre 2 :

∂2x unj =

unj−1 − 2un

j + unj+1

∆x2

on obtient le schéma de Lax-Wendroff en retirant le terme d’erreur d’ordre 1 auschéma d’upwind :

un+1j = un

j − a∆t

∆x

(F 1

j − F 1j−1 +

1− ν2

(unj−1 − 2un

j + unj+1)

)soit :

un+1j = un

j − a∆t

∆x(F 2

j − F 2j−1)

avec F 2j = F 1

j +1− ν2

(unj+1 − un

j )

Le schéma de Lax-Wendroff est d’ordre 2 en temps et en espace et stable,consistant et convergent si :

a∆t

∆x< 1

Marc Massot, Laurent Series Méthodes numériques avancées 15/25

Page 16: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schémas d’ordre élevéV. Daru et C. Tenaud ont proposé une méthode(1) permettant d’obtenir des schémasd’ordre arbitrairement élevé p en généralisant le procédé pour construire le schéma deLax-Wendroff à partir du schéma d’upwind.

Les schémas s’écrivent :

un+1j = un

j − a∆t

∆x(F N

j+1/2 − F Nj−1/2)

Jusqu’à l’ordre 5, les flux(2) s’écrivent pour a > 0 :

F 1j−1/2 = un

j

F 2j+1/2 = F 1

j−1/2 + ν−12 (un

j − unj+1)

F 3j+1/2 = F 2

j+1/2 + ν−12

ν+13 (un

j−1 − 2unj + un

j+1)

F 4j+1/2 = F 3

j+1/2 + ν−12

ν+13

ν−24 (un

j−1 − 3unj + 3un

j+1 − uj+2)

F 5j+1/2 = F 4

j+1/2 + ν−12

ν+13

ν−24

ν+25 (uj+2 − 4un

j−1 − 6unj − 4un

j+1 − uj+2)

Ils sont d’ordre p en temps et en espace et stable, consistant et convergent si :

a∆t

∆x< 1

(1) V. Daru, C. Tenaud, High order one-step monotonicity-preserving schemes for unsteadycompressible flow calculations, J. Comput. Phys., 193 (2004), pp. 563–594

(2) S. Del Pino, H. Jourdren, Arbitrary high-order schemes for the linear advection and waveequations : application to hydrodynamics and aeroacoustics, CR Acad Sci Paris, Ser I 342 (2006)

Marc Massot, Laurent Series Méthodes numériques avancées 16/25

Page 17: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma d’ordre élevé : résultats numériques

discrétisation : dx = 2/1000 = 0.002

cfl = 0.8, t = 10

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−10

−5

0

5

10

solution exacte

ordre 1

ordre 2

ordre 3

ordre 4

ordre 5

Marc Massot, Laurent Series Méthodes numériques avancées 17/25

Page 18: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schéma d’ordre élevé : résultats numériques

discrétisation : dx = 2/1000 = 0.002

cfl = 0.8, t = 1000

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−10

−5

0

5

10

solution exacte

ordre 1

ordre 2

ordre 3

ordre 4

ordre 5

Marc Massot, Laurent Series Méthodes numériques avancées 18/25

Page 19: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schémas d’ordre élevé

L’interêt de ces schémas est qu’ils tirent parti de la localité spaciale ettemporelle.

→ Le coût de calcul n’augmente pas avec le nombre d’opérations flottantes.

Résultats obtenues (∆x = 2/1000, t = 1000 et cfl = 0.8) :

Ordre du Flop(1) pour le Temps Erreurschéma calcul de Fj+1/2 consommé (s) ||E∆x ||2

1 1 0.88 3.529140e + 002 3 1.2 3.775015e + 003 8 1.53 1.426789e − 014 14 2.45 5.814688e − 035 22 3.26 1.536888e − 046 31 4.12 6.873385e − 067 42 5.21 9.560619e − 07

(1) : Flop = Nombre d’opérations flottantes

Marc Massot, Laurent Series Méthodes numériques avancées 19/25

Page 20: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schémas d’ordre élevé

Temps relatif :Temps comsommé à l’ordre p

Temps comsommé à l’ordre 1

Flop relatif :Flop utilisés à l’ordre p

Flop utilisés à l’ordre 1

1 2 3 4 5 6 7

0

10

20

30

40

Ordre du schéma

Temps relatifFlop relatif

Marc Massot, Laurent Series Méthodes numériques avancées 20/25

Page 21: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schémas d’ordre élevé

L’utilisation de ces schémas peut permettre un gain en terme de temps derestitution

Pour obtenir un résultat avec une précision donnée, le schéma d’ordre p + 1 estplus rapide que le schéma d’ordre p

Résultats obtenues pour t = 1000 et cfl = 0.8 pour obtenir ||E∆x ||2 < 10−2 :

Ordre du Nombre de Temps Erreurschéma volumes Vi consommé (s) ||E∆x ||2

1 − − −2 − − −3 2000 10.71 9.963436e − 034 900 1.98 8.857296e − 035 450 0.67 8.169664e − 036 300 0.38 8.664257e − 037 215 0.25 9.190613e − 03

Marc Massot, Laurent Series Méthodes numériques avancées 21/25

Page 22: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Simulation numérique des infrasons

Sous certaines hypothèses (air considéré comme un gaz parfait, régimeisentropique), la propagation des ondes acoustiques infrasonores 1D peut-êtremodélisée par les équations d’Euler linéaires :

∂tp(x , t) + ρ0c20∂xu(x , t) = 0

∂tu(x , t) +1ρ0∂xp(x , t) = 0

(3)

où :

(u, p) sont des petites perturbations de la vitesse et de la pression de l’airautour d’un champ constant (u0, p0)

ρ0 la densité de l’air

c0 la vitesse du son

Marc Massot, Laurent Series Méthodes numériques avancées 22/25

Page 23: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Simulation numérique des infrasons

En posant : w1 = p + ρ0c0u et w2 = p − ρ0c0u, le système (3) peut s’écrire :{∂tw1(x , t) + c0 ∂xw2(x , t) = 0

∂tw2(x , t) + c0 ∂xw1(x , t) = 0(4)

Les deux équations du système (4) sont deux équations d’advection que l’onpeut résoudre par la méthode des volumes finis.

Après résolution du système (4), on calcule u et p via :u(x , t) =

12ρ0c0

(w1(x , t)− w2(x , t))

p(x , t) =12

(w1(x , t) + w2(x , t))

Marc Massot, Laurent Series Méthodes numériques avancées 23/25

Page 24: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Schémas d’ordre élevé : application

Caractéristiques des simulations des infrasons

La fréquence des infrasons est inférieure à 20Hz

Leur vitesse au sol est de l’ordre de 330m.s−1

Les domaines de calculs peuvent atteindre plusieurs milliers de km

→ necessité de schémas précis pour des temps "longs"

→ les schémas d’ordre élevé sont de bons candidats pour résoudre ces problèmes

Mise en œuvre

S. Del Pino, B. Després, P. Havé, H. Jourdren, P.F. Piserchia, 3D Finite Volumesimulation of acoustic waves in the earth atmosphere, Computers & Fluids 38 (2009)

Application au 3D (splitting directionnel)

Application au cas de vitesse d’advection non constante

Marc Massot, Laurent Series Méthodes numériques avancées 24/25

Page 25: Méthodes numériques avancées et HPC pour la simulation ...massot/AMS_MathMod_X02_web/...MéthodesnumériquesavancéesetHPCpourla simulationdephénomènescomplexes Schéma d’ordre

Références

Méthode des volumes finis

Randall J. LeVeque, F inite Volume Methods for Hyperbolic Problems,Cambridge University Press, 2002

Schéma d’ordre élevé

V. Daru, C. Tenaud, High order one-step monotonicity-preserving schemes forunsteady compressible flow calculations, J. Comput. Phys., 193 (2004), pp.563–594

S. Del Pino, H. Jourdren, Arbitrary high-order schemes for the linear advectionand wave equations : application to hydrodynamics and aeroacoustics, CR AcadSci Paris, Ser I 342 (2006)

S. Del Pino, B. Després, P. Havé, H. Jourdren, P.F. Piserchia, 3D Finite Volumesimulation of acoustic waves in the earth atmosphere, Computers & Fluids 38(2009)

Marc Massot, Laurent Series Méthodes numériques avancées 25/25