title: Schéma de Godounov
text: # Schéma de Godounov
  
  En analyse numérique, le schéma de Godounov est un schéma numérique conservatif, suggéré par Sergueï Godounov en 1959 pour la résolution numérique d'équations aux dérivées partielles. Ce schéma fonctionne comme une méthode des volumes finis pour la résolution de problèmes de Riemann exacte ou approchée entre chaque cellule. Sa forme la plus simple est d'ordre 1 en espace et en temps mais peut être étendue à des méthodes d'ordres plus élevés.
  
  ## Schéma de base
  
  En utilisant la méthode des volumes finis, on définit les inconnues comme :
  
      $Q_{i}^{n}={\frac {1}{\Delta x}}\int _{x_{i-1/2}}^{x_{i+1/2}}q(t^{n},x)\,dx$
  
  où les $x_{i}=x_{\text{low}}+\left(i-1/2\right)\Delta x$ et $t^{n}=n\Delta t$ forment un ensemble discret de points pour le problème hyperbolique :
  
      ${\frac {\partial q}{\partial t}}+{\frac {\partial f(q)}{\partial x}}=0.$
  
  En intégrant le problème sur un volume $[x_{i-1/2},x_{i+1/2}],$ nous obtenons une version de la méthode des lignes pour les moyennes spatiales par cellule :
  
      ${\frac {\partial }{\partial t}}Q_{i}(t)=-{\frac {1}{\Delta x}}\left(f(q(t,x_{i+1/2}))-f(q(t,x_{i-1/2}))\right),$
  
  ce qui correspond à un schéma semi-discret volumes finis décentré du premier ordre.
  
  L'intégration en temps de la formule précédente entre $t=t^{n}$ et $t=t^{n+1}$ donne la formule (exacte) de mise à jour :
  
      $Q_{i}^{n+1}=Q_{i}^{n}-{\frac {1}{\Delta x}}\int _{t^{n}}^{t^{n+1}}\left(f(q(t,x_{i+1/2}))-f(q(t,x_{i-1/2}))\right)\,dt.$
  
  La méthode de Godunov consiste à remplacer l'intégrale en temps pour chaque terme
  
      $\int _{t^{n}}^{t^{n+1}}f(q(t,x_{i-1/2}))\,dt$
  
  par une méthode d'Euler explicite, donnant ainsi un schéma totalement discret pour tous les $Q_{i}^{n}$. Les intégrales sont donc calculées par
  
      $\int _{t^{n}}^{t^{n+1}}f(q(t,x_{i-1/2}))\,dt\approx \Delta tf^{\downarrow }\left(Q_{i-1}^{n},Q_{i}^{n}\right),$
  
  avec $f^{\downarrow }\left(q_{l},q_{r}\right)$ une approximation de la solution exacte du problème de Riemann.
  
  Pour la consistance, supposons que :
  
      $f^{\downarrow }(q_{l},q_{r})=f(q_{l})\quad {\text{ si }}\quad q_{l}=q_{r},$
  
  et que $f^{\downarrow }$ est croissante pour la première inconnue, décroissante pour la seconde. Pour les problèmes scalaires tels que $f'(q)>0$, on peut utiliser le schéma décentré amont, qui pose $f^{\downarrow }(q_{l},q_{r})=f(q_{l})$.
  
  Le schéma de Godunov complet nécessite la définition d'une approximation, ou une résolution exacte de Riemann, mais dans sa forme simple, est donné par :
  
      $Q_{i}^{n+1}=Q_{i}^{n}-\lambda \left({\hat {f}}_{i+1/2}^{n}-{\hat {f}}_{i-1/2}^{n}\right),\quad \lambda ={\frac {\Delta t}{\Delta x}},\quad {\hat {f}}_{i-1/2}^{n}=f^{\downarrow }\left(Q_{i-1}^{n},Q_{i}^{n}\right)$
  
  ## Problème linéaire
  
  Dans le cas d'un problème linéaire, soit $f(q)=aq$, sans perte de généralité, on peut supposer que $a>0$, et alors le schéma de Godunov devient :
  
      $Q_{i}^{n+1}=Q_{i}^{n}-\nu \left(Q_{i}^{n}-Q_{i-1}^{n}\right),\quad \nu =a{\frac {\Delta t}{\Delta x}},$
  
  qui donne le schéma volume finis classique décentré du premier ordre, stable sous la condition $\nu =\left|a{\frac {\Delta t}{\Delta x}}\right|\leq 1$.
  
  ## Algorithme en trois étapes
  
  Le schéma se résume à trois étapes de calcul pour obtenir la solution au temps $t=(n+1)\Delta t\,$ à partir de la solution à ${t=n\Delta t}\,$, décrites comme suit :
  
  * Définir une approximation constante par morceaux de la solution à ${t=(n+1)\Delta t}\,$. Dans le sens où chaque valeur sera la moyenne de la solution sur chaque cellule de taille ${\Delta x}\,$, l'erreur spatiale sera de l'ordre de ce pas ${\Delta x}\,$, impliquant que le schéma est du premier ordre en temps. Cette approximation est bien celle obtenue par une approximation par la méthode des volumes finis où les valeurs discrètes sont les moyennes des variables d'état sur chaque cellule. Les relations exactes se retrouvent par les lois de conservations intégrales.
  * Obtenir la solution du problème de Riemann local aux interfaces des cellules. Il s'agit du seul calcul physique du problème. Les discontinuités aux interfaces sont résolues par superposition d'ondes satisfaisant localement les équations de conservation. Si le schéma original de Godunov est basée sur une résolution exacte des problèmes de Riemann, des solutions approchées peuvent être utilisées.
  * Moyenner les variables d'état après un intervalle de temps ${\Delta t}\,$. Les variables d'état obtenues par l'étape 2 sont moyennées sur chaque cellule, définissant ainsi une nouvelle approximation constante par morceaux résultant de la propagation de l'onde pendant ${\Delta t}\,$. Pour être consistant, l'intervalle de temps ${\Delta t}\,$ doit être limité de façon que les ondes émanant d'une interface n'interagissent pas avec les ondes des interfaces adjacentes, sinon ces problèmes de Riemann vont interagir et s'influencer les uns les autres. Il vient ainsi la condition CFL $|a_{\max }|\Delta t<\Delta x/2\,$ où $|a_{\max }|\,$ est la vitesse d'onde maximum obtenue par le calcul de la valeur propre maximale de la matrice jacobienne locale de la cellule.
  
  Les étapes 1 et 3 sont purement numériques et peuvent être vues comme une étape de projection, indépendant de la deuxième, qui est l'étape d'évolution. Ainsi, elles peuvent être modifiées sans conséquence sur l'étape physique. On peut ainsi utiliser à la place d'approximations constantes par morceaux, des approximations linéaires par morceaux, ce qui donne un schéma de second ordre en espace, comme le schéma MUSCL.
  
  