codes matlab

Upload: bessembhiri

Post on 12-Jul-2015

129 views

Category:

Documents


0 download

TRANSCRIPT

ANNEXE B

Liste et description des codesB.1 Informations g n rales sur lutilisation des codes e e

Les codes M ATLAB utilis s dans le cours ont une nalit exclusivement p dagogique. e e e Il privil gient la simplicit , ne sont en g n ral pas optimis s et sont tr` s rudimentaires en e e e e e e comparaison avec les codes utilis s en milieu industriel. e Les chiers principaux des codes sont rassembl s dans le r pertoire matlab, tandis que e e les fonctions appel es de facon interne par ces codes sont partag es en sous-r pertoires : e e e B2, T3, T6 contiennent les fonctions el mentaires pour les trois diff rents types d l e e ee ments mis en uvre ; all-elements contient les fonctions de calcul communes a tous les types d l ments ` ee (par exemple le fonction de correction locale en plasticit ) ; e utility contient les fonctions utilitaires (lecture, post-traitement), qui ne sont pas dint r t primordial pour le cours et ne sont comment que tr` s rapidement. ee e e input contient les chiers de donn es correspondant a certains exemples, ce qui pere ` met de lancer les analyses correspondantes. Le lecteur peut facilement, a laide du ` mailleur GMSH, enrichir cette biblioth` que danalyses possibles ; e temp sert pour sauver les r sultats de certaines analyses. e Pour lancer un code il suft de taper son nom sur la ligne de commande M ATLAB. Pour permettre a M ATLAB de trouver les fonctions n cessaires aux diff rents codes il faut ajouter ` e e au chemin (path) les sous-r pertoires de la liste la premi` re fois quon les utilise. e e Les codes linel T, linel T fast et plast T sont assez g n raux et admettent un e e chier de donn es quelconque pr par en accord avec les conventions de lannexe C. Les autres e e e codes, par contre, sont d velopp s pour traiter certains exemples sp ciques. Les modicae e e tions n cessaires pour les adapter a dautres situations voisines sont souvent imm diates, et e ` e sont conseill es comme exercice dans les chapitres. e Pour faciliter linteraction avec lutilisateur, des interfaces simples ont et ajout es. Les e e instructions qui y font appel sont toujours mises en evidence et s par es du reste, par exemple : e e%-------------------------------------------------------------------------[figmess,t1,t2]=createfigmess(); set(t1,string,Pre phase); %--------------------------------------------------------------------------

En particulier, les codes 2D lancent, a la n de chaque analyse, un post-traitement graphique. ` La compr hension de ces parties na evidemment pas dimportance primaire pour le cours et e on la laisse comme exercice pour le lecteur motiv . On signale que la fonction interface e 245

246

Annexe B. Liste et description des codes

g` re la fen tre graphique avec les diff rentes options, tandis que post soccupe effectivement e e e du post-traitement des r sultats de calcul. Loutil essentiel utilis dans ces fonctions est la e e fonction patch de M ATLAB, tr` s puissante, qui permet par exemple de tracer le maillage, ou e les cartes des d placements et des contraintes. e

B.2

Liste et description des codes

