- Fonctions d'Argyris
-
Les fonctions d’Argyris (ou éléments d’Argyris) sont un outil en méthodes des éléments finis. Elles sont utilisées pour décrire un polynôme dans un triangle d’un maillage en employant seulement des données connues sur le bord du triangle (comme les valeurs au sommet, les valeurs des dérivées premières et secondes au sommet, ainsi que les valeurs « liées aux arêtes »). l'avantage est que l'on peut se ramener à un espace de dimension finie que l'on peut utilisé pour le calcul numérique.
Utilisées en modélisation numérique, ces fonctions furent introduites dans les années 1950 ; mais d'autres styles de fonctions sont également employées en pratique en fonction des problèmes à résoudre.
Sommaire
Introduction
Contexte
John Hadji Argyris (en) (1913-2004)[1],[2] est l’un des précurseurs dans le domaine des méthodes des éléments finis, utilisée lors de résolution numérique d’équations différentielles issues de la physique, mécanique… comme la théorie des plaques. Ses concepts sont apparus en premier lors de la Seconde Guerre Mondiale, ce qui rendait ses premiers résultats top secret.
Le principe des fonctions d'Argyris consiste à exprimer un polynôme avec pour seules informations des données relatives au maillage du domaine. Bien évidemment, d'autres fonctions sont utilisées en Méthodes des Eléments Finis (Lagrange, Raviart-Thomas, Nédélec, GaussLobatto, Hermite, Morley, Bell…) ayant chacune leurs avantages ainsi que leurs inconvénients (tout dépend du problème que l'on veut résoudre).
Les éléments d'Argyris sont exclusivement dénommés ainsi pour la dimension 2 (). En dimension 1, voire 3, on parle plutôt d'éléments de type Argyris.
Cadre d’étude
On se place dans . Les variables sont appelées x et y. Soit T un triangle quelconque, non aplati.
Les fonctions d'Argyris liées à T sont des fonctions de base de l'espace vectoriel qui représente l'ensemble des polynômes à deux variables x et y () de degré au plus 5.
Approche formelle
Un élément s'écrit de manière unique sous la forme
M = a0 + a1x + b1y + a2x2 + b2xy + c2y2 + a3x3 + b3x2y + c3xy2 + d3y3 + a4x4 + b4x3y + c4x2y2 + d4xy3 + e4y4 + a5x5 + b5x4y + c5x3y2 + d5x2y3 + e5xy4 + f5y5.
Ainsi, la seule donnée des coefficients suffit à écrire tout élément de . C'est pourquoi l'espace est un espace de dimension 21 (nombre de coefficients à déterminer).
Il nous faut alors 21 relations (conditions) indépendantes afin de pouvoir déterminer ces 21 coefficients : on appelle cela les degrés de liberté.
Une base possible est {1,x,y,x2,xy,y2,x3,x2,y2,y3,x4,x3y,x2y2,xy3,y4,x5,x4y,x3y2,x2y3,xy4,y5} : on l'appelle la base canonique.
Dans la pratique, il est extrêmement difficile (et surtout pas pratique) de pouvoir trouver les 21 coefficients avec cette base. C'est pourquoi nous formulons une base différente formée des fonctions d'Argyris. Elles sont liées à des conditions données :
- sur la valeur de la fonction M en chaque sommet (3 relations);
- sur la valeur des dérivées premières de la fonction M en chaque sommet (6 relations);
- sur la valeur des dérivées secondes de la fonction M en chaque sommet (9 relations);
- sur la valeur "liée à la normale" pour chaque arête (3 relations).
Remarque 1 : Ces conditions ne sont pas uniques : on peut toujours trouver d'autres conditions, mais celles-ci sont les plus simples à mettre en application.
Remarque 2 : Le dernier point concerne la valeur "liée à la normale". C'est une définition un peu particulière qui peut être différente selon les travaux. Vous trouverez ici une définition possible et qui est la plus couramment utilisée.
Avec ces données, il est possible de calculer toutes les fonctions d'Argyris pour n'importe quel triangle : il suffit pour cela de résoudre un système linéaire AU=B où :
- A est une matrice 21*21;
- U est un vecteur de taille 21 composé des 21 coefficients;
- B est un vecteur de taille 21 dont toutes les composantes sont nulles sauf une qui correspond à la condition adéquate.
Vous pourrez trouver un exemple de fonctions d'Argyris dans la partie Exemple avec les conditions indiquées entre parenthèses.
Remarque 3 : Résoudre ce système est équivalent à inverser la matrice A.
En pratique, il est impensable de calculer toutes les fonctions de bases pour chaque triangle car le nombre de triangles peut être énorme (de l'ordre de plusieurs millions par exemple). C'est pourquoi, on calcule les fonctions sur un triangle particulier dit triangle de référence ayant pour sommets les points (0;0), (1;0),(0;1) et on en « déduit » les fonctions d'Argyris dans un triangle particulier.
Exemple
Voici la liste des fonctions de base d'Argyris dans le triangle de référence avec la condition correspondante (cela signifie que le degré de liberté associé à la condition vaut 1 et que les autres valent 0).
Remarque 4 : L’ordre n’a a priori aucune importance. Pour la programmation (ou l’utilisation de manière générale), il faut néanmoins se fixer un ordre et le conserver tout le temps.
Explications :
- La condition concernant la normale est , où me représente le milieu de l'arête e et ne désigne la normale à l'arête e sortante du triangle.
- Expliquons maintenant comment se forme la matrice A.
Tout d'abord, le vecteur colonne U est composé des coefficients à déterminer, c'est-à-dire .
Voyons comment se compose, par exemple, les lignes 1 et 6 de la matrice liées aux conditions φ(0,0) = 1 et (les autres étant similaires).
Donc la première ligne de la matrice M est (1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0).
- .
Donc la sixième ligne de la matrice M est (0,1,0,2,0,0,3,0,0,0,4,0,0,0,0,5,0,0,0,0,0).
Matrice de passage
Remarque 5 : Cette construction n'est valable que pour le cas traité en exemple.
Pour trouver les fonctions de base d'Argyris dans un triangle donné, il faut multiplier le vecteur constitué des différentes fonctions dans le triangle de référence par une certaine matrice C que l'on explicitera ici.
Soient trois points non-alignés Xi = (xi,yi)(i = 1,2,3) qui formeront notre triangle T. Nous considérons la transformation affine FT qui envoie un point du triangle de référence sur un point de T (on note le point de coordonnées dans ) :
.
Afin de simplifier l'écriture, nous notons : .
Notations
- Dans le reste de cette présentation, on utilisera des notations simplificatrices :
- Pour tout , on note Iα la matrice identité (elle ne comporte que des 1 sur la diagonale, les autres composantes valant 0);
- Pour tout couple , on note la matrice nulle (toutes ses composantes valent 0).
- On note e1 (resp. e2 ; e3) l'arête ayant pour sommets les points X2 et X3 (resp. X3 et X1 ; X1 et X2). On note | ei | la longueur de l'arête ei, . On a alors :
- ;
- ;
- ;
- Soit la matrice
. - Soit la matrice
,
où . - Pour tout , on définit :
et . - Enfin, on note :
- et
- ;
- ;
- .
Remarque 6 : Si V est une vecteur ligne de taille n, on utilisera la notation VT pour l'écrire en tant que vecteur ligne de taille n : cela s'appelle la matrice transposée du vecteur V (où encore le vecteur transposé de V). Exemple :
Construction de la matrice C
La matrice C se construit comme le produit de deux matrices C = D * E, où
- D est une matrice définie par :
, où . - E est une matrice définie par :
,
où-
- ;
- , où :
- T1 est une matrice définie par ;
- T2 est une matrice définie par ;*##T3 est une matrice définie par .
Logiciels gérant les éléments d’Argyris
- getfem++
- matlab
Bibliographie
- V. Girault, P.-A. Raviart. Finite Element Methods for Navier-Stokes Equations. Theory and algorithms. Springer Series in Computational Mathematics, 5. Springer-Verlag, Berlin, 1986.
- S. Nicaise, K.Witowski and B. I. Wohlmuth. An a posteriori error estimator for the Lamé equation based on equilibrated fluxes. IMA Journal of Numerical Analysis, 28, no.2, pp 331-353, 2008.
- Librairie de getfem++
- V. Domínguez, F.J. Sayas. Algorithm 884: A simple MATLAB implementation of the Argyris element. ACM Trans. Math. Software 35, Article 16, 2008.
- M. Okabe. Full-explicit interpolation formulas for the Argyris triangle. Comput. Methods Appl. Mech. Engrg. 106, no. 3, pp 381--394, 1993.
Notes et références
- (en) In memoriam to Professor John H. Argyris, par Thomas J.R. Hughes (en), J. Tinsley Oden (en) et Manolis Papadrakakis
- (en) John H. Argyris
Voir aussi
Catégories :- Fonction arithmétique
- Mécanique des milieux continus
- Équations différentielles numériques
Wikimedia Foundation. 2010.