0% ont trouvé ce document utile (0 vote)
25 vues15 pages

Seance6 7

Le document présente les méthodes numériques pour les équations aux dérivées partielles (EDPs) en utilisant la méthode des éléments finis en 1D, en se concentrant sur la méthode de Galerkin et le choix de la base d'approximation. Il aborde le maillage, l'interpolation, le calcul des tableaux élémentaires, l'assemblage de la matrice de rigidité, ainsi que l'imposition des conditions aux limites et la résolution du système linéaire. Ces concepts sont illustrés à travers l'exemple de l'équation de la chaleur.

Transféré par

kechidadel13
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues15 pages

Seance6 7

Le document présente les méthodes numériques pour les équations aux dérivées partielles (EDPs) en utilisant la méthode des éléments finis en 1D, en se concentrant sur la méthode de Galerkin et le choix de la base d'approximation. Il aborde le maillage, l'interpolation, le calcul des tableaux élémentaires, l'assemblage de la matrice de rigidité, ainsi que l'imposition des conditions aux limites et la résolution du système linéaire. Ces concepts sont illustrés à travers l'exemple de l'équation de la chaleur.

Transféré par

kechidadel13
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Éléments finis 1d (séances 6-7)

Laurent Monasse∗

∗ Université Côte d’Azur, Inria, CNRS, LJAD, Nice

27 février 2023

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 1 / 12
Introduction

Rappel : méthode de Galerkin

