• Aucun résultat trouvé

Une approche tensorielle à objets pour la discrétisation EF en calcul de structure

N/A
N/A
Protected

Academic year: 2022

Partager "Une approche tensorielle à objets pour la discrétisation EF en calcul de structure"

Copied!
6
0
0

Texte intégral

(1)

Une approche tensorielle à objets pour la discrétisation EF en calcul de structure

R. SAADa, D. EYHERAMENDYb

a. Laboratoire de Mécanique et d’Acoustique (LMA), CNRS UPR 7051, Marseille, France

b. Laboratoire de Mécanique et d’Acoustique (LMA), CNRS UPR 7051, Ecole Centrale Marseille, France

Résumé :

Les problèmes qui se posent aujourd'hui en mécanique numérique et domaines connexes sont complexes, et impliquent de plus en plus souvent plusieurs physiques à différentes échelles de temps et d’espace. Leur traitement numérique est en général long et difficile d’où l’intérêt d’avoir accès à des méthodes et outils facilitant l’intégration de nouveaux modèles physiques dans les outils de simulation. Dans cet article, nous proposons un cadre de calcul formel à objets pour la dérivation de formulations éléments finis et l’intégration automatique des formes élémentaires dans un code de calcul éléments finis. La méthode est basée sur la dérivation des formes discrètes d’un problème variationnel, ici dans un contexte éléments finis, et leur intégration automatique dans un code de calcul.

Abstract :

The problems occurring today in computational mechanics and related domains are complex, and may involve several physics at different time and space scales. The numerical treatment of a complex problems is in general though and time consuming. In this context, the interest to develop methods and tools to accelerate the integration of new formulations into simulation tools is obvious. In this paper, we present a symbolic object-oriented framework for the derivation of finite elements formulations, and the automatic integration of the elemental contributions description into a finite element code. The method is based on the symbolic derivation of the elemental contributions of the variational statement and their automatic integration into a finite element code.

Mots clefs:

Eléments finis, orienté objet, analyse tensorielle, discrétisation automatique d’EDP.

1 Introduction

Jusque dans les années 90, les programmes éléments finis étaient constitués de plusieurs milliers de lignes de code généralement écrit en FORTRAN. Les problèmes d'ingénierie qui sont résolus aujourd'hui sont de plus en plus complexes. Il peut s'agir de traiter plusieurs physiques, et/ou plusieurs échelles d'espace et de temps...

Dans les années 90, l'application de la conception orientée objet s'est avérée être très efficace pour le développement de programmes flexibles pour le développement à grande échelle dans un contexte industriel.

