• Aucun résultat trouvé

2HAJ EBH=JEGKA

N/A
N/A
Protected

Academic year: 2022

Partager "2HAJ EBH=JEGKA"

Copied!
7
0
0

Texte intégral

(1)

Projet informatique

La m´ ethode de Runge-Kutta dans la simulation du pendule math´ ematique

sujet propos´e par H. Chen ([email protected]), encadr´e par A. Hersant ([email protected])

On consid`ere une tige impond´erable de longueur 𝑙 >0, suspendue par une extr´emit´e et portant `a son autre extr´emit´e un point de masse 𝑚. On d´esigne par 𝜃 l’angle d’´ecart par rapport `a la verticale. D’apr`es les lois de la m´ecanique, lorsque ∣𝜃(𝑡)∣<

𝜋/2, l’acc´el´eration angulaire 𝜃′′(𝑡) du pendule est proportionnelle au moment de son poids. Plus pr´ecis´ement, on a

𝜃′′(𝑡) =−𝑔

𝑙 sin(𝜃(𝑡)).

On suppose qu’au temps initial𝑡= 0, la position du pendule est verticale (𝜃(0) = 0) et la vitesse angulaire 𝜃(0) est 𝑣0. Nous allons ´etudier la r´esolution num´erique du probl`eme de Cauchy (o`u on note 𝑘=𝑔/𝑙) :

