• Aucun résultat trouvé

4 Etude de l’´ ´ evolution des erreurs

N/A
N/A
Protected

Academic year: 2022

Partager "4 Etude de l’´ ´ evolution des erreurs"

Copied!
4
0
0

Texte intégral

(1)

Universit´e Paris-Dauphine M´ethodes num´eriques

D´epartement MIDO Ann´ee/

DE MI2E deuxi`eme ann´ee

Projet : Le probl`eme ` a n corps

1 Contexte

L’objectif de cet projet est de traiter num´eriquement le probl`eme des n corps issu de la m´ecanique c´eleste, qui est un mod`ele pour l’´evolution au cours du temps de n corps ponctuels de masses respectivesmi, 1≤i≤n. Pour simplifier, nous supposerons que les corps ´evoluent dans l’espace `a deux dimensionsR2. Dans ce cas, la position du i-`eme corps `a l’instant t sera not´ee

xi(t) =

x(1)i (t), x(2)i (t)T

∈R2.

La force gravitationnelle que le j-`eme corps exerce sur lei-`eme corps est Fij =G mimj

kxj−xik32(xj−xi) avec kFijk2=kFjik2=G mimj

kxj−xik22

o`u G ≈6,67·10−11 mkg s32 est la constante de gravitation universelle. En sommant toutes les forces

de gravitation, il vient que lei-`eme corps subit une acc´el´eration ¨xi := dtd22xi∈R2 mii =X

j6=i

Fij =Gmi

X

j6=i

mj

kxj −xik32(xj−xi) ou encore x¨i=GX

j6=i

mj

kxj−xik32(xj−xi).

Comme chaque vecteur positionxi a deux composantes, on peut exprimer l’´evolution des navec le syst`eme suivant d’´equations diff´erentielles ordinaires de deuxi`eme ordre

¨

x=f(x). (1.1)

o`u

x=

x(1)1 , x(2)1 , . . . , x(1)n , x(1)n T

∈R2n.

Nous allons maintenant r´esoudre (1.1) avec deux sch´emas num´eriques en temps : le sch´ema d’Euler explicite et le sch´ema de type Runge-Kutta explicite d’ordre 4. Cela nous permettra de connaˆıtre x(t), i.e., l’´evolution des positions desncorps.

Questions pr´eliminaires :

1. Expliciter la fonction f :R2n→R2n.

2. En faisant le changement de variable y0 := x(position des n corps) et y1 := ˙x (vitesse des ncorps), montrer que le syst`eme (1.1) est ´equivalent au syst`eme suivant de taille 4n,

˙ y=

0

˙ y1

= x˙

¨ x

= y1

f(y0)

=:F(y). (1.2)

1

(2)

2 La m´ ethode d’Euler explicite

Maintenant nous allons r´esoudre num´eriquement l’´equation diff´erentielle (1.2) sur un intervalle de temps [0, T] et partant d’un vecteur de conditions initialesy(0) donn´e. Le probl`eme `a r´esoudre est donc :

Trouver une approximation du vecteury(t), solution du syst`eme d’´equations

˙