Parmi les pionniers, Fenves ‎[1] a décrit les avantages de la programmation orientée-objet dans le cadre des éléments finis. Depuis cette origine, la programmation orientée objet a été largement appliquée à tous les domaines du calcul en mécanique (voir par exemple Mackerle ‎[2] ou Dubois-Pélerin ‎[6] et références incluses). Assez récemment, des auteurs ont proposé différentes implémentations basées sur des approches à objets avancées (Java ou C#) dans différents domaines de la mécanique : Vanderheyden ‎[10] et Riley ‎[11] en mécanique des fluides, Nikishkov ‎[12] en mécanique de la rupture, Eyheramendy ‎[13] en calcul parallèle de dynamique de fluide et en mécanique des solides, Baudel ‎[16] en électromagnétisme, Hauser ‎[17] ou Mackie ‎[8] et Heng ‎[9] pour le calcul parallèle en mécanique. Notez que de nombreux auteurs ont préconisé l'utilisation‎ de‎ Java‎et‎ ont‎ comparé‎ ses‎ performances‎ à‎ d’autres‎ langages‎ de‎ programmation‎ (langage‎ C):‎

Nikishkov, Bull ‎[18], Hauser ‎[17], Eyheramendy ‎[14]. Toutefois, ces codes traditionnels de calcul, y compris les‎outils‎industriels‎n'offrent‎pas‎toujours‎toute‎la‎flexibilité‎pour‎s’attaquer‎aux défis des problèmes multi-

(2)

physiques et multi-échelles qui se posent dans l'industrie et la recherche. Afin‎ d’aider‎ au‎ développement‎

d’outils‎ de‎ simulation, de nouvelles approches basées sur la calcul symbolique ont été proposées afin d’automatiser‎ l'élaboration‎ de‎ modèles‎ éléments‎ finis,‎ y‎ compris‎ pour‎ la‎ partie‎ de‎ discrétisation.‎ Ces‎

approches consistent généralement à construire automatiquement les matrices élémentaires et à les intégrer dans des codes plus classiques ou dans des bibliothèques d'éléments finis. Les exemples les plus a vancés sont : Eyheramendy ‎[3], Logg ‎[4], Korelc ‎[5].‎ D’autre‎ part,‎ le‎ code‎ Comsol‎ Multiphysics‎ suit‎ en‎ quelque‎

sorte une stratégie similaire, mais les algorithmes liés à la résolution éléments finis restent imposés pour la résolution.‎ Il‎ est‎ quasi‎ indispensable‎ d’avoir‎ accès‎ à‎ tous‎ les‎ niveaux‎ de‎ l’algorithmique‎ pour‎ résoudre‎ de‎

nouveaux problèmes. Dans ce travail, nous proposons une approche à objets pour développer des schémas de discrétisation (ici éléments finis) de formes variationnelles, permettant de gérer les formulations couplées en mécanique.‎L’originalité‎du travail réside‎dans‎l’utilisation‎d’un cadre global basé sur le calcul tensoriel pour élaborer symboliquement les matrices élémentaires, et de son intégration dans un environnement à objets. La dernière‎ phase‎ de‎ l’approche‎ consiste‎ à‎ intégrer‎ automatiquement‎ les‎ contributions‎ élémentaires‎ dans‎ un‎

code de calcul classique. Dans le paragraphe 2, nous présentons une approche mathématique générique de dérivation du modèle éléments finis. Dans le paragraphe 3, nous décrivons le modèle orienté objet intégrant l’approche‎développée. Dans le paragraphe 4, le‎schéma‎d’intégration‎automatique‎des‎formes‎élémentaires‎

obtenues sous forme symbolique est décrit. Dans le paragraphe 5, l'approche est illustrée sur l’élasticité‎

linéaire en milieu incompressible.

2 Une approche tensorielle pour la discrétisation par éléments finis

Soit un espace de fonctions, on considère les formes et défini sur le produit des espaces et on considère le problème variationnel multiphysique suivant:

Où désigne le nombre de termes de la fonctionnelle , le è me terme de cette fonctionnelle, la fonction test correspondant au ème terme, désigne le nombre de termes de la fonctionnelle , le è me terme de cette fonctionnelle et la fonction test dans le ème terme.

On peut ramener la forme à une forme bilinéaire et la forme à une forme linéaire (par linéarisation si la formulation‎n’est‎pas‎linéaire) donc le problème devient :

est une forme bilinéaire, est une forme linéaire

La méthode des éléments finis appliquée à l'équation (1) consiste à remplacer par‎une‎paire‎d’espaces‎

construits à partir de fonctions continues par morceau.

On considère les approximations éléments finis classiques sur un élément :

sont‎les‎fonctions‎d’interpolation sur‎ l’élément. On peut donc écrire pour chacun des termes variationnels de (1) :

Où et sont respectivement les vecteurs élémentaires des inconnues nodales et des inconnues virtuelles

(3)

On peut montrer que se calcule explicitement en considérant les produits des champs (exprimés sous forme tensorielle) qui compose le terme variationnel. Il peut s’exprimer sous la forme suivante :

avec , représente le nombre de fonctions de base dans la discrétisation du champ s, est le nombre de facteurs dans la forme , est‎ l’operateur‎ différentiel‎ appliqué‎ sur‎ le‎ champ,‎ représente l’ensemble‎des‎indices‎du‎terme‎autre‎qu’un‎champ‎test‎ou‎un‎champ‎solution, correspond aux degrés de liberté, correspond au système de coordonnées de bases et représente‎ l’ensemble des indices dans la fonction discrétisée. Cette forme est assez générale pour représenter tout type de formes variationnelles (forme multilinéaire ou forme non linéaire) dont les termes de base sont des champs tensoriels.

Remarque : L’approche‎ tensorielle‎ sur‎ laquelle‎ est‎ basé le modèle est valide quel que soit le système de coordonnées choisi à condition que la base de travail soit orthonormée. Il suffit de donner les expressions des opérateurs différentiels dans le système de coordonnées choisi.

3 Une approche orientée objet pour le traitement symbolique des éléments finis

Dans ce paragraphe, nous présentons une hiérarchie des operateurs et nous décrivons les objets nécessaires aux manipulations symboliques pour la méthode des éléments finis. Tout d'abord, nous décrivons les classes nécessaires pour représenter tout type d'expression. Des classes supplémentaires sont nécessaires pour représenter les opérateurs différentiels (appliqué aux tenseurs) et les dérivées partielles appliquées à une fonction. La classe Tensor est‎la‎représentation‎mathématique‎d’un‎tenseur.‎La‎méthode‎de‎discrétisation‎par‎

éléments finis est programmée dans la classe FEDiscretization.

Figure‎1:‎Hiérarchie‎des‎classes‎de‎l’environnement‎symbolique

La hiérarchie des classes qui est donné dans la figure 1 nous permet de représenter tout type d'expression. La classe Field représente un champ. Il peut être de type scalaire, vectoriel ou tensoriel. Un opérateur de types dérivés partielles peut être appliqué à ce champ. La classe Integral représente une intégrale. Elle est définie sur un domaine et possède un intégrant. Toutes les grandeurs numériques sont représentées dans la classe Fraction. Les expressions sont donc des sommes de produits gérées dans un arbre binaire représenté dans les classes Sum et Product. La classe Equal permet‎la‎représentation‎d’une‎égalité‎d’expressions,‎et‎donc‎d'une‎

équation. La classe Tensor est la représentation mathématique des tenseurs. Elle contient les composantes du tenseur qui sont des expressions (arbre binaire de champs). Les opérations tensorielles du base sont effectuées‎ dans‎ cette‎ classe:‎ produit‎ tensoriel,‎ produit‎ contracté,‎ somme…‎ La‎ classe‎ FEDiscretization regroupe toutes les opérations nécessaires à écrire le schéma de discrétisation par éléments finis. Ceci est fait pour les fonctions solutions et tests. La construction du tenseur est générique. Dans ce travail, seules les expressions des opérateurs‎différentiels‎en‎coordonnées‎cartésiennes‎sont‎programmées,‎mais‎ l’extension‎à‎

d’autres‎systèmes‎de‎coordonnées‎ serait naturelle (par exemple en dérivant la classe FEDiscretisation pour chacun des systèmes de coordonnées).

Operator

UnaryOperator Field Integral Fraction

DifferentialOperator PartialDerivative BinaryOperator

Product Sum Equal

(4)

4 Génération automatique de contributions élémentaire dans un environnement à objets

La classe CodeCompiler gère‎l’intégration‎des‎formes‎élémentaires‎dans‎le‎code‎de‎calcul‎FEMJava (voir Eyheramendy [14]). Les formes symboliques obtenues sont introduites dans un code élément finis classique, en‎respectant,‎d’une‎part,‎les‎syntaxes‎du‎langage‎de‎programmation,‎et‎d’autre‎part,‎le schéma algorithmique du code (voir Figure 2). A ce stade, seules les contributions élémentaires sont intégrées dans le code. On pourrait très bien imaginer étendre la génération de code à la partie algorithme de la résolution du problème.

Figure 2 : Intégration des formes élémentaires dans un code Eléments finis

5 Application à une formulation de l’élasticité linéaire pour un milieu incompressible

5.1 Approche tensorielle et approche symbolique

On‎considère‎le‎problème‎d’élasticité‎linéaire‎pour‎un‎milieu‎incompressible:

Trouver déplacement et paramètre pression avec tels que :

+ Conditions de bords

On cherche la solution approchée du problème sous la forme suivante (formulation de Galerkin stabilisée par ajout de termes de type moindres-carrés -voir Franca [20]):

est un paramètre de stabilisation numérique.

A‎titre‎d’illustration,‎on‎considère‎le premier terme de la formulation :

La‎matrice‎élémentaire‎de‎la‎relation‎(2)‎s’écrit‎ . Dans‎le‎cadre‎de‎l’algèbre‎

tensorielle classique, la convention‎ d’Einstein‎ s’applique‎ pour‎ les‎ indices‎ et . La matrice élémentaire

(5)

Après évaluation symbolique, on obtient la matrice élémentaire dont certains termes sont explicités dans la Figure 3. Celle-ci correspond bien à la forme donnée ci-dessus.

1,1=[2.0*mu*(dN1_dx1*dN1_dx1 + 0.5*(dN1_dx2)*0.5*(dN1_dx2) + 0.5*(dN1_dx3)*0.5*(dN1_dx3) + 0.5*(dN1_dx2)*0.5*(dN1_dx2) + 0.5*(dN1_dx3)*0.5*(dN1_dx3))];

1,2=[2.0*mu*(0.5*(dN1_dx2)*0.5*(dN1_dx1) + 0.5*(dN1_dx2)*0.5*(dN1_dx1))];

1,23=[2.0*mu*(0.5*(dN1_dx2)*0.5*(dN8_dx1) + 0.5*(dN1_dx2)*0.5*(dN8_dx1))];

1,24=[2.0*mu*(0.5*(dN1_dx3)*0.5*(dN8_dx1) + 0.5*(dN1_dx3)*0.5*(dN8_dx1))];

24,1=[2.0*mu*(0.5*(dN8_dx1)*0.5*(dN1_dx3) + 0.5*(dN8_dx1)*0.5*(dN1_dx3))];

24,2=[2.0*mu*(0.5*(dN8_dx2)*0.5*(dN1_dx3) + 0.5*(dN8_dx2)*0.5*(dN1_dx3))];

24,23=[2.0*mu*(0.5*(dN8_dx2)*0.5*(dN8_dx3) + 0.5*(dN8_dx2)*0.5*(dN8_dx3))];

24,24=[2.0*mu*(0.5*(dN8_dx1)*0.5*(dN8_dx1) + 0.5*(dN8_dx2)*0.5*(dN8_dx2) + 0.5*(dN8_dx1)*0.5*(dN8_dx1) + 0.5*(dN8_dx2)*0.5*(dN8_dx2) + dN8_dx3*dN8_dx3)]]

