Examen janvier 2005

version pdf de l'énoncé

Dynamique à trois corps

Examen de Méthodes Numériques (ph404) janvier 2006

documents autorisés: notes de cours, site http://www.pmmh.espci.fr/~daerr/ph404/

temps: 2 heures

bon courage!

Notes:Vous devez imprimer les programmes et graphiques que vous créez. Si toutefois vous n'y parvenez pas (en cas de panne d'imprimante par exemple), prevoyez de sauvegarder tous les fichiers (programmes, graphiques, ...) dans un répertoire que vous archivez à la fin de l'examen avec la commande tar (voir doc Unix). Cette archive, vous pouvez soit nous l'envoyer par courrier électronique (en pièce jointe), soit la déposer par ftp sur la machine ftp.espci.fr (user: anonymous, mot de passe: toto) dans le repertoire /incoming/ph404, soit encore la copier dans /home/profs/adrian/ex2006/

Introduction

[plus de détails c.f. TD9 ou ce site Web]

Nous allons considérer le mouvement d'un petit corps P dans le champ gravitationnel créé par deux corps plus lourds S et J (p.ex. Soleil et Jupiter). Notons μ=mJ/mS=0.001 le rapport des masses de J et S. La masse de P est supposée suffisamment petite pour n'avoir aucune influence sur la dynamique de S et J. En se plaçant dans un référentiel tournant tel que les positions de S et J sont fixes:

S = (xS, yS) = (-μ, 0),
J = (xJ, yJ) = (1-μ, 0)

(le barycentre est à l'origine), les équations du mouvement pour la position (x,y) de P s'écrivent alors:

d²x/dt² =  2 dy/dt + x - (1-μ) (x+μ)/rS³ - μ (x-1+μ)/rJ³
d²y/dt² = -2 dx/dt + y - (1-μ) y/rS³ - μ y/rJ³

Les distances rS = distance(P,S) et rJ = distance(P,J) sont définies par les relations rS² = (x+μ)² + y² et rJ² = (x-1+μ)² + y². La vitesse de P selon Ox est notée dx/dt, l'accélération selon Ox par conséquent d²x/dt².

Vu qu'il n'y a pas de terme dépendant explicitement du temps, l'énergie du système

E = ½((dx/dt)² + (dy/dt)²) - (1-μ)/rS - μ/rJ - ½(x² + y²) =: ½((dx/dt)² + (dy/dt)²) + Vj

est conservée (la quantité C = -2E s'appelle aussi constante de Jacobi). Le potentiel effectif Vj s'appelle potentiel de Jacobi.

On peut montrer que dans le repère tournant avec le Soleil et Jupiter, il y a 5 points d'équilibre (voir TD 9 (minimisation/points de Lagrange)):

Il existe une population d'astéroïdes piégées prés des points L4 et L5, appelé « Troyens ».

Intégration numérique du mouvement

Question 1

Réécrivez les équations du mouvement comme un système de 4 équations d'ordre 1. Précisez quelles sont les quantités à intégrer, en fonction de quel(s) paramètre(s).

Question 2

Écrivez un programme en C qui intégre le mouvement du corps P sur une durée d par pas de temps h, en utilisant la méthode de Runge-Kutta 4. Dans un premier temps, on voudrait que le programme affiche l'énergie E au début (t=0) et à la fin (t=d) de l'intégration.

Question 3

Quelles sont les instructions pour compiler et executer le programme ?

Question 4

Pour contrôler la qualité de notre intégration, nous utilisons l'énergie E, qui en théorie doit être strictement conservée. Pour les conditions initiales (x,y,dx/dt,dy/dt)t=0 = (0.7,0.7,0.1,0.1), utilisez le programme pour calculer l'énergie E initiale et au bout d'un temps t=100 et pour les trois valeurs suivantes du pas de temps h: h=0.01, h=0.1 et h=1.0. Commentez le résultat. Si on exige une erreur inférieure à 1%, lequel des trois pas de temps a-t-on intérêt à choisir ?

N'oubliez pas d'imprimer/de sauvegarder votre programme.

Exploration de différentes orbites

Question 5

Modifiez le programme qu'il affiche, en plus de l'énergie, la position et la vitesse de P après chaque pas d'intégration. Utilisez-le pour calculer les orbites correspondant aux conditions initiales (x,y,dx/dt,dy/dt)t=0 = (0.5-μ+0.002,sqrt(3)/2,dv,dv) pour

dv=0
libration autour du point de Lagrange (durée d'intégration 500)
dv=0.05
circulation: orbite en fer à cheval (durée d'intégration 500)

Dans chaque cas, précisez quel pas de temps vous avez choisi pour avoir un erreur sur l'énergie inférieure à 1%.

Question 6

Utilisez gnuplot pour afficher les orbites calculées. Sauvegardez et imprimez vos graphes et votre programme.

Question 7

Déterminez (à l'aide de gnuplot, en regardant x(t)) dans le premier cas la période de rotation autour du point de Lagrange, et dans le deuxième cas la période de circulation autour de Jupiter. Comment se compare-t-elles à la pérode orbitale T=2π du système S-J ?

Stabilité des orbites

Nous voulons intégrer l'orbite de 1000 particules distribuées au hasard au voisinage de l'orbite de Jupiter. Modifiez encore votre programme pour qu'il intègre N=1000 fois le mouvement d'un corps P sur une durée d=100, avec des conditions initiales différentes à chaque fois. Comme conditions initiales, on prendra

(x,y,dx/dt,dy/dt)t=0 =
(r cos(α),r sin(α),-v sin(α),v cos(α))

r ? (0.7, 1.3) et α ? (0, 2π) sont tirés au hasard à chaque itération (fonction rand ou votre propre générateur pseudo-aléatoire) et v=1/sqrt(r³)-1.

On n'affichera la position et la vitesse de P qu'une fois à la fin de chaque intégration (c'est-à-dire à t=d, en non plus après chaque pas d'intégration individuel).

On prendra ici μ=0.01 et un pas d'intégration h=0.1.

Question 8

Affichez dans un graphique l'ensemble des positions finales obtenues. Commentez la figure. En particulier, peut-on distinguer des zones stables ou instables ? Sauvegardez/imprimez le graphe et votre programme.

Auteur(s) : S. Charnoz, A. Daerr. Dernière modification : Sat Oct 25 19:59:42 2008. [validate XHTML]