Fonctions d'Argyris

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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 utiliser 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és en pratique en fonction des problèmes à résoudre.

Introduction[modifier | modifier le code]

Contexte[modifier | modifier le code]

John Hadji Argyris (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 Éléments Finis (Lagrange, Raviart-Thomas, Nédélec, Gauss-Lobatto, 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 des calculs en deux dimensions. En dimension 1, voire 3, on parle plutôt d'éléments de type Argyris.

Cadre d’étude[modifier | modifier le code]

On se place dans dans le plan. Les variables sont appelées x et y. Soit \mathcal{T} un triangle quelconque, non aplati.

Les fonctions d'Argyris liées à \mathcal{T} sont des fonctions de base de l'espace vectoriel \mathbb{P}_5(\mathcal{T}) qui représente l'ensemble des polynômes à deux variables x et y ((x,y) \in \mathcal{T}) de degré au plus 5.

Approche formelle[modifier | modifier le code]

Un élément M \in \mathbb{P}_5(\mathcal{T}) s'écrit de manière unique sous la forme

M(x,y)=a_0+a_1x+b_1y+a_2 x^2+b_2 xy+c_2 y^2+a_3 x^3+b_3 x^2 y+c_3 x y^2+d_3 y^3+a_4x^4+b_4 x^3 y+c_4 x^2 y^2+d_4 x y^3+e_4 y^4+a_5 x^5+b_5 x^4 y+c_5 x^3 y^2+d_5 x^2 y^3 + e_5 x y^4+f_5 y^5.

Ainsi, la seule donnée des 21 coefficients a_0\,,\,a_1\,,\,a_2\,,\,a_3\,,\,a_4\,,\,a_5\,,\,b_1\,,\,b_2\,,\,b_3\,,\,b_4\,,\,b_5\,,\,c_2\,,\,c_3\,,\,c_4\,,\,c_5\,,\,d_3\,,\,d_4\,,\,d_5\,,\,e_4\,,\,e_5\,,\,f_5 suffit à écrire tout élément de \mathbb{P}_5(\mathcal{T}).

Il nous faut alors 21 relations (conditions) indépendantes afin de pouvoir déterminer de façon unique ces coefficients.

Une base possible serait de travailler sur la base canonique \{1,x,y,x^2,xy,y^2,x^3,x^2,y^2,y^3,x^4,x^3y,x^2y^2,xy^3,y^4,x^5,x^4y,x^3y^2,x^2y^3,xy^4,y^5\}, mais dans la pratique, il est extrêmement difficile de pouvoir trouver les 21 coefficients avec cette base. Argyris propose donc une autre base, 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).
Représentations des degrés de liberté

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. Il ne sera ici question que de 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.

Remarque 3 : Résoudre ce système est équivalent à inverser la matrice A.

Exemple[modifier | modifier le code]

Voici la liste des fonctions de base d'Argyris dans le triangle de référence liés au point (0;0), (0;1), (1;0) avec la condition correspondante (cela signifie que le degré de liberté associé à la condition vaut 1 et que les autres valent 0).


\begin{array}{ll} 
\varphi_{1}(x,y) = 1 - 10x^3 - 10y^3 + 15x^4 - 30x^2y^2 + 15y^4 - 6x^5 + 30x^3y^2 + 30x^2y^3 - 6y^5, & (\varphi_1(0,0) = 1), \\ 
\varphi_{2}(x,y) = 10x^3 - 15x^4 + 15x^2y^2 + 6x^5 - 15x^3y^2 - 15x^2y^3, & (\varphi_2(1,0) = 1),\\ 
\varphi_{3}(x,y) = 10y^3 + 15x^2y^2 - 15y^4 - 15x^3y^2 - 15x^2y^3 + 6y^5, & (\varphi_{3}(0,1) = 1),\\ 
\varphi_{4}(x,y) = x - 6x^3 - 11xy^2 + 8x^4 + 10x^2y^2 + 18xy^3 - 3x^5 + x^3y^2 - 10x^2y^3 - 8xy^4, & (\partial_x\varphi_4(0,0) = 1),\\ 
\varphi_{5}(x,y) = y - 11x^2y - 6y^3 + 18x^3y + 10x^2y^2 + 8y^4 - 8x^4y - 10x^3y^2 + x^2y^3 - 3y^5, & (\partial_y\varphi_5(0,0) = 1),\\ 
\varphi_{6}(x,y) = -4x^3 + 7x^4 - 3.5x^2y^2 - 3x^5 + 3.5x^3y^2 + 3.5x^2y^3, & (\partial_x\varphi_6(1,0) = 1),\\ \varphi_{7}(x,y) = -5x^2y + 14x^3y + 18.5x^2y^2 - 8x^4y - 18.5x^3y^2 - 13.5x^2y^3, & (\partial_y\varphi_7(1,0) = 1),\\ 
\varphi_{8}(x,y) = -5xy^2 + 18.5x^2y^2 + 14xy^3 - 13.5x^3y^2 - 18.5x^2y^3 - 8xy^4, & (\partial_x\varphi_{8}(0,1) = 1),\\ 
\varphi_{9}(x,y) = -4y^3 - 3.5x^2y^2 + 7y^4 + 3.5x^3y^2 + 3.5x^2y^3 - 3y^5, & (\partial_y\varphi_{9}(0,0) = 1),\\ 
\varphi_{10}(x,y) = 0.5x^2 - 1.5x^3 + 1.5x^4 - 1.5x^2y^2 - 0.5x^5 + 1.5x^3y^2 + x^2y^3, & (\partial^2_{xx}\varphi_{10}(0,0) = 1),\\ 
\varphi_{11}(x,y) = xy - 4x^2y - 4xy^2 + 5x^3y + 10x^2y^2 + 5xy^3 - 2x^4y - 6x^3y^2 - 6x^2y^3 - 2xy^4, & (\partial^2_{xy}\varphi_{11}(0,0) = 1),\\ 
\varphi_{12}(x,y) = 0.5y^2 - 1.5y^3 - 1.5x^2y^2 + 1.5y^4 + x^3y^2 + 1.5x^2y^3 - 0.5y^5, & (\partial^2_{yy}\varphi_{12}(0,0) = 1),\\ 
\varphi_{13}(x,y) = 0.5x^3 - x^4 + 0.25x^2y^2 + 0.5x^5 - 0.25x^3y^2 - 0.25x^2y^3, & (\partial^2_{xx}\varphi_{13}(1,0) = 1),\\ 
\varphi_{14}(x,y) = x^2y - 3x^3y - 3.5x^2y^2 + 2x^4y + 3.5x^3y^2 + 2.5x^2y^3, & (\partial^2_{xy}\varphi_{14}(1,0) = 1),\\ 
\varphi_{15}(x,y) = 1.25x^2y^2 - 0.75x^3y^2 - 1.25x^2y^3, & (\partial^2_{yy}\varphi_{15}(1,0) = 1),\\ 
\varphi_{16}(x,y) = 1.25x^2y^2 - 1.25x^3y^2 - 0.75x^2y^3, & (\partial^2_{xx}\varphi_{16}(0,1) = 1),\\ \varphi_{17}(x,y) = xy^2 - 3.5x^2y^2 - 3xy^3 + 2.5x^3y^2 + 3.5x^2y^3 + 2xy^4, & (\partial^2_{xy}\varphi_{17}(0,1) = 1),\\ 
\varphi_{18}(x,y) = 0.5y^3 + 0.25x^2y^2 - y^4 - 0.25x^3y^2 - 0.25x^2y^3 + 0.5y^5, & (\partial^2_{yy}\varphi_{18}(0,1) = 1),\\ 
\varphi_{19}(x,y) = \sqrt{2}(-8x^2y^2 + 8x^3y^2 + 8x^2y^3),& \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!(\sqrt{0.5}(\partial_{x}\varphi_{19}(0.5,0.5) + \partial_{y}\varphi_{19}(0.5,0.5)) = 1),\\ 
\varphi_{20}(x,y) = -16xy^2 + 32x^2y^2 + 32xy^3 - 16x^3y^2 - 32x^2y^3 - 16xy^4,  &(-\partial_{x}\varphi_{20}(0,0.5) = 1),\\ 
\varphi_{21}(x,y) = -16x^2y + 32x^3y + 32x^2y^2 - 16x^4y - 32x^3y^2 - 16x^2y^3,  &(-\partial_{y}\varphi_{21}(0.5,0) = 1),\\ 
\end{array}

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 :

  1. La condition concernant la normale est (\partial_{x}\varphi(m_e) + \partial_{y}\varphi(m_e)) \cdot n_e, où m_e représente le milieu de l'arête e et n_e désigne la normale à l'arête e sortante du triangle.

Logiciels gérant les éléments d’Argyris[modifier | modifier le code]

  • getfem++
  • matlab

Bibliographie[modifier | modifier le code]

  • 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, p. 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, p. 381-394, 1993.

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]