Figure 3 : Vue partielle des termes de la matrice sous forme symbolique 5.2 Application au cisaille ment d’un bloc d’élastomère

On considère‎l’exemple‎d’un‎bloc‎en‎élastomère‎encastré‎dans‎un‎massif‎rigide cisaillé sur sa surface supérieure (Figure 4). Le coefficient de Lamé est pris égal à 1,25.Les solutions en déplacement et pression sont données dans les figures 5 et 6.

Figure 4 : Détails du problème Figure 5 : Déformations du solide cisaillé Figure 6 : Isopressions

6 Conclusion

Dans cet article, nous avons présenté les principes d'un cadre global pour générer sous forme symbolique des formes élémentaires de la méthode des éléments finis dans un environnement à objets. Les principes de discrétisation éléments finis basés sur l’analyse tensorielle sont décrits. Le cadre présenté est structuré au sein‎d'un‎environnement‎orienté‎objet.‎D’autres‎types‎ schémas de discrétisation pourraient être développés en utilisant une approche similaire. Le‎schéma‎d’intégration‎automatique des formes élémentaires dans un code éléments finis est présenté. L'approche est illustrée sur l'exemple formulation variationnelle pour les équations‎ de‎ l’élasticité‎ pour‎ un‎ milieu incompressible. Ce‎ problème‎ mixte‎ permet‎ de‎ dire‎ que‎ l’approche‎

