Presentation Cast3M

Andrei Constantinescu Arnaud Delaplace

andrei.constantinescu@lms.polytechnique.fr delaplace@lmt.ens-cachan.fr

http://www-cast3m.cea.fr
Program élements finis Création ~ 1980 CEA Tierry Charras, Alain Millard, Pierre Verpeaux + ...

open source

langage orienté objet   ESOPE ­ compilé   GIBIANE ­ interpété ... donc très souple
● ●

gratuit recherche / perso

. messages. .. ligne.. exp. surface.  maillage: droite. finsi. paramètres: dimension éspace.. flambage.Philosophie opti paramètres .. objet = opérateur objet objet ... syme. contrôle: si. surface. log... volume.... volume nombres: flottant. pasapas. . rigi. . entier.. vibration. listes logiques: vrai..Cast3M . sinon. . objet: géometrie: maillage. faux champs: par élément: par noeud: ε. repeter.. .. .. ­ . σ u operateur:   .  algébriques. trigonométriques: +. point.. . tan  mécaniques: bloq.

U_pot = reso (K_rig et cdlu_bas et cdlu_hau) u_bas.. F_J = source mod_bar J.Z' gradU)**2) ).. J = (nomc Q (changer chpo Mod_el (exco 'T. .X' gradU)**2) ). gradU = grad Mod_el U_pot. J = J + (nomc Q (changer chpo Mod_el (exco 'T. J = J + (nomc Q (changer chpo Mod_el (exco 'T.Y' gradU)**2) ). K_rig = rigi Mod_el Mat_el.Cast3M – Exemple chauffage Joule problème éléctrique = problem thermique stationnaire Mod_el = bar mode thermique isotrope QUA4. Mat_el = matr Mod_el 'K' K_el. problème thermique avec source F_J problème mécanique .

KM1 = M/(dt*dt) et (K/4. n = 0. Fn.n + (KM2*U1) . . KM2 = M/(dt*dt) et (K/-4.n = redu V bord.Algorithme élastodynamique K = rigi mod mat.n = F1. Q = Fn.0) * 2. V = reso KM1 Q. Un = table.(KM1*U0). U0 = U1. U1 = U0. n = n + 1.0.08.0). fin boucle. Fn = table.0 UY 0. U0 = manu chpo S 2 UX 0. Un. M = mass mod mat. repeter boucle nb_temps.0. U1 = V.Cast3M . F1 = press mass mod (lmoins et lplus) 0.

