Schéma de Lax-Friedrichs
# Schéma de Lax-Friedrichs

Le schéma de Lax–Friedrichs, d'après Peter Lax et Kurt Friedrichs, 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. Cette technique repose sur l'utilisation de différence finie décentrée en temps et centrée en espace. On peut considérer le schéma de Lax–Friedrichs comme une alternative au schéma de Godunov, où l'on évite de résoudre un problème de Riemann à chaque interface de la cellule, au prix d'ajouter de la viscosité artificielle.

## Illustration sur un problème linéaire

Considérons l'équation d'advection linéaire en dimension 1 d'espace et de temps, dont une solution u(x,t) doit vérifier : $(1)\qquad u_{t}+au_{x}=0\,$ sur le domaine $b\leq x\leq c,\;0\leq t\leq d$ avec la condition initiale $u(x,0)=u_{0}(x)\,$ et les conditions de bords $u(b,t)=u_{b}(t)\,$ $u(c,t)=u_{c}(t).\,$

La solution exacte de l'équation d'advection au temps $t\geqslant 0$ est $(2)\qquad u(x,t)=u_{0}(x-at)$

La méthode des différences finies consiste à chercher une solution discrète définie sur les points de coordonnées $(x_{i},t^{n})=(b+i\,\Delta x,n\,\Delta t)\ {\text{ pour }}\ i=0,\ldots ,N,\,n=0,\ldots ,M,$ avec $N={\frac {c-b}{\Delta x}},\,M={\frac {d}{\Delta t}}$

On recherche alors la solution discrète $u_{i}^{n}\approx u(x_{i},t^{n})$

Le schéma de Lax–Friedrichs appliqué à l'équation d'advection donne : $(3)\qquad {\frac {u_{i}^{n+1}-{\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})}{\Delta t}}+a{\frac {u_{i+1}^{n}-u_{i-1}^{n}}{2\,\Delta x}}=0.$

On obtient alors de manière explicite l'inconnue $u_i^{n+1}$ : $(4)\qquad u_{i}^{n+1}={\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})-a{\frac {\Delta t}{2\,\Delta x}}(u_{i+1}^{n}-u_{i-1}^{n})\,$ ce qui constitue ainsi le schéma de Lax-Friedrichs, complété par la condition initiale et les conditions de bord : $u_{i}^{0}=u_{0}(x_{i})$ $u_{0}^{n}=u_{b}(t^{n})$ $u_{N}^{n}=u_{c}(t^{n}).$

Une propriété remarquable de ce schéma est qu'il découple les points « pairs » (i.e. $u_i^n$ avec i pair) et « impairs » ce qui n'est pas « naturel » car les valeurs $u_i^n$ et $u_{i+1}^n$ devraient a priori suivre des évolutions voisines (pour une solution u régulière).

## Extensions aux problèmes non linéaires

Un système hyperbolique de lois de conservation à une dimension d'espace est défini par $u_{t}+(f(u))_{x}=0$ où $f$ est appelé fonction de flux.

Dans le cas particulier où $f(u)=au$, on retrouve un problème linéaire scalaire. Dans le cas général, $u$ est un vecteur ayant $m$ composantes. La généralisation du schéma de Lax-Friedrichs aux systèmes non linéaires prend la forme $u_{i}^{n+1}={\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})-{\frac {\Delta t}{2\,\Delta x}}(f(u_{i+1}^{n})-f(u_{i-1}^{n})).$

Ce schéma conservatif est d'ordre 1 en espace et en temps, et donc assez diffusif. On peut en revanche l'utiliser pour construire des schémas d'ordre supérieur pour résoudre des systèmes d'équations aux dérivées partielles hyperbolique, de la même façon que la méthode d'Euler sert à construire les méthodes de type Runge-Kutta plus précises pour la résolution des équations différentielles ordinaires.

Ce schéma peut être écrit sous sa forme conservative : $u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left({\hat {f}}_{i+1/2}^{n}-{\hat {f}}_{i-1/2}^{n}\right),$ où ${\hat {f}}_{i-1/2}^{n}={\frac {1}{2}}\left(f_{i-1}+f_{i}\right)-{\frac {\Delta x}{2\Delta t}}\left(u_{i}^{n}-u_{i-1}^{n}\right).$

En l'absence des termes $u_{i}^{n}$ et $u_{i-1}^{n}$ dans le flux discret, ${\hat {f}}_{i-1/2}^{n}$, on retrouve le schéma explicite centré instable.

## Stabilité et précision numérique

Le schéma de Lax-Friedrichs est explicite et d' ordre 1 en espace et en temps. Pour cette raison, il n'est pas beaucoup utilisé en pratique mais il sert d'exemple pour illustrer l'étude de la stabilité de Von Neumann d'un schéma numérique.

Le schéma de Lax-Friedrichs est stable pourvu que la condition suivante soit satisfaite : $\left|a{\frac {\Delta t}{\Delta x}}\right|\leq 1.$

En réarrangeant les termes de l'équation (3) on obtient : $(5)\qquad {\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}+a{\frac {u_{i+1}^{n}-u_{i-1}^{n}}{2\Delta x}}={\frac {\Delta x^{2}}{2\Delta t}}{\frac {u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}}{\Delta x^{2}}}$

Sous cette forme, le schéma ressemble à un schéma de discrétisation de l'équation d'avection-diffusion : $u_{t}+au_{x}=\epsilon u_{xx}$ avec $\epsilon =\Delta x^{2}/2\Delta t$, et illustre ainsi le caractère diffusif du schéma et le concept de viscosité artificielle.

Une analyse plus rigoureuse consiste à injecter dans l'équation du schéma numérique les développements de Taylor de la fonction $u$ aux points utilisés par le schéma; on obtient alors l'erreur de troncature locale : ${\begin{aligned}{\frac {u_{i}^{n+1}-{\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})}{\Delta t}}+a{\frac {u_{i+1}^{n}-u_{i-1}^{n}}{2\,\Delta x}}=&\left({\frac {\partial u}{\partial t}}+a{\frac {\partial u}{\partial x}}\right)+{\frac {\Delta t}{2}}{\frac {\partial ^{2}u}{\partial t^{2}}}-{\frac {\Delta x^{2}}{2\Delta t}}{\frac {\partial ^{2}u}{\partial x^{2}}}+\ldots \\=&{\frac {\Delta t}{2}}\left(a^{2}-{\frac {\Delta x^{2}}{\Delta t^{2}}}\right){\frac {\partial ^{2}u}{\partial x^{2}}}+O(\Delta t^{2}),\end{aligned}}$ ce qui démontre au passage l'ordre 1 en temps et en espace (en ayant fixé $\Delta x/\Delta t$) et que le schéma de Lax-Friedrichs fournit une approximation de l'équation modifiée de type advection-diffusion $u_{t}+au_{x}=\epsilon _{LF}u_{xx}$ avec $\epsilon _{LF}={\frac {a\Delta x}{2c}}(1-c^{2})$ et $c=a{\frac {\Delta t}{\Delta x}}$.

Le caractère diffusif et dispersif de plusieurs schémas numériques (dont Lax-Friedrichs) est illustré sur la figure de droite.