peut être appliqué à des problèmes multi-champs (problèmes couplés). La formulation est intégrée à un code

(6)

élément fini traditionnel écrit en Java ‎[19].‎ Cette‎ approche‎ peut‎être‎étendue‎à‎ un‎ensemble‎ d’algorithmes‎

numériques‎ nécessaires‎ pour‎ obtenir‎ un‎ outil‎ de‎ simulation.‎ Nous‎ projetons‎ d’étendre‎ à‎ court‎ terme‎ cette‎

approche au cadre Lagrangien. Ce type d'approche vise à définir un concept de niveau d'abstraction pour automatiser le‎ développement‎ d’outils de calcul correspondant à un problème donné. Cette approche générique ouvre de nouvelles voies dans la conception de codes basés sur les approches mathématiques et non plus sur de simples applications.

References

[1] G.L.‎ Fenves,‎ “Object-Oriented‎ programming‎ for‎ engineering‎ software‎ development”, Engineering with Computer, 6, 1-15, 1990.

[2] J.‎ Mackerle,‎ “Object-oriented programming in FEM and BEM: a bibliography (1990-2003)”,‎

Advances in Engineering Software, 35, 325-336, 2004.

[3] D.‎ Eyheramendy,‎ Th.‎ Zimmermann,‎ “Object-oriented finite elements: III. Theory and application of automatic‎programming”,‎Comput. Methods Appl. Mech. Engrg., 154, 41- 68, 1998.

