Cours MNA
Cours MNA
Avancées
h2 h3
(1) f(xi+h) ➨ y i +1 = y i + hf ¢(xi ) + f ¢¢(xi ) + f ¢¢¢(xi ) + ... Err1(hp)
2! 3!
h2 h3
(2) f(xi-h) ➨ y i -1 = y i - hf ¢( xi ) + f ¢¢( xi ) - f ¢¢¢( xi ) + ... Err2(hp)
2! 3!
Rappels: Dérivation numérique
Approximation de fʼ(xi)
• En utilisant (1) et en négligeant les termes d’ordre ≥ 2, p=2, on obtient la dérivée
numérique à droite avec une erreur proportionnelle à h.
f (x + h ) - f (x )
f ¢(x ) »
h
• En utilisant (2) et en négligeant le terme d’erreur à l’ordre 2, p=2 on obtient la
dérivée numérique à gauche avec une erreur proportionnelle à h.
• En utilisant (1)-(2), et en négligeant le terme d’erreur à l’ordre 4, p=4, on obtient la
dérivée numérique centrée avec une erreur proportionnelle à h2.
2h 3
f(xi+h) - f(xi-h) ➨ y i +1 - y i -1 = 2 hf ¢( xi ) + f ¢¢¢( xi ) + ...
3!
y i + 1 - y i -1
f ¢( xi ) »
2h
Rappels: Dérivation numérique
Calcul des dérivées d'ordre deux : En utilisant (1)+(2), on obtient:
2h 2
y i + 1 + y i -1 = 2 yi + f ¢¢( xi ) + ...
2!
en négligeant les termes en h4 :
y i + 1 - 2 y i + y i -1
f ¢¢( xi ) »
h2
Pour approcher les dérivées d’ordre k, il suffit d’écrire la formule de Taylor à un ordre supérieur et
l’utiliser avec des coefficients adéquats. On détermine aussi l’erreur commise sur cette approximation à
partir des termes négligés.
Ces formules de dérivation numériques sont utilisées pour approcher les équations différentielles et les
équations aux dérivées partielles.
Résolution de l’équation de la chaleur
en dimension1
Résolution de l’équation de la chaleur
en dimension1
• 𝑢!"#$ = 𝛼 𝑢!'$
"
+ (1 − 2𝛼) 𝑢!" + 𝛼 𝑢!#$
"
+ 𝑘 f(xi,tn) pour i=1,…,m
• Pour tout i=1,…,m on obtient 𝑢!"#$ en fonction des valeurs de 𝑢!" .
• Il s’agit donc d’écrire une boucle en i à tout instant tn
𝑢#!"# (1 − 2𝛼) 𝛼 0 … .0
𝑢$!"# 𝛼 ⋮
. 0 ….
• 𝑈 !"# = A= ⋱⋱ ⋱
. . 0
. . 𝛼
𝑢%!"# 0 0. 𝛼 (1 − 2𝛼)
𝑘𝑓 𝑥𝑚, 𝑡𝑛 + 𝑎(𝑡𝑛)
𝑘𝑓(𝑥2, 𝑡𝑛)
.
F=
n
.
.
𝑘𝑓 𝑥𝑚, 𝑡𝑛 + 𝑏(𝑡𝑛)
Euler implicite
• Il s’agit d’approcher la dérivée en temps par la formule de dérivation à gauche
78 8 :!,9" ;< ;8 :!,9" 8)*+, ;8)*
• (xi,tn+1)≈ #$% #$ ≈
79 ;< <
La dérivée en espace est approchée par la même formule centrée, mais à l’instant tn+1
)*(
-". .&'( 0$.&)*( ".&*(
)*(
(x ,t )≈
-/" i n+1 1"
*+,
8)*+, ;8)* 8)2, ;=8)*+, >8)+,
*+,
- = f(xi,tn+1)
< ?+
Euler implicite
Le problème discret s’écrit: 𝐴𝑈 @>A = 𝑈 @ + Fn+1
(1 + 2𝛼) −𝛼 0 … .0 𝑘𝑓 𝑥𝑚 , 𝑡𝑛 + 1 + 𝑎(𝑡𝑛 + 1)
−𝛼 ⋮ 𝑘𝑓(𝑥2, 𝑡𝑛 + 1)
0 0 .
avec A= ⋱⋱ ⋱ , Fn+1 =
. 0 .
. −𝛼 .
0 0 −𝛼 (1 + 2𝛼) 𝑘𝑓 𝑥𝑚 , 𝑡𝑛 + 1 + 𝑏(𝑡𝑛 + 1)
𝑈0 étant la condition initiale, connue, ainsi que les conditions aux limites a(t) et b(t)
𝑔(𝑥1)
𝑔(𝑥2)
.
𝑈I=
.
.
𝑔(𝑥𝑚)
Euler implicite
Pour calculer 𝑈n+1 à partir de 𝑈n par le schéma implicite, on doit
résoudre un système matriciel à chaque pas de temps:
Pour n =1,.., N
Résoudre: 𝐴𝑈 @>A = 𝑈 @ + Fn+1
Fin Pour.
Consistance du schéma d’Euler
Les schémas d’Euler explicite et implicite sont consistants, en effet:
Stabilité du schéma explicite
• On sait que le calcul numérique sur machine introduit des erreurs d’arrondi, ces erreurs
peuvent s’accroitre au cours des itérations en temps.
• Supposons qu’à l’instant t0, la solution donnée U0 est introduite avec une erreur 𝜀 et
supposons F=0, par le schéma explicite on a :
𝑈$ = A (𝑈 , + 𝜀)
𝑈 - = A 𝑈$ =A2 (𝑈 , + 𝜀)
𝑈 . = A 𝑈 - =A3 (𝑈 , +𝜀)
A l’instant tn+1 on aura
𝑈 "#$ = A 𝑈 " =An+1 (𝑈 , + 𝜀) = An+1 𝑈 , + An+1 𝜀
An+1 ≤ 1
∑ NO%
On peut utiliser la norme infinie 𝐴 ∞ = max NO# 𝑎𝑖𝑗
M
Or les termes aij de la matrice sont nuls sauf:
aii = 1 − 2𝛼, aii-1 = aii+1 = 𝛼.
Si 𝛼 ≤1/2 , alors la condition 𝐴 ∞ ≤ 1, le schéma est alors stable.
Exercice
!"#$% &!"#(% #
!"(% &)!"# *!"$%
#
- =0
)' +)
1) Calculer l’erreur de troncature de ce schéma
2) Etudier la stabilité.
Schéma de Richardson
1) Erreur de troncature d’ordre 2 en temps et en espace.
2) Pour l’étude de la stabilité, on utilise la méthode de Fourier.
On aboutit à l’équation:
!"#$% &!"#'% #
!"'% &(!"# *!"$%
#
- =0
() +(
1) Calculer l’erreur de troncature de ce schéma
2) Etudier la stabilité.
Schéma de Richardson
1) Erreur de troncature d’ordre 2 en temps et en espace.
2) Pour l’étude de la stabilité, on utilise la méthode de Fourier.
On aboutit à l’équation:
D’où
/ L! L(!
(∆H
(3𝑢(𝑥I , 𝑡.*/)- 4 𝑢(𝑥I , 𝑡. )+ 𝑢(𝑥I , 𝑡.&/)) = LH
(𝑥I , 𝑡. )+ ∆𝑡 LH(
(𝑥I , 𝑡. )+ O(∆𝑡 ).
Le schéma est donc d’ordre 1 en temps, L’erreur est proportionnelle à ∆𝑡
Schéma de Gear: Stabilité
/ k
(3𝑢I.*/ − 4𝑢I. + 𝑢I.&/ ) - ( (𝑢 .*/
I&/ − 2𝑢I
.*/
+ 𝑢 .*/
I*/ ) = 0
(∆H ∆P
k∆H
Notons 𝛼= et h= ∆𝑥, en appliquant Fourier au schéma de Gear, on obtient:
∆P(
] &/
.*/
𝑢, 𝑢, . 5n+1= S 𝑈
5n
. = ^ ^
4𝑢 .&/ , 𝑈
𝑢, 1 0
`
En utilisant la norme 𝑆 ∞= ^, il n’est pas facile de montrer que 𝜆 ≥ 5?
Utilisons l’équation caractéristique de la matrice S, qui coïncide avec l’équation
caractéristique de l’équation récurrente: (1) 𝜆𝑎.*/-4 𝑎. +1 = 0
( ] /
Qui s’écrit (2) 𝑟 - 𝑟 + =0
^ ^
Schéma de Gear: Stabilité
−𝑢$$ 𝑥 = 𝑓 𝑥 . 𝑥 ∈ 0,1
(P) !
𝑢 0 =𝑢 1 =0
Pour que cette intégrale ait un sens, il faudrait que 𝑣 $ 𝑠𝑜𝑖𝑡 𝑑𝑎𝑛𝑠 𝐿. ( 0,1 ).
Les fonctions tests sont dans l’espace des fonctions de 𝐿. ( 0,1 ), et telles que les dérivées sont dans 𝐿. ( 0,1 ). Cet
espace est noté 𝐻/ ( 0,1 ) , 𝑙𝑒 𝑠𝑜𝑢𝑠 𝑒𝑠𝑝𝑎𝑐𝑒 𝑑𝑒 𝐻/ ( 0,1 ) 𝑑𝑒𝑠 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛𝑠 𝑛𝑢𝑙𝑙𝑒𝑠 𝑎𝑢 𝑏𝑜𝑟𝑑 𝑒𝑠𝑡 𝑉 = 𝐻0/ ( 0,1 ).
La formulation variationnelle de (P) s’écrit donc:
∃? 𝑢 ∈ 𝑉, 𝑡𝑒𝑙 𝑞𝑢𝑒
(PV) ! / $ $ /
∫0 𝑢 𝑥 𝑣 𝑥 𝑑𝑥 = ∫0 𝑓 𝑥 𝑣 𝑥 𝑑𝑥. ∀𝑣 ∈ 𝑉
Formulation variationnelle
Notons 𝐻0/ (Ω) le sous espace des fonctions de 𝐻/ (Ω) qui s’annulent sur
la frontière de Ω, alors on a le résultat suivant:
Formules de Green
−∆𝑢 = 𝑓. 𝑑𝑎𝑛𝑠 Ω
P 𝑢 = 0 𝑠𝑢𝑟 𝜕Ω
𝑓 𝑑𝑜𝑛𝑛é𝑒 𝑑𝑎𝑛𝑠 𝐿.(Ω)
/ $ /
𝑎(𝑢, 𝑣)= ∫0 𝑢 𝑥 𝑣$ 𝑥 𝑑𝑥 et L v = ∫0 𝑓 𝑥 𝑣 𝑥 𝑑𝑥.
𝑎(. , . )est une forme bilinéaire symétrique, L(.) est linéaire, (évident).
Il suffit de montrer la continuité de 𝑎(.,.) et de L(.) ainsi que la coercivité de 𝑎(.,.) .
Pour montrer la continuité, on utilise l’inégalité de Cauchy-Schwarz.
Exercice2:
• Continuité de 𝑎(. , . )
/ $ / /
∫0 𝑢 𝑥 𝑣 $ 𝑥 𝑑𝑥 ≤ (∫0 (𝑢$ 𝑥 )2𝑑𝑥)1/2 (∫0 (𝑣 $ 𝑥 )2𝑑𝑥)1/2= 𝑢 ~•€ (•) 𝑣 ~•€ (•)
/
𝑎(𝑢, 𝑣) = ∫0 𝑢$ 𝑥 𝑣 $ 𝑥 𝑑𝑥 ≤ 𝑢 ~•€ (•) 𝑣 ~•€ (•)
D’où la continuité de 𝑎(.,.), avec une constante M=1, on a:
• Continuité de L(.)
/ / /
∫0 𝑓 𝑥 𝑣 𝑥 𝑑𝑥 ≤ (∫0 (𝑓 𝑥 )2𝑑𝑥)1/2 (∫0 (𝑣 𝑥 )2𝑑𝑥)1/2= 𝑓 ƒ„ (•) 𝑣 ~•€ (•)
D’où 𝐿 𝑣 ≤𝐾 𝑣 ~•€ (•) , avec K= 𝑓 ƒ„ (•) .
• Coercivité de 𝑎(. , . )
/ .
𝑎 𝑣, 𝑣 = ∫0 𝑣 $ 𝑥 2𝑑𝑥 = 𝑣 ~•€ (•)
D’où la coercivité de 𝑎 . , . avec un coefficient 𝛼 = 1.
Remarque: Ces résultats sont vrais dans 𝑯𝟏𝟎 (𝜴) mais ne sont pas vrais dans 𝑯𝟏 (𝜴) car la semi-norme
𝟏
𝐝é𝐟𝐢𝐧𝐢𝐞 𝐩𝐚𝐫 𝒗 = (∫𝟎 (𝒗 𝒙 )𝟐𝒅𝒙)1/2 est une norme sur 𝑯𝟏𝟎 (𝜴) mais pas sur 𝑯𝟏 (𝜴).
Les conditions aux limites sont d’une grande importance dans l’analyse du problème.
Exercice3:
Il suffit d’utiliser la F.G.G. la formulation variationnelle s’écrit
Le terme sur le bord est nul à cause de la condition de Dirichlet. L’espace 𝑉 des
fonctions tests sera donc
𝑉 = 𝑣 ∈ 𝐿.(Ω),∇𝑣 ∈ 𝐿.(Ω) 𝑒𝑡 𝑣 = 0 𝑠𝑢𝑟 𝜕Ω = 𝐻0/(Ω)
La démonstration de l’existence reste la même que pour le problème de Dirichlet
en dimension1.
La semi-norme définie par (∫ ∇𝑢 𝑥 2𝑑𝑥)1/2est une norme sur V = 𝐻0/(Ω).
Conditions aux limites mixtes
Considérons le problème aux limites suivant:
−∆𝑢 = 𝑓. 𝑑𝑎𝑛𝑠 Ω
(P) P ˜™
𝑢 = 0 𝑠𝑢𝑟 Γ/ 𝑒𝑡 = 0 𝑠𝑢𝑟 Γ.
˜3
Le terme sur le bord est nul sur Γ. à cause de la condition de Neumann, pour l’annuler
sur Γ/ il faut que la fonction test 𝑣 soit nulle sur Γ/.
L’espace 𝑉 des fonctions tests sera donc 𝑉 = 𝑣 ∈ 𝐿.(Ω),∇𝑣 ∈ 𝐿.(Ω) 𝑒𝑡 𝑣 = 0 𝑠𝑢𝑟 Γ/
La démonstration de l’existence reste la même que pour le problème de Dirichlet car
la semi-norme définie par (∫ ∇𝑢 𝑥 2𝑑𝑥)1/2est une norme sur V.
Conditions aux limites de Neumann
−∆𝑢 = 𝑓. 𝑑𝑎𝑛𝑠 Ω
(P2) ! ˜™
= 0 𝑠𝑢𝑟 𝜕Ω
˜3
−∆𝑢 + 𝑢 = 𝑓. 𝑑𝑎𝑛𝑠 Ω
(P3) ! ˜™
= 0 𝑠𝑢𝑟 𝜕Ω
˜3
)*)+,-
𝜙% (x) = ) . 𝑥 ∈ 𝑥%*", 𝑥%
+ *)+,-
)*)+/-
𝜙% (x) = . 𝑥 ∈ 𝑥% , 𝑥%'"
)+ *)+/-
𝜙% (x) = 0 ailleurs
Eléments finis de degré 1 en dimension 1
A partir des polynômes de Lagrange de degré 1, on écrit les fonctions
polynômiales de base de degré1 dites « fonctions chapeau », telles que
𝜙% (𝑥% ) = 1 et 𝜙% (𝑥0 ) = 0 si j≠ 𝑖
Eléments finis de degré 1 en dimension 1
L’espace 𝑉ℎ ainsi défini est dit espace des éléments finis de Lagrange de type « P1 »,
une fonction de 𝑉ℎ est définie par :
∃? 𝑢6 ∈ 𝑉6 , 𝑞𝑢𝑒
(P 𝑉6 ) ? " "
∫! 𝑢6 # 𝑥 𝑣6 # 𝑥 𝑑𝑥 = ∫! 𝑓 𝑥 𝑣6 𝑥 𝑑𝑥. ∀ 𝑣6 ∈ 𝑉6
Eléments finis de degré 1 en dimension 1
On peut aussi écrire ce problème en utilisant les fonctions de base.
∃? 𝑢6 ∈ 𝑉6 , 𝑞𝑢𝑒
(P 𝑉6 ) : " # # "
∫! 𝑢6 𝑥 𝜙% 𝑥 𝑑𝑥 = ∫! 𝑓 𝑥 𝜙% 𝑥 𝑑𝑥. ∀ 𝑗 = 1, … . 𝑛
Nous avons déjà écrit ce problème sous forme matricielle. Les fonctions de base
choisies sont les fonctions polynomiales par morceaux de degré 1.
Calculer les termes 𝑎0% de la matrice A.
Eléments finis de degré 1 en dimension 1
"
R 𝜙0 # (𝑥) 𝜙% # 𝑥 𝑑𝑥 =?
!
#
On commence par calculer 𝜙0 (𝑥)? Or
)*)+,- # "
• 𝜙% (x) =
)+ *)+,-
. 𝑥 ∈ 𝑥%*" , 𝑥% . 𝜙% (𝑥) = 𝑠𝑖 𝑥 ∈ 𝑥%*" , 𝑥%
6
)*)+/- "
• 𝜙% (x) =
)+ *)+/-
. 𝑥 ∈ 𝑥% , 𝑥%'" 𝜙% # (𝑥) =- 𝑥 ∈ 𝑥% , 𝑥%'"
6
#
• 𝜙% (x) = 0 et 𝜙% (𝑥) =0 ailleurs.
Les termes 𝒂𝒊𝒋 de la matrice A sont donc nuls sauf 𝒂𝒊𝒊*𝟏 = 𝒂𝒊𝒊'𝟏
" )W " "
∫! 𝜙0 (𝑥) 𝜙0*" 𝑥 𝑑𝑥 = ∫) − Y 𝑑𝑥 =- , la matrice étant symétrique, on a 𝑎00*"= 𝑎00'"
# #
W,- 6 6
" # W ) " ) " 2 \
∫! ( 𝜙0 (𝑥))2 𝑑𝑥 = ∫) 𝑑𝑥 + ∫) W/- − 𝑑𝑥 =
W,- 6Y W 6 6
Eléments finis de degré 1 en dimension 1
Ecriture matricielle: On obtient un problème matriciel AU = F
avec A matrice tridiagonale symétrique:
2 −1 ⋯ 0
1 −1 ⋮
. ⋱
ℎ −1
.
0 ⋯ 2
Eléments finis de degré 2 en dimension 1
La méthode des éléments finis de degré 2 ou P2, est basée sur l’utilisation de l’espace discret, de
fonctions polynomiales par morceaux, de degré 2.
On définit un sous espace Vh de V, dont les fonctions de base sont des fonctions polynomiales par
morceaux, de degré2, le support de chaque fonction de base étant inclus dans deux « éléments
géométriques adjacents et ayant le nœud 𝑥! comme sommet commun » : 𝑥!"# , 𝑥! ∪ 𝑥! , 𝑥!$#
La base de Vh est construite à partir des polynômes de Lagrange de degré 2, en utilisant les
sommets 𝑥! et les milieux 𝑦! de chacun des éléments géométriques.
Eléments finis de degré 2 en dimension 1
Nous allons noter par 𝜙! une fonction de base associée à un sommet 𝑥! et par 𝜓! une
fonction de base associée à un nœud interne 𝑦! .
Le support d’une fonction de base associée à un nœud interne « point milieu dans ce cas »
est inclus dans l’élément géométrique contenant le nœud.
()*)!"# )()*,!"# )
𝜙' (x) = () . 𝑥 ∈ 𝑥'*., 𝑥'
! *)!"# )()! *,!"# )
()*)!$# )()*,! )
𝜙' (x) = . 𝑥 ∈ 𝑥' , 𝑥'/.
()! *)!$# )()! *,! )
𝜙' (x) = 0 ailleurs
Et
()*)!"# )()*)! )
𝜓'*. (x) = (, . 𝑥 ∈ 𝑥'*., 𝑥'
!"# *)!"# )(,!"# *)! )
𝜙 𝜓'
A
Matrices élémentaires et matrice globale
Le calcul des matrices se fait en général en utilisant l’assemblage des matrices
élémentaires. On calcule d’abord la matrice correspondant à un élément
géométrique et on fait ensuite l’assemblage de ces matrices pour obtenir la matrice
globale.
Matrices élémentaires:
On s’intéresse au calcul des termes variationnels « intégrales » sur un élément
géométrique.
Cas linéaire: 2 nœuds géométriques Cas quadratique: 2 nœuds géométriques et un nœud interne
Matrices élémentaires et matrice globale
Calcul d’une matrice élémentaire: Elément P1
Sur un élément géométrique nous avons deux nœuds, la matrice élémentaire serait
donc (2x2). Sur 𝑥1*., 𝑥1 les termes calculés 𝑎11*.,𝑎11/. restent les mêmes, le
terme 𝑎11 change car le calcul est fait sur un seul élément géométrique. On a donc
la matrice élémentaire suivante:
. 1 −1
𝐴1 =
: −1 1
Matrices élémentaires et matrice globale
Construction de la matrice globale:
1 −1
⋯ 0
−1 1+1
⋮ ⋮
. 1+1 −1
A= . .
: −1 1+1
. .
1 + 1 −1
0 ⋯
−1 1
La première ligne est associée au nœud 𝑥B et la dernière au nœud 𝑥C/. il faut les
omettre à cause des conditions de Dirichlet.
Matrices élémentaires et matrice globale
Exercice:
1) Calculer une matrice élémentaire dans le cas d’un élément fini de type « P2 »
2) Donner l’expression de la matrice globale.
Eléments finis de degré1 en dimension2
Considérons le problème de Dirichlet
(P)
Nous allons considérer un maillage uniforme de pas h, utilisant des triangles rectangles
1NO
M 𝑎1 𝜆1 𝑥 = 𝑥
1N.
'
Désignons par 𝑎1 , j=1, 2 les coordonnées du sommet 𝑎1 .
Ecrire le système vérifié par les 𝜆1 𝑥 .