* fichier : hotan.dgibi *Option de calcul OPTI 'DIME' 2 ELEM TRI3 MODE PLAN DEFO; *OPTI TRAC OPEN; OPTI 'SAUV' 'FORMAT' 'XDR' SAVING; OPTI SORT 'RES' ; ** Parametres geometriques L1 = 1. ; R1 = 0.15 ; ** Maillage *DENmail0 = R1 / 15. ; *DENS2 = L1 / 15. ; P0 = 0. 0. ; P1 = R1 0. ; P2 = L1 0. ; P3 = L1 L1 ; P4 = 0. L1 ; P5 = 0. R1 ; CER = CERC 15 P5 P0 P1 ; L1 = DROI 20 P1 P2 ; L2 = DROI 20 P2 P3 ; L3 = DROI 20 P3 P4 ; L4 = DROI 20 P4 P5 ; C1 = CER ET L1 ET L2 ET L3 ET L4; mail0 = SURF PLAN C1; *Tracer le maillage *TRAC mail0; *Nombre de noeuds et d'éléments nbno0 = nbno mail0 ; mess 'Nombre de noeuds :' nbno0 ; nbel0 = nbel mail0 ; mess 'Nombre d éléments :' nbel0 ; ** Modèle élasto-plastique Von Mises à l'écrouissage isotrope * Courbe de traction à déclarer. Limite d'élasticité 237 MPa x = prog 0. 0.00112860 0.024 0.031 0.039 0.047 0.054 0.062 0.070 0.077 0.086 0.095 0.104 0.112 ; *0.00112860 y = prog 0. 237. 266. 282. 296. 308. 318. 327. 335. 342. 350. 355. 360. 364.; *opti donn 5 ; * Courbe d'ecrouissage : a priori, le 1er point donne Sy epsy1 = extr x 2 ; lep = (x enle 1) - epsy1 ; lsig1 = y enle 1 ; x = lep ; y = lsig1 ; *Conversion de l'unité de contraintes (MPa) y = y * 1.E6; *Créer et tracer la courbe de traction xy = evol roug manu x y ; *dess xy titx 'Déformation' tity 'Contrainte [MPa]' ; mod0 = MODELE mail0 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'ISOTROPE'; mat0 = MATE mod0 'YOUN' 210E9 'NU' 0.30 'ECRO' xy; *Modèle J2 pour contourner la déclaration d'une courbe de traction *mod0 = MODELE mail0 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'J2'; *mat0 = MATE mod0 'YOUN' 210E9 'NU' 0.30 'SIG0' 250E6 'KISO' 21E9 'SIGI' 400E6 'VELO' 0; *mod0 = MODELE mail0 MECANIQUE 'ELASTIQUE' 'NON_LINEAIRE' 'EQUIPLAS'; ce truc est pour l'élasticité non linéaire ** Conditions aux limites CLB = BLOQ L1 'UY'; CLG = BLOQ L4 'UX'; CL = CLB ET CLG; ** Chargement évolutive *On se donne une sollicitation pendant 10s. Une charge/décharge qui monte linéairement *jusqu'à 250MPa et puis descend à 0. timestep = 0.5; time1 = PROG 0.0 PAS timestep 5.0 ; time2 = PROG 5.0 PAS timestep 10.0 ; time = PROG 0.0 PAS timestep 10.0; Pext1 = prog 'LINE' 'A' 45E6 'B' 0 time1; Pext2 = prog 'LINE' 'A' -45E6 'B' 450E6 time2; ev1 = evol manu 'Temps' time1 'Pression' Pext1; ev2 = evol manu 'Temps' time2 'Pression' Pext2; *dess ev1; *dess ev2; ev = CONCAT ev1 ev2; *dess ev; PRES1 = PRES 'MASS' mod0 -1.0 L2; Charge1 = CHAR MECA PRES1 ev; Vec = VECT PRES1 'FORC'; *TRAC Vec mail0; RIG1 = RIGI mod0 mat0; RIG1 = RIG1 ET CL; * Initialisation de la table de calcul SAVING_TBL = TABLE ; SAVING_TBL . 'DEFIN' = VRAI; SAVING_TBL . 'DEFTO' = VRAI; SAVING_TBL . 'DEFLO' = FAUX; SAVING_TBL . 'ROTAF' = FAUX; tab1 = TABLE ; tab1.BLOCAGES_MECANIQUES = CL ; tab1.MODELE = mod0 ; tab1.RIGI=RIG1; tab1.CARACTERISTIQUES = mat0 ; tab1.CHARGEMENT = Charge1 ; tab1.TEMPS_CALCULES = time ; tab1.TEMPS_SAUVES = time; tab1.TEMPS_SAUVEGARDES = time; tab1.MES_SAUVEGARDES=SAVING_TBL; *tab1.K_TANGENT = VRAI; *tab1.K_TANGENT_SYME = VRAI; ** Calcul PASAPAS tab1; ** Post-traitement (juste pour tester) dd1 = tab1 . DEPLACEMENTS ; * td1 = dd1 . 0 ; td2 = dd1 . 9 ; td3 = dd1 . 20 ; * Def0 = DEFO mail0 td1 100. BLANC ; Def1 = DEFO mail0 td2 100. ROUGE; def2 = DEFO mail0 td3 100. BLEU ; TITRE 'Déformée Blanc = ini , Rouge = milieu , Bleu = fin ' ; *TRAC ( Def0 ET Def1 ET Def2 ) QUAL ; *Export des résultats vers un fichier inp. Pasmabou = 1 ; REPETER mabou 20 ; SIG_G = tab1 . CONTRAINTES . Pasmabou ; EPS_G = tab1 . DEFORMATIONS . Pasmabou; EPSP_G = tab1 . VARIABLES_INTERNES . Pasmabou; *vmis1 = VMIS mod0 SIG_G ; SIGXX = EXCO SIG_G SMXX; SIGYY = EXCO SIG_G SMYY; SIGXY = EXCO SIG_G SMXY; EPSXX = EXCO EPS_G EPXX; EPSXY = EXCO EPS_G EPYY; GAMXY = EXCO EPS_G GAXY; *EPSXY = GAMXY/2; MAT_TAN = HOTA mod0 SIG_G EPSP_G mat0; SORT 'AVS' mail0 SIGXX 'SUIT' 'TEMP' Pasmabou; SORT 'AVS' mail0 SIGYY 'SUIT' 'TEMP' Pasmabou; SORT 'AVS' mail0 SIGXY 'SUIT' 'TEMP' Pasmabou; Pasmabou = Pasmabou + 1 ; FIN mabou; FIN;