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

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[1],
![{\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].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2dc65d0a247363d24a474c7a3bb5463c1afbac3b)
Avec
, 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

On obtient alors la formulation conservative du schéma de Lax-Wendroff dans le cas général non-linéaire :
![{\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].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/049659024dca562c87c9d4ae19833086cec32dd2)
où
désigne les matrices jacobiennes évaluées pour les états
.
- 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, 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) :


Deuxième étape :
![{\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].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2144fc050f955d46984a0d89ae630e33b67193ba)
- 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 :

![{\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].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2d2f45096594c32442b8f378483c5ccb868bbcf5)
- Alternative

![{\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].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/21d43ce3d9823234ce527c793437457049260cd7)