astronomie pour DEA
<-->
Liste des chapitres

Integrateur Numerique   (6/7)

Méthode à pas variable (Runge-Kutta 4)

Méthode à pas variable (Runge-Kutta 4)

La figure suivante nous montre l'intérêt du pas variable. figures/pasvariable2.png Idée : faire les calculs deux fois :
  • on calcul une première fois X(t+h) (noté X^((1))) à partir de x(t) par une méthode de Runge-Kutta 4 (RK4).
  • on recommence avec un pas h/2 en faisant deux fois le calcul : on calcul X(t+h/2) par RK4 à partir de x(t)  ; puis, par RK4 on calcule X(t+h) (noté X^((2))) à partir de X(t+h/2)
X^((2))sera donc plus précis.
  • Si le pas h est trop grand, c'est à dire que X^((1)) est fort différent de X^((2)): Delta*X= | X^((1))-X^((2))*| > precision demandée
    Alors, on diminue le pas et on recommence cette étape.
  • Si le pas h est adapté, c'est à dire Delta*X= | X^((1))-X^((2))*| <= precision demandée
    Alors, on passe à l'étape suivante et la prochaine fois, le pas sera augmenté.
C'est de cette façon que se fait l'adaptation du pas.


Nous allons maintenant donner et démontrer l'équation pour l'adaptation du pas :
h_0 = h * (E_0/E_r)^(1/5) * 0.9
  • h_0 est le nouveau pas,
  • equations_integrateur_numerique/equation30.png est le pas précédemment calculé,
  • E_r est l'erreur en objectif,
  • E_o est l'erreur réalisée.

Démonstration

Écrivons l'équation de RK4 : X(t+h) =X(t) + (h/6)*(k_1 +2*k_2 + 2* k_3 +k_4)  +thetasym*((k^5))
que nous écrivons : X(t+h)  ~=  X(t) + Kappa*X + c h^5
c ne varie pas beaucoup.
L'erreur réalisée est E_r = c h^5 et l'erreur objectif est E_o = c h_o^5.
En combinant les deux équations précédentes, nous obtenons : h_0 = h * (E_0/E_r)^(1/5).
Pour se garder une marge d'erreur, nous multiplions ce résultat par 0.9.


page précédentepage suivante