[4] A.‎Logg,‎“Automating‎the‎Finite‎Element‎Method”, Arch Comput Methods Eng., 14, 93-138, 2007.

[5] J.‎ Korelc,‎ “Multi-language and Multi-environment‎ Generation‎ of‎ Nonlinear‎ Finite‎ Element‎ Codes”,‎

Engineering with Computers, 18, 312-327, 2002.

[6] Y. Dubois-Pelerin‎ and‎ Th.‎ Zimmermann,‎ “Object-oriented finite element programming: III – An efficient‎implementation‎in‎C++”,‎Computer‎Methods‎Appl.‎Mech. Eng., 108(2), 165-183, 1993.

[7] G.P.Nikishkov,‎ “Object-oriented‎ design‎ of‎ a‎ finite‎ element‎ code‎ in‎ Java”,‎ Computer‎ Modeling‎ in‎

Engng and Sciences, 11, 81-90, 2006.

[8] R.I.‎Mackie,‎“Using‎Objects‎to‎handle‎complexity‎in‎Finite‎Element‎Software”,‎Eng.‎with‎computers,‎

13, 99-111, 1997.

[9] B.C.P.‎Heng‎and‎R.I.‎Mackie,‎“Design‎Patterns‎in‎Object-Oriented‎Finite‎Element‎Programming”,‎ in‎

Proceedings of the Fifth International Conference on Engineering Computational Technology, B.H.V.

Topping, G. Montero and R. Montenegro, (Editors), Civil-Comp Press, United Kingdom, 2006.

[10] W.B. VanderHeyden, E.D. Dendy and N.T. Padial-Collins,‎ “CartaBlanca-a pure-Java, component- based systems simulation tool for coupled nonlinear physics on unstructured grids-an‎ update”,‎

Concurrency and Computation: Practice and Experience, 15, 431-458, 2003.

[11] C.J.‎ Riley,‎ S.‎ Chatterjee‎ and‎ R.‎ Biswas,‎ “High-performance Java codes for computational fluid dynamics”,‎Concurrency‎and‎Computation: Practice and Experience 15, 395-415, 2003.

[12] G.P.‎Nikishkov‎and‎H.‎Kanda,‎“The‎development‎of‎a‎Java‎engineering‎application‎for‎higher-order asymptotic analysis of crack-tip‎fields”,‎Advances‎in‎Engineering‎Software,‎30,‎469-477, 1999.

