Méthode des éléments finis

En analyse numérique, la méthode des éléments finis est utilisée pour résoudre numériquement des équations aux dérivées partielles.

Sommaire

Introduction

Historique

Domaines d'application

Principe

  1. Le milieu continu est « idéalisé » par la subdivision en un nombre fini d'éléments dont le comportement est représenté par un nombre finis de paramètres
  2. La résolution du problème global, obtenu par assemblage des éléments, suit les règles qui régissent les structures discrètes.

Les difficultés

Exemple de problème discret

Image manquante
Pb_discret.png


  1. Équation locale du composant e :
    \left. \begin{matrix} I_i^e = {1 \over R^e} (U_i^e - U_j^e) \\ I_j^e = {1 \over R^e} (U_j^e - U_i^e) \end{matrix} \right\} \Longrightarrow \begin{Bmatrix} I_i^e \\ I_j^e \end{Bmatrix} = {1 \over R^e} \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}\begin{Bmatrix} U_i^e \\ U_j^e \end{Bmatrix} \,
    soit \left\{ I^e \right\} = \left[ K^e \right] \left\{ U^e \right\} \,
  2. On écrit :
    • La continuité des potentiels en chaque connexion i \,
    • L'équilibre des courants à chaque connexion
    • L'adjonction des courants externes P^i \,
  3. On obtient l'équation globale du système assemblé :
    P^i = \sum_{j=1}^m \sum_{e=1}^m K_{ij}^e U_j^e \,
    soit \left\{ P \right\} = \left[ K \right] \left\{ U \right\} \,

Définition d'un élément fini

* Problème vrai :   * Problème idéalisé :
Image manquante
Milieu_continu.png
image:milieu_continu.png

  Image manquante
Milieu_discretise.png
image:milieu_discretise.png

En calcul de structures, un élément fini est caractérisé par deux matrices :
  • La matrice de raideur \left[ K \right] \,
  • La matrice de masse \left[ M \right] \,

Formulation d'un élément fini

Définitions et notations

C'est un vecteur dont chaque composante est également appelée degré de liberté
  • 3 ddl de translation : U_x,U_y,U_z \,
  • 3 ddl de rotation  : \theta_x,\theta_y,\theta_z \,
C'est le rapport de l'allongement à la longueur initiale.
En petites déformations, on a (A'B')^2 = \left(\ dx + {\partial u \over \partial x} \ dx\right)^2 + \left({\partial v \over \partial x} \ dx\right)^2 \,
Image manquante
Deformation_EF.png


\epsilon_x = {{A'B'-AB} \over AB} \,

Comme AB=\ dx \,, on a A'B'=(1+\epsilon_x)\ dx \,

\Rightarrow 2\epsilon_x+\epsilon_x^2 = 2{\partial u \over \partial x}+{\partial u \over \partial x}^2+{\partial v \over \partial x}^2 \,

On néglige les termes d'ordre 2 :

\epsilon_x = {\partial u \over \partial x} \,

Remarque : \epsilon \, est sans dimension

  • Elle représente les efforts internes qui s'appliquent dans la structure.
\sigma_{11},\sigma_{22},\sigma_{33} \, : contraintes normales
\sigma_{12},\sigma_{13},\sigma_{23} \, : contraintes de cisaillement
  • Une contrainte est homogène à une pression (N/m²)
  • Il existe un système de coordonées dans lequel \left[ \sigma \right] \, est une matrice diagonale : \left[ \sigma \right] =   \begin{bmatrix}\sigma_X & 0 & 0 \\ 0 & \sigma_Y & 0 \\ 0 & 0 & \sigma_Z\end{bmatrix} \,