trac) smxx. sxx sxy syy szz = = = = exco exco exco exco smxx smxy smyy smzz sig sig sig sig scal.) * (sxx + syy + szz). scal. exco scal (szz .trac) smyy. scal. sxx syy szz = = = exco scal (sxx . dev = sxx et syy et szz et sxy. exco scal (syy . scal.Cast3M – Programmation Procedure = fonction. finproc dev. subroutine debproc devi sig*mchaml. .trac) smzz. trac = (1/3.

..dat'. ● Save and recover mesh data (nodal coordinates and connectivities) -> see pdf document . opti donn 3. Save and recover data ● opti sauv[er] 'my_file. .Cast3M – Other commands Switching from file reading to shell ● ● opti donn 5.dat'.. . rest[ituer].. opti rest[ituer] 'my_file. sauv[er] object1 object2.

cea..dgibi pdf ps html . notices.Cast3M – Pratique ● www-cast3m.fr documents. dgibi example.. examples local repertoire d'installation ● ● installations et documentations: ... doc .

Cast3M – Pratique ● lancement sur machines Linux ● commandes en ligne (shell) % castem -m XL ...98: contient commandes exectuées .... % ● commandes en fichier (editeur normal) % castem -m XL mon_fichier.. $ fin. % ● les fichiers crées: UTILPROC.. $ fin.dgibi . UTILNOTI: contient info procédures fort..

... sauf en MOTS: 'TOTO' =!= 'toto' ● ● ● * en première caractère = commentaire pas des charactères spéciaux TAB.... . pas de différence entre majuscules ABCD..Cast3M – Pratique ● syntaxe ● ● ● 72 charactères sur ligne maximum 7 ligne consécutives chaque commande finit avec . = minuscules abcd .

Cast3M – Pratique ● syntaxe algébre ● pas de priorité des opérations algébriques a + b * c = ( a + b ) * c en non ● a + ( b * c ) mettez des paranthèses !!! .

Elasticity Example Tensile Test .

Cast3M – Exemple traction simple Deplacement imposée Deplacements bloqués par symétrie .

. p1 p2 p3 p4 = = = = 0. a4 = 0. ldom = 1..Cast3M – Exemple traction p 4 p 3 simple opti dime 2 echo 1 elem myelem. ldom ldom. r = 0. . ldom 0..4142) (r/1. p1 p 2 a2 = r 0. r.1. ldom. a3 = (r/1. 0..4142). 0.

d34 = droite nelem p3 p4. d23 = droite nelem p2 p3.002 . d41 = droite nel_bis p4 a4 dini 0. p 4 p 3 d12 = droite nel_bis a2 p2 dini 0. dom = dom1 et dom2.002 dfin 0. p1 p 2 dom1 = dall d12 d23 (inve bis) (inve arc23). trace dom.Cast3M – Exemple traction nelem = 10.15 . arc23 = cerc nelem a2 p1 a3. dom2 = dall (inve d41) (inve d34) (inve bis) arc34.15 dfin 0. arc34 = cerc nelem a3 p1 a4. .003 dfin 0. simple nel_bis = -20. bis = droite nel_bis a3 p3 dini 0.22 .

1. .Cast3M – Exemple traction mod simple = dom mode mecanique elastique isotrope. u = reso (rig et cd12 et cd41 et cd34) f34.e11 'NU' 0.3. = mod mate 'YOUN' 2. p 4 p 3 mat rig = rigi mod mat. f34 = depi cd34 0. cd41 = bloq ux d41. cd12 = bloq uy d12. p1 p 2 trace (((contour dom) coul vert) et (dom plus u)). cd34 = bloq uy d34.

Cast3M – Exemple traction p 4 p 3 simple ux = exco ux u scal. trace mod sig. sig = sigma mod mat u. uy = exco uy u scal. trace ux dom. trace (((ux*ux) + (uy*uy))**0. p1 p 2 . eps = epsi mod u.5) dom.

extract boundary nodes using poin[t] passage to 3D and shell elements opti dime 3.Cast3M – Exercices I Same geometry ● change boundary conditions: applied forces forc[e] pressure pres[sion]: constant. varying pass the compute the nodal values corresponding to the stress field using chan[ger] and plot using dess[iner] the evol[ution] on the hole boundary ● ● start from the contour and mesh the plate using surf[ace] complete the plate through symetries: syme[trie] and turns (rotation): tour[ner] eliminate double nodes: elim[iner] apply boundary conditions. ● ● .

Cast3M – Exercices II Other geometries Tube under pressure ● ● circular pipe 2D / 3D shell / 3D Tube under temperature difference ● ● circular pipe 2D / 3D shell / 3D Spatially varying material constants ● create an inclusion using coor[dinate] fields and masq[uer]. ● transform the field from nodes to Gauss points using chan[ger] .

Plasticity Example Tensile Test .

Cast3M – Example simple tensile test Imposed Displacement Encastrated Displacements .

ldom = 1.Cast3M – Example simple tensile test myelem = TRI3.. a3 = (r/1. r.1. r = 0.4142). p1 p2 p3 p4 = = = = 0. a4 = 0. ldom ldom. 0. .. ldom.4142) (r/1.. ldom 0.. 0. a2 = r 0. opti dime 2 echo 1 elem myelem.

Cast3M – Example simple tensile test nelem = 10.22 . dom2 = dall (inve d41) (inve d34) (inve bis) arc34. d12 = droite nel_bis a2 p2 dini 0.15 .003 dfin 0. dom1 = dall d12 d23 (inve bis) (inve arc23). arc23 = cerc nelem a2 p1 a3.002 dfin 0. trace dom. . bis = droite nel_bis a3 p3 dini 0. d23 = droite nelem p2 p3. nel_bis = -20. d41 = droite nel_bis p4 a4 dini 0. d34 = droite nelem p3 p4. arc34 = cerc nelem a3 p1 a4.15 dfin 0. dom = dom1 et dom2.002 .

0. .Cast3M – Example simple tensile test   mod_p mat_p = mode dom mecanique elastique isotrope plastique cinematique.e6 'H' 2. 20.3 'SIGY' 200. 1... pas 5. = mate mod_p 'YOUN' 2. dess ev_ud34.e11 'NU' 0. a_ud34 = prog 0. ev_ud34 = evol manu 'TEMPS' tt 'DIMP' a_ud34. tt = prog 0. -1.e9. ch_ud34 = char 'DIMP' ud34 ev_ud34. 0.

'BLOCAGES_MECANIQUES' = AA.Cast3M – Example simple tensile test   tabexp = table. tabexp . 'CARACTERISTIQUES' = mat_p. 'TEMPS_CALCULES' tabexp . tabexp . 'CHARGEMENT' pasapas tabexp. pas 1. = prog 0. . tabexp . tabexp . 20.. 'MODELE' = mod_p. = ch_ud34.

15 mod. list tabexp . variables_internes . 15 mod opti donn 5. tabexp . contraintes . deplacement = displacement contraintes = stress deformation = strain variable internes = internal variables deformation inelastiques = anelastic strain (example plastic) . contraintes . list tabexp . 15 mod. tabexp . deplacements .Cast3M – Example simple tensile test list tabexp. trace trace trace tabexp . deformations_inelastiques .

procedure) using debp[rocedure] and finp[rocedure] to encapsulate the preceding commands ● . then constitive law mode[le]. ecrouissage).Cast3M – Exercices Same geometry change hardening type (fr. mate[riaux] ● plot using the time – stress curve. strain – stress curve ● using evol[ution] ● extracting values at nodes or gauss points extr[aire] ● constructiong the lists with prog[rammer] and repe[ter] ● create a subroutine (fr.

Sign up to vote on this title
UsefulNot useful