Méthode d'Euler semi-implicite

En mathématiques, la méthode d'Euler semi-implicite, également connue sous le nom de méthode d'Euler symplectique, méthode d'Euler semi-explicite, Euler–Cromer, et Newton–Størmer–Verlet (NSV), est une variante de la méthode d'Euler initialement conçue pour résoudre les équations de la mécanique hamiltonienne, un système d'équations différentielles ordinaires apparaissant en mécanique newtonienne.

Position du problème

La méthode d'Euler semi-implicite peut être appliquée à une paire d'équations différentielles couplées de la forme

t I , d x ( t ) d t = f ( t , v ( t ) ) ,   d v ( t ) d t = g ( t , x ( t ) ) {\displaystyle \forall t\in I,{\mathrm {d} x(t) \over \mathrm {d} t}=f(t,v(t)),\ {\mathrm {d} v(t) \over \mathrm {d} t}=g(t,x(t))}

I R + {\displaystyle I\subset \mathbb {R} ^{+}} , et f   {\displaystyle f\ } , g   {\displaystyle g\ } sont des fonctions réelles sur I × R {\displaystyle I\times \mathbb {R} } . x   {\displaystyle x\ } et v   {\displaystyle v\ } peuvent être des fonctions scalaires ou vectorielles.

On souhaite résoudre ce système d'équations avec les conditions initiales :

x ( t 0 ) = x 0 , v ( t 0 ) = v 0 . {\displaystyle x(t_{0})=x_{0},\qquad v(t_{0})=v_{0}.}

Méthode

La méthode d'Euler semi-implicite donne une solution approchée discrète du problème continu précédent par itérations de

v n + 1 = v n + g ( t n , x n ) Δ t x n + 1 = x n + f ( t n , v n + 1 ) Δ t {\displaystyle {\begin{aligned}v_{n+1}&=v_{n}+g(t_{n},x_{n})\,\Delta t\\[0.3em]x_{n+1}&=x_{n}+f(t_{n},v_{n+1})\,\Delta t\end{aligned}}}

[ t 0 , . . . , t N ] {\displaystyle [t_{0},...,t_{N}]} est une subdivision de I {\displaystyle I} telle que n [ 1 , N ] , t n t n 1 = Δ t {\displaystyle \forall n\in [1,N],t_{n}-t_{n-1}=\Delta t} et ainsi t n = t 0 + n Δ t {\displaystyle t_{n}=t_{0}+n\Delta t} .

Cette méthode est rendue semi-implicite par le fait d'utiliser v n + 1 {\displaystyle v_{n+1}} et non v n {\displaystyle v_{n}} (cas de la méthode d'Euler explicite) dans le calcul de mise à jour de x n + 1 {\displaystyle x_{n+1}} .

Appliquer la même méthode avec des pas de temps négatifs pour le calcul de ( x n , v n ) {\displaystyle (x_{n},v_{n})} d'après ( x n + 1 , v n + 1 ) {\displaystyle (x_{n+1},v_{n+1})} donne après réarrangement des termes la seconde expression de la méthode d'Euler semi-implicite :

x n + 1 = x n + f ( t n , v n ) Δ t v n + 1 = v n + g ( t n , x n + 1 ) Δ t {\displaystyle {\begin{aligned}x_{n+1}&=x_{n}+f(t_{n},v_{n})\,\Delta t\\[0.3em]v_{n+1}&=v_{n}+g(t_{n},x_{n+1})\,\Delta t\end{aligned}}}

La méthode d'Euler semi-implicite est, comme la méthode d'Euler explicite, un schéma d'ordre 1 de résolution numérique des équations différentielles.

Exemple

Le mouvement d'une poutre vérifiant la loi de Hooke est donnée par :

d x d t = v ( t ) d v d t = k m x = ω 2 x . {\displaystyle {\begin{aligned}{\frac {\mathrm {d} x}{\mathrm {d} t}}&=v(t)\\[0.2em]{\frac {\mathrm {d} v}{\mathrm {d} t}}&=-{\frac {k}{m}}\,x=-\omega ^{2}\,x.\end{aligned}}}

Le schéma d'Euler semi-implicite pour cette équation s'écrit alors

v n + 1 = v n ω 2 x n Δ t x n + 1 = x n + v n + 1 Δ t . {\displaystyle {\begin{aligned}v_{n+1}&=v_{n}-\omega ^{2}\,x_{n}\,\Delta t\\[0.2em]x_{n+1}&=x_{n}+v_{n+1}\,\Delta t.\end{aligned}}}

En substituant v n + 1 {\displaystyle v_{n+1}} dans la deuxième équation par l'expression donnée par la première, le schéma itératif se réécrit comme un système d'équations :

[ x n + 1 v n + 1 ] = [ 1 ω 2 Δ t 2 Δ t ω 2 Δ t 1 ] [ x n v n ] , {\displaystyle {\begin{bmatrix}x_{n+1}\\v_{n+1}\end{bmatrix}}={\begin{bmatrix}1-\omega ^{2}\Delta t^{2}&\Delta t\\-\omega ^{2}\Delta t&1\end{bmatrix}}{\begin{bmatrix}x_{n}\\v_{n}\end{bmatrix}},}

et comme le déterminant de cette matrice vaut 1, la transformation préserve les distances.

Ce schéma itératif conserve la fonctionnelle énergie modifiée E h ( x , v ) = 1 2 ( v 2 + ω 2 x 2 ω 2 Δ t v x ) {\displaystyle E_{h}(x,v)={\tfrac {1}{2}}\left(v^{2}+\omega ^{2}\,x^{2}-\omega ^{2}\Delta t\,vx\right)} , ce qui donne des orbites périodiques stables (pour des pas suffisamment petits) qui dévient en O ( Δ t ) {\displaystyle O(\Delta t)} des orbites exactes. La fréquence circulaire exacte ω {\displaystyle \omega } augmente numériquement d'un facteur de 1 + 1 24 ω 2 Δ t 2 + O ( Δ t 4 ) {\displaystyle 1+{\tfrac {1}{24}}\omega ^{2}\Delta t^{2}+O(\Delta t^{4})} .

Références

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Semi-implicit Euler method » (voir la liste des auteurs).

Bibliographie

  • (en) Branislav K. Nikolic, « Euler-Cromer method », University of Delaware (consulté le )
  • (en) Franz J. Vesely, Computational Physics: An Introduction, Springer, , 117 (ISBN 978-0-306-46631-1, lire en ligne Accès limité)
  • (en) Nicholas J. Giordano et Hisao Nakanishi, Computational Physics, Benjamin Cummings, (ISBN 0-13-146990-8)
v · m
Recherche de zéro
Transformations de matrice
Résolutions de systèmes
Intégration numérique
Équations différentielles
Interpolation numérique
  • icône décorative Portail des mathématiques