\sigma_X,\sigma_Y,\sigma_Z \,sont appelées les contraintes principales
\begin{Bmatrix}\sigma_{11} \\ \sigma_{22} \\ \sigma_{33}  \\ \sigma_{12} \\ \sigma_{23} \\ \sigma_{31}\end{Bmatrix} = {{E(1-\nu)} \over {(1+\nu)(1-2\nu)}} \begin{bmatrix}1 & {\nu \over {1-\nu}} & {\nu \over {1-\nu}} & 0 & 0 & 0 \\ & 1 & {\nu \over {1-\nu}} & 0 & 0 & 0 \\ & & 1 & 0 & 0 & 0 \\ & & & {(1-2\nu) \over {2(1-\nu)}} & 0 & 0 \\ & \mbox{(sym)} & & & {(1-2\nu) \over {2(1-\nu)}} & 0 \\ & & & & & {(1-2\nu) \over {2(1-\nu)}}\end{bmatrix} \begin{Bmatrix}\epsilon_{11} \\ \epsilon_{22} \\ \epsilon_{33} \\ \gamma_{12} \\ \gamma_{23} \\ \gamma_{31}\end{Bmatrix}\,
E \,: module de Young (N/m²)
\nu \, : coefficient de Poisson (sans dimension)
  • On utilise parfois le module de cisaillement : G = {E \over {2(1+\nu)}} \,
  • Pour un matériau isotrope, il n'y a que 2 paramètres indépendants. Il y en a 6 pour un matériau orthotrope et 21 pour un matériau anisotrope
  • En notation matricielle, on écrit : \left\{ \sigma \right\} = \left[D\right]\left\{ \epsilon \right\} \,
\left[D\right] \, est appelée matrice d'élasticité du matériau.
W = {1 \over 2}\int_{v}\sigma.\epsilon.\ dv \,
C'est le produit de la force par le déplacement de son point d'application : \tau_F = {1 \over 2}F.U_F \,
C'est une force appliquée sur un ddl de type rotation

Équations fondamentales

Équations de l'elasticité linéaire :

{\partial \sigma_x \over \partial x} + {\partial \sigma_{xy} \over \partial y} + {\partial \sigma_{xz} \over \partial z} + F_x = 0\,
Image manquante
Elasticite_lineaire


{\partial \sigma_y \over \partial y} + {\partial \sigma_{xy} \over \partial x} + {\partial \sigma_{yz} \over \partial z} + F_y = 0\,
{\partial \sigma_z \over \partial z} + {\partial \sigma_{zx} \over \partial x} + {\partial \sigma_{zy} \over \partial y} + F_z = 0\,

Relations déformations-déplacements :

{\epsilon_x= {\partial u \over  \partial x}} \qquad {\epsilon_y= {\partial v \over  \partial y}} \qquad {\epsilon_z= {\partial w \over  \partial z}} \,
\gamma_{xz}={\partial w \over \partial x} + {\partial u \over \partial z} \,
\gamma_{xy}={\partial u \over \partial y} + {\partial v \over \partial x} \,
\gamma_{yz}={\partial w \over \partial y} + {\partial v \over \partial z} \,
Symboliquement, on écrit \{\epsilon\} = [S]\{U\} \,

Signification du coefficient de Poisson :

Image manquante
Poisson_coef.png


Si on applique au barreau une contrainte \sigma_x \,, on observe un rétrécissement dans la direction y correspondant à une déformation -\nu \sigma_x \over E \,
Quelques valeurs usuelles :

Remarques : On a toujours \nu \le \,0,5
Quand \nu \to \,0,5, les relations précédentes ne sont plus valables. Le matériau est dit viscoélastique.

Exemple de formulation : Barre en traction

Image manquante
Barre_traction.png


On suppose que le déplacement en tout point de la barre est donné par un polynôme du 1er degré : u(x) = a_1 + a_2 x \,

On a u(0) = u_1 \, et u(L) = u_2 \,
d'où u(x) = u_1\left(1-{x \over L} \right) + {x \over L} u_2 \,

qu'on écrit symboliquement : u(x) = [N(x)]\{U\} \, avec \left|\begin{matrix}[N(x)] & = & \left[ \left(1-{x \over L}\right) ; \left({x \over L}\right) \right] \\  \{U\} & = & \begin{Bmatrix}u_1 \\ u_2 \end{Bmatrix} \end{matrix}\right. \,
On en déduit :

\epsilon = \left[-{1 \over L} ; {1 \over L} \right]\begin{Bmatrix}u_1 \\ u_2\end{Bmatrix} = [B]\{U\} \,
\sigma = E\left[-{1 \over L} ; {1 \over L} \right]\begin{Bmatrix}u_1 \\ u_2\end{Bmatrix} = [D]\epsilon \,

D'autre part, on a par définition :

\begin{Bmatrix}F_1 \\ F_2 \end{Bmatrix} = \begin{Bmatrix}-\sigma S \\ \sigma S \end{Bmatrix} \, où S est l'aire de la section de la barre.

On pose :

\{F\} = \begin{Bmatrix}F_1 \\ F_2 \end{Bmatrix} = [A]\sigma \qquad \mbox {avec} \qquad \{A\} = S \begin{Bmatrix}-1 \\ 1 \end{Bmatrix} \,