Soit Vh un sev de dimension finie de (V , k · kV espace de Hilbert, sur lequel


est écrite la formulation variationnelle : trouver u ∈ V tel que

∀v ∈ V , a(u, v ) = b(v ).

Méthode de Galerkin : trouver uh ∈ Vh tel que

∀vh ∈ Vh , a(uh , vh ) = b(vh ).

Choix de la base : prendre une suite d’espaces d’approximation Vh qui soit


dense dans V (convergence par le lemme de Céa)
Méthode des Éléments Finis : choix d’une base polynômiale par morceaux
PN
Si on prend une base (Ψi )1≤i≤N de Vh et qu’on écrit uh = i=1 ui Ψi , alors
le problème à résoudre est de la forme Ah Uh = Bh , avec (Ah )ij = a(Ψj , Ψi ).

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 2 / 12
Introduction

Rappel : méthode de Galerkin

Choix de la base : prendre une suite d’espaces d’approximation Vh qui soit


dense dans V (convergence par le lemme de Céa)
Méthode des Éléments Finis : choix d’une base polynômiale par morceaux
Quels sont ces “morceaux” ? ○1 Maillage
2 Interpolation
Quelle base ? ○
PN
Si on prend une base (Ψi )1≤i≤N de Vh et qu’on écrit uh = i=1 ui Ψi , alors
le problème à résoudre est de la forme Ah Uh = Bh , avec (Ah )ij = a(Ψj , Ψi ).
Comment calculer (Ah )ij en pratique ?
3
○ Réduction au calcul de tableaux élémentaires
4
○ Assemblage de la matrice Ah
5
○ Prise en compte des conditions aux limites ?
6
○ Résolution du système linéaire Ah Uh = Bh ?

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 2 / 12
Introduction

Rappel : méthode de Galerkin

Choix de la base : prendre une suite d’espaces d’approximation Vh qui soit


dense dans V (convergence par le lemme de Céa)
Méthode des Éléments Finis : choix d’une base polynômiale par morceaux
Quels sont ces “morceaux” ? ○1 Maillage
2 Interpolation
Quelle base ? ○
PN
Si on prend une base (Ψi )1≤i≤N de Vh et qu’on écrit uh = i=1 ui Ψi , alors
le problème à résoudre est de la forme Ah Uh = Bh , avec (Ah )ij = a(Ψj , Ψi ).
Comment calculer (Ah )ij en pratique ?
3
○ Réduction au calcul de tableaux élémentaires
4
○ Assemblage de la matrice Ah
5
○ Prise en compte des conditions aux limites ?
6
○ Résolution du système linéaire Ah Uh = Bh ?
Ce sera le plan des deux séances, sur l’exemple le plus simple : éléments finis
P1 en 1d.

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 2 / 12
Maillage

1 Maillage

Les éléments finis s’appuient sur un maillage pour pouvoir définir la base
d’approximation : c’est un découpage de l’espace en sous-domaines de forme
prescrite
En 3d, un maillage peut être assez complexe

Courtesy Gmsh, (C) C. Geuzaine et J.F. Remacle

En 1d, c’est juste un découpage en segments ei = [xi−1 , xi ], avec


xi = xi−1 + hi
xi =noeud, ei =élement, hi =taille de l’élément, Nv =nombre de noeuds,
Ne=nombre d’éléments
e1 e2 e3 e4
◦ ◦ ◦ ◦ ◦
x0 x1 x2 x3 x4
L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 3 / 12
Interpolation

2 Choix de la base

On prend sur chaque élément ei = [xi , xi+1 ] des fonctions affines :
vh (x) = ai x + bi .
1
De plus, Vh ⊂ H ⇒ les fonctions de base doivent être continues
Base : Fonctions de forme ϕi valant 1 sur le noeud xi et 0 sur les autres :
x − x
i−1
 sur ei ,
h



 i
ϕi (x) = xi+1 − x sur e ,
i+1
 hi+1



0 sinon.

PNv
Interpolation : vh (x) = i=0 vi ϕi (x).
ϕ

ϕi

• • • • •
xi−1 xi xi+1
L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 4 / 12
Tableaux élémentaires

3 Calcul des tableaux élémentaires



Il faut calculer les Aij = a(ϕj , ϕi )
Dans le cas de l’équation de la chaleur,
Z XZ
a(uh , vh ) = uh0 (x)vh0 (x)dx = uh0 (x)vh0 (x)dx.
Ω i ei

Sur chaque ei , vh (x) = vi−1 ϕi−1 (x) + vi ϕi (x)


On se ramène donc à calculer les intégrales des fonctions de forme sur
l’élément ei , donc uniquement pour celles non nulles sur l’élément, ϕi−1 et ϕi .
Calcul de la matrice de rigidité élémentaire K e qui donne la dépendance de
l’intégrale sur ei en fonction des u e = (ui−1 , ui )T et v e = (vi−1 , vi )T :
Z
uh0 (x)vh0 (x)dx = (K e u e |v e ).
ei

Dans notre cas, c’est simple : sur ei


1 1
ϕ0i−1 (x) = − , ϕ0i (x) =
hi hi
L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 5 / 12
Tableaux élémentaires

Matrice de rigidité élémentaire pour l’équation de la chaleur

Z Z
uh0 vh0 = (ui−1 ϕ0i−1 + ui ϕ0i )(vi−1 ϕ0i−1 + vi ϕ0i )
ei ei
Z   
ui−1 ui vi−1 vi ui − ui−1 vi − vi−1
= − + − + = hi ·
ei hi hi hi hi hi hi
    
1 +1 −1 ui−1 vi−1
=
hi −1 +1 ui vi

Expression de la matrice de rigidité élémentaire K e sur ei :


 
1 +1 −1
Ke =
hi −1 +1

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 6 / 12
Tableaux élémentaires

Calcul du second membre


R
On a également besoin d’évaluer b(vh ) = Ω fvh .
P R
On découpe sur les éléments : b(vh ) = i ei fvh , puis on calcule le vecteur
élémentaire F e = (fi−1 , fi )T tel que
Z
f (x)vh (x)dx = hF e |v e i
ei
Z Z
= vi−1 f (x)ϕi−1 (x)dx +vi f (x)ϕi (x)dx
ei ei
| {z } | {z }
fi−1 fi

En général, pas de formule exacte pour fi et fi−1 : quadrature numérique


Par exemple, formule des trapèzes :
hi hi
fi−1 ≈ f (xi−1 ), fi ≈ f (xi )
2 2

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 7 / 12
Assemblage

Assemblage de la matrice de rigidité

Comme son nom l’indique : on rassemble les matrices élémentaires...


On a écrit les intégrales par élément. Si on revient à l’intégrale complète :
Z X
uh0 vh0 = hK e u e |v e i
Ω e
Z X
fvh = hF e |v e i
Ω e

Si on revient à Uh = (ui ) et Vh = (vi ) les vecteurs complets, on doit écrire


Z Z
0 0
uh vh = hAh Uh |Vh i, fvh = hF |Vh i
Ω Ω

avec Ah la matrice de rigidité globale, F le second membre global.


On peut alors faire le lien entre les matrices 2 × 2 locales K e et la matrice
N × N globale Ah .

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 8 / 12
Assemblage

Exemple : assemblage pour l’équation de la chaleur


Si on regarde une ligne de la matrice Ah , il s’agit des coefficients devant les
ui de hAh Uh |Ei i où Ei est le vecteur dont tous les termes sont nuls sauf le
ième égal à 1.
Z XZ
0 0
hAh Uh |Ei i = a(uh , ϕi ) = uh ϕi = uh0 ϕ0i
Ω j ej

−1 ui − ui−1 ui − ui+1
Z Z
1
= uh0 + uh0 = +
ei hi ei+1 hi+1 hi hi+1
Donc la matrice Ah est de la forme :
 1
− h11

h1 0 ... ... 0

 −1 1 1
.. 
 h1 h1 + h2 − h12 0 . 

 .. .. 
 0 − h12 1
h2 + h3
1
− h13 . . 
Ah =  .
 
 . .. .. .. .. 
 . . . . . 0


 . 
 . 1 1 1
 . 0 − hN−1 + − h1N

hN−1 hN 
0 ... ... 0 − h1N 1
hN
L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 9 / 12
Assemblage

Algorithme d’assemblage

Initialiser Ah(1 :N,1 :N) et F (1 :N) à zéro ;


for ie=1 à Ne do . Boucle sur les éléments :
for i=1 à NDLE do . Boucle sur les DDL par élément :
in=loc(ie,i) . in numéro du ième noeud de l’élément ie
Calculer F e (i)
Faire F (in) = F (in) + F e (i)
for j=1 à NDLE do
jn=loc(ie,j) . jn numéro du jème noeud de l’élément ie
Calculer K e (i, j)
Faire Ah(in, jn) = Ah(in, jn) + K e (i, j)
end for
end for
end for
Termes en bleus : utilisation du tableau de numérotation de degrés de liberté
de l’élément dans le maillage ; récupéré du mailleur

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 10 / 12
Conditions aux limites

Imposition des conditions aux limites

On sait que les conditions de Neumann sont prises en compte de façon


naturelle par la formulation variationnelle ; il faut cependant des conditions de
Dirichlet pour qu’il y ait unicité de la solution
Comment imposer la condition uh (0) = 0 ? Plusieurs possibilités :
Ajouter cette équation supplémentaire sur le DDL u1 : peut compliquer la
résolution du système
Pénaliser la condition de Dirichlet : on remplace par exemple Ah(1, 1) par
1012 , et on a X
u1 = 10−12 (f1 − Ah(1, j)uj ) ≈ 0
j

Supprimer le DDL sur la condition de Dirichlet : naturel puisqu’on en fait une


condition essentielle, mais nécessite de savoir manipuler la taille du système

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 11 / 12
Résolution

Résolution du système linéaire


On n’inverse jamais la matrice Ah : trop coûteux, et Ah est creuse alors que
A−1
h est généralement pleine, donc il faut la stocker
Il y a deux principales façons de résoudre un système linéaire Ah Uh = Bh :
Méthodes directes (en deux étapes)
Factorisation (le plus coûteux) : Ah = LU (Gauss) ou K = B T B (Cholesky),
avec L triangulaire inférieure, U et B triangulaires supérieures
Descente/remontée :
Gauss : Ah x = LUx = f ⇐⇒ Lw = f puis Ux = w
Cholesky : Ah x = B T Bx = f ⇐⇒ B T w = f puis Bx = w
Systèmes assez petits (actuellement, pas plus du million de DDL)
Méthodes itératives (convergent sous conditions sur Ah )
Décomposition : Ah = M − N avec M facile à inverser. Choix possibles :
M = diag(Ah ) (Jacobi) ou M = triang_inf(Ah ) (Gauss-Seidel)
Itérations : initialiser x (0) , puis résoudre
Mx (k+1) = Nx (k) + f
Souvent, le problème converge lentement : il est mal conditionné (rapport
entre plus grande et plus petite valeur propre de Ah ). On peut chercher un
préconditionneur D (matrice inversible “proche” de A−1 h ) et résoudre le
problème équivalent DAh = Df .
L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 12 / 12
Résolution

L. Monasse (Inria & LJAD, Nice) Méthodes numériques pour les EDPs 27/02/2023 12 / 12

Vous aimerez peut-être aussi