y(t) =F((y(t)), ∀t∈[0, T] y(0) donn´e.

Notons ˜y(t) une fonction qui approche y(t) “au mieux possible” en P + 1 instants de temps tp ∈[0, T]. On consid`ere le cas o`u les instants sont uniform´ement r´epartis sur [0, T] de sorte que, en posant h:=T /P, on a

t0= 0

tp+1=tp+h, 0≤p≤P−1, tP =T

Le point de d´epart pour approcher y(tp) pour p = 0, . . . , P part du d´eveloppement de Taylor de y(tp+1) autour de tp qui est

y(tp+1) =y(tp+h) =y(tp) +y0(tp)·h+O(h2) =y(tp) +f(y(tp))·h+O(h2), 0≤p≤P −1.

Si l’on n´eglige les termes d’ordre sup´erieur `ah, la fonction

ey(tp+1) :=ey(tp) +h·f(y(te p)), 0≤p≤P−1.

est une approximation dey(tp+1) `a l’ordrehpr`es. L’algorithme d’Euler explicite consiste `a calculer ces approximationsy(te p+1) en partant de l’´etat initialy(0) =e y(0).

Questions : Appliquer la m´ethode d’Euler explicite au probl`eme des n-corps. Pour cela, on pourra :

1. Impl´ementer une m´ethode step(yt,h) qui, partant de l’approximation yt `a un certain instant t, renvoie l’approximation yt+h F(yt) `a l’instant t+h suivant. On rappelle queF est la fonction d´efinie en section 1. Remarque : si besoin est, la fonctionsteppourra prendre d’autres arguments en entr´ee mis `a partyt eth.

2. En partant de y0 comme condition initiale, faire une boucle sur tous les temps qui permet d’obtenir l’approximationy(te p) `a tous les instants p= 0, . . . , P.

3. Utiliser le code pour obtenir les trajectoires de 0 `a T = 5 s.de n= 3 corps de masses m1 = 1010kg, m2= 3.1010kg, m3= 1010kg

dont les conditions initiales

y(0) =

y0(0) y1(0)

= x(0)

x(0)˙

2

(3)

sont

x(1)1 (0) = 0, x(2)1 (0) = 0, x˙(1)1 (0) = 0, x˙(2)1 (0) = 0 x(1)2 (0) = 0, x(2)2 (0) = 1, x˙(1)2 (0) = 1, x˙(2)2 (0) = 0 x(1)3 (0) = 0, x(2)3 (0) =−1, x˙(1)3 (0) =−1, x˙(2)3 (0) = 0

Prendre un pas de tempsh=T /100.

4. Repr´esenter graphiquement les trajectoires obtenues.

3 M´ ethode Runge-Kutta d’ordre 4

Si la fonction t → y(t) est suffisamment r´eguli`ere, l’erreur d’approximation avec la m´ethode d’Euler explicite au temps final t=T est de l’ordre du pas tempsh, i.e.,

∃C >0 s.t. ky(T)−y(Te )k ≤Ch. (3.1) Donc, lorsqueh→0, la fonctiony(Te ) converge versy(T). Cependant, dans la pratique la constante C de l’in´egalit´e est souvent tr`es grande et augmente avec T. Pour cette raison, il est en g´en´eral n´ecessaire de prendre des pas de temps h extrˆemement petits pour arriver `a une pr´ecision conve- nable. Cela augmente consid´erablement le nombre d’instants interm´ediaires et rallonge les temps de calcul et motive la recherche d’approximations dont l’erreur est de la forme

∃C >0 s.t. ky(T)−ey(T)k ≤Chr,

avec r > 1. On parle de sch´emas d’ordre sup´erieur. Pour les construire, une premi`ere possibilit´e serait de prendre des d´eveloppements de Taylor d’ordre sup´erieur mais cela est en g´en´eral tr`es coˆuteux voire parfois mˆeme impossible en fonction du probl`eme.

Une fa¸con plus simple de construire des sch´emas d’ordre sup´erieur est le sch´ema Runge-Kutta.

Dans cette approche,f est ´evalu´ee en un certain nombre de points et l’on construit l’approximation comme suit pour tout 0≤p≤P−1. On pose

y(te p+1) :=y(te p) +h

m

X

j=1

γjKj(tp) avec

Kj(tp) =

(f(ey(tp)) sij= 1 f

y(te p) +hPj−1

l=1βj,lKl(tp)

si 2≤j≤m. (3.2)

Les coefficientsβj,l etγl sont usuellement donn´es dans un tableau αj βjl

γl

appel´e tableau de Butcher. Le tableau comporte des coefficients αj dont on n’aura pas besoin dans ce probl`eme. Dans ce type d’approche, ´etant donn´e un ordre d’approximation r souhait´e, la

3

(4)

question est de trouver de bons coefficientsβj,l etγlqui satisfont cet ordre d’approximationr. Afin de r´eduire le coˆut des calculs, il faut aussi quemsoit le plus petit possible. Les questions tournant autour de la recherche des coefficients βj,l et γl donnant un certain ordre r et avec le plus degr´e possible mest une question difficile et nous nous contenterons de consid´erer le tableau suivant

0 1/2 1/2

1/2 1/2

1 1

1/6 1/3 1/3 1/6

qui donne un sch´ema d’ordrer= 4 appel´e sch´ema de Runge-Kutta explicite d’ordre 4.

Questions :

1. Impl´ementer le sch´ema Runge-Kutta d’ordre 4 pour le probl`eme des ncorps et l’appliquer

`

a l’exemple donn´e en question 3 de la section 2.

2. Repr´esenter graphiquement les trajectoires obtenues.

4 Etude de l’´ ´ evolution des erreurs

La m´ethode Runge-Kutta ayant un ordre plus ´elev´e que la m´ethode d’Euler explicite, on peut l’utiliser pour avoir une bonne estimation de l’´evolution au cours du temps de l’erreur commise avec la m´ethode d’Euler explicite.

Questions :

1. En partant toujours de l’exemple en question 3 de la section 2, repr´esenter l’´evolution des erreurs

keyRK(tp)−eyEE(tp)k2, p= 0, . . . , P,

o`u les sous-indices RK et EE font r´ef´erence respectivement aux m´ethodes Runge-Kutta et Euler explicite. Qu’observe-t-on et comment interpr´eter cette observation ?

2. On souhaite `a pr´esent estimer la d´ependance de la constante C de (3.1) par rapport `a T, la valeur du temps final. En prenant h = 0.01 et les conditions initiales d´ej`a introduites, calculer

kyeRK(T)−yeEE(T)k2

pour T = 5, 10, 100, 500, 1000 et repr´esenter graphiquement ces erreurs en fonction de T, quelle est la tendance (lin´eaire, quadratique, exponentielle) ? Que peut-on en d´eduire par rapport `a la d´ependance deC avec T?

4

Références

Documents relatifs

Dans le contexte d’enquˆ ete sur la pˆ eche sportive, la s´ election par la m´ ethode du cube semble ˆ etre une excellente alternative d’´ echantillonnage... R´

La formule (8) peut ˆ etre utilis´ ee pour n > 1, le calcul de y 1 se faisant par exemple en utilisant la m´ ethode

On demande de r´ ealiser les mˆ emes graphiques que pour le cas du sch´ ema de Gauß avec l’algorithme du point fixe.

On peut alors choisir comme matrice de pr´econditionnement une matrice L voisine de B T en effectuant ce que l’on appelle une d´ecomposition de Cholesky incompl`ete qui consiste `a

[r]

Le syst` eme admet un d´ eterminant diff´ erent de 0 (il vaut − 34), il admet donc une unique solution qui est la solution nulle (et on n’a pas besoin des formules de Cramer

On se propose de trouver un point o` u le minimum de J est atteint `a l’aide de

Pour r´ epondre aux questions, vous pouvez mener des recherches dans le cours ainsi que sur le web. Le code doit ˆ etre ´ ecrit