Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure



Documents pareils
/HVV\VWqPHVFRPELQDWRLUHV

Magister en : Génie Mécanique

ANALYSE NUMERIQUE NON-LINEAIRE

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Théorème de Poincaré - Formule de Green-Riemann

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Chapitre 2 Le problème de l unicité des solutions

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

LOGICIEL FONCTIONNEL EMC VNX

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

Guide des bonnes pratiques

Guide d'utilisation Easy Interactive Tools Ver. 2

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

Chapitre 11 : L inductance

LANGAGES - GRAMMAIRES - AUTOMATES

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

Synthèse de cours (Terminale S) Calcul intégral

3- Les taux d'intérêt

Conseils et astuces pour les structures de base de la Ligne D30

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Toyota Assurances Toujours la meilleure solution

Transfert. Logistique. Stockage. Archivage

Chapitre VI Contraintes holonomiques

semestre 3 des Licences MISM annnée universitaire

Techniques d analyse de circuits

Partie 4 : La monnaie et l'inflation

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Tout ce qu il faut savoir en math

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

Commencer DCP-7055W / DCP-7057W /

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Séquence 8. Probabilité : lois à densité. Sommaire

Module 2 : Déterminant d une matrice

Notes de révision : Automates et langages

Cours d Analyse IV Suites et Séries de fonctions

Licence M.A.S.S. Cours d Analyse S4

Guide de l'utilisateur

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

La pratique institutionnelle «à plusieurs»

SYSTEME DE TELEPHONIE

Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

Algorithmes sur les mots (séquences)

Statuts ASF Association Suisse Feldenkrais

Introduction à la modélisation et à la vérication p. 1/8

Le canal étroit du crédit : une analyse critique des fondements théoriques

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

Chapitre 1 : Fonctions analytiques - introduction

Santé et sécurité psychologiques en milieu de travail

Régression multiple : principes et exemples d application. Dominique Laffly UMR CNRS Université de Pau et des Pays de l Adour Octobre 2006

Interview p.10. Francis Delpérée. Dossier pédagogique des Equipes Populaires Bimestriel n 154 Janvier-Février 2013

- Phénoméne aérospatial non identifié ( 0.V.N.I )

VIBRATIONS COUPLEES AVEC LE VENT

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

Modification simultanée de plusieurs caractéristiques d un bien hédonique : une nouvelle méthode de calcul de la variation de bien-être des ménages

Clients légers IGEL et bureaux virtuels : synergie idéale et coût minimal

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

FIG. 1 Module de stockage en position horizontale ; positionnement des jauges de déformation.

Meg Gawler Bréhima Béridogo. Mars 2002

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Bloc notes. a À faire tout de suite. Gardez secret votre code confidentiel. À conserver précieusement. Protégez votre carte

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Livret de l étudiant


Baccalauréat S Asie 19 juin 2014 Corrigé

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

L EUROPE ET L EAU. «Quelle idée d appeler cette planète Terre alors qu elle est clairement océan». Arthur C. Clarke.

INSTALLATION DE DETECTION INCENDIE

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

Directives COV et alternative lipochimique : peintures, encres, nettoyage, dégraissage...

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

INFORMATIONS TECHNIQUES

La réforme des soins de santé mentale en Belgique

TRam «Gestion de la Toxicité en zone Ramsar» Toxicity management in Ramsar area

dans Supply Chain sortir ERP commencent à de leur carcan prise de décision en temps réel au niveau des ateliers. La nouvelle génération de solutions

Bilan pédagogique / Projet ipad Contexte

Intégrale et primitives

ÉQUIPEMENTS ATEX OUTILLAGE ANTI-ÉTINCELLES

Le vademecum de l apprentissage dans la fonction publique territoriale SERVICES À LA PERSONNE

Systèmes de plafonds

INTENTION LES PROCESSUS MATHÉMATIQUES


SOCIÉTÉ LINNÉENNE DE LYO N FONDEE EN 182 2

La plateforme Next Generation Mini guide

FONDATION CLEMENTINE ET MAURICE ANTILLE

l appareil et vérifier les composants Module tambour-cartouche de toner (pré-installé)

Déroulement de l épreuve de mathématiques

MINIMUM DE DONNÉES STANDARDISÉES (MDS) POUR L ÉVALUATION DU RÉSIDANT EN INSTITUTION EN VUE D UN PLAN DE SOINS

essais dossier Oser s équi Prothèses auditives

Du 12 au 23 novembre 2012 Les acteurs Oséades

CTC Generic LITHO FLEXO. PANTONE a mm/dd/yy xxxxxx. PANTONE a mm/dd/yy xxxxxx PANTONE a mm/dd/yy xxxxxx.

Cours de Résistance des Matériaux (RDM)

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Transcription:

