Télécharger rela_non_associee_2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rela_non_associee_2.dgibi
  2. *+++++++++++++++++++++++++++++++++++++++++
  3. *
  4. * Exemple: perforated plate under traction
  5. * Several elements with MAZARS model in the middle
  6. * Testing non associated condition
  7. * -> Maximum damage zone opening incremental constraint
  8. * -> Control by assumed displacement of the right frontier.
  9. *
  10. *+++++++++++++++++++++++++++++++++++++++++
  11. 'TITR' 'Displacement applied at the right edge';
  12. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'PLAN CONTR';
  13. 'OPTI' 'TRAC' 'PSC';
  14.  
  15. 'DEBPROC' RESFORCE CH1*CHPOINT GEO*MAILLAGE COMP1*MOT ;
  16. CH2 = REDU CH1 GEO ;
  17. CHTOT = RESU CH2 ;
  18. P1 = (EXTR CHTOT MAIL) POIN 1 ;
  19. TOT1 = EXTR CHTOT COMP1 P1 ;
  20. 'FINPROC' TOT1 ;
  21.  
  22. *+++++++++++++++++++++++++++++++++++++++++
  23. *
  24. * END OF USER DEFINED PROCEDURES
  25. *
  26. *+++++++++++++++++++++++++++++++++++++++++
  27.  
  28. ** Deux choix possibles de fabrications des relations
  29. ** vrai: deformations imposees
  30. ** faux: manuelles
  31. DEFOIMP = vrai;
  32.  
  33.  
  34. *+++++++++++++++++++++++++++++++++++++++++
  35. *
  36. * PARAMETRIC GEOMETRY
  37. *
  38. *+++++++++++++++++++++++++++++++++++++++++
  39. pig = 3.141592654;
  40. R = 0.5;
  41. e = (pig/80.)*R;
  42. e1 = (pig/80.)*R;
  43. CC = 1. 0.85;
  44.  
  45. DTETA = ((e/R)/pig)*180.;
  46. SINDT = SIN(DTETA);
  47. COSDT = COS(DTETA);
  48.  
  49. DTETA1 = ((e1/R)/pig)*180.;
  50. SINDT1 = SIN(DTETA1);
  51. COSDT1 = COS(DTETA1);
  52.  
  53. dens1 = 1./5.;
  54. dens2 = 1./8.;
  55. dens3 = 2.*R*(SINDT);
  56. dens4 = 2.*R*(SINDT1);
  57.  
  58. PA = 0. 0.;
  59. PB = 2. 0.;
  60. PC = 2. 2.;
  61. PD = 0. 2.;
  62.  
  63. PE = (1.-(R*SINDT)) 0.;
  64. PF = (1.+(R*SINDT)) 0.;
  65. PG = (1.+(R*SINDT1)) 2.;
  66. PH = (1.-(R*SINDT1)) 2.;
  67.  
  68. PI = 2. 0.85;
  69. PL = 0. 0.85;
  70.  
  71. PC1 = (1.+(R*SINDT)) (0.35+(R*(1-COSDT)));
  72. PC2 = 1.5 0.85;
  73. PC3 = (1.+(R*SINDT1)) (1.35-(R*(1-COSDT1)));
  74. PC4 = (1.-(R*SINDT1)) (1.35-(R*(1-COSDT1)));
  75. PC5 = 0.5 0.85;
  76. PC6 = (1.-(R*SINDT)) (0.35+(R*(1-COSDT)));
  77.  
  78. LAE = DROI PA PE 'DINI' dens1 'DFIN' dens3;
  79. LC6E = DROI PE PC6 'DINI' dens3 'DFIN' dens3;
  80. LC5C6 = CERC PC6 CC PC5 'DINI' dens3 'DFIN' dens2;
  81. LC5L = DROI PC5 PL 'DINI' dens2 'DFIN' dens1;
  82. LLA = DROI PL PA 'DINI' dens1 'DFIN' dens1;
  83. LSW = LAE ET LC6E ET LC5C6 ET LC5L ET LLA;
  84. SSW = SURF LSW;
  85.  
  86. LEF = DROI 1 PE PF;
  87. LC1F = DROI PF PC1 'DINI' dens3 'DFIN' dens3;
  88. LC6C1 = CERC PC1 CC PC6 'DINI' dens3 'DFIN' dens3;
  89. LS = LEF ET LC1F ET LC6C1 ET (INVE LC6E);
  90. SS = SURF LS;
  91.  
  92. LFB = DROI PF PB 'DINI' dens3 'DFIN' dens1;
  93. LBI = DROI PB PI 'DINI' dens1 'DFIN' dens1;
  94. LC2I = DROI PI PC2 'DINI' dens1 'DFIN' dens2;
  95. LC2C1 = CERC PC2 CC PC1 'DINI' dens2 'DFIN' dens3;
  96. LSE = LFB ET LBI ET LC2I ET LC2C1 ET (INVE LC1F);
  97. SSE = SURF LSE;
  98.  
  99. LIC = DROI PI PC 'DINI' dens1 'DFIN' dens1;
  100. LCG = DROI PC PG 'DINI' dens1 'DFIN' dens4;
  101. LGC3 = DROI PG PC3 'DINI' dens4 'DFIN' dens4;
  102. LC3C2 = CERC PC3 CC PC2 'DINI' dens4 'DFIN' dens2;
  103. LNE = (INVE LC2I) ET LIC ET LCG ET LGC3 ET LC3C2;
  104. SNE = SURF LNE;
  105.  
  106. LC3C4 = CERC PC3 CC PC4 'DINI' dens4 'DFIN' dens4;
  107. LGH = DROI 1 PG PH;
  108. LHC4 = DROI PH PC4 'DINI' dens4 'DFIN' dens4;
  109. LN = LC3C4 ET (INVE LGC3) ET LGH ET LHC4;
  110. SN = SURF LN;
  111.  
  112. LC4C5 = CERC PC5 CC PC4 'DINI' dens2 'DFIN' dens4;
  113. LHD = DROI PH PD 'DINI' dens4 'DFIN' dens1;
  114. LDL = DROI PD PL 'DINI' dens1 'DFIN' dens1;
  115. LNW = (INVE LC5L) ET LC4C5 ET (INVE LHC4) ET LHD ET LDL;
  116. SNW = SURF LNW;
  117.  
  118. DAMMPART = SS ET SN;
  119. ELASPART = SSW ET SSE ET SNE ET SNW;
  120.  
  121. LAT_E = LDL ET LLA;
  122. LAT_D = LIC ET LBI;
  123.  
  124. ESTRUT = (DAMMPART 'ET' ELASPART);
  125. *TRAC ESTRUT;
  126. *+++++++++++++++++++++++++++++++++++++++++
  127. *
  128. * END OF PARAMETRIC GEOMETRY
  129. *
  130. *+++++++++++++++++++++++++++++++++++++++++
  131.  
  132. *+++++++++++++++++++++++++++++++++++++++++
  133. *
  134. * MODEL AND MATERIAL
  135. *
  136. *+++++++++++++++++++++++++++++++++++++++++
  137. AT=1.0e0;
  138. AC=1.2e0;
  139. BC=1.5e+03;
  140. BT=1.0E4;
  141. epsd0=1.0E-4;
  142. YG=1.0E+9;
  143. BBT=1.06e0;
  144. NNU=0.0;
  145. RO =2.3E+03;
  146.  
  147. MOD1 = 'MODE' ELASPART 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  148. MAT1 = 'MATE' MOD1 'YOUN' YG 'NU' NNU 'RHO' RO;
  149.  
  150. MOD2 = 'MODE' ( DAMMPART) 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'ENDOMMAGEMENT' 'MAZARS';
  151. MAT2 = 'MATE' MOD2 'YOUN' YG 'NU' NNU 'RHO' RO 'BTRA' BT 'KTR0' epsd0 'ATRA' AT 'ACOM' AC 'BCOM' BC 'BETA' BBT;
  152.  
  153. MODTOT = MOD1 'ET' MOD2;
  154. MATTOT = MAT1 'ET' MAT2;
  155. *MODTOT = MOD2;
  156. *MATTOT = MAT2;
  157.  
  158. *+++++++++++++++++++++++++++++++++++++++++
  159. *
  160. * END OF MODEL AND MATERIAL
  161. *
  162. *+++++++++++++++++++++++++++++++++++++++++
  163.  
  164. *+++++++++++++++++++++++++++++++++++++++++
  165. *
  166. * BOUNDARY CONDITIONS
  167. *
  168. *+++++++++++++++++++++++++++++++++++++++++
  169. CL1 = 'BLOQ' 'UX' LAT_E;
  170. ***CL2 = 'BLOQ' 'UY' PA;
  171. ***CLT = CL1 'ET' CL2;
  172. CLT = CL1 ;
  173.  
  174. ***LA = ESTRUT 'POIN' 'DROIT' PA PB 0.00001;
  175. la = lae et lef et lfb;
  176. CL4 = 'BLOQ' 'UY' LA;
  177. CLT = CLT ET CL4;
  178. lb = lhd et lgh et lcg;
  179. CL5 = rela ense lb 'UY';
  180. CLT = CLT ET CL5;
  181. FO_CHA = FORCE (1 0) pc;
  182.  
  183. re_ens = rela ense LAT_d 'UX';
  184. CLT = CLT et re_ens;
  185.  
  186.  
  187. *+++++++++++++++++++++++++++++++++++++++++
  188. *
  189. * END OF BOUNDARY CONDITIONS
  190. *
  191. *+++++++++++++++++++++++++++++++++++++++++
  192.  
  193. uch = force (1 0 ) pc ;
  194. chdual = (uch exco 'FX' 'FX') * -1;
  195.  
  196. * on peut construire manuellement les relations
  197.  
  198. 'SI' ('NON' defoimp);
  199.  
  200. chprim1 =
  201. (manu chpo pc4 1 'UX' -1) + (manu chpo pc3 1 'UX' 1);
  202. chprim2 =
  203. (manu chpo ph 1 'UX' -1) + (manu chpo pg 1 'UX' 1);
  204. chprim3 =
  205. (manu chpo pc6 1 'UX' -1) + (manu chpo pc1 1 'UX' 1);
  206. chprim4 =
  207. (manu chpo pe 1 'UX' -1) + (manu chpo pf 1 'UX' 1);
  208.  
  209. chdual = (uch exco 'FX' 'FX') * -1;
  210. CL31 = RELA maxi CHPRIM1 'DUAL' chdual;
  211. CL32 = RELA maxi CHPRIM2 'DUAL' chdual;
  212. CL33 = RELA maxi CHPRIM3 'DUAL' chdual;
  213. CL34 = RELA maxi CHPRIM4 'DUAL' chdual;
  214.  
  215. 'SINON';
  216.  
  217. ** transformer le maillage en segments pour pouvoir controler la deformation de certains segments
  218. dammseg = dammpart chan ligne;
  219. MODseg = 'MODE' dammseg 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'BARR';
  220. MATseg = 'MATE' modseg 'YOUN' YG 'NU' NNU 'RHO' RO sect 1;
  221. RISEG = RIGI MODSEG MATSEG;
  222.  
  223. rtest = rigi mattot modtot;
  224. dtest = resou chdual (clt et rtest);
  225. dtest = dtest * 1.0;
  226.  
  227. * construction des relations controlant la deformation de certains elements
  228.  
  229. rdam = riseg redu (dammseg elem 2);
  230. ftest = dtest * rdam * -1;
  231. gtest1 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ')
  232. ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ');
  233. cl31 = rela maxi gtest1 'DUAL' chdual;
  234. rdam = riseg redu (dammseg elem 16 );
  235. ftest = dtest * rdam * -1;
  236. gtest2 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ')
  237. ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ');
  238. cl32 = rela maxi gtest2 'DUAL' chdual;
  239. rdam = riseg redu (dammseg elem 50);
  240. ftest = dtest * rdam * -1;
  241. gtest3 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ')
  242. ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ');
  243. cl33 = rela maxi gtest3 'DUAL' chdual;
  244. rdam = riseg redu (dammseg elem 20);
  245. ftest = dtest * rdam * -1;
  246. gtest4 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ')
  247. ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ');
  248. cl34 = rela maxi gtest4 'DUAL' chdual;
  249.  
  250. **rdam = riseg redu (dammseg elem (LECT 2 16 50 20));
  251. **ftest = dtest * rdam * -1;
  252. **gtest1 = ftest chan 'COMP' ('MOTS' 'FX' 'FY' 'FZ' 'FR' 'MX' 'MY' 'MZ')
  253. ** ('MOTS' 'UX' 'UY' 'UZ' 'UR' 'RX' 'RY' 'RZ');
  254. **cl3 = rela gtest1 'DUAL' chdual;
  255. **
  256.  
  257. 'FINSI';
  258.  
  259. ppil1 = cl31 extr maillage mult;
  260. ppil2 = cl32 extr maillage mult;
  261. ppil3 = cl33 extr maillage mult;
  262. ppil4 = cl34 extr maillage mult;
  263.  
  264. CLT = CL34 ET CL31 ET CL32 et CL33 et clt;
  265. **CLT = CLT ET CL3;
  266.  
  267. *+++++++++++++++++++++++++++++++++++++++++
  268.  
  269. *+++++++++++++++++++++++++++++++++++++++++
  270. *
  271. *SOLUTION
  272. *
  273. *+++++++++++++++++++++++++++++++++++++++++
  274. uch = ('DEPI' CL31 2.2d-6 ) et (depi cl32 2.2d-6 ) et
  275. ('DEPI' CL33 2.2d-6 ) et (depi cl34 2.2d-6 );
  276. lis1 = prog 0. pas 5e-6 6e-4;
  277. **uch = 'DEPI' CL3 4d-6 ;
  278. EV1 = evol manu 't' lis1 'tau' lis1 ;
  279. EV2 = evol manu (prog 0 1) (prog 1 1);
  280. charg= (char DINC uch ev2)
  281. et (char forc (fo_cha *1d5) ev2) ;
  282.  
  283.  
  284. **** preparing PASAPAS input table
  285. tab1=table;
  286. tab1.blocages_mecaniques=CLT ;
  287. tab1.caracteristiques=mattot ;
  288. tab1.modele=modtot;
  289. tab1.temps_calcules= lis1 ;
  290. *tab1.stabilite = faux ;
  291. *tab1.deltaiter = 40 ;
  292. tab1.precision = 1d-7;
  293. *** tab1.grands_deplacements = vrai;
  294. tab1.chargement=charg;
  295.  
  296. pasapas tab1;
  297. *+++++++++++++++++++++++++++++++++++++++++
  298. *
  299. * END OF SOLUTION
  300. *
  301. *+++++++++++++++++++++++++++++++++++++++++
  302.  
  303. *+++++++++++++++++++++++++++++++++++++++++
  304. *
  305. * POST-PROCESSING
  306. *
  307. *+++++++++++++++++++++++++++++++++++++++++
  308. nn = DIME tab1 . temps;
  309.  
  310. PROF = PROG 0.;
  311. PROT = PROG 0.;
  312. PROD = PROG 0.;
  313. PROC = PROG 0.;
  314. PROC1 = PROG 0.;
  315. PROC2 = PROG 0.;
  316. PROC3 = PROG 0.;
  317. PROC4 = PROG 0.;
  318.  
  319. RECHERCHE = VRAI;
  320. REPE LAB (nn - 1 ) ;
  321. ii = &LAB ;
  322. TT = tab1 . TEMPS . ii ;
  323. deplac = tab1 . 'DEPLACEMENTS' . ii ;
  324. force_indirect = 'REAC' CL1 deplac ;
  325. FF = RESFORCE force_indirect LAT_E 'FX' ;
  326. rer = tab1 . 'REACTIONS' . ii ;
  327. DD = 'EXTR' deplac 'UX' PB ;
  328. ref= 'EXTR' rer 'FX' PB ;
  329.  
  330. * recherche du point ou dd et ref remonte apres le chargement initial
  331. SI ((ii > 10) ET RECHERCHE);
  332. SI ((DD > DDPR) ET (FF < FFPR));
  333. DDCRIT = DD;
  334. FFCRIT = FF;
  335. IICRIT = II;
  336. RECHERCHE = FAUX;
  337. FINSI;
  338. FINSI;
  339. DDPR = DD;
  340. FFPR = FF;
  341.  
  342.  
  343. PROT = PROT et ( PROG TT) ;
  344. PROF = PROF et ( PROG (-1.0*FF)) ;
  345. PROD = PROD et ( PROG DD) ;
  346. PROC1= PROC1 ET (deplac extrai vale ppil1 'LX');
  347. PROC2= PROC2 ET (deplac extrai vale ppil2 'LX');
  348. PROC3= PROC3 ET (deplac extrai vale ppil3 'LX');
  349. PROC4= PROC4 ET (deplac extrai vale ppil4 'LX');
  350. PROC = PROC ET (prog ref);
  351. Fin LAB ;
  352. MESS 'FORCE DEPLACEMENT INDICE' ' ' DDCRIT ' ' FFCRIT ' 'IICRIT;
  353. SI (DDCRIT < 2.80000E-05);
  354. MESS 'Decharge trop importante en deplacement';
  355. * ERREUR 5;
  356. FINSI;
  357. SI (FFCRIT > -7.10000E+03);
  358. MESS 'Decharge trop importante en force';
  359. * ERREUR 5;
  360. FINSI;
  361.  
  362.  
  363.  
  364.  
  365.  
  366. *PROETA = TAB1 . 'COEFFICIENT_DE_PILOTAGE' ;
  367. tdes = table; tdes.1 = 'MARQ LOSA';
  368. evo11 = evol turq manu 'd' PROD 'f' PROF ; dess evo11 tdes nclk ;
  369. evo12 = evol jaun manu 't' PROT 'eta' PROC ; dess evo12 nclk ;
  370. evoc1 = evol jaun manu 't' PROT 'eta' PROC1 ;
  371. evoc2 = evol roug manu 't' PROT 'eta' PROC2 ;
  372. evoc3 = evol bleu manu 't' PROT 'eta' PROC3 ;
  373. evoc4 = evol vert manu 't' PROT 'eta' PROC4 ;
  374.  
  375. evoc = evoc1 et evoc2 et evoc3 et evoc4;
  376. dess evoc nclk ;
  377.  
  378. *+++++++++++++++++++++++++++++++++++++++++
  379. *
  380. * END OF POST-PROCESSING
  381. *
  382. *+++++++++++++++++++++++++++++++++++++++++
  383. fin;
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales