Intégration Numérique

On montre sur la figure ci-dessous comment fonctionne la méthode d'intégration numérique Runge Kutta d'ordre 4 dans le cas intégrable du mouvement képlérien. Rappelons le formulaire pour un système différentiel :

dy/dt = f(t, y)
où y  est un vecteur. Partant d'une valeur y(to), on détermine  y(to+h)  par l'algorithme :
k0 = h f(to, y(to))
k1 = h f(to+h/2, y(to) + k0/2)
k2 = h f(to+h/2, y(to) + k1/2)
k3 = h f(to + h, y(to) + k2)
y(to+h) = y(to) + (k0 + 2 k1 + 2 k2 + k3) / 6  + O(h5)

Dans le cas du mouvement képlérien d'un point  P  attiré par un centre  S  avec une constante d'attraction  m , on a les équations vectorielles:

d V / dt = - m / r2 u = A(r)
d r / dt =  V
où   V  le vecteur vitesse de  P  et  r  le vecteur  SP de norme  r  et de vecteur unitaire  u .

Le schéma de Runge Kutta s'organise alors ainsi, à partir de valeurs initiales  ro  et  Và  t = to :

v0 = h A(ro)
r0 = h Vo
v1 = h A(ro + r0 /2)
r1 = h (Vo + v0 / 2)
v2 = h A(ro + r1 /2)
r2 = h (Vo + v1 / 2)
v3 = h A(ro + r2 )
r3 = h (Vo + v2 )

V(to+h) = Vo + (v0 + 2 v1 + 2 v2 + v3) /6
r(to+h) = ro + (r0 + 2 r1 + 2 r2 + r3) /6

La figure suivante présente ce schéma d'intégration sous forme géométrique, où l'on peut visualiser la précision de cette méthode en variant le pas h de l'intégration, et en variant les conditions initiales et la nature de la conique solution de ce problème képlérien.
Remarque : la construction RK4  n'a été réalisée ci-dessous que pour le cas elliptique

La solution initiale (orbite képlérienne) est représentée en utilisant la "macro-instruction" dessinant l'orbite correspondant à des conditions initiales de position et de vitesse; cette même "macro-instruction" permet de dessiner l'orbite à partir de la position et de la vitesse au bout d'un pas d'intégration. Ces deux orbites devraient être confondues si l'intégration était parfaite. On peut visualiser la précision de la méthode Rk4 sur un pas en comparant ces orbites lorsqu'on varie le pas  h  ou la position initiale Po, ou en changeant d'orbite en déplaçant les points  Pm ou Vm.

La construction précédente peut servir à créer une macro-instruction qui, partant d'une position Po et une vitesse Vo à un instant to, donne la position et la vitesse à l'instant  to+h. En appliquant itérativement cette macro-instruction, on peut progresser dans l'intégration. On présente ci-dessous le résultat d'une telle intégration entre  to  et  to+100h; les  10 premiers pas sont effectués un par un (pas h), puis on a utilisé ces 10 premiers pas pour définir une nouvelle macro-instruction permettant de progresser de  10h  pour ensuite l'appliquer 9 fois jusqu'à aboutir à  to+100h. On peut sur cette figure changer le pas h (déplacer le point h), ou changer de conditions initiales en déplaçant les points  Po  ou Vo.  Cependant, à cause du volume de calculs, l'appliquette Java est assez lente à réagir au déplacement de ces points: Il faut maintenir appuyé le bouton gauche de la souris suffisamment longtemps sur le point que l'on veut déplacer avant de voir le résultat de ce déplacement, et ensuite, tant qu'on maintient ce bouton appuyé, la figure "réagit" relativement rapidement.

Ici encore, on présente l'orbite solution des conditions initiales et celle obtenue avec les position et vitesse à to+100h.
Remarque : Cette intégration sur 100 pas par la méthode RK4  fonctionne dans tous les cas (elliptique et hyperbolique, en mouvement direct ou rétrograde, avec un pas positif ou négatif).
 

LucDuriez