B.2.1 Code sphere linel B2SLe code sphere linel B2S analyse une sph` re creuse en elasticit lin aire assujettie a e e e ` une pression impos e en face interne et un d placement radial impos en face externe. Il est e e e d crit en d tail au Chapitre 1. Le probl` me est ramen , en vertu de la sym trie sph rique, a e e e e e e ` un probl` me 1D que lon r sout a laide de l l ment lin aire a deux nuds sph rique e e ` ee e ` e B2S. Le code effectue une comparaison avec la solution exacte de ce probl` me. e Tous les param` tres de lanalyse sont d nis dans le chier sphere linel B2S. Le code e e appelle les fonctions stiff linel B2S ( valuation de la matrice de rigidit el mentaire) et e ee stress linel B2S ( valuation de la contrainte radiale au milieu de chaque el ment). e e

B.2.2 Codes linel T et linel T fastIl sagit de deux versions diff rentes du m me code pour analyses planes en elasticit e e e lin aire avec el ments triangulaires lin aires T3 o` quadratiques T6. Le code et les el ments e e e u e sont expliqu s en d tail dans les chapitres 2 et 3. Ils diff` rent par la proc dure dasseme e e e blage : le code fast privil` ge la vitesse et effectue lassemblage des matrices en stockage e Morse a trois vecteurs. Par exemple, en utilisant cette version, une analyse avec environ 2 10 5 ` el ments T3 prend moins de 5 minutes sur une machine Windows avec processeur Xeon e 3.2GHz et 2Gb m moire vive. La limite sup rieure du nombre d l ments d pends essentiele e ee e lement de la plateforme utilis e (m moire vive disponible, param` tres du syst` me) et nest e e e e pas impos e a priori. Le symbole # prenant les valeurs 3 ou 6 selon le type d l ment utilis , e ee e les fonctions utilis es sont read input (lecture des chiers de donn es), stiff linel T# e e (cr ation de la matrice de rigidit el mentaire), nf tractions T# ( valuation des forces noe ee e dales el mentaires dues aux efforts de surface appliqu es), stressG linel T# (calcul des e e contraintes aux points de Gauss pour T3 les contraintes sont donc constantes sur chaque el ment) et G2N T# (extrapolation des contraintes aux nuds). e

B.2.3 Codes pre fract T et post fract TLes codes pre fract T et post fract T effectuent des pr - et post-traitements pour e les applications en m canique de la rupture lin aire du chapitre 4. Il ont et d velopp s e e e e e pour lexemple sp cique de lanalyse dune plaque rectangulaire ssur e, an d valuer e e e num riquement les facteurs dintensit des contraintes KI . Ils doivent etre utilis s avec le e e e code d lasticit (la version rapide linel T fast est conseill e dans ce cas) et les chiers e e e de donn es fract ros.* e

B.2. Liste et description des codes

247

Le post-traitement utilise le champ de d placement estim par linel T fast pour exe e trapoler KI , soit de mani` re directe a partir du saut de d placement sur la ssure, soit e ` e en utilisant une technique energ tique. Cette derni` re option est d velopp e compl` tement e e e e e pour les seuls el ments triangulaires lin aires T3, pour lesquels la fonction el mentaire utie e e lis e est gtheta T3. Dans le cas des el ments quadratiques T6 on a la possibilit dintroe e e duire des el ments sp ciaux autour de la pointe de ssure de droite gr ce au pre-processeur e e a pre fract T, a lancer dans les codes d lasticit avant deffectuer la proc dure dassemblage ` e e e a lendroit indiqu dans linel T fast. ` e

B.2.4 Code beam ldisp T3Le code beam ldisp T3 effectue lanalyse du ambage de la poutre doublement encastr e trait e en n de chapitre 5. Il sagit dun probl` me en grands d placements (donc none e e e lin aire) r solu a laide dune proc dure de Newton-Raphson. La mise en uvre est limit e e ` e e aux el ments lin aires T3. La structure du code est g n rale, mais certains d tails (comme e e e e e l valuation de la force de compression) sont sp ciques a la structure consid r e. Dautres e e ` ee congurations demandent des modications minimales qui sont laiss es comme exercice. Le e nouvelles fonctions d velopp es pour ce code sont : stiff Ldisp T3 ( valuation de la mae e e trice de rigidit dun el ment et la contribution de l nergie elastique au second membre), e e e stressN Ldisp T3 (calcul des contraintes dans les el ments extrapol es aux nuds) et e e force Ldisp T3 (estimation de la contribution el mentaire a la force de compression). e `

B.2.5 Code strip plastLe code strip plast, analys au chapitre 6, sert comme exemple dintroduction au e code plast T pr sent au chapitre suivant. Il traite le probl` me dune barre rectangulaire en e e e d formations planes avec d placements normaux impos s aux extr mit s droite et gauche, et e e e e e autrement libre defforts de surface et de volume, pour laquelle l tat de d formation et de e e contrainte est homog` ne. Lalgorithme de retour radial est mis en uvre (dans la fonction e RR VonMises) et est combin , de mani` re it rative, a une imposition simple de l quilibre. e e e ` e Le code effectue une comparaison avec la solution exacte de ce probl` me. e

B.2.6 Code plast TLe code plast T, comment en d tail au chapitre 7, analyse des probl` mes de plastie e e cit en d formations planes en utilisant la loi de comportement de von Mises avec r` gle de e e e normalit et ecrouissage isotrope lin aire. Il est bas sur la matrice tangente coh rente . e e e e Il accepte en entr e un chier quelconque r dig selon les conventions de lannexe C, et e e e fonctionne avec un maillage d l ments lin aires T3 ou quadratiques T6. ee e Le code se base sur la structure de linel T adapt e a la plasticit , et est donc restreint e ` e a des probl` mes de taille mod r e, lassemblage etant non optimis (comme pour le code ` e ee e elastique linel T). La mise en uvre de lassemblage explicite et rapide (suivant le mod` le e de linel T fast) est laiss e en exercice au lecteur. Le code plast T utilise la fonction e

248

Annexe B. Liste et description des codes

