Schéma de Lax-Wendroff

Cet article est une ébauche concernant l’analyse.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Comparaison de solutions numériques de l'équation d'advection linéaire en dimension 1 d'espace et temps obtenues par les schémas de Lax-Friedrichs, Lax-Wendroff, Leapfrog et Upwind. La courbe en noir représente la solution exacte.

Le schéma de Lax–Wendroff, d'après Peter Lax et Burton Wendroff, est défini en analyse numérique comme une technique de résolution numérique des équations aux dérivées partielles de type hyperbolique, basée sur la méthode des différences finies. Ce schéma est d'ordre 2 à la fois en espace et en temps.

Formulation

Considérons l'équation d'advection en dimension 1 d'espace et temps :

u ( x , t ) t + f ( u ( x , t ) ) x = 0 {\displaystyle {\frac {\partial u(x,t)}{\partial t}}+{\frac {\partial f(u(x,t))}{\partial x}}=0\,}

x et t sont des variables indépendantes, et u(x, 0) est l'état initial connu.

Dans le cas linéaire, on a par définition f(u) = Au , avec A une constante[1],

u i n + 1 = u i n λ 2 A [ u i + 1 n u i 1 n ] + λ 2 2 A 2 [ u i + 1 n 2 u i n + u i 1 n ] . {\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\lambda }{2}}A\left[u_{i+1}^{n}-u_{i-1}^{n}\right]+{\frac {\lambda ^{2}}{2}}A^{2}\left[u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}\right].}

Avec λ = Δ t Δ x {\displaystyle \lambda ={\frac {\Delta t}{\Delta x}}} , le facteur de discrétisation.

Ce schéma linéaire peut être étendu au cas général, non linéaire de multiples façons. L'une d'entre elles consiste à ré-écrire A(u) sous la forme

A ( u ) = f ( u ) = f u {\displaystyle A(u)=f'(u)={\frac {\partial f}{\partial u}}}

On obtient alors la formulation conservative du schéma de Lax-Wendroff dans le cas général non-linéaire :

u i n + 1 = u i n λ 2 [ f ( u i + 1 n ) f ( u i 1 n ) ] + λ 2 2 [ A i + 1 / 2 ( f ( u i + 1 n ) f ( u i n ) ) A i 1 / 2 ( f ( u i n ) f ( u i 1 n ) ) ] . {\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\lambda }{2}}\left[f(u_{i+1}^{n})-f(u_{i-1}^{n})\right]+{\frac {\lambda ^{2}}{2}}\left[A_{i+1/2}\left(f(u_{i+1}^{n})-f(u_{i}^{n})\right)-A_{i-1/2}\left(f(u_{i}^{n})-f(u_{i-1}^{n})\right)\right].}

A i ± 1 / 2 {\displaystyle A_{i\pm 1/2}} désigne les matrices jacobiennes évaluées pour les états 1 2 ( U i n + U i ± 1 n ) {\displaystyle {\frac {1}{2}}(U_{i}^{n}+U_{i\pm 1}^{n})} .

Méthode de Richtmyer

Afin d'éviter le calcul de cette matrice jacobienne, on peut procéder en deux étapes. Dans ce qui suit, on présente la méthode dite de Richtmyer, constituée de deux étapes. Dans un premier temps, on calcule f(u(xt)) pour un demi pas de temps, tn + 1/2, et en prenant les points xi + 1/2 situés aux interfaces entre deux cellules du maillage. Dans un deuxième temps, les valeurs au temps tn + 1 sont calculées en utilisant celles aux temps tn et tn + 1/2.

Première étape (Lax) :

