title: Schéma de Lax-Wendroff
text: # Schéma de Lax-Wendroff
  
  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 :
  
      ${\frac {\partial u(x,t)}{\partial t}}+{\frac {\partial f(u(x,t))}{\partial x}}=0\,$
  
  où 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,
  
      $u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{2\Delta x}}A\left[u_{i+1}^{n}-u_{i-1}^{n}\right]+{\frac {\Delta t^{2}}{2\Delta x^{2}}}A^{2}\left[u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}\right].$
  
  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)={\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}-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i+1}^{n})-f(u_{i-1}^{n})\right]+{\frac {\Delta t^{2}}{2\Delta x^{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].$
  
  où $A_{i\pm 1/2}$ désigne les matrices jacobiennes évaluées pour les états ${\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(x, t)) pour un demi pas de temps, $t_{n+1/2},$ et en prenant les points $x_{i+1/2}$ situés aux interfaces entre deux cellules du maillage. Dans un deuxième temps, les valeurs au temps $t_{n+1}$ sont calculées en utilisant celles aux temps $t_n$ et $t_{n+1/2}.$
  
  Première étape (Lax) :
  
      $u_{i+1/2}^{n+1/2}={\frac {1}{2}}(u_{i+1}^{n}+u_{i}^{n})-{\frac {\Delta t}{2\,\Delta x}}(f(u_{i+1}^{n})-f(u_{i}^{n})),$
      $u_{i-1/2}^{n+1/2}={\frac {1}{2}}(u_{i}^{n}+u_{i-1}^{n})-{\frac {\Delta t}{2\,\Delta x}}(f(u_{i}^{n})-f(u_{i-1}^{n})).$
  
  Deuxième étape :
  
      $u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\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}-{\frac {\Delta t}{\Delta x}}(f(u_{i+1}^{n})-f(u_{i}^{n})).$
  * Deuxième étape :
  
      $u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i}^{*})-f(u_{i-1}^{*})\right].$
  
  ### Alternative
  
  * Première étape :
  
      $u_{i}^{*}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}(f(u_{i}^{n})-f(u_{i-1}^{n})).$
  * Deuxième étape :
  
      $u_{i}^{n+1}={\frac {1}{2}}(u_{i}^{n}+u_{i}^{*})-{\frac {\Delta t}{2\Delta x}}\left[f(u_{i+1}^{*})-f(u_{i}^{*})\right].$
  