DEVELOPPEMENT D'UN LOGICIEL DE CALCUL PAR ÉLEMENTS FINIS FONDE SUR LES FORMES D

DEVELOPPEMENT D'UN LOGICIEL DE CALCUL PAR ÉLEMENTS FINIS FONDE SUR LES FORMES DIFFÉRENTIELLES LUDOVIC PÉNET DÉPARTEMENT DE GÉNTE &CANIQUE ÉCOLE POLYTECHNIQUE DE MONTRÉAL &MOIRE PRÉSENTÉ EN VUE DE L~OBTENTION DU DIPLÔME DE MA~I'RIsE ÈS SCIENCES APPLIQUÉES (GEME MÉCANIQUE) DÉCEMBRE 1999 O Ludovic Pénet, 1999. National Library Bibliothèque nationale du Canada Acquisitions and Acquisitions et Bibliographie Services services bibliographiques 395 Wellington Street 3 9 5 , rue Wellington Ottawa ON KI A O N 4 Ottawa ON KI A O N 4 Canada Canada Y w r Me vorm nswllwœ Our fire Wre rdtdrrnat The author has granted a non- L'auteur a accordé une licence non exclusive licence ailowing the exclusive permettant a la National Library of Canada to Bibliothèque nationale du Canada de reproduce, lem, distribute or seU reproduire, prêter, distribuer ou copies of this thesis in microform, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/^ de reproduction sur papier ou sur format électronique. The author retains ownership of the L7 auteur conserve la propriété du copyright in this thesis. Neither the droit d ' a u t e u r qui protège cette thèse. thesis nor substantial extracts fiom it Ni L a thèse ni des extraits substantiels m a y be printed or othexwise de celle-ci ne doivent être imprimés reproduced without the a u t h o r ' s ou autrement reproduits sans son permission. autorisation. ÉCOLE POLYTECHNIQUE DE MONTRÉAL Ce mémoire intitulé : DEVELOPPEMENT D'UN LOGICIEL DE CALCUL PAR ÉLÉMENTS FINIS FONDÉ SUR LES FORMES DIFFERENTIELLES présenté par : PÉNET Ludovic en vue de l'obtention du diplôme de : Maîtrise ès sciences appliquées a été dûment lu et accepté par le jury d'examen constitué de : M. GAUVIN Raymond, D.Sc.A., président M. TROCHU François, Ph.D., membre et directeur de recherche M. BELIVEAU AIain, Ph-D., membre REMERCIEMENTS Je souhaite remercier les membres du jury : Monsieur Raymond Gauvin, professeur au département de génie mécanique de l'École Polytechnique de Montréal pour avoir accepté de présider ce jury. Monsieur François Trochu, professeur au département de génie mécanique de l'École Polytechnique de Montréal, pour m'avoir accueilli dans son laboratoire et m'avoir laissé une grande liberte dans mon travail. Monsieur Alain Béliveau, Ph-D. en mathématiques appliquées, pour ses précieux conseils et pour avoir accepté de faire partie de ce jury. Un remerciement particulier pour Monsieur Jean-François Remacle, assistant de recherche au Rensselaer PoIytechnic Institute, pour m'avoir encadré durant la majeure partie de cette thèse. Je remercie les autres étudiants du laboratoire : Tan Pham, Élaine Bohr, Énc Béchet. Je remercie les nombreux relecteurs de ce document pour Ieurs judicieuses remarques tant sur le fond que sur la forme : Guillaume Lapierre et Régis Vinciguerra. Je salue également les autres personnes que j'ai rencontrées ici et qui ont contribué à rendre mon séjour au Québec agréable, notamment Chloé Gaiipeau. Merci enfin à Éric Cartrnan pour m'avoir soutenu moralement tout au long de cette maîtrise. Ce travail traite de la conception d'un moteur de calcul par éléments finis généraliste. La méthode des éléments finis est une méthode numérique de résolution des équations aux dérivées partielles utilisée aujourd'hui dans la plupart des génies. La conception de moteurs de calcul par éléments finis est un problème ancien, ayant connu différents avatars selon les paradigmes en vogue de l'époque. Dans un premier temps, nous étudions le code élément fini du laboratoire, LCMFlot, et passons en revue différentes publications. Nous procédons également à une étude mathématique de la méthode des éléments finis, en l'abordant du point de vue de la géométrie différentielle. Cette partie de l'étude permet de définir des outils originaux basés sur Ia géométrie différentielle et justifie que l'on désigne cette dernière comme la clé mathématique de cette conception- L'originalité de ce travail réside également dans lyutilisation d'une méthode d'analyse encore peu utilisée, l'approche muiti-paradigmes, et la justification de l'utilisation de la programmation dite générique. Cette dernière sépare systématiquement algorithmes et données, mais d'une manière différente de celle de la programmation procédurale. La STL » d'Alexander S tepanov est un exemple d'utilisation de cette programmation. Le résultat est un logiciel d'éléments finis rapide, compact, facile à utiliser et à étendre. Le développement d'une formulation Navier-Stokes prend moins d'une journée. Il est de plus capable, grâce aux diverses généralités, tant mathématiques qu'informatiques, introduites, de traiter, à partir d'une unique formulation variationelle, un problème en une dimension quelconque, ce pour des problèmes simples, comme la résolution d'un Laplacien, pour des problèmes complexes, comme la résolution de l'équation de transport par l a méthode de Lesaint-Raviart en passant par des classiques, comme Navier-Stokes. ABSTRACT This work is about the conception of a general finite element cornputation engine, The finite element method is a partial derivatives équations numerical resolution technique- It is used nowadays in most scientific fields. Conception of finite element computation engine is an old problem. Different solutions, conceived with various programming parading were proposed. Whe begin with the study of LCMFlot, the finite element code of the laboratory, and some related publications. We follow by the study of the finite element method mathematics, from the differential geometry point of view. This part of the work makes the definition of original tools possible. Differential geometry is thus the mathematical key of this conception. MuIti-paradigm design is another innovation of this work, and justificatifies the use of genenc programming as Our implementation of the finite element method. In a mariner quite different from the old procedural approach, generic programrnaing systematically splits algorithrns and data. Alexander Stepanov7s STL is an example of package implemented using this progrming style. The result is a fast, compact, easy to use and effortlessly extendabte finite element engine. Using thïs finite element package, developpement o f the Navier-Stokes equations takes less than one day. It is also capable, due to the introduction of mathematical and design generalisation, of solving a problem using a single, dimension fiee, variational formulation. This, for simple examples, such as the Laplace equation, as for more complex problem, like the resolution of the transport equation using the Lesaint-Raviar scheme. .............................................................................................. REMERCIEMENTS iv - - ........................................................................................................ AB STRACT .,vii * - - TABLES DES MATIERES ................................................................................. viii ..................................................................................... LISTE DES TABLEAUX xv ......................................................................................... LISTE DES FIGURES xvi . - ............................................................................... LISTE DES ACRONYMES xxii INTRODUCTION ................................................................................................... 1 CHAPITRE 1 - INTRODUCTION À LA MODÉLISATION ORIENTÉE OBJET ET AU Ctt ............................................................................................................. 2 1-1 3 ................................. Une brève présentation de la conception orientée objet ....................................................................................... 1 -1 -1 Le modèle statique ..2 ..................... .......................*............ 1.1.1.1 Classes, spécidisation et héritage . . 2 1 -1.1.2 Composition ............................... . . . ...............-.-...-................................ ....3 - - ............................................................................................ 1 -2-1 -3 Assocratlon -5 .................................................................................... 1.1 -2 Le modèle dynamique 6 1.1.3 Le modtile fonctionnel .................................................................................... 8 .................................................................................... 1.1 -4 Ajouter les opérations 9 Présentation du langage C * .............................................................................. 9 1 -2.1 Introduction .................................................................................................... 9 ....................................................................................................... 1 -2.2 Concepts 1 1 1.2.2.1 Classes et objets ................................................................................... 11 ................................................................................................. 1.2.2.2 Héritage 13 ................................................................... 1 -2.2.3 Principe de I'encapsulation 14 1 -2-3 Les classes en CH- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 .................................................................... 1.2.3.1 Fonctions membres 1 6 1.2.3.2 Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 I ................................. 1.2.3.3 Surcharge des fonctions et paramètres par défaut 21 1.2.3 -4 Héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.5 Surcharge de fonctions héritées et fonctions virtuelles 26 1 .2.3 -6 Classes et fonctions paramétrées uploads/Geographie/ developpement-d-x27-un-logiciel-de-calcul-par-elements-finis.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager