Top Banner
RK explicites Introduction Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires non raides et raides (partie 1). Méthodes de Runge-Kutta explicites. S. Descombes 2 T. Dumont 1 V. Louvet 1 M. Massot 3 1 Institut Camille Jordan - Université Claude Bernard Lyon 1 2 Laboratoire J.A. Dieudonné, Université de Nice-Sophia Antipolis 3 Laboratoire EM2C - Ecole Centrale Paris Ecole d’automne d’informatique scientifique
25

Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

Oct 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Résolution de systèmes d’équationsdifférentielles ordinaires non raides et

raides (partie 1).Méthodes de Runge-Kutta explicites.

S. Descombes 2 T. Dumont 1

V. Louvet 1 M. Massot 3

1Institut Camille Jordan - Université Claude Bernard Lyon 12Laboratoire J.A. Dieudonné, Université de Nice-Sophia Antipolis

3Laboratoire EM2C - Ecole Centrale Paris

Ecole d’automne d’informatique scientifique

Page 2: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Plan

1 Introduction

2 Méthodes de Runge-Kutta explicitesQuelques méthodes au fil de l’histoireComment contrôler le pas de temps ?

3 Analyse de la stabilité des méthodes de Runge-Kuttaexplicites

Page 3: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Plan

1 Introduction

2 Méthodes de Runge-Kutta explicitesQuelques méthodes au fil de l’histoireComment contrôler le pas de temps ?

3 Analyse de la stabilité des méthodes de Runge-Kuttaexplicites

Page 4: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Cadre général d’une équation différentielleordinaire

On cherche à résoudre une équation différentielle ordinairede la forme

y ′ = f (t , y), y(t0) = y0,

y étant un vecteur de Rn et f une fonction de R× Rn → Rn.On suppose avoir toute la régularité possible sur la solution.

On découpe l’intervalle sur lequel on veut résoudrel’équation différentielle,On cherche ensuite comment calculer en un point decet intervalle une valeur approchée de la solution.

Page 5: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Cadre général d’une équation différentielleordinaire

On cherche à résoudre une équation différentielle ordinairede la forme

y ′ = f (t , y), y(t0) = y0,

y étant un vecteur de Rn et f une fonction de R× Rn → Rn.On suppose avoir toute la régularité possible sur la solution.

On découpe l’intervalle sur lequel on veut résoudrel’équation différentielle,On cherche ensuite comment calculer en un point decet intervalle une valeur approchée de la solution.

Page 6: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Cadre général d’une équation différentielleordinaire

On cherche à résoudre une équation différentielle ordinairede la forme

y ′ = f (t , y), y(t0) = y0,

y étant un vecteur de Rn et f une fonction de R× Rn → Rn.On suppose avoir toute la régularité possible sur la solution.

On découpe l’intervalle sur lequel on veut résoudrel’équation différentielle,On cherche ensuite comment calculer en un point decet intervalle une valeur approchée de la solution.

Page 7: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Cadre général d’une équation différentielleordinaire

Les ressources de calcul n’ont pas toujours été cellesque nous avons maintenant -> Schémas à un pasSchémas explicites !!

Page 8: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Cadre général d’une équation différentielleordinaire

Les ressources de calcul n’ont pas toujours été cellesque nous avons maintenant -> Schémas à un pasSchémas explicites !!

Page 9: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Plan

1 Introduction

2 Méthodes de Runge-Kutta explicitesQuelques méthodes au fil de l’histoireComment contrôler le pas de temps ?

3 Analyse de la stabilité des méthodes de Runge-Kuttaexplicites

Page 10: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode d’Euler (1768)

yn+1 = yn + hnf (tn, yn)

Pour obtenir une meilleure approximation, il faut sedemander comment approcher une intégrale demanière précise....Méthode de Runge (1895)

yn+1 = yn + hnf(

tn +h2

, yn +h2

f (tn, yn)

)

Page 11: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode d’Euler (1768)

yn+1 = yn + hnf (tn, yn)

Pour obtenir une meilleure approximation, il faut sedemander comment approcher une intégrale demanière précise....Méthode de Runge (1895)

yn+1 = yn + hnf(

tn +h2

, yn +h2

f (tn, yn)

)

Page 12: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode d’Euler (1768)

yn+1 = yn + hnf (tn, yn)

Pour obtenir une meilleure approximation, il faut sedemander comment approcher une intégrale demanière précise....Méthode de Runge (1895)

yn+1 = yn + hnf(

tn +h2

, yn +h2

f (tn, yn)

)

Page 13: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode de Heune (1900), on pose

k = f(

tn +h3

, yn +h3

f (tn, yn)

),

alors

yn+1 = yn +hn

4

(f (tn, yn) + 3f

(tn +

2h3

, yn +2h3

k))

.