lcorr T# ( valuation de la contribution dun el ment a la matrice de rigidit tangente et au e e ` e vecteur r sidu), laquelle appelle la fonction RR VonMisesTM (correction locale en un point e de Gauss et construction de la matrice de rigidit tangente locale). e

B.2.7 Code sphere diff B2SLa r solution num rique dun probl` me de diffusion de la chaleur, analys e dans le chae e e e pitre 8, est appliqu e a lexemple dune sph` re initialement a temp rature uniforme nulle et e ` e ` e soumise sur sa surface a une temp rature donn e constante T 0 . Le code sphere diff B2S ` e e traite ce probl` me sous sa forme 1D obtenue par utilisation de la sym trie sph rique. Deux e e e options dint gration (explicite ou implicite) sont propos es, choisies par lutilisateur au e e moyen du param` tre implicit dans le chier de donn es. Lint gration explicite repose e e e sur une matrice de masse condens e, tandis que lint gration implicite emploie la matrice e e de masse non modi e. Le trois fonctions principales utilis e sont caplump B2S (matrice e e de masse el mentaire condens e), cap B2S (matrice de masse el mentaire non condens e) e e e e et cond B2S (matrice de conductivit el mentaire). Dans sa version explicite, le code peree met l valuation a priori du pas de temps critique, que lon compare avec lexp rimentation e e num rique. Enn, le code effectue une comparaison avec la solution exacte de ce probl` me. e e

B.2.8 Code bar dyn B2Le chapitre 9 utilise lexemple classique de la propagation dondes de compression dans une barre cylindrique (daxe Ox) au repos initial, encastr e a son extr mit gauche x = 0 et e ` e e soumise a son extr mit droite x = L a une force de traction constante P appliqu e a partir de ` e e ` e ` linstant initial. Le probl` me se pr te ici encore a une solution 1D, propos e dans dyn bar B2 e e ` e au moyen d l ments de barre a deux nuds. Le code met en uvre lalgorithme de Newee ` mark, lutilisateur pouvant choisir librement les param` tres , an dappr cier la stabilit e e e de lalgorithme. Le code dyn bar B2 appelle les fonctions mass B2 (calcul des matrices de masse el mentaires) et blinel stiff B2 (calcul des matrices de rigidit el mentaires). e ee

B.2.9 Code tire contact T3Le code tire contact T3 est associ a lanalyse, propos e dans la derni` re partie du e` e e chapitre 9, dun pneu qui tombe, par leffet de sa pesanteur, sur une surface rigide horizontale. La dynamique (m thode des diff rences centr es) et le contact (m thode de p nalisation) sont e e e e e trait s de mani` re explicite, ce qui simplie la mise en uvre et facilite la convergence du e e probl` me non lin aire. Il sagit, encore plus que pour les autres situations rencontr es, dun e e e code jouet , propos dans le seul but douvrir la m thode des el ments nis vers des e e e probl` mes plus complexes (et r els) que ceux pr sent s dans le cours. La mise en uvre est e e e e propos e pour cet exemple sp cique mais peut, avec des modications limit es, etre adapt e e e e e a dautres applications. `

B.3. Comment obtenir les codes

249

B.3

Comment obtenir les codes

Les codes pr sent s dans cet ouvrage et r capitul s dans cette annexe sont librement e e e e t l chargeables et modiables. Au moment de l dition de cet ouvrage, ils sont propos s au ee e e t l chargement sur les sites Internet suivants : ee Editions de lEcole Polytechnique : http://www.editions.polytechnique.fr/. Chercher le catalogue, puis la che de pr sentation de louvrage, a partir de laquelle e ` les codes seront accessibles via un lien. Page personnelle de M. Bonnet, rubrique enseignement : http://www.lms.polytechnique.fr/users/bonnet/enseignement.html Page personnelle de A. Frangi : http://www.stru.polimi.it/home/frangi/personale.html Il est, comme souvent dans ce domaine, difcile de garantir la p rennit de ces adresses e e Internet. Les lecteurs sont encourag s a entrer en contact avec les auteurs 1 sils rencontrent e ` des difcult s pour obtenir ces codes. e Ces codes sont distribu s en l tat. Les auteurs d gagent toute responsabilit quant a e e e e ` lutilisation, quelle quelle soit, de r sultats produits au moyen de ces codes, et ne sengagent e pas a fournir une assistance. ` Enn, rappelons que le mailleur gmsh, utilis pour certains exemples et dont une version e est fournie avec les codes M ATLAB ecrits pour cet ouvrage, est un logiciel libre d velopp e e ind pendamment des auteurs. Le lecteur int ress par des d tails (ou par la derni` re version e e e e e du logiciel) est renvoy au site de gmsh (actuellement http://www.geuz.org/gmsh/). e

1 [email protected],

[email protected]