On obtient finalement :

\{F\} = [A][D][B]\{U\} \,

Soit une relation du type :

\{F\} = [K]\{U\} \qquad \mbox {avec} \qquad [K] = [A][D][B] \,

En explicitant :

[K] = {ES \over L} \begin{bmatrix}1 & -1 \\ -1 & 1 \end{bmatrix} \,

On voit que la matrice de rigidité se calcule comme le produit de 3 matrice :

[B] \, : Transformation des déplacements aux déformations
[D] \, : Matrice d'élasticité du matériau
[A] \, : Transformation des contraintes aux forces

Formulation générale (méthode directe)

La démarche est la suivante :
d'où \{\epsilon(x)\}=[S]\{N(x)\}\{U\}=[B(x)]\{U\}\,
\{\delta U\}^T\{F\}=\int_V \{\delta \epsilon\}^T\{\sigma\} dv \,
En explicitant, on a :
\{\delta U\}^T\{F\}=\{\delta U\}^T \left (\int_V [B]^T[D][B] dv \right ) \{U\} \,
Comme cette relation est vraie pour tout déplacement virtuel, on en déduit :
\{F\}=[K]\{U\} \,
avec [K] \, sous sa forme plus générale : [K]=\int_V [B]^T[D][B] dv \,

Remarques :

La symétrie de [K] \, qui s'écrit K_{i,j} = K_{j,i} \, correspond mécaniquement au théorème de réciprocité de Maxwell-Betti.

Qu'est-ce qui va différencier les différents types d'éléments finis ?

  • théorie des poutres
  • théorie des plaques
  • théorie de la contrainte ou de la déformation plane
  • théorie des coques
  • théorie des corps de révolution
  • théorie de l'elasticité 3D

Remarques :
Nous avons décrit le processus de formulation d'un élément fini dans le cadre de la méthode directe.(dite aussi méthode des déplacements) Il existe d'autres approches :

  • La méthode des résidus pondérés
  • L'application du principe des travaux virtuels
  • La minimisation de l'énergie potentielle

Toutes ces approches sont équivalentes et aboutissent à la construction de la même matrice de rigidité.

Étude des fonctions N(x)

  • Polynôme de degré 1 : élément linéaire (2 noeuds par arête)
  • Polynôme de degré 2 : élément parabolique (3 noeuds par arête)
  • Polynôme de degré 3 : élément cubique (4 noeuds par arête)
etc...

Les fonctions N(x) sont appelées fonctions de forme ou fonctions d'interpolation de l'élément.

Les éléments isoparamétriques

[K]=\int_V [B]^T[D][B] dv \,

Problème

D'où l'idée

Pour construire la matrice de raideur d'un élément à géométrie variable, on va utiliser des fonctions d'interpolation pour décrire non seulement le champ de déplacement de l'élément mais également sa géométrie. De plus, on va travailler en coordonnées locales.

Interpolation de la géométrie

\begin{matrix}x &=&\ &\tilde N_1(x)x_1 + \tilde N_2(x)x_2 \\ \ &\ &+&\tilde N_3(x)x_3 + \tilde N_4(x)x_4\end{matrix} \,

Idem pour les autres coordonnées.

  Image manquante
EL_isoparam_champ.png
Image:EL_isoparam_champ.png

Coordonnées locales (cas 2D)

Image manquante
EL_isoparam_coord.png


Élément isoparamétrique

Un élément est dit isoparamétrique si on prend les mêmes fonctions d'interpolation pour le déplacement et la géométrie.
\tilde N(x) = N(x) \,

Autres classes d'éléments

Image manquante
EL_super_param.png


Évaluation de K

La forme générale s'écrit :
[K]=\int_x \int_y \int_z G(x,y,z) dxdydz \,
On passe en variables locales \xi,\eta,\zeta \,
On a dxdydz = \det J\ d\xi d\eta d\zeta \,

J \, s'appelle la matrice Jacobienne.

On est alors amené à calculer des intégrales du type :
\int_{-1}^{+1} \int_{-1}^{+1} \int_{-1}^{+1} G(\xi ,\eta ,\zeta) \det J\ d\xi d\eta d\zeta \,

Bénéfice de l'approche

On s'est ramené à un domaine d'intégration simple et invariant pour lequel on peut appliquer les formules de quadrature de gauss :
\int_{-1}^{+1} f(x) dx = \sum_{k=1}^n H_k f(a_k) \,      les a_k \, et H_k \,étant tabulés.
Les a_k \, sont appelés points d'intégration de l'élément ou encore points de gauss de l'élément.

