Télécharger rela_non_associee_2.dgibi
* fichier : rela_non_associee_2.dgibi *+++++++++++++++++++++++++++++++++++++++++ * * Exemple: perforated plate under traction * Several elements with MAZARS model in the middle * Testing non associated condition * -> Maximum damage zone opening incremental constraint * -> Control by assumed displacement of the right frontier. * *+++++++++++++++++++++++++++++++++++++++++ 'TITR' 'Displacement applied at the right edge'; 'FINPROC' TOT1 ; *+++++++++++++++++++++++++++++++++++++++++ * * END OF USER DEFINED PROCEDURES * *+++++++++++++++++++++++++++++++++++++++++ ** Deux choix possibles de fabrications des relations ** vrai: deformations imposees ** faux: manuelles DEFOIMP = vrai; *+++++++++++++++++++++++++++++++++++++++++ * * PARAMETRIC GEOMETRY * *+++++++++++++++++++++++++++++++++++++++++ pig = 3.141592654; R = 0.5; e = (pig/80.)*R; e1 = (pig/80.)*R; CC = 1. 0.85; DTETA = ((e/R)/pig)*180.; SINDT = SIN(DTETA); COSDT = COS(DTETA); DTETA1 = ((e1/R)/pig)*180.; SINDT1 = SIN(DTETA1); COSDT1 = COS(DTETA1); dens1 = 1./5.; dens2 = 1./8.; dens3 = 2.*R*(SINDT); dens4 = 2.*R*(SINDT1); PA = 0. 0.; PB = 2. 0.; PC = 2. 2.; PD = 0. 2.; PE = (1.-(R*SINDT)) 0.; PF = (1.+(R*SINDT)) 0.; PG = (1.+(R*SINDT1)) 2.; PH = (1.-(R*SINDT1)) 2.; PI = 2. 0.85; PL = 0. 0.85; PC1 = (1.+(R*SINDT)) (0.35+(R*(1-COSDT))); PC2 = 1.5 0.85; PC3 = (1.+(R*SINDT1)) (1.35-(R*(1-COSDT1))); PC4 = (1.-(R*SINDT1)) (1.35-(R*(1-COSDT1))); PC5 = 0.5 0.85; PC6 = (1.-(R*SINDT)) (0.35+(R*(1-COSDT))); LSW = LAE ET LC6E ET LC5C6 ET LC5L ET LLA; DAMMPART = SS ET SN; ELASPART = SSW ET SSE ET SNE ET SNW; LAT_E = LDL ET LLA; LAT_D = LIC ET LBI; ESTRUT = (DAMMPART 'ET' ELASPART); *TRAC ESTRUT; *+++++++++++++++++++++++++++++++++++++++++ * * END OF PARAMETRIC GEOMETRY * *+++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++ * * MODEL AND MATERIAL * *+++++++++++++++++++++++++++++++++++++++++ AT=1.0e0; AC=1.2e0; BC=1.5e+03; BT=1.0E4; epsd0=1.0E-4; YG=1.0E+9; BBT=1.06e0; NNU=0.0; RO =2.3E+03; MAT2 = 'MATE' MOD2 'YOUN' YG 'NU' NNU 'RHO' RO 'BTRA' BT 'KTR0' epsd0 'ATRA' AT 'ACOM' AC 'BCOM' BC 'BETA' BBT; MODTOT = MOD1 'ET' MOD2; MATTOT = MAT1 'ET' MAT2; *MODTOT = MOD2; *MATTOT = MAT2; *+++++++++++++++++++++++++++++++++++++++++ * * END OF MODEL AND MATERIAL * *+++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++ * * BOUNDARY CONDITIONS * *+++++++++++++++++++++++++++++++++++++++++ ***CL2 = 'BLOQ' 'UY' PA; ***CLT = CL1 'ET' CL2; CLT = CL1 ; ***LA = ESTRUT 'POIN' 'DROIT' PA PB 0.00001; la = lae et lef et lfb; CLT = CLT ET CL4; lb = lhd et lgh et lcg; CLT = CLT ET CL5; FO_CHA = FORCE (1 0) pc; CLT = CLT et re_ens; *+++++++++++++++++++++++++++++++++++++++++ * * END OF BOUNDARY CONDITIONS * *+++++++++++++++++++++++++++++++++++++++++ uch = force (1 0 ) pc ; * on peut construire manuellement les relations 'SI' ('NON' defoimp); chprim1 = chprim2 = chprim3 = chprim4 = 'SINON'; ** transformer le maillage en segments pour pouvoir controler la deformation de certains segments dtest = resou chdual (clt et rtest); dtest = dtest * 1.0; * construction des relations controlant la deformation de certains elements ftest = dtest * rdam * -1; ftest = dtest * rdam * -1; ftest = dtest * rdam * -1; ftest = dtest * rdam * -1; **rdam = riseg redu (dammseg elem (LECT 2 16 50 20)); **ftest = dtest * rdam * -1; **gtest1 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ') ** ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ'); **cl3 = rela gtest1 'DUAL' chdual; ** 'FINSI'; CLT = CL34 ET CL31 ET CL32 et CL33 et clt; **CLT = CLT ET CL3; *+++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++ * *SOLUTION * *+++++++++++++++++++++++++++++++++++++++++ **uch = 'DEPI' CL3 4d-6 ; **** preparing PASAPAS input table tab1=table; tab1.blocages_mecaniques=CLT ; tab1.caracteristiques=mattot ; tab1.modele=modtot; tab1.temps_calcules= lis1 ; *tab1.stabilite = faux ; *tab1.deltaiter = 40 ; tab1.precision = 1d-7; *** tab1.grands_deplacements = vrai; tab1.chargement=charg; pasapas tab1; *+++++++++++++++++++++++++++++++++++++++++ * * END OF SOLUTION * *+++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++ * * POST-PROCESSING * *+++++++++++++++++++++++++++++++++++++++++ RECHERCHE = VRAI; REPE LAB (nn - 1 ) ; ii = &LAB ; TT = tab1 . TEMPS . ii ; deplac = tab1 . 'DEPLACEMENTS' . ii ; FF = RESFORCE force_indirect LAT_E 'FX' ; rer = tab1 . 'REACTIONS' . ii ; * recherche du point ou dd et ref remonte apres le chargement initial SI ((ii > 10) ET RECHERCHE); SI ((DD > DDPR) ET (FF < FFPR)); DDCRIT = DD; FFCRIT = FF; IICRIT = II; RECHERCHE = FAUX; FINSI; FINSI; DDPR = DD; FFPR = FF; Fin LAB ; MESS 'FORCE DEPLACEMENT INDICE' ' ' DDCRIT ' ' FFCRIT ' 'IICRIT; SI (DDCRIT < 2.80000E-05); MESS 'Decharge trop importante en deplacement'; * ERREUR 5; FINSI; SI (FFCRIT > -7.10000E+03); MESS 'Decharge trop importante en force'; * ERREUR 5; FINSI; *PROETA = TAB1 . 'COEFFICIENT_DE_PILOTAGE' ; tdes = table; tdes.1 = 'MARQ LOSA'; evoc = evoc1 et evoc2 et evoc3 et evoc4; dess evoc nclk ; *+++++++++++++++++++++++++++++++++++++++++ * * END OF POST-PROCESSING * *+++++++++++++++++++++++++++++++++++++++++ fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales