MUJINGA MALOJI ANAÏS
L3 G.C
TRAVAIL D’INTRODUCTION AUX ÉLÉMENTS FINS
QUESTION
Ecrire un programme MATLAB d’éléments finis qui permet de résoudre dans le domaine [0, 3]
l’équation : 𝑑𝑢⁄𝑑𝑥 + (2𝑥 − 1)𝑢 = 0 avec 𝑢(0) =1. Comparer avec la solution exacte : 𝑢𝑒 = 𝑒 𝑥−𝑥 .
2
RÉSOLUTION
= 0, 3 est un domaine de dimension 1 ; sa frontière se réduit à deux points : 0 et 3.
Discrétisation du domaine
𝟑−𝟎
Le domaine est divisé en 4 éléments de taille 𝟒
= 𝟎. 𝟕𝟓. Chaque élément contient deux nœuds sur
lesquelles la fonction u est interpolée.
x=0 x = 0.75 x = 1.5 x = 2.25 x=3
TABLEAU DE CONNECTIVITÉS DES ÉLÉMENTS ET TABLEAU DES COORDONNÉES DES NŒUDS
La division du domaine en plusieurs éléments est appelée maillage. On utilise deux tableaux pour la
description du maillage : tableau de connectivités des éléments et tableau des coordonnées des nœuds.
Pour cet exercice, on obtient les deux tableaux comme suit :
Tableau des connectivités Tableau des coordonnées
Elément Nœud 1 (début) Nœud 2 (fin) Nœud Coordonnée (x)
1 1 2 1 0.00
2 2 3 2 0.75
3 3 4
3 1.50
4 4 5
4 2.25
5 3.00
Voici les commandes MATLAB qui permettent d’obtenir les deux tableaux :
Discrétisation et interpolation sur l’élément
On peut interpoler la fonction 𝑢 recherchée dans un élément par un polynôme. L’ordre du polynôme
conditionne la précision de la solution approchée. Pour un élément à deux nœuds on peut prendre :
𝑢 = 𝑎0 + 𝑎1 𝑥
Soit sous forme vectorielle :
𝑎0
𝑢 =< 1 𝑥 > { } ≡ 𝑢 = 𝑝 𝑎𝑛
𝑎1
Avec 𝒑 vecteur ligne contenant les monômes 𝑥 𝑛
𝒂𝒏 Vecteur colonne contenant les facteurs du polynôme.
Pour utiliser les valeurs de u aux nœuds on cherche une interpolation en fonction de 𝑢1 et 𝑢2 .
L’interpolation polynomiale aux nœuds s’écrit :
𝑢1 1 𝑥1 𝑎0
{ }=[ ] { } ≡ 𝑢𝑛 = 𝑃𝑛 𝑎𝑛
𝑢2 1 𝑥2 𝑎1
L’inverse de ce système d’équations donne les paramètres 𝑎𝑛 .
𝑎0 1 𝑥 −𝑥1 𝑢1
𝑎𝑛 = 𝑃𝑛 −1 𝑈𝑛 ≡ { }= [ 2 ]{ }
𝑎1 𝑥2 − 𝑥1 −1 1 𝑢2
En remplaçant les 𝑎𝑛 on peut maintenant approcher la fonction 𝑢 par :
1 𝑥 −𝑥1 𝑢1 𝑥2 − 𝑥 𝑥 − 𝑥1 𝑢1
𝑢 = 〈1 𝑥〉 [ 2 ]{ } = 〈 〉{ }
𝑥2 − 𝑥1 −1 1 𝑢2 𝑥2 − 𝑥1 𝑥2 − 𝑥1 𝑢2
𝑢 = 𝑁 𝑈𝑛
Avec N est un vecteur ligne contenant des fonctions de 𝑥 appelées fonctions de forme.
Propriétés des fonctions de forme
• Elles prennent la valeur unité aux nœuds de même indice et la valeur nulle aux autres nœuds :
𝑥2 − 𝑥 1 𝑥 = 𝑥1 𝑥 − 𝑥1 1 𝑥 = 𝑥2
𝑁1 (𝑥) = ={ ; 𝑁2 (𝑥) = ={
𝑥2 − 𝑥1 0 𝑥 = 𝑥2 𝑥2 − 𝑥1 0 𝑥 = 𝑥1
• Leur somme est égale à l’unité sur tout l’intervalle de l’élément :
𝑁1 (𝑥) + 𝑁2 (𝑥) = 1 ∀ 𝑥 ∈ [𝑥2 ; 𝑥1 ]
Matrices élémentaires
Ecrivons le problème sous forme intégrale :
𝑑𝑢
∫ 𝛿𝑢 [ + 2𝑥(𝑢 − 1)] 𝑑𝛺 = 0
𝛺 𝑑𝑥
Avec 𝛿𝑢 est une fonction de pondération prise égale à une perturbation de la fonction inconnue 𝑢.
Le domaine 𝛺 comprend l’intervalle 0 à 3, 𝑑𝛺 = 𝑑𝑥 et avec l’interpolation nodale on a :
𝑑𝑢 𝑑𝑁
= 𝑈 ; 𝛿𝑢 = 𝑁 𝛿𝑈𝑛 Puisque seules les fonctions 𝑁 dépendent de 𝑥 et les perturbations
𝑑𝑥 𝑑𝑥 𝑛
ne touchent que les valeurs de 𝑢.
Pour commodité on écrit : 𝛿𝑢 = (𝛿𝑈𝑛 )𝑇 𝑁 𝑇
L’intégrale de 0 à 3 peut être remplacée par la somme des intégrales de 𝑥𝑖 à 𝑥𝑖+1 :
3 𝑥𝑖+1 𝑥2
∫ ∑ ∫ = ∑ ∫
0 𝑖=1,𝑛 𝑥𝑖 𝑖=1,𝑛 𝑥1
La forme intégrale de l’équation différentielle devient alors pour chaque élément :
𝑥2
𝑑𝑢
∫ (𝛿𝑢 + 𝛿𝑢(2𝑥)𝑢 − 𝛿𝑢 𝑢) 𝑑Ω = 0
𝑥1 𝑑𝑥
𝑥2 𝑥2 𝑥2
𝑑𝑢
∫ [𝛿𝑢 ] 𝑑𝑥 + ∫ [𝛿𝑢(2𝑥)𝑢]𝑑𝑥 − ∫ [𝛿𝑢 𝑢] 𝑑𝑥 = 0
𝑥1 𝑑𝑥 𝑥1 𝑥1
𝑥2 𝑥2 𝑥2
𝑑𝑁
∫ [𝑁𝛿𝑈𝑛 𝑈 ] 𝑑𝑥 + ∫ [𝑁𝛿𝑈𝑛 (2𝑥)𝑢] 𝑑𝑥 − ∫ [𝑁𝛿𝑈𝑛 𝑢] 𝑑𝑥 = 0
𝑥1 𝑑𝑥 𝑛 𝑥1 𝑥1
𝑥2 𝑥2 𝑥2
𝑑𝑁
∫ [𝛿𝑈𝑛𝑇 𝑁 𝑇 𝑈𝑛 ] 𝑑𝑥 + ∫ [𝛿𝑈𝑛𝑇 𝑁 𝑇 (2𝑥)𝑁𝑈𝑛 ]𝑑𝑥 − ∫ [𝛿𝑈𝑛𝑇 𝑁 𝑇 ]𝑑𝑥 = 0
𝑥1 𝑑𝑥 𝑥1 𝑥1
Cette écriture discrétisée est valable pour tous les types d’éléments. Dans le cas particulier d’un élément
linéaire à deux nœuds, elle s’écrit comme suit :
𝑥2
𝑁1 𝑢
< 𝛿𝑢1 𝛿𝑢2 > ∫ { } < 𝑑𝑁1 𝑑𝑁2 > 𝑑𝑥 {𝑢1 } +
𝑥1
𝑁2 2
𝑥2
𝑁 𝑢
< 𝛿𝑢1 𝛿𝑢2 > ∫ { 1 } 2𝑥 < 𝑁1 𝑁2 > 𝑑𝑥 {𝑢1 } −
𝑥
𝑁2 2
1
𝑥2
𝑁 𝑢1
< 𝛿𝑢1 𝛿𝑢2 > ∫ { 1 } < 𝑁1 𝑁2 > 𝑑𝑥 {𝑢 } = 0
𝑥
𝑁2 2
1
Finalement l’équation intégrale discrétisée se met sous la forme matricielle comme suit:
𝑥2 𝑥2 𝑥2
𝑁 𝑁 𝑁 𝑢
(∫ { 1 } < 𝑑𝑁1 𝑑𝑁2 > 𝑑𝑥 + ∫ { 1 } 2𝑥 < 𝑁1 𝑁2 > 𝑑𝑥 − ∫ { 1 } < 𝑁1 𝑁2 > 𝑑𝑥) {𝑢1 } = 0
𝑥
𝑁2 𝑥
𝑁2 𝑥
𝑁2 2
1 1 1
𝑥 𝑁1 𝑑𝑁1 𝑁1 𝑑𝑁2 𝑥 𝑁 2𝑥𝑁1 𝑁1 2𝑥𝑁2 𝑥 𝑁 𝑁 𝑁1 𝑁2 𝑢1
(∫𝑥 2 [ ] 𝑑𝑥 + ∫𝑥 2 [ 1 ] 𝑑𝑥 − ∫𝑥 2 [ 1 1 ] 𝑑𝑥) {𝑢 } = 0 :
1 𝑁2 𝑑𝑁1 𝑁2 𝑑𝑁2 1 𝑁2 2𝑥𝑁1 𝑁2 2𝑥𝑁2 1 𝑁2 𝑁1 𝑁2 𝑁2 2
Système d’équations linéaires Ke Ue = Fe
Dans cette équation différentielle 𝐾 est la somme de deux matrices : 𝐾𝑒 = 𝐾𝑒1 + 𝐾𝑒2 tel que :
𝑥 − 𝑥2 1 𝑥 − 𝑥2 1
𝑥2 ( ) ( )
𝑥1 − 𝑥2 𝑥1 − 𝑥2 𝑥1 − 𝑥2 𝑥2 − 𝑥1 1 −1 1
𝐾𝑒1 = ∫ 𝑑𝑥 = [ ]
𝑥1 (
𝑥 − 𝑥1 1 𝑥 − 𝑥1 1 2 −1 1
) ( )
[ 𝑥2 − 𝑥1 𝑥1 − 𝑥2 𝑥2 − 𝑥1 𝑥2 − 𝑥1 ]
𝑥 − 𝑥2 𝑥 − 𝑥2 𝑥 − 𝑥2 𝑥 − 𝑥1 𝑥 − 𝑥2 2 𝑥 − 𝑥2 𝑥 − 𝑥1
( 𝑥2 2𝑥 ) ( 2𝑥 ) 𝑥2 ( ) ( )
𝑥1 − 𝑥2 𝑥1 − 𝑥2 𝑥1 − 𝑥2 𝑥2 − 𝑥1 𝑥1 − 𝑥2 𝑥1 − 𝑥2 𝑥2 − 𝑥1
𝐾𝑒2 = ∫ [ 𝑥 − 𝑥 𝑥 − 𝑥2 𝑥 − 𝑥1 𝑥 − 𝑥1 ] 𝑑𝑥 − ∫
𝑥1 (
1 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥 − 𝑥1 2
2𝑥 ) ( 2𝑥 ) 𝑥1
( ) ( )
𝑥2 − 𝑥1 𝑥1 − 𝑥2 𝑥2 − 𝑥1 𝑥2 − 𝑥1 [ 𝑥2 − 𝑥1 𝑥1 − 𝑥2 𝑥2 − 𝑥1 ]
𝑥2 − 𝑥1 3𝑥1 + 𝑥2 𝑥1 + 𝑥2 𝑥2 − 𝑥1 1 1⁄2
= [ ]− [ ]
6 𝑥1 + 𝑥2 𝑥1 + 3𝑥2 3 1⁄
2 1
0
𝐹𝑒 = [ ]
0
Il nous faudrait utiliser le logiciel MATLAB pour intégrer analytiquement les matrices élémentaires,
ASSEMBLAGE
Le calcul des matrices élémentaires permet d’obtenir pour les quatre éléments les systèmes d’équations
élémentaires suivants :
1 : 𝒙𝟏 = 𝟎 𝒆𝒕 𝒙𝟐 = 𝟎. 𝟕𝟓
3 3 1 1 1
(1) 1 −1 1 (1) 3 1 1 (1) 1 1
𝐾𝑒1 = [
2 −1
] ; 𝐾𝑒2 = [32
3
32
9] = [ ] ; 𝐾𝑒3 = [41 8
1] = [
4 1
2
]
1 32 1 3 1
32 32 8 4 2
0
𝐹𝑒 (1) = { }
0
2 : 𝒙𝟏 = 𝟎. 𝟕𝟓 𝒆𝒕 𝒙𝟐 = 𝟏. 𝟓
15 9 1 1 1
(2) 1 −1 1 (2) 3 5 3 (2) 1 1
𝐾𝑒1 = [
2 −1
] ; 𝐾𝑒2 = [32
9
32
21] = [ ] ; 𝐾𝑒3 = [41 8
1] = [
4 1
2
]
1 32 3 7 1
32 32 8 4 2
0
𝐹𝑒 (2) = { }
0
3: 𝒙𝟏 = 𝟏. 𝟓 𝒆𝒕 𝒙𝟐 = 𝟐. 𝟐𝟓
27 15 1 1 1
(3) 1 −1 1 (3) 3 9 3 (3) 1 1
𝐾𝑒1 = [
2 −1
] ; 𝐾𝑒2 = [32
15
32
15] = [ ] ; 𝐾𝑒3 = [41 8
1] = [
4 1
2
]
1 32 5 11 1
32 32 8 4 2
0
𝐹𝑒 (3) = { }
0
4: 𝒙𝟏 = 𝟐. 𝟐𝟓 𝒆𝒕 𝒙𝟐 = 𝟑
39 21 1 1 1
(4) 1 −1 1 (4) 3 9 3 (4) 1 1
𝐾𝑒1 = [
2 −1
] ; 𝐾𝑒2 = [32
21
32
45] = [ ] ; 𝐾𝑒3 = [41 8
1] = [
4 1
2
]
1 32 5 11 1
32 32 8 4 2
0
𝐹𝑒 (4) = { }
0
En réécrivant les systèmes élémentaires en fonction de toutes les composantes de U on obtient :
−21 15 0 0 0 𝑢1 0
−17 17 0 0 0 𝑢 2 0
1
1 32 0 0 0 0 0 𝑢3 = 0
0 0 0 0 0 𝑢4 0
[ 0 0 0 0 0] {𝑢5 } {0}
0 0 0 0 0 𝑢1 0
0 −9 21 0 0 𝑢2 0
1
2 32 0 −11 29 0 0 𝑢3 = 0
0 0 0 0 0 𝑢4 0
[0 0 0 0 0] {𝑢5 } {0}
0 0 0 0 0 𝑢1 0
0 0 0 0 0 𝑢 2 0
1
3: 32 0 0 3 27 0 𝑢3 = 0
0 0 −5 41 0 𝑢4 0
[0 0 0 0 0] {𝑢5 } {0}
0 0 0 0 0 𝑢1 0
0 0 0 0 0 𝑢2 0
1
4: 32 0 0 0 0 0 𝑢3 = 0
0 0 0 15 33 𝑢4 0
[0 0 0 ] 𝑢
1 53 { 5 } {0}
En prenant ensuite la somme des intégrales, le système global s’écrit:
−21 15 0 0 0 𝑢1 0
−17 8 21 0 0 𝑢 2 0
1
0 −11 32 27 0 𝑢3 = 0 = 𝐾 𝑈 = 𝐹
32
0 0 −5 56 33 𝑢4 0
[ 0 0 0 1 53] {𝑢5 } {0}