Procédé qui se généralise, les méthodes deRunge-Kutta sont nées...

Page 14: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode de Heune (1900), on pose

k = f(

tn +h3

, yn +h3

f (tn, yn)

),

alors

yn+1 = yn +hn

4

(f (tn, yn) + 3f

(tn +

2h3

, yn +2h3

k))

.

Procédé qui se généralise, les méthodes deRunge-Kutta sont nées...

Page 15: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Kutta (1901) :Une méthodes de Runge-Kutta à s étages est donnée par(on simplifie en écrivant la première itération)

k1 = f (t0, y0),k2 = f (t0 + c2h, y0 + ha21k1),k3 = f (t0 + c3h, y0 + ha31k1 + ha32k2),...ks = f (t0 + csh, y0 + has1k1 + has,s−1ks−1),y1 = y0 + h(b1k1 + · · ·bsks).

Ecriture sous forme d’un tableau !

Page 16: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode de Heune

01/3 1/32/3 0 2/3

1/4 0 3/4

"La" méthode de Runge-Kutta

01/2 1/21/2 0 1/21 0 0 1

1/6 2/6 2/6 1/6

Page 17: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Au fil de l’histoire

Méthode de Heune

01/3 1/32/3 0 2/3

1/4 0 3/4

"La" méthode de Runge-Kutta

01/2 1/21/2 0 1/21 0 0 1

1/6 2/6 2/6 1/6

Page 18: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Définition

On suppose le pas constant égal à h.On dit qu’une méthode de Runge-Kutta est d’ordre p si,pour chaque problème y ′ = f (t , y), y(t0) = y0, l’erreur,après un pas, satisfait pour h petit tendant vers 0,

y1 − y(t0 + h) = O(hp+1)

Le terme en rouge s’appelle l’erreur locale.

Exemple : La méthode d’Euler est d’ordre 1, "la" méthodede Runge-Kutta est d’ordre 4. On aime pour un ordre fixé,choisir la méthode qui fait le moins d’évaluations...

Page 19: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Définition

On suppose le pas constant égal à h.On dit qu’une méthode de Runge-Kutta est d’ordre p si,pour chaque problème y ′ = f (t , y), y(t0) = y0, l’erreur,après un pas, satisfait pour h petit tendant vers 0,

y1 − y(t0 + h) = O(hp+1)

Le terme en rouge s’appelle l’erreur locale.

Exemple : La méthode d’Euler est d’ordre 1, "la" méthodede Runge-Kutta est d’ordre 4. On aime pour un ordre fixé,choisir la méthode qui fait le moins d’évaluations...

Page 20: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Résultat

Si f satisfait une conditon de Lipschitz uniformément parrapport à la deuxième variable dans un voisinage de lasolution de y ′ = f (t , y) alors on a une estimation de la forme

‖y(tn)− yn‖ ≤ Chp.

Page 21: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Pas de temps variable

Un calcul à pas constants est en général inefficace. L’idéeest de choisir les pas afin que l’erreur locale soit partoutenviron égale à une tolérance Tol donnée.On utilise pour cela deux méthodes de Runge-Kutta d’ordrep et p avec p < p, donnant comme approximations y1 et y1.Le h optimal s’obtient à partir de h avec la formule

hopt = 0, 9.h. p+1

√Tol

‖y1 − y1‖

Pour limiter les calculs, on utilise des méthodes emboîtées(exemple : Euler et Runge).

Page 22: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Plan

1 Introduction

2 Méthodes de Runge-Kutta explicitesQuelques méthodes au fil de l’histoireComment contrôler le pas de temps ?

3 Analyse de la stabilité des méthodes de Runge-Kuttaexplicites

Page 23: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Fonction de stabilité

Soit λ un nombre complexe, on considère l’équationdifférentielle complexe

u = λu. (1)

Il s’agit d’une équation différentielle très simple mais quipeut donner des informations importantes sur lecomportement des schémas numériques. On utilise uneméthode de Runge-Kutta explicite pour résoudre (1) et onécrit les itérations sous la forme

yn+1 = R(hλ)yk. (2)

R est appelée la fonction de stabilité de la méthode, il s’agitd’un polynôme.

Page 24: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Fonction de stabilité

On noteS = {z ∈ C : |R(z)| ≤ 1}.

Cet ensemble est appelé domaine de stabilité de laméthode.On dit que la méthode est A-stable si

{z ∈ C : <e z ≤ 0} ⊂ S.

Une méthode de Runge-Kutta explicite n’est jamaisA-stable.

Page 25: Résolution de systèmes d'équations différentielles ...€¦ · Runge-Kutta Historique Contrôle du pas Stabilité Résolution de systèmes d’équations différentielles ordinaires

RK explicites

Introduction

Runge-KuttaHistorique

Contrôle du pas

Stabilité

Fonction de stabilité