Cas particulier : les éléments axisymétriques

Image manquante
EL_axisymetrique.png


Décomposition en série de Fourier :

u(r,\theta,z) = \sum_n u_n^s(r,z)cos (n\theta) + \sum_n u_n^s(r,z)sin (n\theta) \,

L'axisymétrie correspond à la restriction n=0 \, de cette décomposition.

u(r,\theta,z) = u_n^s (r,z) \,

Remarque importante : Pour utiliser ce type d'élément, le problème doit être globalement axisymétrique :

Processus de calcul (cas statique)

  1. Maillage
  2. Construction de la matrice de raideur de chaque élément [K^e] \,
  3. Assemblage de la matrice globale [K] \,
  4. Construction du vecteur chargement \{F\} \,
  5. Élimination de certains ddl (si besoin)
  6. Résolution : \{U\} = [K^{-1}]\{F\} \,
  7. Calcul des quantités dérivées de \{U\} \,
\{\epsilon^e\} = [B^e] \{U^e\} \,
\{\sigma^e\} = [D^e] \{\epsilon^e\} \,
W^e = {1 \over 2} \{\epsilon^e\}^T \{\sigma^e\} \,
etc ...

Références

 Butterworth-Heinemann; 6 edition (March 21, 2005)ISBN: 0750663200
 
 Prentice-Hall (1976) ISBN: 0136271901
 
 International Textbook Co; 2d ed edition (1970) ISBN: 0700222677
 
 Pluralis (1977)
 
 Prentice-Hall (1968) ASIN: B0006BUP26
 

Approche mathématique/théorique

Durant cet exemple, si f est une fonction, la dérivée partielle de f par rapport à x sera notée fx.

La meilleure façon d'introduire ce sujet est de donner un exemple simple (un « problème modèle »). Nous allons prendre l'équation de Laplace sur l'intervalle [0,1[x[0,1[. Tout d'abord, notons