[13] D. Eyheramendy, “Object-oriented‎ parallel‎ CFD‎ with‎ JAVA”,‎ 15th International Conference on Parallel Computational Fluid Dynamics, Eds. Chetverushkin, Ecer, Satofuka, Périaux, Fox, Ed.

Elsevier, 409-416, 2003.

[14] D. Eyheramendy and F. Oudin, Object-oriented finite elements: From Smalltalk to Java, In Trends in Engineering Computational Technology Eds. M. Papadrakakis and B.H.V. Topping, ©Saxe-Cobourg Publications, Chap. 2, (2008) pp. 17-40.

[15] R. Saad and D. Eyheramendy, An object-oriented framework for automated computer-aided finite element derivation, ECT 2010, 14-17 Sept. 2010, Valencia, Spain.

[16] L.‎Baduel,‎F.‎Baude,‎D.‎Caromel,‎C.‎Delbé,‎N.‎Gama,‎S.‎El‎Kasmi‎and‎S.‎Lanteri,‎“A‎parallel‎object- oriented application for 3-D‎electromagnetism”,‎ECCOMAS,‎Jyväskylä,‎Finland‎2004.

[17] J. Häuser,‎T.‎Ludewig,‎R.D.‎Williams,‎R.‎Winkelmann,‎T.‎ Gollnick,‎S.‎Brunett‎and‎J.‎Muylaert,‎“A‎

test suite for high-performance‎parallel‎Java”,‎Advances‎in‎Engineering‎Software,‎31,‎687-696, 2000.

[18] J.M.‎Bull,‎L.‎A.‎Schmith,‎L.‎Pottage‎and‎R.‎Freeman,‎“Benchmarking Java against C and Fortran for Scientific‎ Applications”,‎ Joint‎ ACM‎ JavaGrande‎ – ISCOPE 2001 Conference, Stanford Universtity, June 2-4, 2001.

[19] D.‎ Eyheramendy,‎ R.‎ Saad‎ et‎ F.‎ Oudin‎ “Advanced object-oriented paradigms for parallel computational mechanics”,‎ Proceedings‎ of‎ the 2nd International Conference on Parallel, Distributed, Grid and Cloud Computing for Engineering, B.H.V. Topping, J.M. Adam, F.J. Pallarés, R. Bru and M.L. Romero, (Editors), Civil-Comp Press, Stirlingshire, Scotland, 2011.

[20] L.P.‎ Franca‎and‎ T.J.R.‎ Hughes,‎ “Two‎ classes‎ of‎ mixed‎ finite‎ element‎ methods”,‎ Comput. Methods

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Même dans le champ plus restreint de la hard science fiction, la partie de la littérature de science- fiction la plus intimement liée à la science, la critique escamote souvent

Le dispositif méthodologique que nous proposons dans le cadre de l’étude des pratiques de la télévision sur le téléphone portable vise une appréhension multimodale de

In the full field method part, we introduce the notion of Representative Volume Element (RVE) and recall the basic principle of effective properties computation of a composite

نافرــــــــــــــــــــــــع و ركـــــــــــــش يدلاو ىلع و ايلع اهتمعنأ يتلا كتمعن ركشأ نأ ينعزوأ يبر ىلإ ينقفو يذلا لج و زع لله دمحلا نأ ملعلا بلط قيرط يل لهس

Switzerland supports Ukraine in mitigating such risks and creating new opportunities for its citizens by investing in five key areas: governance and peacebuilding, health,

مخضتلا لوح ةيساسأ ئدابم.. :لصفلا ديهمت ضت ض ررر ت ض ررر بخضت ةيلةرررتت ضتةرررسختالرررعتتتيرررتخضتايلةرررتت يضتا ةرررصتخضت رررشتلاررر تخضتلررربتعي تارررش قتتخ وأ ت

Pour répondre à notre question de recherche : « Dans quelle mesure, selon les enseignants spécialisés travaillant en Valais dans un cadre institutionnel, le placement peut