République Algérienne Démocrtique et Populire Ministère de l enseignement supérieur et de l recherche scientifique Université Mentouri de Constntine Fculté des sciences et sciences de l ingénieur Déprtement de Génie civil hèse Présentée Pour obtenir le diplôme de doctort en sciences En génie civil Option : structure d ordre :.. Série APPROCHE ORIEEE OBJE DE LA MEHODE DES ELEMES FIIS Pr BELGASMIA MOURAD Soutenue le 3//6. Devnt le jur : Président : CHIKH sr Eddine Pr. Université de Constntine Rpporteur : Guenfoud Mohmed Pr. Université de Guelm Eminteurs: Benmnsour oufik MC. Université de Constntine Zrour sr Eddine MC. Université de Constntine Guenfoud Slh MC. Université de Guelm Belounr Lmine MC. Université de Biskr session 6

REMERCIEME Que messieurs les professeurs M.Guenfoud &. Zimermmnn, trouvent ici l epression de toute m grtitude pour leurs ides inestimbles, leur compréhension et leurs encourgements. Je leurs suis très reconnissnt pour l orienttion et le svoir si importnt que j i trouvés en leur noble personne. Je tiens ussi à remercier le professeur Frnçois Fre d voir ccepté de m ccueillir dns son lbortoire de Mécnique des structures et des milieu continus (Lusnne Suisse) et de mettre m disposition tous les moens nécessire pour pouvoir peufiner m recherche. Je tiens ussi à présenter mes remerciements les plus rdents à messieurs les membres de jur d voir ccordé à mon trvil une importnce très encourgente. I

ble des mtières ABLE DES MAIERES Remerciements.. Résume. Liste des figures ottions et Smboles... Introduction I II III VI CHAPIRE I : LES LOGICIELS ELEMES FIIS RADIIOELS E LAGAGE FORRA.. Introduction.... Structure de données et rchitecture du progrmme«feap»..... Les structures de bse du Fortrn..... Les structures de données de FEAP...3. Les logiciels de modélistion.3. Evolution des techniques numérique et des modèles phsiques.....3. Vriété des logiciels.3.3. Evolution des logiciels...4. Orienttion souhitble pour l nouvelle génértion de logiciels.4.. L rchitecture.4.. Le lngge de modélistion...4.3.le lngge de codge. 3 3 3 4 8 8 9 9 CHAPIRE II : PROGRAMMAIO ORIEEE OBJE.. Introduction... Rppels sur l progrmmtion orientée objet.... Clsses et objet Encpsultion.. Héritge..3. Polmorphisme...4. Liison dnmique....5. différent tpe de mode de progrmmtion 6 8 CHAPIRE III : LA PROGRAMMAIO ORIEEE OBJE E ELEME FIIS E UE EXECUIO EFFICACE E C++ 3.. Introduction 3.. L rchitecture du concept de l progrmmtion Orientée Objet dns un lngge clssique... 3... Les niveu d bstrction en c++. 3... Progrmmtions en complétnt les libriries 5 5 6

ble des mtières CHAPIRE IV : HEORIE D ELASICIE AISOROPE E DES PLAQUES E FLEXIO 4.. otion de continuité et d homogénéité 4.. otion d nisotropie 4.3. Etts de contrintes et de déformtions. 4.4. Reltion contrintes - déformtions 4.5. Smétrie élstique 4.6. héories des plques en fleion 4.6. Définition d une plque 4.6. Hpothèses 4.6.3 Conventions de signe pour déplcements et rottions 4.6.4 Reltions cinémtiques 4.6.4. Chmp de déplcements. 4.6.4. Chmp de déformtions. 4.6.5 Reltions contrintes-déformtions.. 4.6.6 Reltions efforts résultnts-déformtions. 4.6.7 Formultion en sttique linéire 4.6.7. Principe des trvu virtuels.. 5 9 9 9 3 3 34 34 35 36 37 37 38 39 4 4 4 CHAPIRE V : ELEMES FIIS DE PLAQUE E SAIQUE E E DYAMIQUE LIEAIRE 5. Discrétistion du chmp de déplcements 5.. Discrétistion du chmp de déformtions. 5.3 Mtrice de rigidité... 5.4 Vecteur chrge équivlent... 5.5 Formultion des équtions de mouvement en dnmique. 5.6 Formultion des équtions de mouvement. 5.7 Mtrice de msse élémentire. 5.8 Intégrtion numérique 5.8. Méthode de Guss.. 5.8. Intégrtion réduite, intégrtion sélective.. 5.9 Méthodes de résolution des sstèmes du second ordre... 5.9.. L méthode de superposition modle 5.9.. L méthode de résolution directe.. 5.9.3 Méthode de ewmrk CHAPIRE VII : LA PROGRAMMAIO ORIEEE OBJE E ELEMES FIIS DAS LE DOMAIE O LIEAIRE 6. Problème des vleurs u conditions sttique 6. Plsticité de Von Misès.. 6.3 Critère de Von Misès.. 6.4 L mtrice constitutive elsto-plstique... 6.4. Définition de l mtrice constitutive elsto-plstique.. 6.5 Cs elsto-plstique 6.5. L forme générle de l lgorithme de clcul des contrintes 6.6. Algorithme de résolution 43 44 45 47 48 48 49 49 5 5 5 5 5 5 53 54 57 58 58 59 59 56 6