\mathrm{\Omega} := \left[ 0,1\right[ \times\left[ 0,1\right[=\{\left( x,y\right); 0 \leq x,y < 1\}.

Soit g une fonction de Ω vers F, l'ensemble des scalaires (l'ensemble des réels R ou le plan complexe C). Notre problème est de trouver une fonction u du plan R2 vers F qui vérifie

  1. u est deux fois différentiable sur R2
  2. uxx+uyy=g dans Ω
  3. u(x,y)=u(x+1,y)=u(x,y+1), c'est-à-dire, u est périodique en x et en y, de période 1.

Le problème peut être réécrit de la manière suivante :

  1. u appartient à H2(Ω) (H2(Ω) est un espace de Hilbert, H^2(\Omega)=\left\{ v \in L^2(\Omega) , v,v' \in L^2(\Omega)\right\})
  2. Lu=g avec g un élément de V=H_0^1(\Omega)=\left\{ v \in L^2(\Omega) , v \in L^2(\Omega) ,v(0)=v(1)=0 \right\}

L étant l'opérateur différentiel défini ainsi

Lf = fxx + fyy.

L est appelé opérateur de Laplace. Nous cherchons maintenant un u dans V tel que Lu=g.

Formulation faible

Soit φ une forme linéaire sur V.

\phi\left(tu+v\right)=t\phi\left(u\right)+\phi\left(v\right)

Notons par V* l'ensemble de ces fonctions. Ainsi, les propriétés suivantes sont équivalents

Lu = g

et

\forall \phi \in \mathrm{V}^*: \phi\left(\mathrm{L}u\right)=\phi\left(g\right).

Fonctions tests

L'ensemble V* est plus grand que ce dont on a besoin. Par conséquent, nous choisissons la fonction de la sorte

\phi_v\left(f\right)=\int_0^1\int_0^1 v\left(x,y\right) f\left(x,y\right) dxdy,

v \in V

Maintenant, nous écrirons
Ω
pour l'intégrale double \int_0^1\int_0^1. En intégrant par parties,
\int_\Omega v u_{xx}\;dxdy=\int_0^1\left[v u_x\right]_0^1\;dy - \int_\Omega \left(v_x u_x\right)\;dxdy
\int_\Omega v u_{yy}\;dxdy=\int_0^1\left[v u_y\right]_0^1\;dx - \int_\Omega \left(v_y u_y\right)\;dxdy

et du fait des conditions aux limites, les termes \int_0^1 \left[ v u_x \right]_0^1\;dy et \int_0^1 \left[ v u_y \right]_0^1\;dx s'annulent.

\int_\Omega v\left(u_{xx}+u_{yy}\right)\;dxdy = -\int_\Omega \left(v_x u_x + v_y u_y \right)\;dxdy.

L'écriture précédente est équivalente à :

\psi\left(u,v\right) := \phi_v\left(\mathrm{L}u\right) = -\int_\Omega \left(u_x v_x + u_y v_y\right) = \int_\Omega g\cdot v = \phi_v \left(g\right).

La fonction ψ de u est de v est en fait bilinéaire sur H^2(\Omega) \times V et c'est la forme bilinéaire associée à L. Les fonctions v sont appelées fonctions tests.

Le problème variationnel abstrait s'écrit :

\psi \left( u,v \right) = \phi_v \left( g \right)

Un ensemble minimal de fonctions tests

En analyse fonctionnelle, nous savons qu'il est inutile d'essayer toutes les fonctions tests v dans V. En fait, si E={e1,e2,...} est un sous ensemble de V, l'ensemble des combinaisons linéaires est dense dans V. Par conséquent, on peut utiliser ces fonctions comme fonctions tests. Maintenant, nous allons rechercher une solution au problème

\textrm{(*)}\ \ \ \forall e_j \in \mathrm{E} : \psi\left(u,e_j\right)=\int_\Omega g\cdot e_j.

Première discrétisation

De manière à rendre ce processus implémentable, nous devons choisir un sous ensemble fini de E. Prenons F=Fn={e1,e2,...,en} un ensemble fini, F est un sous ensemble de E, et nous voulons résoudre le problème

\textrm{(**)}\ \ \forall e_j \in \mathrm{F}_n : \psi\left(u_n,e_j\right)=\int_\Omega g\cdot e_j

avec l'idée que quand n tend vers l'infini (et Fn croit vers E), les solutions un devront converger vers la solution u de (*).

Ce problème est indéterminé, par conséquent, une autre discrétisation est nécessaire.

Seconde discrétisation

Le problème variationnel dans F a une solution et est unique (conséquence du théorème de Lax Milgram sur V, ψ est une forme bilinéaire sur V \times V, V est elliptique et φ est une forme bilinéaire continue.

u_n = \sum_{k=1}^n a_k e_k
g_n = \sum_{k=1}^n b_k e_k.

Remplaçons dans (**) et en développant, on obtient :

\textrm{(***) } \sum_{k=1}^n a_k \psi\left(e_k, e_j\right) = \sum_{k=1}^n b_k \int_\Omega e_k e_j,\; j=1,\dots,n.

Se pose maintenant la question : comment obtenir un gn acceptable ? Il existe plusieurs approches qui dépendent du choix de l'ensemble E. Si E est une base de Fourier, gn est la projection de g sur l'ensemble des combinaisons linéaires de F, mais d'autres approches existent.


Une autre approche peut être de calculer directement \int_\Omega g\cdot e_j à partir d'une méthode de quadrature numérique.

Problème sous forme matriciel

Le lecteur astucieux aura noté que le problème précédent peut être formulé sous forme matricielle :

Pa = Qb

a, b sont des vecteurs colonnes

a =  \begin{bmatrix} a_1\\ a_2\\ \vdots\\ a_n \end{bmatrix}, b = \begin{bmatrix} b_1\\ b_2\\ \vdots\\ b_n \end{bmatrix}.

Les matrices P et Q sont données par (***):

\mathrm{P}_{jk} = \psi\left(e_k, e_j\right),
Qjk = ekej.
Ω

P est appelé matrice de rigidité et Q, matrice de masse.

Algorithme

La méthode des éléments finis doit être conduite ainsi

  1. On calcule la matrice de rigidité P
  2. On détermine le membre de droite, soit par l'intermédiaire de la matrice de masse, soit directement par une méthode de quadrature
  3. On résoud le problème Pa=Qb. Selon la base qui a été choisie et selon les données du problème, il faut choisir la méthode d'inversion la plus efficace.
  4. On peut écrire u grâce à a.


Note : Dans notre problème,

on peut utiliser une méthode spécifique pour les systèmes linéaires à matrice tridiagonale ou une factorisation de Cholesky par bande.

See also: Méthode des éléments finis, 1850, Analyse fonctionnelle, Analyse numérique, Anisotrope, Aérodynamique, Calcul numérique d'une intégrale, Convergence, Dense, Elliptique