u i + 1 / 2 n + 1 / 2 = 1 2 ( u i + 1 n + u i n ) λ 2 ( f ( u i + 1 n ) f ( u i n ) ) , {\displaystyle u_{i+1/2}^{n+1/2}={\frac {1}{2}}(u_{i+1}^{n}+u_{i}^{n})-{\frac {\lambda }{2}}(f(u_{i+1}^{n})-f(u_{i}^{n})),}
u i 1 / 2 n + 1 / 2 = 1 2 ( u i n + u i 1 n ) λ 2 ( f ( u i n ) f ( u i 1 n ) ) . {\displaystyle u_{i-1/2}^{n+1/2}={\frac {1}{2}}(u_{i}^{n}+u_{i-1}^{n})-{\frac {\lambda }{2}}(f(u_{i}^{n})-f(u_{i-1}^{n})).}

Deuxième étape :

u i n + 1 = u i n λ [ f ( u i + 1 / 2 n + 1 / 2 ) f ( u i 1 / 2 n + 1 / 2 ) ] . {\displaystyle u_{i}^{n+1}=u_{i}^{n}-\lambda \left[f(u_{i+1/2}^{n+1/2})-f(u_{i-1/2}^{n+1/2})\right].}
Méthode de MacCormack

Une autre méthode voisine a été proposée par MacCormack, consistant à utiliser d'abord une différence finie décentrée amont, puis une autre décentrée aval :

  • Première étape :
u i = u i n λ ( f ( u i + 1 n ) f ( u i n ) ) . {\displaystyle u_{i}^{*}=u_{i}^{n}-\lambda (f(u_{i+1}^{n})-f(u_{i}^{n})).}
  • Deuxième étape :
u i n + 1 = 1 2 ( u i n + u i ) λ 2 [ f ( u i ) f ( u i 1 ) ] . {\displaystyle u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\lambda }{2}}\left[f(u_{i}^{*})-f(u_{i-1}^{*})\right].}
Alternative
  • Première étape :
u i = u i n λ ( f ( u i n ) f ( u i 1 n ) ) . {\displaystyle u_{i}^{*}=u_{i}^{n}-\lambda (f(u_{i}^{n})-f(u_{i-1}^{n})).}
  • Deuxième étape :
u i n + 1 = 1 2 ( u i n + u i ) λ 2 [ f ( u i + 1 ) f ( u i ) ] . {\displaystyle u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\lambda }{2}}\left[f(u_{i+1}^{*})-f(u_{i}^{*})\right].}

Références

  1. (en) Randy J. LeVeque, Numerical Methods for Conservation Laws, Birkhauser Verlag, , p. 125
  • (en) P.D Lax et B. Wendroff, « Systems of conservation laws », Commun. Pure Appl Math., vol. 13, no 2,‎ , p. 217–237 (DOI 10.1002/cpa.3160130205)
  • Michael J. Thompson, An Introduction to Astrophysical Fluid Dynamics, Imperial College Press, London, 2006.
  • (en) WH Press, SA Teukolsky, WT Vetterling et BP Flannery, Numerical Recipes : The Art of Scientific Computing, New York, Cambridge University Press, , 3e éd., 1235 p. (ISBN 978-0-521-88068-8, lire en ligne), « Section 20.1. Flux Conservative Initial Value Problems », p. 1040

Voir aussi

v · m
Équations aux dérivées partielles - Méthodes numériques
Différences finies
Parabolique
Hyperbolique
Autres
  • Directions alternées implicites
  • Différences finies en domaine temporel (FDTD)
Volumes finis
  • Godunov
  • Haute résolution
  • Monotone décentré amont (MUSCL)
  • Advection upstream-splitting (AUSM)
  • solveur de Riemann
Élements finis
Méthodes sans grilles
Décomposition de domaine
  • Complément de Schur
  • Domaine fictif
  • Schwarz alterné
    • additive
    • additive abstraite
  • Neumann–Dirichlet
  • Neumann–Neumann
  • Opérateur de Poincaré–Steklov
  • Méthode de décomposition de domaine équilibrée
  • Méthode de décomposition de domaine équilibrée par contraintes
  • FETI
  • FETI-DP
Autres
  • icône décorative Portail de l'analyse