ble des mtières CHAPIRE VIII : VALIDAIO E ESS UMERIQUES 7.. Vlidtion en sttique linéire 7... Plques minces isotropes 7... Plque crrée simplement ppuée sur ces qutre côtés 7... Plque crrée encstrée sur ces qutre côtés. 7... Plques minces orthotropes. 7... Plques minces orthotropes simplement ppuée. 7... Plques minces orthotropes encstrée sur ces qutre côtés 7.. Vlidtion en dnmique linéire.. 7... Plques minces isotropes 7... Plque crrée encstrée sur un côté 7... Plque crrée simplement ppuée sur ces qutre côté. 7... Plques minces orthotropes 7... Plque crrée encstrée sur ses qutre côtés 7.3. Plques minces isotropes en sttique non-lineire 7.3.. Plque crrée encstrée sur ses qutre côtés 7.3.. Plque crrée simplement ppuée sur ses qutre côtés. 7.4. Discussion des résultts COCLUSIO.. AEXE. REFERECES... 65 65 65 67 69 69 69 73 73 73 75 77 77 79 79 79 8 83 85 89

IRODUCIO GEERALE Les logiciels ctuels de modélistion numérique, et en prticulier les codes d nlse des structures pr l méthode des éléments finis, reposent encore essentiellement sur des schéms et des méthodes des premiers temps de l informtique. Il été insi ccepté jusqu à récemment que les codes éléments finis ne puissent réliser que des nlses sur des données sttiques et bien définies u déprt pr l utilisteur. Les résultts du clcul devient églement suivre un formt déterminé. Ainsi -t-on continué de développer les codes de modélistion vec le lngge Fortrn et le stle procédurl, bien dptés à ce monde «de serveur numérique». A l opposé, en conception ssisté pr ordinteur, les données sont chngentes en vleur, mis ussi en forme. Elles sont modifiées pr le logiciel ou, de mnière interctive, pr l utilisteur. Le développement de tels logiciels de CAO se fit en plus en utilisnt des lngges modernes et des méthodologies logicielles fondées sur l pproche objet. Jusqu à présent l cohbittion entre le monde de l conception et celui de l nlse été rélisée pr des couplges entre des logiciels développés indépendmment, communiqunt d une mnière limitée ou indirecte à trvers des données prtgées. Ce tpe d intégrtion fible offre une solution à court ou moen terme, donnnt certines stisfctions, mis figent chque prtie dns son rôle primitif. Cel conforte ce qui toujours eisté u détriment de ce qui devrit ou pourrit eister. Pourtnt l nlse numérique est entrin de vivre une triple révolution. En premier lieu, son chmp d ction est de plus en plus vste et complee. Fortrn, outil (logiciel) trditionnel des numériciens conçu il plus de 3 ns, du ml à suivre cette évolution. L seconde muttion qui frppe l nlse numérique s ppelle «dpttivité utomtique» ; nous sommes loin des données sttiques entrées pr l utilisteur, l progrmmtion structurée ne nous semble ps un outil déqut à cette nouvelle forme d nlse numérique. Enfin, l ccroissement considérble de l mémoire centrle des ordinteurs permet ujourd hui d envisger des structures de données plus riches, conçues pour le confort et l productivité du progrmmeur, et non plus dns le strict souci d économiser des octets. Depuis environ douze ns, un nombre de plus en plus de chercheurs et de développeurs des progrmmes d nlse numérique s intéressent ou font le ps vers l progrmmtion orientée objet. Les lngges utilisés sont vribles, Object-pscl, CLOS, Smlllk ou C++, vec une ctuelle prédominnce de ce dernier.