{𝜃′′(𝑡) =−𝑘sin(𝜃(𝑡)),

𝜃(0) = 0, 𝜃(0) =𝑣0. (1)

I. Quelques r´eductions 1. Soit 𝜃(𝑡) =˜ 𝜃(𝑡/√

𝑘). Montrer que 𝜃(𝑡) v´˜ erifie l’´equation {

˜𝜃′′(𝑡) =−sin(𝜃(𝑡)),˜

˜𝜃(0) = 0, 𝜃˜(0) =𝑣0/√

𝑘. (2)

2. On note𝑣1 =𝑣0/√

𝑘. Pour tout𝑡∈ℝ, soit𝑦(𝑡) = (˜𝜃(𝑡),𝜃˜(𝑡)). Soit𝑓 :ℝ2 →ℝ2 l’application telle que 𝑓(𝑥1, 𝑥2) = (𝑥2,−sin𝑥1). V´erifier que 𝑦(𝑡) satisfait `a l’´equation

{𝑦(𝑡) = 𝑓(𝑦(𝑡)),

𝑦(0) = (0, 𝑣1). (3)

(2)

II. ´Etude g´en´eral des m´ethodes `a un pas

On consid`ere le probl`eme de Cauchy suivant sur l’intervalle [0, 𝑇] : {𝑦(𝑡) =𝑔(𝑡, 𝑦(𝑡)),

𝑦(0) =𝑦0, (4)

o`u 𝑔 : [0, 𝑇]×ℝ𝑛 →ℝ𝑛 est une fonction suffisamment r´eguli`ere. On se donne une subdivision

0 =𝑡0 < 𝑡1 <⋅ ⋅ ⋅< 𝑡𝑁 =𝑇

de l’intervalle [0, 𝑇] et on pose ℎ𝑛 =𝑡𝑛+1−𝑡𝑛 (0≤𝑛 < 𝑁). Les m´ethodes `a un pas sont des m´ethodes de r´esolution num´erique du probl`eme de Cauchy (4) qui peuvent s’´ecrire sous la forme

𝑦𝑛+1 =𝑦𝑛+ℎ𝑛Φ(𝑡𝑛, 𝑦𝑛, ℎ𝑛), (0≤𝑛 < 𝑁),

o`u Φ : [0, 𝑇]×ℝ𝑛×ℝ → ℝ𝑛 est une fonction que l’on pr´ecisera. On approchera 𝑦(𝑡𝑛) par 𝑦𝑛.

Si 𝑧 : [0, 𝑇] → ℝ est une solution de l’equation diff´erentielle 𝑧 = 𝑔(𝑡, 𝑧), on appelle erreur de consistance `a l’´etape 𝑛 et on note 𝜀𝑛(𝑧) la valeur

𝑧(𝑡𝑛+1)−𝑧(𝑡𝑛)−ℎ𝑛Φ(𝑡𝑛, 𝑧(𝑡𝑛), ℎ𝑛).

On dit qu’une m´ethode `a un pas est d’ordre 𝑝 si, pour toute fonction 𝑧 sur [0, 𝑇] v´erifiant l’´equation 𝑧 =𝑔(𝑡, 𝑧), il existe une constante 𝐶(𝑧)≥0 telle que

∣𝜀𝑛(𝑧)∣ ≤𝐶(𝑧)ℎ𝑝+1𝑛 , ∀0≤𝑛 < 𝑁.

III. Sch´ema d’Euler

1. Montrer que, si 𝑧 est une solution de l’´equation 𝑧 = 𝑔(𝑡, 𝑧) sur [0, 𝑇], alors pour tout 0≤𝑛 < 𝑁, on a

𝑧(𝑡𝑛+1) = 𝑧(𝑡𝑛) +

𝑡𝑛+1

𝑡𝑛

𝑔(𝑠, 𝑧(𝑠))𝑑𝑠. (5)

Revenons sur le probl`eme de Cauchy (4). Le sch´ema d’Euler consiste `a appro- cher, pour 𝑠 ∈]𝑡𝑛, 𝑡𝑛+1[, la valeur 𝑔(𝑠, 𝑦(𝑠)) par 𝑔(𝑡𝑛, 𝑦(𝑡𝑛)). On obtient donc par r´ecurrence, une approximation 𝑦𝑛 de 𝑦(𝑡𝑛) :

𝑦𝑛+1 =𝑦𝑛+ℎ𝑛𝑔(𝑡𝑛, 𝑦𝑛), 𝑛= 0,1,⋅ ⋅ ⋅ , 𝑁 −1.

C’est un cas particulier de m´ethode `a un pas avec Φ(𝑡, 𝑦, ℎ) =𝑔(𝑡, 𝑦).

(3)

2. ´Ecrire un programme qui r´esout num´eriquement l’´equation (3) sur [0,8𝜋] avec 𝑣1 = 1 en utilisant le sch´ema d’Euler. On prendra la subdivision uniforme (𝑡𝑛 = 8𝜋𝑛/𝑁) pour 𝑁 = 1000, 2000 et 10000 respectivement et on dessinera les trois courbes de la premi`ere coordonn´ee de 𝑦(𝑡) simul´ee dans le mˆeme graphe. Commenter le graphe obtenu.

3. Supposons que 𝑧 = (𝑧1, 𝑧2) : [0, 𝑇] → ℝ2 est une soluation de l’´equation 𝑧 =𝑓(𝑧) sur [0, 𝑇].

1) Montrer que ∣𝜀𝑛(𝑧)∣est major´ee par (Indication : penser `a utiliser l’´egalit´e (5))

𝑛

𝑡𝑛+1

𝑡𝑛

∣𝑧′′(𝑠)∣𝑑𝑠.

2) Exprimer 𝑧′′(𝑡) en fonction de 𝑧(𝑡). Montrer que pour tout 𝑡∈ℝ,∣𝑧2(𝑡)∣ ≤

∣𝑧2(0)∣et trouver une majoration de ∣𝜀𝑛(𝑧)∣ en fonction de∣𝑧2(0)∣ et deℎ𝑛. En d´eduire que le sch´ema d’Euler est une m´ethode d’ordre 1.

IV. M´ethode de Runge-Kutta : partie th´eorique

On prend les notations introduites dans la partie II. L’id´ee des m´ethodes de Runge-Kutta est de calculer par r´ecurrence les points (𝑡𝑛, 𝑦𝑛) en utilisant des points interm´ediaires (𝑡𝑛,𝑖, 𝑦𝑛,𝑖) avec 𝑡𝑛,𝑖 =𝑡𝑛+𝑐𝑖𝑛 (1 ≤ 𝑖 ≤ 𝑞, 𝑐𝑖 ∈ [0,1]). `A chacun de ces points interm´ediaires, on associe le poids correspondant

𝑝𝑛,𝑖=𝑔(𝑡𝑛,𝑖, 𝑦𝑛,𝑖).

Comme on a d´emontr´e dans la partie III, si 𝑧 est une solution de l’´equation 𝑧 = 𝑔(𝑡, 𝑧) sur [0, 𝑇], alors on a l’´egalit´e

𝑧(𝑡𝑛,𝑖) = 𝑧(𝑡𝑛) +

𝑡𝑛,𝑖

𝑡𝑛

𝑔(𝑠, 𝑧(𝑠))𝑑𝑠.

D’apr`es un changement de variable 𝑡=𝑡𝑛+𝑢ℎ𝑛, on obtient 𝑧(𝑡𝑛,𝑖) =𝑧(𝑡𝑛) +ℎ𝑛

𝑐𝑖

0

𝑔(𝑡𝑛+𝑢ℎ𝑛, 𝑧(𝑡𝑛+𝑢ℎ𝑛))𝑑𝑢. (6) De mˆeme, on a

𝑧(𝑡𝑛+1) =𝑧(𝑡𝑛) +ℎ𝑛

1 0

𝑔(𝑡𝑛+𝑢ℎ𝑛, 𝑧(𝑡𝑛+𝑢ℎ𝑛))𝑑𝑢. (7)

(4)

On se donne pour chaque 𝑖= 1,2,⋅ ⋅ ⋅, 𝑞 des nombres (𝑎𝑖𝑗)1≤𝑗<𝑖 et (𝑏𝑗)1≤𝑗≤𝑞 tels que

𝑐𝑖

0

𝜑(𝑢)𝑑𝑢≃ ∑

1≤𝑗<𝑖

𝑎𝑖𝑗𝜑(𝑐𝑗), (8)

1 0

𝜑(𝑢)𝑑𝑢≃ ∑

1≤𝑗≤𝑞

𝑏𝑗𝜑(𝑐𝑗). (9)

On supposera toujours que la condition suivante est v´erifi´ee : 𝑐𝑖 = ∑

1≤𝑗<𝑖

𝑎𝑖𝑗 ∀1≤𝑖≤𝑞 et ∑

1≤𝑗≤𝑞

𝑏𝑗 = 1 (10)

C’est aussi ´equivalent `a dire que les formules approximatives (8) et (9) sont des

´egalit´es lorsque 𝜑≡1. En appliquant ces int´egrations approch´ees `a (6) et `a (7), on obtient

𝑧(𝑡𝑛,𝑖)≃𝑧(𝑡𝑛) +ℎ𝑛

1≤𝑗<𝑖

𝑎𝑖𝑗𝑔(𝑡𝑛,𝑗, 𝑧(𝑡𝑛,𝑗)), 𝑧(𝑡𝑛+1)≃𝑧(𝑡𝑛) +ℎ𝑛

1≤𝑗≤𝑞

𝑏𝑗𝑔(𝑡𝑛,𝑗, 𝑧(𝑡𝑛,𝑗)).

La m´ethode de Runge-Kutta correspondante est donc









⎨









⎩

𝑡𝑛,𝑖 =𝑡𝑛+𝑐𝑖𝑛, 𝑦𝑛,𝑖=𝑦𝑛+ℎ𝑛

1≤𝑗<𝑖

𝑎𝑖𝑗𝑝𝑛,𝑗, 𝑝𝑛,𝑖=𝑔(𝑡𝑛,𝑖, 𝑦𝑛,𝑖),

𝑡𝑛+1 =𝑡𝑛+ℎ𝑛, 𝑦𝑛+1 =𝑦𝑛+ℎ𝑛

1≤𝑗≤𝑞

𝑏𝑗𝑝𝑛,𝑗.

Conventionnellement on pr´esente les param`etres de la m´ethode de Runge-Kutta dans un tableau

𝑐1 𝑐2 𝑎2,1

𝑐3 𝑎3,1 𝑎2,2 ... ... ... . ..

𝑐𝑞 𝑎𝑞,1 𝑎𝑞,2 ⋅ ⋅ ⋅ 𝑎𝑞,𝑞−1

𝑏1 𝑏2 ⋅ ⋅ ⋅ 𝑏𝑞−1 𝑏𝑞

Les m´ethodes de Runge-Kutta sont des cas particuliers de m´ethode `a un pas. En effet, on a

𝑦𝑛+1 =𝑦𝑛+ℎ𝑛Φ(𝑡𝑛, 𝑦𝑛, ℎ𝑛),

(5)

o`u Φ(𝑡𝑛, 𝑦𝑛, ℎ𝑛) =

𝑞

𝑗=1

𝑏𝑗𝑝𝑛,𝑗. La fonction Φ est d´efinie explicitement par la formule suivante :



⎨



⎩

Φ(𝑡, 𝑦, ℎ) =

𝑞

𝑗=1

𝑏𝑗𝑓(𝑡+𝑐𝑗ℎ, 𝑦𝑗), 𝑦𝑖 =𝑦+ℎ ∑

1≤𝑗<𝑖

𝑎𝑖𝑗𝑓(𝑡+𝑐𝑗ℎ, 𝑦𝑗), 1≤𝑖≤𝑞.

1. Montrer que le sch´ema d’Euler est un cas particulier de m´ethode de Runge- Kutta en pr´ecisant ses param`etres.

2. Montrer que les m´ethodes de Runge-Kutta sont automatiquement d’ordre 1.

3. Montrer que la m´ethode de Runge-Kutta est d’ordre 2 si et seulement si

𝑞

𝑗=1

𝑏𝑗𝑐𝑗 = 1/2.

4. Proposer une m´ethode de Runge-Kutta d’ordre 2 avec 𝑞 = 2.

V. M´ethode de Runge-Kutta : partie num´erique

La m´ethode de Runge-Kutta “classique ” correspond aux param`etres suivants :

𝑞= 4,

0

1 2

1 2 1 2 0 12 1 0 0 1

1 6

1 3

1 3

1 6

(11)

Les int´egrations approch´ees correspondantes sont

12

0

𝜑(𝑡)𝑑𝑡 ≃ 1

2𝜑(0), rectangle `a gauche,

12

0

𝜑(𝑡)𝑑𝑡 ≃ 1 2𝜑(1

2 )

, rectangle `a droite,

1 0

𝜑(𝑡)𝑑𝑡≃𝜑(1 2

)

, point milieu,

1 0

𝜑(𝑡)𝑑𝑡≃ 1

6𝜑(0) + 1 3𝜑(1

2 )

+1 3𝜑(1

2 )

+1

6𝜑(1), m´ethode de Simpson.

Cette m´ethode est d’ordre 4.

(6)

Ecrire un programme qui r´´ esout num´eriquement l’´equation (3) sur [0,8𝜋] avec 𝑣1 = 1 en utilisant la m´ethode de Runge-Kutta “classique”. On prendra la subdivi- sion uniforme avec𝑁 = 100 et on dessinera la courbe de la premi`ere coordonn´ee de 𝑦(𝑡) sur le graphe que l’on a obtenu dans l’´etape III.2. Commenter sur le nouveau graphe obtenu.

VI. Mod´elisation du pendule math´ematique

On consid`ere d’abord un pendule simple de longeur𝑙 = 1𝑚 et de poids 𝑚= 1𝑘𝑔.

On suppose que l’acc´el´eration due `a la pesanteur est 𝑔 = 9.8𝑚𝑠−2, que l’´elongation angulaire initiale𝜃(0) = 0et que la vitesse angulaire initiale est𝜃(0) = 0.3𝑠−1. Dans la suite, on cherche `a utiliser le programme construits dans l’´etape V pour simuler la m´ecanique du pendule. On pendra la subdivision uniforme avec 𝑁 = 1000.

1. Simuler l’´elongation et la vitesse angulaires du pendule pendant les premi`eres 100 secondes. On dessinera les deux courbes dans le mˆeme graphe.

2. On rappelle que l’´energie cin´etique (resp. l’´energie potentielle de pesanteur) du pendule est par d´efinition 𝐸𝑐(𝑡) = 12𝑚𝑣(𝑡)2 = 12𝑚𝑙2𝜃(𝑡)2 (resp. 𝐸𝑝(𝑡) = 𝑚𝑔𝑙(1−cos𝜃(𝑡))). Montrer que l’´energie totale 𝐸(𝑡) = 𝐸𝑐(𝑡) +𝐸𝑝(𝑡) est une constante. Simuler l’´energie cin´etique, l’´energie potentielle de pesanteur et l’´energie totale du pendule pendant les premi`eres 100 secondes dans le mˆeme graphe.

On suppose maintenant que le pendule est soumis `a une force de frottement fluide (visqueux), ou de fa¸con ´equivalente, est amorti. L’´equation diff´erentielle de l’´elongation angulaire devient donc

𝜃′′(𝑡) = −𝑔

𝑙 sin(𝜃(𝑡))−𝜆𝜃(𝑡),

o`u 𝜆 >0 est la constante de viscosit´e. On suppose d´esomais 𝜆= 0.1.

3. ´Ecrire un programme qui simule l’´elongation et la vitesse angulaires du pendule amorti pendant les premi`eres 100 secondes. On utilisera la m´ethode de Runge- Kutta “classique” en prenant la subdivision uniforme avec 𝑁 = 1000.

4. En utilisant le programme obtenu dans l’´etape pr´ec´edent, simuler l’´energie cin´etique, l’´energie potentielle de pesanteur et l’´energie totale du pendule amorti pendant les premi`eres 100 secondes.

VII. R´edaction

(7)

Les ´etudiants r´edigent un rapport selon les indications comme ci-dessus. Le rap- port doit contenir une description de la m´ethode de Runge-Kutta, la d´emonstration de la convergence, et les r´esultats num´eriques. L’application de la m´ethode num´erique

`

a une ´equation autre que celle du pendule sera appr´eci´ee.

R´ef´erence : J.-P. Demailly,Analyse num´erique et ´equations diff´erentielles, Manuel pour le Second Cycle de Math´ematiques, Presses Universitaires de Grenoble, 3e ´ed.

f´ev. 2006, 344 pages.

Références

Documents relatifs

Le principe de conservation de l’énergie totale des systèmes isolés 1.. Extensivité de l’énergie interne

C’est l’énergie d’un système {objet de masse m ; Terre} due à l’interaction gravitationnelle entre l’objet et la Terre.. Variation d’énergie potentielle de

a) Calculer l’énergie totale de l’électron au cours de son mouvement entre les plaques. On admettra qu’il est soumis à la seule force électrostatique et on prendra V N = 0...

►La turbine Kaplan : adaptée pour les faibles chutes (moins de 80 m) et les débits importants ; elle est similaire à une hélice de bateau. Les pales sont orientables afin

a) L’énergie mécanique d’un système conservatif varie. 0,25pt b) La variation de l’énergie potentielle de pesanteur dépend du niveau de référence. 0,25pt c) La

Lorsque l’altitude du pendule augmente, il gagne autant d’énergie potentielle de pesanteur qu’il perd d’énergie cinétique. Lorsque l’altitude diminue, il perd

Rq : Le travail d’une force modifie l’énergie (mécanique) d’un système, sauf pour certaines forces appelées forces conservatives (ex : le poids) , le travail de ces forces

un solide (S) de masse m=100g se déplace dans plan horizontal et soumit à une force constante T  le long de la trajectoire AB, puis il se déplace dans plan incliné (BC)