Télécharger critloc.procedur

Retour à la liste

Numérotation des lignes :

  1. * CRITLOC PROCEDUR CB215821 23/12/07 21:15:03 11805
  2. 'DEBPROC' CRITLOC ETAB*'TABLE';
  3. *----------------------------------------------------------------------
  4. * CRITERES LOCAUX POUR LA MECANIQUE DE LA RUPTURE
  5. * POUR LES ELEMENTS MASSIFS UNIQUEMENT
  6. *
  7. * ENTREES
  8. * ETAB.'TNONL' = TABLE RESULTAT DU CALCUL NONLINEAIRE
  9. * ETAB.'OBJMO' = OBJET MODEL CORRESPONDANT A LA ZONE GEOMETRIQUE E
  10. * OU L'ON VEUT APPLIQUER LE CRITERE
  11. * ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE
  12. * ETAB.'RICE' = VRAI
  13. * ETAB.'EPSILON' = VRAI SI DECOHESION CONTROLEE PAR LA DEFORMATION
  14. * ETAB.'SIGMA' = VRAI SI DECOHESION CONTROLEE PAR LA CONTRAINTE
  15. * + DONNEES DES PARAMETRES DU CRITERE
  16. * SI DECOHESION CONTROLEE PAR LA DEFORMATION
  17. * ETAB.'EPSC', ETAB.'BETA', ETAB.'ALPHA'
  18. * SI DECOHESION CONTROLEE PAR LA CONTRAINTE
  19. * ETAB.'BETA', ETAB.'ALPHA',ETAB.'LAMBDA', ETAB.'SIG0',ETAB.'SIGC'
  20. * ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE
  21. * ETAB.'WEIBULL' = VRAI
  22. * + DONNEES DES PARAMETRES DU CRITERE
  23. * ETAB.'M', ETAB.'SIGU',ETAB.'V0',ETAB.'IC'
  24. * + (SI IC=1) ETAB.'N'
  25. * + (SI CAS PLAN) ETAB.'EPAI'
  26. * ETAB.'TEMPER'
  27. * +(SI TEMPER=0) SIGU EST UNE CONSTANTE
  28. * +(SI TEMPER=1) SIGU DEPEND DE LA TEMPERATURE
  29. * + ETAB.'TEREF'
  30. *
  31. * SORTIES
  32. * TABLE DE TABLES DONNANT POUR CHAQUE PAS DE TEMPS
  33. * ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE
  34. * VALEURS MOYENNEES SUR LES ELEMENTS DE
  35. * STAB.'RAPPORT' = TAUX DE TRIAXIALITE (CHELEM)
  36. * STAB.'TAUX' = TAUX DE CROISSANCE (CHELEM)
  37. * STAB.'SIGEQ' = CONTRAINTE DE VMIS (CHELEM)
  38. * STAB.'EPSEQ' = DEFOR. PLAST. CUM. (CHELEM)
  39. * ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE
  40. * STAB.'SIGW' = CONTRAINTE DE WEIBULL (FLOTTANT)
  41. * STAB.'PROB' = PROBABILITE DE RUPTURE (FLOTTANT)
  42. * STAB.'VPLAS' = VOLUME PLASTIQUE (FLOTTANT)
  43. * STAB.'SIGPMAX' = CONTRAINTE PRINCIPALE MAXIMALE (FLOTTANT)
  44. * STAB.'ELT' = ELEMENT OU LA CONT. PRIN. EST MAXIMALE (MAILLAGE)
  45. * STAB.'EPSEQ' = DEFORM. PLAST CUMULEE DS L'ELEMENT ELT (FLOTTANT)
  46. * passage aux nouveaux chamelems P DOWLATYARI JAN. 92
  47. *-----------------------------------------------------------------------
  48.  
  49. IWEIB=0;IREPS=0;IRSIG=0;
  50. TENTR=ETAB.'TNONL';
  51. R=1.D0 / 3.D0;2PI=2.D0 * PI;MOD='VALE' 'MODE';
  52.  
  53. *- transformation des sorties de l'ancien
  54. *- NONLIN au format de PASAPAS
  55.  
  56. TEMPS1 = TENTR.'TEMPS';
  57. TCONT1 = TENTR.'CONTRAINTES';
  58. TEPS1 = TENTR.'VARIABLES_INTERNES';
  59. TEPSP1 = TENTR.'DEFORMATIONS_INELASTIQUES';
  60. CHAR1 = TENTR.'CHARGEMENT';
  61. NPAS = 'DIME' TEMPS1;
  62. TCONT = 'TABLE';
  63. TEPS = 'TABLE';
  64. TEPSP = 'TABLE';
  65. CHATOT = 'TABLE';
  66. TIND = PROG;
  67. *
  68. *
  69. 'REPETER' BOU_MAN NPAS;
  70. ITE1 = &BOU_MAN - 1 ;
  71. TCONT . (TEMPS1.ITE1) = TCONT1.ITE1;
  72. TEPS . (TEMPS1.ITE1) = TEPS1.ITE1;
  73. TEPSP . (TEMPS1.ITE1) = TEPSP1.ITE1;
  74. *
  75. TIND = TIND 'ET' (PROG (TEMPS1.ITE1));
  76. 'FIN' BOU_MAN;
  77. *
  78. *
  79. 'SI' ( 'NON' ('EXISTE' ETAB 'OBJMO') ) ;
  80. 'ERREUR' 'IL FAUT DONNER L OBJET MODEL ' ;
  81. 'QUITTER' CRITLOC2 ;
  82. 'FINSI';
  83. OBJMO=ETAB.'OBJMO';
  84. *
  85. STAB='TABL';
  86. * LECTURE DES PARAMETRES DU CRITERE ET QUELQUES INITIALISATIONS
  87.  
  88. LOG='NON' (('EXISTE' ETAB 'RICE') OU ('EXISTE' ETAB 'WEIBULL'));
  89. 'SI' LOG;
  90. 'MESS' 'IL FAUT DEFINIR LE TYPE DE CRITERE : RICE OU WEIBULL';
  91. 'QUITTER' CRITLOC2;
  92. 'FINSI';
  93.  
  94. MAIL1 = 'EXTR' OBJMO 'MAIL' ;
  95. 'SI' ('EXISTE' ETAB 'RICE');
  96. LOG='NON' (('EXISTE' ETAB 'EPSILON') OU ('EXISTE' ETAB 'SIGMA'));
  97. 'SI' LOG;
  98. 'MESS'
  99. 'POUR LE CRITERE DE RICE ,IL FAUT DEFINIR L OPTION: EPSILON OU SIGMA';
  100. 'QUITTER' CRITLOC2;
  101. 'FINSI';
  102.  
  103. 'SI' ('EXISTE' ETAB 'EPSILON');
  104. IREPS=1;
  105. VALEPC=ETAB.'EPSC';VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA';
  106. EPSCX='MANU' 'CHPO' MAIL1 1 'SCAL' VALEPC;
  107. EPSC = 'CHAN' 'CHAM' OBJMO EPSCX 'STRESSES' 'SCALAIRE' ;
  108. 'DETR' EPSCX ;
  109. 'FINSI';
  110.  
  111. 'SI' ('EXISTE' ETAB 'SIGMA');
  112. IRSIG=1;
  113. VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA';
  114. VALLAM=ETAB.'LAMBDA';VALSI0=ETAB.'SIG0';VALSIC=ETAB.'SIGC';
  115. CHSIGX='MANU' 'CHPO' MAIL1 1 'SCAL' VALSI0;
  116. CHSIG0 = 'CHAN' 'CHAM' OBJMO CHSIGX 'STRESSES' 'SCALAIRE' ;
  117. 'DETR' CHSIGX ;
  118. CHSIGX='MANU' 'CHPO' MAIL1 1 'SCAL' VALSIC;
  119. CHSIGC = 'CHAN' 'CHAM' OBJMO CHSIGX 'STRESSES' 'SCALAIRE' ;
  120. 'DETR' CHSIGX ;
  121. SIGD0='ZERO' OBJMO 'STRESSES';
  122. STAB.'CONTDECO'='TABL';STAB.'CPRINMAX'='TABL';
  123. 'FINSI';
  124.  
  125. STAB.'RAPPORT'='TABL';STAB.'TAUX'='TABL';
  126. STAB.'SIGEQ'='TABL';STAB.'EPSEQ'='TABL';
  127. SIG0X='MANU' 'CHPO' MAIL1 1 'SCAL' 1.D-10;
  128. SIG0 = 'CHAN' 'CHAM' OBJMO SIG0X 'STRESSES' 'SCALAIRE' ;
  129. 'DETR' SIG0X ;
  130. EPS00='COPI' SIG0;
  131. EPS0='ZERO' OBJMO 'STRESSES';SIGS0='COPI' EPS0;SOMR0='COPI' EPS0;
  132. 'FINSI';
  133.  
  134. 'SI' ('EXISTE' ETAB 'WEIBULL');
  135. IWEIB=1;
  136. VALM=ETAB.'M';VALSU=ETAB.'SIGU';VALV0=ETAB.'V0';
  137. VALIC=ETAB.'IC';
  138. VALTP=ETAB.'TEMPER';
  139. *
  140. 'SI' (VALTP 'EGA' 1);
  141. 'REPETER' BOW_MAN NPAS;
  142. ITE1 = &BOW_MAN - 1 ;
  143. CHATOT . (TEMPS1.ITE1) = (tire char1
  144. (TEMPS1.ITE1) 'T' );
  145. 'FIN' BOW_MAN;
  146. *
  147. *temperature de reference pour le calcul de la contrainte de Weibull
  148. TEREF = ETAB.'TEREF';
  149. *
  150. *verification que cette temperature figure dans temperature de VALSU
  151. SAB1 = 'EXTR' VALSU 'ABSC';
  152. TAL1 = 'MINI' SAB1;
  153. TAL2 = 'MAXI' SAB1;
  154. *
  155. 'SI'(TEREF <EG TAL2);
  156. 'SI' (TEREF < TAL1);
  157. 'MESS' 'ERREUR: 'TEREF' HORS DES TEMPERATURES DONNEES DANS VALSU';
  158. 'QUITTER' CRITLOC2 ;
  159. 'FINSI';
  160. 'SINON';
  161. 'MESS' 'ERREUR: 'TEREF' HORS DES TEMPERATURES DONNEES DANS VALSU';
  162. 'QUITTER' CRITLOC2 ;
  163. 'FINSI';
  164. *
  165. 'FINSI';
  166. 'FINSI';
  167. *
  168. *
  169. 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO'));
  170. PARA=ETAB.'EPAI';
  171. 'FINSI';
  172. 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));
  173. PARA=1.D0;
  174. 'FINSI';
  175. 'SI' ('EGA' MOD 'TRID');
  176. PARA=1.D0;
  177. 'FINSI';
  178. FONCPX='MANU' 'CHPO' MAIL1 1 'SCAL' PARA;
  179. FONCP = 'CHAN' 'CHAM' OBJMO FONCPX 'STRESSES' 'SCALAIRE' ;
  180. 'DETR' FONCPX ;
  181. STAB.'SIGW'='TABL';
  182. STAB.'PROB'='TABL';
  183. STAB.'VPLAS'='TABL';
  184.  
  185. STAB.'SIGPMAX'='TABL';
  186. STAB.'EPSEQ'='TABL';
  187. STAB.'ELT'='TABL';
  188.  
  189. 'SI' (IWEIB 'EGA' 1);
  190. 'SI' (VALIC 'EGA' 1);
  191.  
  192. VALN=ETAB.'N';
  193. TMEP='TABL';
  194. 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')'OU' ('EGA' MOD 'TRID'));
  195. TMEP.1='EIXX';TMEP.2='EIYY';TMEP.3='EIZZ';TMEP.4='GIXY';
  196. 'SI' ('EGA' MOD 'TRID');
  197. TMEP.5='GIXZ';
  198. TMEP.6='GIYZ';
  199. 'FINSI';
  200. 'FINSI';
  201. 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));
  202. TMEP.1='EIRR';TMEP.2='EIZZ';TMEP.3='EITT';TMEP.4='GIRZ';
  203. 'SI' ('EGA' MOD 'FOUR');
  204. TMEP.5='GIRT';
  205. TMEP.6='GIZT';
  206. 'FINSI';
  207. 'FINSI';
  208. 'FINSI';
  209. 'FINSI';
  210.  
  211. FONC1X='MANU' 'CHPO' MAIL1 1 'SCAL' 1.;
  212. FONC1 = 'CHAN' 'CHAM' OBJMO FONC1X 'STRESSES' 'SCALAIRE' ;
  213. 'DETR' FONC1X ;
  214. FONCEX='MANU' 'CHPO' MAIL1 1 'SCAL' 1.E-20;
  215. FONCE = 'CHAN' 'CHAM' OBJMO FONCEX 'STRESSES' 'SCALAIRE' ;
  216. 'DETR' FONCEX ;
  217. FVOLU=(('INTG' 'ELEM' OBJMO FONC1) ** -1) CHAN 'STRESSES' OBJMO;
  218. TMOT='TABL';
  219. 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')
  220. 'OU' ('EGA' MOD 'TRID'));
  221. TMOT.1='SMXX';TMOT.2='SMYY';TMOT.3='SMZZ';TMOT.4='SMXY';
  222. 'SI' ('EGA' MOD 'TRID');
  223. TMOT.5='SMXZ';TMOT.6='SMYZ';
  224. 'FINSI';
  225. 'FINSI';
  226. 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));
  227. TMOT.1='SMRR';TMOT.2='SMZZ';TMOT.3='SMTT';TMOT.4='SMRZ';
  228. 'SI' ('EGA' MOD 'FOUR');
  229. TMOT.5='SMRT';TMOT.6='SMZT';
  230. 'FINSI';
  231. 'FINSI';
  232. *
  233. * BOUCLE SUR LES PAS DE TEMPS
  234. *
  235. IPAS=0;
  236. 'REPETER' BOUCLE NPAS;
  237. IPAS=IPAS + 1;
  238. TEMPS='EXTR' IPAS TIND;
  239. SIG=TCONT.TEMPS;CEPS=TEPS.TEMPS;EPSP=TEPSP.TEMPS;
  240. SIG='REDU' SIG OBJMO;CEPS='REDU' CEPS OBJMO;EPSP='REDU' EPSP OBJMO;
  241. EPS=('EXCO' 'EPSE' CEPS) 'CHAN' 'TYPE' 'SCALAIRE';
  242. *
  243.  
  244. * MOYENNATION DES CONTRAINTES SUR LES ELEMENTS
  245.  
  246. COEFP=EPS 'MASQ' 'EGSUPE' 1.D-8;
  247. FVOLUP=((('INTG' 'ELEM' OBJMO (FONC1 * COEFP)) 'CHAN' 'STRESSES' OBJMO)
  248. + FONCE) ** -1;
  249. *
  250. 'SI' (IWEIB 'EGA' 1);
  251. SIG=SIG * COEFP;FVOLU=FVOLUP;
  252. 'FINSI';
  253.  
  254. SIG1=('INTG' 'ELEM' OBJMO SIG (TMOT.1) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  255. SIG1=('EXCO' SIG1 'SCAL' 'NOID'(TMOT.1)) 'CHAN' 'TYPE' 'SCALAIRE' ;
  256. SIG2=('INTG' 'ELEM' OBJMO SIG (TMOT.2) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  257. SIG2=('EXCO' SIG2 'SCAL' 'NOID'(TMOT.2)) 'CHAN' 'TYPE' 'SCALAIRE' ;
  258. SIG3=('INTG' 'ELEM' OBJMO SIG (TMOT.3) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  259. SIG3=('EXCO' SIG3 'SCAL' 'NOID'(TMOT.3))'CHAN' 'TYPE' 'SCALAIRE' ;
  260. SIG4=('INTG' 'ELEM' OBJMO SIG (TMOT.4) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  261. SIG4=('EXCO' SIG4 'SCAL' 'NOID'(TMOT.4)) 'CHAN' 'TYPE' 'SCALAIRE' ;
  262. 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));
  263. SIG5=('INTG' 'ELEM' OBJMO SIG (TMOT.5) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  264. SIG5=('EXCO' SIG5 'SCAL' 'NOID'(TMOT.5))'CHAN' 'TYPE' 'SCALAIRE' ;
  265. SIG6=('INTG' 'ELEM' OBJMO SIG (TMOT.6) 'CHAN' 'STRESSES' OBJMO) * FVOLU;
  266. SIG6=('EXCO' SIG6 'SCAL' 'NOID'(TMOT.6))'CHAN' 'TYPE' 'SCALAIRE' ;
  267. 'FINSI';
  268.  
  269. *
  270. 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')
  271. 'OU' ('EGA' MOD 'AXIS'));
  272. SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ;
  273. SIGMOY='CHAN' 'TYPE' SIGMOY 'CONTRAINTES' ;
  274. 'FINSI';
  275. 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));
  276. SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ET SIG5 ET SIG6 ;
  277. SIGMOY='CHAN' 'TYPE' SIGMOY 'CONTRAINTES' ;
  278. 'FINSI' ;
  279.  
  280. * SIGMOY etant au centre de gravite des elements
  281. * on le change en 'STRESSES' pour avoir compatibilite
  282. * entre les supports pour le calcul du taux de triaxialite
  283. SIGMOY = SIGMOY 'CHANG' 'STRESSES' OBJMO;
  284.  
  285. * MOYENNATION DES DEFORMATIONS PLASTIQUES CUMULEES
  286. EPS=('INTG' 'ELEM' OBJMO EPS) 'CHAN' 'STRESSES' OBJMO;
  287. EPS= EPS * FVOLUP;
  288. *EPS = EPS 'CHANG' 'STRESSES' OBJMO;
  289.  
  290. * PLUS GRANDE CONTRAINTE PRINCIPALE (WEIBULL ET RICE SIGMA)
  291.  
  292. 'SI' ((IRSIG 'EGA' 1) 'OU' (IWEIB 'EGA' 1));
  293. PSIG='PRIN' OBJMO SIGMOY;
  294. PSI11=('EXCO' 'SI11' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
  295. PSI22=('EXCO' 'SI22' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
  296. PSI33=('EXCO' 'SI33' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
  297. COEF1=PSI11 'MASQ' 'EGSUPE' PSI22;
  298. COEF2=PSI22 'MASQ' 'SUPERIEUR' PSI11;
  299. PSIAA=(PSI11 * COEF1) + (PSI22 * COEF2);
  300. COEF3=PSIAA 'MASQ' 'EGSUPE' PSI33;
  301. COEF4=PSI33 'MASQ' 'SUPERIEUR' PSIAA;
  302. SCOPR=(PSIAA * COEF3) + (PSI33 * COEF4);
  303. 'FINSI';
  304.  
  305. *
  306. * CRITERE DE RICE : CALCUL DU TAUX DE TRIAXIALITE ET R/R0
  307. *
  308.  
  309. 'SI' ((IREPS 'EGA' 1) 'OU' (IRSIG 'EGA' 1));
  310.  
  311. VSIG='VMIS' OBJMO SIGMOY;
  312. VSIG='CHAN' 'TYPE' VSIG 'SCALAIRE' ;
  313. * CALCUL DE LA CONTRAINTE DE DECOHESION
  314. 'SI' (IRSIG 'EGA' 1);
  315. SIGDEC = SCOPR + (VALLAM * (VSIG - CHSIG0));
  316. 'FINSI';
  317.  
  318. * CALCUL DU TAUX DE TRIAXIALITE
  319. CHEL1 CHEL2 CHEL3='INVA' OBJMO SIGMOY;
  320. SIGMV=R * CHEL1 * ((VSIG + SIG0) ** -1.);
  321.  
  322. * CALCUL DE R / R0
  323. *++ ON MET A ZERO LE TAUX DE TRIAXIALITE S IL EST NEGATIF
  324. SIGSG=SIGMV * (SIGMV 'MASQ' 'SUPERIEUR' 0.);
  325.  
  326. T1='EXP' (VALBET * SIGS0);
  327. T2='EXP' (VALBET * SIGSG);
  328.  
  329. 'SI' (IRSIG 'EGA' 1);
  330. TDSIG=(EPS0 * (SIGDEC - CHSIGC)) + (EPS * (CHSIGC - SIGD0));
  331. IDSIG=((SIGDEC - SIGD0) + SIG0) ** -1;
  332. EPSC=TDSIG * IDSIG;
  333. 'FINSI';
  334.  
  335. TT=(T2 * (EPS - EPSC)) + (T1 * (EPSC - EPS0));
  336. IDEPS0=((EPS - EPS0) + EPS00) ** -1;
  337. TC=TT * IDEPS0;
  338.  
  339. SS1=(TC + T2) * (EPS - EPSC);
  340. SS2=(T1 + T2) * (EPS - EPS0);
  341.  
  342. 'SI' (IREPS 'EGA' 1);
  343. COEF=EPS 'MASQ' 'SUPERIEUR' VALEPC;
  344. 'FINSI';
  345. 'SI' (IRSIG 'EGA' 1);
  346. COEF=SIGDEC 'MASQ' 'SUPERIEUR' VALSIC;
  347. 'FINSI';
  348. 'SI' (IREPS 'EGA' 1);
  349. COEF5=EPS0 'MASQ' 'EGSUPE' VALEPC;
  350. COEF6=EPS0 'MASQ' 'INFERIEUR' VALEPC;
  351. 'FINSI';
  352. 'SI' (IRSIG 'EGA' 1);
  353. COEF5=SIGD0 'MASQ' 'EGSUPE' VALSIC;
  354. COEF6=SIGD0 'MASQ' 'INFERIEUR' VALSIC;
  355. 'FINSI';
  356.  
  357. S=((SS1 * COEF6) + (SS2 * COEF5)) * COEF;
  358. SOMR0=SOMR0 + S;
  359. RSR0='EXP' ((0.5D0 * VALALP) * SOMR0);
  360. EPS0=EPS;SIGS0=SIGSG;
  361. 'SI' (IRSIG 'EGA' 1);
  362. SIGD0=SIGDEC;
  363. STAB.'CONTDECO'.TEMPS=SIGDEC;
  364. STAB.'CPRINMAX'.TEMPS=SCOPR;
  365. 'FINSI';
  366.  
  367. STAB.'RAPPORT'.TEMPS=SIGMV;
  368. STAB.'TAUX'.TEMPS=RSR0;
  369. STAB.'SIGEQ'.TEMPS=VSIG;
  370. STAB.'EPSEQ'.TEMPS=EPS;
  371. 'FINSI';
  372.  
  373. *
  374. * CRITERE DE WEIBULL : CALCUL DU VOLUME PLASTIQUE,
  375. * DE LA CONTRAINTE DE WEIBULL ET DE LA PROBABILITE DE RUPTURE
  376. *
  377.  
  378. 'SI' (IWEIB 'EGA' 1);
  379.  
  380. * CALCUL DU TERME CORR. SI EFFET DE LA DEFOR. PLAST. SUR LE CLIVAGE
  381.  
  382. *++DEFORMATION DANS LA DIRECTION DE LA PLUS GRANDE CONTRAINTE PRINCIPALE
  383. 'SI' (VALIC 'EGA' 1);
  384. COXPR = ((((('EXCO' 'COX1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + ((('EXCO' 'COX2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2)) * COEF3) + ((('EXCO' 'COX3' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF4);
  385. COYPR = ((((('EXCO' 'COY1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + ((('EXCO' 'COY2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2)) * COEF3) + ((('EXCO' 'COY3' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF4);
  386. COZPR = ((((('EXCO' 'COZ1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + ((('EXCO' 'COZ2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2)) * COEF3) + ((('EXCO' 'COZ3' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF4);
  387.  
  388. DEF11 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.1)'CHAN' 'STRESSES' OBJMO) * FVOLU;
  389. DEF22 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.2)'CHAN' 'STRESSES' OBJMO ) * FVOLU;
  390. DEF33 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.3)'CHAN' 'STRESSES' OBJMO) * FVOLU;
  391. DEF12 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.4)'CHAN' 'STRESSES' OBJMO) * FVOLU;
  392. DEF12=DEF12 / 2.;
  393. 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));
  394. DEF13=('INTG' 'ELEM' OBJMO EPSP (TMEP.5)'CHAN' 'STRESSES' OBJMO) * FVOLU;
  395. DEF13=DEF13 / 2.;
  396. DEF23=('INTG' 'ELEM' OBJMO EPSP (TMEP.6)'CHAN' 'STRESSES' OBJMO) * FVOLU;
  397. DEF23=DEF23 / 2.;
  398. 'SINON';
  399. DEF13=DEF12 * 0.;
  400. DEF23=DEF12 * 0.;
  401. 'FINSI';
  402.  
  403. * DEF11 ... etant au centre de gravite des elements
  404. * on les change en 'STRESSES' pour avoir compatibilite
  405. * avec les supports de COXPR et COYPR et COZPR
  406. DEF11 = DEF11 CHANG 'STRESSES' OBJMO;
  407. DEF22 = DEF22 CHANG 'STRESSES' OBJMO;
  408. DEF33 = DEF33 CHANG 'STRESSES' OBJMO;
  409. DEF12 = DEF12 CHANG 'STRESSES' OBJMO;
  410. DEF13 = DEF13 CHANG 'STRESSES' OBJMO;
  411. DEF23 = DEF23 CHANG 'STRESSES' OBJMO;
  412.  
  413. DFT1 = ((DEF11 * COXPR) + (DEF12 * COYPR)
  414. + (DEF13 * COZPR)) * COXPR;
  415. DFT2 = ((DEF12 * COXPR) + (DEF22 * COYPR)
  416. + (DEF23 * COZPR)) * COYPR;
  417. DFT3 = ((DEF13 * COXPR) + (DEF23 * COYPR)
  418. + (DEF33 * COZPR)) * COZPR;
  419. DESUSI = DFT1 + DFT2 + DFT3;
  420.  
  421. SCOPR =SCOPR * ('EXP' ((-1. * VALIC / VALN) * DESUSI));
  422. 'FINSI';
  423.  
  424. * CALCUL DU VOLUME PLASTIQUE
  425. 'SI' ( 'EXISTE' ETAB 'XMULT');
  426. XMU1 = ETAB.'XMULT';
  427. 'SINON';
  428. XMU1 = 1.;
  429. MESS 'AVEZ-VOUS TENU COMPTE DES SYMETRIES POUR LE CALCUL DU VOLUME PLASTIQUE?';
  430. 'FINSI';
  431. VOLPLA = 'INTG' OBJMO (FONCP * COEFP);
  432. VOLPLA = VOLPLA * XMU1;
  433. *
  434. * CALCUL DE LA CONTRAINTE DE WEIBULL
  435. *++ ON MET A ZERO LA + GRANDE CONTRAINTE PRINC. SI ELLE EST NEGATIVE
  436. COEFPR=SCOPR 'MASQ' 'EGSUPE' 0.;
  437. SCOPR=SCOPR * COEFPR * COEFP;
  438. SCOMAX='MAXI' SCOPR;
  439. *
  440. *
  441. *
  442. 'SI' (VALTP EGA 1);
  443. *
  444. * determination de la contrainte caracteristique de clivage
  445. * a partir du champ de temperature : SIGU
  446. *VALSU est une evolution
  447. chtemp = chatot.temps;
  448. SAB1 = 'EXTR' VALSU 'ABSC';
  449. SOR1 = 'EXTR' VALSU 'ORDO';
  450. chsu0 = 'IPOL' chtemp SAB1 SOR1;
  451. *determination de la valeur de sigu correspondant
  452. *a la temperature de reference teref
  453. VSUREF = 'IPOL' TEREF SAB1 SOR1;
  454. *
  455. 'SINON';
  456. *VALSU est une constante
  457. VSUREF = VALSU;
  458. chsu0='MANU' 'CHPO' MAIL1 1 'SCAL' VALSU;
  459. *
  460. 'FINSI';
  461. *
  462. * determination du rapport PRIN_MAX/SIGU soit R(t)
  463. chsu1 = chsu0 ** (-1);
  464. *chsu1 est un chpo
  465. chsu2 = 'CHAN' 'CHAM' OBJMO chsu1 'STRESSES' 'CONTRAINTES' ;
  466. *chsu2 est un chaml
  467. *
  468. XCOPR = SCOPR * chsu2;
  469. *XCOPR est un chaml
  470. *
  471. *++ ON MET A ZERO LE RAPPORT R(t) SI IL EST NEGATIF
  472. COEFPR=XCOPR 'MASQ' 'EGSUPE' 0.;
  473. XCOPR=XCOPR * COEFPR * COEFP;
  474. *
  475. FVOL1=('INTG' 'ELEM' OBJMO FONC1) ** -1;
  476. *
  477. 'SI' (&boucle EGA 1);
  478. XPS0 = ('EXCO' 'EPSE' CEPS) 'CHAN' 'TYPE' 'SCALAIRE';
  479. *
  480. *moyennation du champ de contraintes
  481. xcopr = ('INTG' 'ELEM' OBJMO xcopr) * FVOL1 ;
  482. CHX1 = XCOPR;
  483. *
  484. 'FINSI';
  485. *
  486. 'SI' (&boucle > 1);
  487. * determination si plasticite active
  488. XPS = ('EXCO' 'EPSE' CEPS) 'CHAN' 'TYPE' 'SCALAIRE' ;
  489. CPL1 = XPS 'MASQ' 'SUPERIEUR' XPS0 ;
  490. *on ne considere le rapport R(t) que si la plasticite est active
  491. CHA1 = XCOPR * CPL1;
  492. *
  493. *moyennation du champ de contraintes
  494. cha1 = ('INTG' 'ELEM' OBJMO cha1) * FVOL1 ;
  495. *
  496. *determination du max du rapport R sur tous les instants
  497. * [ 0, t ] ou la plasticite a ete ou est active
  498. COEF1 = CHA1 'MASQ' 'SUPERIEUR' CHX1;
  499. COEF2 = CHX1 'MASQ' 'EGSUPE' CHA1;
  500. XCOPR = (CHA1 * COEF1) + (CHX1 * COEF2);
  501. *
  502. CHX1 = XCOPR;
  503. XPS0 = XPS;
  504. *
  505. 'FINSI';
  506. *
  507. mcopr = 'MASQ' xcopr 'EGSUPE' 0.;
  508. xcopr = ((xcopr * mcopr )'CHAN' 'STRESSES' OBJMO) + fonce;
  509. *
  510. * CALCUL DE LA PROBABILITE DE RUPTURE
  511. XGALA = (('INTG' OBJMO (XCOPR ** VALM)) * XMU1 * PARA / VALV0);
  512. PROB = 1.D0 - ('EXP' ( (-1.D0)*XGALA ));
  513. *
  514. *Contrainte de Weibull a la temperature de reference teref
  515. SIGW = ( XGALA ** (1.D0 / VALM)) * VSUREF;
  516.  
  517.  
  518. *
  519. * ELEMENT OU LA CONTRAINTE PRINCIPALE EST MAXIMALE
  520. IEMAX=SCOPR 'ELEM' 'MAXI' ;
  521.  
  522. * DEFORMATION EQUIVALENTE ASSOCIEE A SIGPMAX
  523. SEPMAX='MAXI' ('REDU' EPS IEMAX);
  524. *
  525. STAB.'SIGW'.TEMPS=SIGW;
  526. STAB.'VPLAS'.TEMPS=VOLPLA;
  527. STAB.'PROB'.TEMPS=PROB;
  528. STAB.'SIGPMAX'.TEMPS=SCOMAX;
  529. STAB.'ELT'.TEMPS=IEMAX;
  530. STAB.'EPSEQ'.TEMPS=SEPMAX;
  531. 'FINSI';
  532. 'MENA';
  533. 'FIN' BOUCLE;
  534. 'FINP' STAB;
  535.  
  536.  
  537.  

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