Selon nous, l pproche objet est une opportunité pour repenser et redéfinir l ensemble des entités intervennt dns l méthode des éléments finis. Il serit dommge, et presque néfste, de grder les représenttions qui étient dptées à une utres forme de progrmmtion. Pour ller plus loin dns les logiciels d nlse numérique, il ne nous pprît ps insensé de vouloir, à trvers l progrmmtion objet, prtiquement reprtir à zéro. Le but de ce trvil, est l implémenttion d un élément plque isotrope et orthotrope dns un code élément finis orienté objet en utilisnt le lngge C++. Pour ce fire cette thèse se présente comme suit : - Le premier chpitre est conscré à un rppel sur les structures de données trditionnelles et sur l progrmmtion procédurle des codes éléments finis en Fortrn. ous soulignons leurs limittions fce u nouveu défis de l modélistion numérique. - Le chpitre II epose les principes de l progrmmtion orientée objet. - Le chpitre III est conscré à l efficcité du C++ en progrmmtion orientée objet en éléments finis. - L théorie d élsticité nisotrope et des plques en fleions est décrite dns le chpitre IV. - Le chpitre V est conscré à l formultion de l élément qudriltères isoprmétriques dns le cs sttique et dnmique. - Le chpitre VII epose l théorie de plsticité insi qu à l orgnistion d une prtie du code en C++. - Enfin le chpitre VIII est conscré u différents tests numériques insi que l vlidtion des résultts. - en trouve en nnee les clsses les plus importntes du code orienté objet vec le lngge C++.

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn CHAPIRE LES LOGICIELS ELEMES FIIS RADIIOELS E LAGAGE FORRA. Introduction L introduction du lngge Fortrn pr John Bckus en 954 coïncidé vec l émergence des méthodes numériques utilisnt les ressources des premiers ordinteurs. Depuis lors, Fortrn n cessé de jouer un rôle centrl dns le domine de plus en plus vste de l simultion numérique. Ce lngge de progrmmtion permettnt une compiltion très efficce été jusqu à présent considéré comme étnt l meilleure rme pour lutter contre l ennemi numéro un de l ingénieur numéricien : le temps de clcul. Les codes scientifiques devenient bien toujours un peu plus complees et donc toujours plus difficiles à mîtriser. Aucun utre lngge ne pouvit offrir d ttrits rivlisnt vec l rpidité du Fortrn. Les bibliothèques mthémtiques comme AG, LIPACK ou EISPACK, nturellement écrites en Fortrn, on imposé un peu plus le lngge. Il n est donc ps surprennt que l qusi-totlité des codes scientifiques, et en prticulier des codes pour l méthode des éléments finis soit écrits vec ce lngge. Les choses sont pourtnt en trin d évoluer rpidement et les structures de données clssiques et le lngge Fortrn sont peut être à remettre en cuse. Dns l première prtie de ce chpitre, à trvers le progrmme «FEAP» (Finite Element Anlsis Progrm) de R.L.lor, nous ferons un rppel sur les structures de données trditionnelles insi que sur les rchitectures des codes éléments finis clssiques, en nlsnt leurs forces et leurs limittions. En seconde prtie, nous ferons un tour d horizon des différents tpes de logiciel de modélistion et des défis qu ils devront relever dns le futur et nous nous interrogeons sur leur cpcité à les relever. Enfin, l troisième prtie ser conscrée à nos propositions pour plier ces limittions.. SRUCURE DE DOEES E ARCHIECURE DU PROGRAMME «FEAP».. Les structures de bse du Fortrn L simplicité du lngge est due à l puvreté de ses tpes de structures. Il n en offre en fit qu un seul, sttique, le tpe tbleu. L vntge de ce tpe de structure est l dressge direct donc simple et rpide, mis le problème inhérent à s nture sttique est qu il impose une tille qui doit être définie à l compiltion. outes les déclrtions de tbleu ne peuvent se fire qu vec des dimensions sttiques. 3

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn.. Les structures de données de FEAP Le progrmme FEAP (Finite Element Anlsis Progrm) écrit pr R.Ltlor et détillé dns le livre de Zienkiwicz & lor nous servir de référence dns cette prtie. Bien sûr tous les utres codes éléments finis en Fortrn écrits à trvers le monde n ont ps ectement les mêmes structures de données ni l même orgnistion. Ils en sont cependnt très proches (pr eemple RE_FLEX de [] ou DLEAR de [] et l étude de FEAP suffit pour comprendre un nombre de points forts et de fiblesses de l ensemble de ces codes trditionnels. A l bse de FEAP nous trouverons le clssique common blnc dimensionné pr une constnte IEGER * M COMMO M (3) COMMO /PSIZE/MAX MAX 3 Le common blnc est prtitionné pour recevoir les structures de données sttiques et dnmiques : tbleu d entiers, de crctères ou de réels. Un jeu d entier permet de retrouver les positions des débuts de chcun de ces tbleu. On qulifie ces entiers de «pointeurs». Dns FEAP, ils se trouvent dns deu commons et sont initilisés pr l routine de contrôle PCOR et l routine de gestion du common PSEM (fig..). Les tbleu n ont donc ps de crctère propre et eplicite ; ils n ont ps vriment de rélité informtique et seuls les pointeurs les définissent de mnière implicite. Le common blnc est en fit le seul véritble «objet» informtique. ous les utres sont à gérer pr le progrmmeur, ce qui donne certes une grnde liberté, mis eige en contreprtie une gestion très rigoureuse. COMMO / MDAA/,/,,, 3, 4, 5, 6, 7, 8, 9,,,, 3 COMMO / MDA/ A, B, C, IA (,) PCOR doit lire sur un fichier d entrée les divers entiers nécessires : nombre de nuds (UMP), d éléments (UMEL), de mtériu (UMA), le nombre mimum de degrés de liberté pr nud (DF), l dimension d espce du problème (DM) et le nombre mimum de nuds pr éléments (E). Décrivons quelques un de ces tbleu D (8, UMA) données des mtériu (limité à 8 mots pr mtériu) 4

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn F (DF, UMP) forces nodles et déplcements ID (DF, UMP) conditions u limites puis numéro d équtions IX (E, UMEL) connectivité des nuds locl -->globle X (DM, UMP) coordonnées des nuds DF UMP 3 M F 7 8 9 Figure. Le Common blnc, les pointeurs et le vecteur F Common fie L tille du common est fiée à l compiltion. C est une limittion non nturelle imposée à l utilisteur. Si MAXM est trop petit, son clcul ne psser ps ; il devr fire une modifiction dns le source et recompiler. Si en revnche MAXM est trop grnd, les utres utilisteurs peuvent, sur certines mchines, être pénlisés pr cette grosse réservtion de mémoire. Mémoire non dnmique L tille des tbleu n est ps toujours clculble priori. Il eiste de nombreu eemples dns l implémenttion de l méthode des éléments finis où, u cours de l eécution, on besoin de mémoire temporire de tille inconnue : milleurs, lgorithmes de numérottion, lgorithmes de recherche, post-processeur, etc. Ainsi, lorsqu une routine besoin de mnière interne de mémoire dnmique, deu solutions sont générlement emploées. L première, simple consiste à lui psser un vecteur de trvil (de tille fie pris dns le common blnc) en espérnt qu elle n en ur ps besoin de plus. L utilisteur (consommteur de mémoire) doit voir un ordre d idées priori sur l espce à réserver ce qui n est ni nturel, ni fible. Avec l seconde solution, on recours à un ensemble de routines pour gérer l espce mémoire du common blnc. Dns ce cs, il fut pouvoir llouer et désllouer à l demnde des tbleu de tille quelconque. FEAP ne propose que l lloction pr s routine PSEM. Dns DLEAR l routine s ppelle MPOI et rélise qusiment le même service vec en plus le fit de pouvoir nommer les tbleu dns le common blnc pr une chîne de crctères. 5

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn Même pour les structures globles permnentes (tbleu ID, IX, F ) il devient vite très utile, lorsque le code se compleifie, de disposer d un outil (gestionnire) pour gérer les tbleu et les pointeurs à l plce du progrmmeur. Celui ci n lors plus qu à demnder u gestionnire l crétion, puis l position et enfin l libértion d un tbleu en fournissnt simplement une chîne de crctère en guise d identificteur. L écriture d un bon gestionnire de mémoire dnmique est délicte en Fortrn. On obtient de toutes fçons, à cuse de l tille limitée MAXM, qu une lloction pseudo-dnmique. De plus, ces modules ne sont toujours ps indépendnts cr ils doivent connître les spécifictions (intitulés et prmètres) des routines du gestionnire et eigent en plus le common blnc en prmètre, ce qui n est vriment ps nturel pour le client. Les lngges modernes (Pscl, C, C++, Eiffel, Ad ) offrent tous, des possibilités d lloction et de déslloction de mémoire. Le progrmmeur insi à s disposition générlement deu mots réservés du lngge : mlloc ou new, et free ou unchecked_delloction. Stockge monolithique Les tbleu ID et IX sont dimensionnés pr le nombre mimum de degrés de liberté pr nud et le nombre mimum de nud pr élément. Dns le cs où l on utilise dns le même millge des éléments à nombre de nuds ou de degrés de liberté (ddl) vrible, l utilistion de l mémoire est peu optimle. Ce stockge monolithique est églement prticulièrement gênnt lorsque des éléments ou des degrés de liberté sont joutés ou supprimés u cours du clcul comme lors d un processus de rffinement-dérffinement du millge. Les structures de données doivent dns ce cs être beucoup plus sophistiquées, l lloction dnmique et les pointeurs des lngges modernes sont lors prticulièrement utiles. Loin de l formultion L ccès u éléments des tbleu se fit de mnière très bstrite : un ou deu entiers servent à indicer chque tbleu. Pourtnt les données ont très souvent une significtion phsique précise : coordonnée sptile, tpe de ddl dns les tbleu indicés pr des entiers le sens phsique n pprît plus, ce qui nuit à l compréhension et à l fibilité du code. En Fortrn, nous ne connissons mlheureusement ps de moen d éviter cel. De plus il un besoin évident pour une progrmmtion à plus hut niveu d bstrction, plus proche de l formultion mthémtique 6

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn Peu fible Le common qui fit ici 3 entiers de octets soit 64 ko sert donc à stocker tous tpes de tbleu, des entiers simples, doubles, des réels simples ou doubles, des crctères, etc. c est une grnde souplesse qu offre le compilteur mis c est dngereu. Un entier peut très bien être reçu pr erreur dns une vrible réelle (ou vice vers) et le compilteur ne le vérifie ps. SUBROUIE PROFIL (JD, IDL, ID, IX, DF, E) IEGER * JD (), IDL (), ID (DF, ), IX (E, ) CALL PROFIL ( M(,), M(,3), M(7), M(9), DF, E) Dns cet eemple, l routine PROFIL ttend 4 tbleu d entiers, monodimensinnels, bidimensionnels, et entiers. L tille de ces tbleu n est même ps en prmètre (suf pour le premier indice des tbleu D). C est u progrmmeur de fire très ttention à psser les dresses correctes de début de ses «structures», et à ce que les tilles correspondent. L routine PROFIL est peu utonome ; son bon fonctionnement dépend fortement de l etérieur. On pourrit progrmmer de mnière un peut plus sûre en écrivnt SUBROUIE PROFIL ( JD, IDL, ID, IX, DF, UMP, E, UMEL) IEGER* JD(DF*UMP), ID(DF,UMP), IX (E,UMEL) Mis cel ugmente encore le nombre de prmètres et donc le risque de pssge de données berrntes. En Fortrn il n ucune vérifiction du tpe des prmètres et tout le monde déjà fit de nombreuses fois l epérience de bogue dû à une dresse de début erronée, à des réels reçus comme entiers ou à un dépssement de tbleu. Dns les lngges fortement tpés (presque tous les lngges modernes), le compilteur effectue les vérifictions de nombre et de tpe pour chque ppel à un sous-progrmme éliminnt insi les risques du Fortrn à cet égrd. Rpidité Les structures de données en Fortrn (i.e tbleu) sont très simple et sont donc réputées très rpides ; Ce n est pourtnt ps tout à fit vri. En effet, dns un tbleu bidimensionnel, pr eemple X(DM,UMP), l ccès à un élément de position (i, j) Se fit en clculnt l position X(,)+X(j-)*DM + i-, soit une multipliction et qutre dditions d entiers. Dns les prties du code où il n ps d optimistion (c est fréquent), l utilistion d un tbleu de dimension UMP de pointeurs sur chcun des petits vecteurs 7

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn de dimension DM est plus efficce comme le montrent des eemples de gestionnire de mémoire, et de solveur écrit en lngge C..3 LES LOGICIELS DE MODELISAIO.3. Evolution des techniques numériques et des modèles phsiques Depuis le début du clcul scientifique, les techniques numériques ont considérblement évoluées : - Des premières équtions u dérivées prtielles résolues pr différences finies, on est pssé u éléments finis et u équtions intégrles. - Les méthodes de résolutions ont été bouleversées : méthodes directes, méthodes itértives, méthodes muti-grilles, méthodes de sous domines. Les modèles phsiques se sont diversifiés et compleifiés : - Pssge de l élsticité linéire u lois plstiques, viscoplstiques puis à l endommgement (locl ou non locl). - Pssge de l formultion en petites déformtions, petits déplcements u grndes déformtions, grnds déplcements. - ritement des instbilités et bifurction. - Contct et frottement. - Modèles dnmiques - De plus en plus le couplge entre les différents domines de l modélistion : mécnique des solides, thermique, mécnique des fluides, électromgnétisme. Ces modèles phsiques ont églement introduit de nouvelles techniques numériques : - Méthodes de résolution non-lineires (ewton, ). - Méthodes de tritement des instbilités (suivi d rc). - Méthode d intégrtion en temps (ewmrk, implicite eplicite). Enfin, le besoin d interfces utilisteur conviviles permettnt d interroger le logiciel, ussi bien pendnt le clcul que lors du millge ou de post-tritement, eige des trois progrmmes de bse de l méthode des éléments finis une plus grnde cohésion et des structures de donnée communes..3. Vriété des logiciels On peut, en suivnt l nlse de Breitkopt & ouzout, décomposer l ensemble des logiciels de modélistion en 4 grndes fmilles 8

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn Les logiciels de recherche généru, servnt de bse de trvil pour tester des modèles ou méthodes novteurs, doivent être souples et peuvent subir d ssez profondes modifictions. Ils devrient être conçus comme des constructions de «modules» indépendnts et fcilement modifibles. Les logiciels de recherche spécilisés modélisent un tpe de phénomènes prticuliers et utilisent des méthodes très spécifiques. out comme les cousins généru, les logiciels de recherche spécilisés ont une interfce utilisteur sommire et les données que mnipule le chercheur sont de très bs niveu (mtrice et vecteur dns les commons) ; les commndes sont des instructions Fortrn Les logiciels industriels généru englobent un mimum de modèles et d lgorithmes. Ils sont dotés d une confortble interfce utilisteur et peuvent communiquer vec de nombreu milleurs et post-processeurs. L utilisteur mnipule ici des données de hut niveu (structures phsiques, données géométriques) et les commndes sont lncées à l sourie. à cuse de leurs tille ces logiciels sont peu évolutifs. Les logiciels industriels spécilisés, ou logiciels «métier», sont souvent des e-logiciels de recherche spécilisés qui ont été fibilisés, nettoés et documentés. Les lbortoires s efforcent de trnsformer le plus rpidement possible leurs nouveutés en produit fibles fin de ggner en renommée. De même, les industriels cherchent nturellement à trnsférer rpidement les résultts de l recherche vers leur code. On devrit donc méliorer l continuité et l comptibilité entre logiciels de recherches et logiciels industriels, c est à-dire chercher à professionnliser les logiciels de recherche trop souvent «rtisnu»..3.3 Evolution des logiciels Compleifiction Comme nous l vons souligné u prgrphe -3-, les logiciels de modélistion ont déjà subi de profondes modifictions pour intégrer les évolutions des modèles et des méthodes numériques et dns une moindre mesure u évolutions du lngge Fortrn. Lorsque nous prlons d évolution des logiciels, ce n est ps dns le sens d une évolution globle, où un logiciel mournt lisse l plce à un nouveu entièrement réécrit, mis bien dns un sens d évolution locle, chque logiciel étnt à chque fois dpté pr souci de réutilisbilité. Il s ensuit des logiciels complees peu lisibles qui ont multipliés les tests et les brnchements, même u niveu des structures de données de bse. Cette tendnce ne peut se confirmer ; l réutilisbilité devient de plus en plus difficile à obtenir. 9

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn.4 ORIEAIO SOUHAIABLE POUR LA OUVELLE GEERAIO DE LOGICIELS On peut tenter de formuler quelques orienttions pouvnt permettre de résoudre les difficultés évoquées dns les deu prgrphes précédents..4. L rchitecture Pour ugmenter l vitesse de trnsfert entre l recherche et l industrie, il est indispensble de réduire l différence entre logiciels de recherche et logiciels industriel. Un logiciel de recherche doit être dés le début très bien écrit, bien structuré et d pproche fcile. Il fudrit églement limiter l multipliction des logiciels. Pour cel il est nécessire de développer une bse suffismment souple pour que différents modules spécilisés viennent s dpter. Il fudrit ussi coupler le logiciel vec un sstème epert, seul moen ujourd hui pour introduire de mnière simple et efficce les règles nécessires à l prise de décision. Il peut églement cquérir ces connissnces de mnière utomtique vec l epérience de clcul déjà effectué. Il serit intéressnt de clssifier les modèles éléments finis dns le logiciel, c est-à-dire de définir des reltions de prenté entre modèles (comme pour l clssifiction des espces nimles), on ggner beucoup en clrté dns l orgnistion du code. On pourrit ussi écrire des procédures vlbles pour toute une clsse d élément donc ggner en réutilisbilité. Cel pourrit églement ider le sstème epert à choisir le modèle le mieu dpté u problème posé. L progrmmtion orientée objet nous prît pporter de bonnes solutions pour orgniser le code de mnière évolutive et clire. Elle peut, à notre vis, églement fciliter l introduction d un pilotge pr un sstème epert dns le code..4. Le lngge de modélistion Il fut utiliser un lngge de modélistion de plus hut niveu, s bstrire des détils informtiques, et l idél ce serit de coder les formultions directement en lngges mthémtiques. Il fut définir des objets mthémtiques (vecteurs, mtrices, tenseurs ) insi que les opérteurs que l on peut leur ppliquer. On note que le lngge c++ peut être très utile dns ce domine grâce à l surchrge des opérteurs.

Chpitre Les logiciels Elément Finis trditionnels en lngge Fortrn.4.3 Le lngge de codge Il doit déjà ider à implémenter les souhits formulés pour l rchitecture et pour le lngge de modélistion. Il fut donc un lngge plus puissnt vec un gestionnire de mémoire intégré, pointeur à indice libre, un ensemble de tpes de structures de données plus riche. Il doit être très modulire et très lisible. Il doit fibiliser le code : Réliser le mimum de vérifictions à l compiltion et à l eécution et enfin il doit être portble et rpide. Conclusion L discussion de ce chpitre met en évidence certines rigidités et insuffisnces des logiciels de modélistion. ous vons mis en vnt quelques orienttions qui nous prissent indispensbles à l écriture des logiciels modernes, et l progrmmtion orientée objet nous semble être des voies prometteuses. Dns le prochin chpitre, nous ferons un rppel sur l progrmmtion orientée objet.

Chpitre Progrmmtion Orientée Objet CHAPIRE PROGRAMMAIO ORIEEE OBJE. Introduction L progrmmtion orientée objet commence depuis quelques nnées être utilisée dns les codes éléments finis. Certes, de nombreu uteurs ont utilisé depuis longtemps certin concepts de l POO (modules données + sous- progrmme, envois des messges) comme C.Felipp, P.Breitkopf et G.ouzout, ou encore W.W.worzdlo et J..Oden, mis en utilisnt toujours le lngge Fortrn ou prfois pour quelques sous-progrmmes, le lngge C. Jusqu en 989, à notre connissnce, ucun ppier ne tritit de l emploi d un lngge orienté objet pour le clcul scientifique. B.Forde et l semblent être les premiers à s intéresser u sujet en décrivnt une version objet (Object-AP) écrit en pscl-objet d un code éléments finis clssique, AP (umericl Anlsis Progrm). Depuis, plusieurs rticles sur le sujet sont prus : Miller en CLOS, Mckie en pscl-objet, puis Sholtz en c++.zimmermnn et l ont décrit un code prototpe en Smllk [8],[9]. otnt que l pproche restit clssique et le lngge n étit emploé que pour s fibilité, s lisibilité. Reconnissons une préférence de plus en plus mrquée des uteurs pour le C++, u détriment des lngges interprétés comme le CLOS ou Smlllk. ous conscrons ce chpitre à des rppels sur l POO. On définir le concept de clsse et d objet, l héritge, de polmorphisme et de liison dnmique.. RAPPELS SUR LA PROGRAMMAIO ORIEEE OBJE [4] [] [5].. Clsses et objet Encpsultion Comme le note J.Prosen, tout lngge informtique est crctérisé pr des «briques de bses» pouvnt se combiner pour donner des éléments de plus hut niveu. Dns les lngges procéduru (Fortrn, C, Pscl..) Ce sont des sous-progrmmes, les données étnt écrtées de cette décomposition. Ces lngges offrent l possibilité de définir des structures de données et les routines de mnipultion de ces structures dns des prties différentes du code. Il découplge entre l définition de l structure de données et les structures de progrmmes ssociées. Les lngges orientés objet utilisent comme éléments fondmentu des entités utonomes (objets) qui représentent des bstrctions du monde réel. Un progrmme ne se crctérise plus pr une suite de sous-progrmmes à eécuter mis pr une décomposition en clsses, modèles d objet réel dont les instnces communiquent entre elles. L objet est à l fois

Chpitre Progrmmtion Orientée Objet une structure de données et un ensemble de sous progrmmes. Il regroupe des ttributs (données) et des méthodes (procédures et fonctions). Ses ttributs sont cchés u «monde etérieur» pour dissocier vue interne et vue eterne et grntir insi son intégrité. On prle d encpsultion des données. Cette crctéristique peut être plus ou moins ssouplie suivnt les lngges. Dns l vste glie des lngges à objet Msini et l distinguent trois grndes fmilles. Ceu qui privilégient le point de vue structurel ppelés lngge de clsse : «L objet est un tpe de données, qui définit un modèle pour l structure de ses représentnts phsiques et un ensemble d opértions pplicbles à cette structure». On peut citer des lngges comme Simul, Smlllk, Ad], CLOS, C++, qui sont générlement à tpge sttique. Les lngges privilégint le point de vue conceptuel sont ppelés lngge de représenttion de connissnces (ou lngges de frme) : «L objet est une unité de connissnce, représentnt le protocole d un concept» ce sont des lngges proches de l intelligence rtificielle comme KRL. Les lngges d cteurs privilégient le point de vue cteur : «l objet est une entité utonome et ctive, qui se produit pr copie». Act. Enfin viennent les lngges hbrides u croisées des chemins précédents vec LOOPS, YAFOOL etc. A prt certins lngges de clsse, très peu ont tteint un étt industriel et un nombre suffisnt d utilisteurs pour grntir leur pérennité, souvent à cuse d une trop grnde spécilistion ou d une trop grnde lenteur d eécution (lngges interprétés). ous nous restreignons donc, dns cet perçu des lngges à objets, u lngges de clsses «généru», à tpge sttique. En lngge de clsse, on ppelle clsse et objet ce qu on ppelle tpe et vrible dns l pproche clssique. L progrmmtion orientée objet s ppuie sur qutre concepts : l Objet, l Clsse, l Héritge et le Polmorphisme. Objet : Un objet est crctérisé pr une identité, un étt et un comportement. L identité est une propriété qui distingue un objet d un utre. L étt d un objet est s mémoire, et son eécution pr des vribles qui représentent ses données. Le comportement montre l ction de l objet sous son propre contrôle ; comment ce dernier se comporte u ecittions etérieures. (Voir figure.) 3

Chpitre Progrmmtion Orientée Objet Identité Output Input Ett Output Figure. Comportement et Ett d un objet Le comportement de l objet est eécuté pr un ensemble d opértions trvillnt vec ses propres vribles. Une opértion souvent ppelée méthode est une ction que l objet eécute sous son propre contrôle. Cependnt, les méthodes et les données sont rssemblées dns l même enceinte (objet), et ils représentent l interfce qui est fourni à l etérieur (voir figure.). om de l objet Les données Les méthodes Interfce Eécution Figure. Encpsultion des données L objet communique vec un utre objet pr le biis des messges ces derniers spécifient : L destintion de l objet uquel l demnde est dressée. L sélection de l méthode à eécuter. L objet est utilisé pour diverses risons : Fcilité de compréhension et de réutilistion du code. Améliortion de l fibilité. Fcilité de compréhension. Abstrction ccrue. Encpsultion ccrue. 4

Chpitre Progrmmtion Orientée Objet Msquge mélioré des informtions. Clsse : Une clsse regroupe les objets prtgents les mêmes propriétés ; qui sont : les données et les méthodes. Elle est ussi une collection d objets indifférents de leurs étts respectifs, insi l objet est identifié comme étnt une vrible bstrite. L clsse spécifie un certin nombre d ttributs et les méthodes pouvnt opérer sur ces ttributs Figure..3. A prtir de l clsse, on instncie des objets que l on ctive pr voie des messges. Le messge ctive l ction, mis le détil de l opértion est lissé u contrôle de l objet. On prle lors d encpsultion des données et du comportement de l'étt. Element Attribut Messge Method number nodes Stiffness Mtri Give Giveode :i Figure.3 Concept de clsse Définir les objets pr l seule encpsultion revient à définir ce qu on ppelle générlement des tpes de données bstrits (DA). On introduit en plus une orgnistion entre les objets de deu mnières ssez complémentires : l composition et l clssifiction L composition eprime le fit de définir un objet en le constitunt d utres objets plus élémentires. Les ttributs d un objet peuvent donc être eu-mêmes des objets et il communiction entre composés et composnts. Pr eemple une voiture est composée d objets «roues», qui ont leur comportement propre mis qui obéissent à l voiture. L conception orientée objet (COO) de G.Booch utilise uniquement l composition. L clssifiction eprime le fit que les clsses puissent se regrouper smboliquement en clsses plus vstes et plus générles : L clsse des voitures peut être une sous-clsse de l 5