Télécharger @lacrit.procedur

Retour à la liste

Numérotation des lignes :

  1. * @LACRIT PROCEDUR KK2000 99/11/30 21:15:05 3720
  2. *
  3. ************************************************************************
  4. * PROCEDURA @LACRIT
  5. ************************************************************************
  6. *
  7. * Descrizione : calcola strato per strato ed elemento per elemento
  8. * il rateo di rottura relativo ad uno dei criteri
  9. * seguenti:
  10. * MAXSTRESS Maximum Stress
  11. * MAXSTRAIN Maximum Strain
  12. * TSAI-WU Tsai-Wu
  13. * TSAI-HILL Tsai-Hill
  14. * HOFFMANN Hoffmann
  15. *
  16. * Sintassi : TAB_CRIT = @LACRIT TLAM NZON TAB_SIEP FM MOT_CRIT ;
  17. *
  18. *
  19. * Autore/Data : Miliozzi A. 10/04/1997
  20. *
  21. *
  22. * Revisioni : Miliozzi A. 31/05/1999 - Calcolo tens/def massima
  23. *
  24. ************************************************************************
  25. *
  26. *--- INPUT
  27. *=========
  28. *
  29. * TLAM Tavola caratteristica
  30. *
  31. * NZON Numero zona
  32. *
  33. * TAB_SIEP Tavola delle tensioni e delle deformazioni
  34. *
  35. * FM Fattore Moltiplicativo delle tensioni o delle
  36. * deformazioni
  37. *
  38. * MOT_CRIT Parola chiave per selezionare il criterio di rottura
  39. *
  40. *--- OUTPUT
  41. *==========
  42. *
  43. * TAB_CRIT Tavola dei ratei di rottura.
  44. *
  45. ************************************************************************
  46. *
  47. DEBPROC @LACRIT TT1*TABLE NZON*ENTIER TSIEP*TABLE
  48. FM*FLOTTANT MCRIT*MOT ;
  49. *
  50. * - VERIFICA SULLA SELEZIONE DEL CRITERIO
  51. NCRIT = 0 ;
  52. SI (EGA MCRIT 'MAXSTRESS') ; NCRIT = 1 ; FINSI ;
  53. SI (EGA MCRIT 'MAXSTRAIN') ; NCRIT = 2 ; FINSI ;
  54. SI (EGA MCRIT 'TSAI-WU' ) ; NCRIT = 3 ; FINSI ;
  55. SI (EGA MCRIT 'TSAI-HILL') ; NCRIT = 4 ; FINSI ;
  56. SI (EGA MCRIT 'HOFFMANN' ) ; NCRIT = 5 ; FINSI ;
  57. SI (NCRIT EGA 0);
  58. MESS ' *****************************************************' ;
  59. MESS ' *** ERRORE : IL CRITERIO SELEZIONATO NON ESISTE ! ***' ;
  60. MESS ' *****************************************************' ;
  61. QUITTER @LACRIT ;
  62. FINSI ;
  63. *
  64. * - RECUPERO DIMENSIONI N. PLIES, N. ELEMENTI E N. PT. INTEGRAZIONE
  65. *
  66. TT2 = TT1 . NZON ; OBJ = TT2 . MOD1 ;
  67. TCTIP = TT1.TIPO ; TT1.TIPO = 'MLAY' ;
  68. TCAR1 = @LAMAT TT1 NZON ; TT1.TIPO = TCTIP ;
  69. *
  70. NPLY = (DIME TT2) - 6 ;
  71. NEL1 = NBEL TT2.MAIL ;
  72. *
  73. TLISP = TABLE ;
  74. N1 = 1 ;
  75. *
  76. * ------------------------------------------------ PER OGNI PLY
  77. REPETER LOOP1 NPLY ;
  78. *
  79. * - RECUPERO SPESSORE ED ANGOLO DI ORTOTROPIA DEL SINGOLO PLY
  80. TT3= TT2 . N1 ;
  81. EP = TT3 . EPA; ID = TT3 . IDM ;
  82. *
  83. SI (NCRIT EGA 2) ;
  84. *
  85. * - ESTRAZIONE DELLE DEFORMAZIONI
  86. *
  87. SI ((EXIST OBJ ELEM COQ6) OU (EXIST OBJ ELEM COQ8));
  88. *
  89. EP11 = FM * ( EXCO (TSIEP.EPS1.N1) EPSS SCAL ) ;
  90. EP22 = FM * ( EXCO (TSIEP.EPS1.N1) EPTT SCAL ) ;
  91. EP12 = FM * ( EXCO (TSIEP.EPS1.N1) GAST SCAL ) ;
  92. *
  93. SINON ;
  94. *
  95. ep00 = FM * (tsiep . eps1 . n1) ;
  96. MAT00 = tcar1.mat.n1 ;
  97. ep00s = calp ep00 mat00 obj 'SUPE' ;
  98. ep00m = calp ep00 mat00 obj 'MOYE' ;
  99. ep00i = calp ep00 mat00 obj 'INFE' ;
  100. *
  101. ep11S = exco ep00s epxx scal ;
  102. ep11M = exco ep00m epxx scal ;
  103. ep11I = exco ep00i epxx scal ;
  104. ep22S = exco ep00s epyy scal ;
  105. ep22M = exco ep00m epyy scal ;
  106. ep22I = exco ep00i epyy scal ;
  107. ep12S = exco ep00s rtxy scal ;
  108. ep12M = exco ep00m rtxy scal ;
  109. ep12I = exco ep00i rtxy scal ;
  110. De11 = ABS (ep11S - ep11I) ;
  111. De22 = ABS (ep22S - ep22I) ;
  112. De12 = ABS (ep12S - ep12I) ;
  113. masks = ep11m masq 'EGSUPE' 0. ;
  114. maski = ep11m masq 'INFERIEUR' 0. ;
  115. signx = masks - maski ;
  116. ep11 = ep11M + (signx * De11 / 2.) ;
  117. masks = ep22m masq 'EGSUPE' 0. ;
  118. maski = ep22m masq 'INFERIEUR' 0. ;
  119. signx = masks - maski ;
  120. ep22 = ep22M + (signx * De22 / 2.) ;
  121. masks = ep12m masq 'EGSUPE' 0. ;
  122. maski = ep12m masq 'INFERIEUR' 0. ;
  123. signx = masks - maski ;
  124. ep12 = ep12M + (signx * De12 / 2.) ;
  125. *
  126. FINSI ;
  127. *
  128. SINON ;
  129. * ----------------------------------------------------------
  130. * Estrazione delle tensioni per COQ6 e COQ8
  131. * ----------------------------------------------------------
  132. *
  133. SI ((EXIST OBJ ELEM COQ6) OU (EXIST OBJ ELEM COQ8));
  134. *
  135. * - ESTRAZIONE DELLE TENSIONI DI CAUCHY
  136. * RIPORTATE AI NODI
  137. SI11 = FM * ( EXCO (TSIEP.SIG1.N1) SMSS SCAL ) ;
  138. SI22 = FM * ( EXCO (TSIEP.SIG1.N1) SMTT SCAL ) ;
  139. SI12 = FM * ( EXCO (TSIEP.SIG1.N1) SMST SCAL ) ;
  140. *
  141. *------------------------------------------------------------
  142. SINON ;
  143. *
  144. * - ESTRAZIONE DELLE TENSIONI GENERALIZZATE E
  145. * CONVERSIONE IN TENSIONI DI CAUCHY
  146. *
  147. si00 = FM * (tsiep . sig1 . n1) ;
  148. MAT00 = tcar1.mat.n1 ;
  149. si00s = calp si00 mat00 obj 'SUPE' ;
  150. si00m = calp si00 mat00 obj 'MOYE' ;
  151. si00i = calp si00 mat00 obj 'INFE' ;
  152. *
  153. SI11S = exco si00s smxx scal ;
  154. SI11M = exco si00m smxx scal ;
  155. SI11I = exco si00i smxx scal ;
  156. SI22S = exco si00s smyy scal ;
  157. SI22M = exco si00m smyy scal ;
  158. SI22I = exco si00i smyy scal ;
  159. SI12S = exco si00s smxy scal ;
  160. SI12M = exco si00m smxy scal ;
  161. SI12I = exco si00i smxy scal ;
  162. DS11 = ABS (SI11S - SI11I) ;
  163. DS22 = ABS (SI22S - SI22I) ;
  164. DS12 = ABS (SI12S - SI12I) ;
  165. masks = si11m masq 'EGSUPE' 0. ;
  166. maski = si11m masq 'INFERIEUR' 0. ;
  167. signx = masks - maski ;
  168. SI11 = SI11M + (signx * DS11 / 2.) ;
  169. masks = si22m masq 'EGSUPE' 0. ;
  170. maski = si22m masq 'INFERIEUR' 0. ;
  171. signx = masks - maski ;
  172. SI22 = SI22M + (signx * DS22 / 2.) ;
  173. masks = si12m masq 'EGSUPE' 0. ;
  174. maski = si12m masq 'INFERIEUR' 0. ;
  175. signx = masks - maski ;
  176. SI12 = SI12M + (signx * DS12 / 2.) ;
  177. *
  178. FINSI;
  179. *
  180. FINSI ;
  181. *
  182. *-------------------------------------------------------------
  183. * -APPLICAZIONE DEL CRITERIO DI RESISTENZA SELEZIONATO
  184. *-------------------------------------------------------------
  185. *
  186. TT4= TT1 . MCOL . ID ;
  187. XT = TT4 . XTR ;
  188. XC = TT4 . XCO ;
  189. YT = TT4 . YTR ;
  190. YC = TT4 . YCO ;
  191. SS = TT4 . SSS ;
  192. *
  193. ******************
  194. * MAXIMUM STRESS *
  195. ******************
  196. SI (NCRIT EGA 1) ;
  197. *
  198. MASK_TR = MASQUE SI11 'EGSUPE' 0. ;
  199. MASK_CO = MASQUE SI11 'INFERIEUR' 0. ;
  200. XX = ( MASK_TR * (1. / XT) ) -
  201. ( MASK_CO * (1. / XC) ) ;
  202. DETR MASK_TR ; DETR MASK_CO ;
  203. MASK_TR = MASQUE SI22 'EGSUPE' 0. ;
  204. MASK_CO = MASQUE SI22 'INFERIEUR' 0. ;
  205. YY = ( MASK_TR * (1. / YT) ) -
  206. ( MASK_CO * (1. / YC) ) ;
  207. DETR MASK_TR ; DETR MASK_CO ;
  208. *
  209. RX = SI11 * XX ;
  210. RY = SI22 * YY ;
  211. RS = (ABS SI12) / SS ;
  212. *
  213. MASK1 = MASQUE RX 'EGSUPE' RY ;
  214. MASK2 = MASQUE RX 'INFERIEUR' RY ;
  215. RG1 = ( MASK1 * RX ) + ( MASK2 * RY ) ;
  216. DETR MASK1 ; DETR MASK2 ;
  217. MASK1 = MASQUE RG1 'EGSUPE' RS ;
  218. MASK2 = MASQUE RG1 'INFERIEUR' RS ;
  219. RG = ( MASK1 * RG1 ) + ( MASK2 * RS ) ;
  220. DETR MASK1 ; DETR MASK2 ; DETR RG1 ;
  221. *
  222. FINSI ;
  223. *
  224. ******************
  225. * MAXIMUM STRAIN *
  226. ******************
  227. SI (NCRIT EGA 2) ;
  228. *
  229. MASK_TR = MASQUE EP11 'EGSUPE' 0. ;
  230. MASK_CO = MASQUE EP11 'INFERIEUR' 0. ;
  231. XX1= ( MASK_TR * (1. / XT) ) -
  232. ( MASK_CO * (1. / XC) ) ;
  233. XX = XX1 * (TT4 . YG1) ;
  234. DETR MASK_TR ; DETR MASK_CO ; DETR XX1 ;
  235. MASK_TR = MASQUE EP22 'EGSUPE' 0. ;
  236. MASK_CO = MASQUE EP22 'INFERIEUR' 0. ;
  237. YY1= ( MASK_TR * (1. / YT) ) -
  238. ( MASK_CO * (1. / YC) ) ;
  239. YY = YY1 * (TT4 . YG2) ;
  240. DETR MASK_TR ; DETR MASK_CO ; DETR YY1 ;
  241. SS = (TT4 . G12) / (TT4 . SSS) ;
  242. *
  243. RX = EP11 * XX ;
  244. RY = EP22 * YY ;
  245. RS = (ABS EP12) * SS ;
  246. *
  247. MASK1 = MASQUE RX 'EGSUPE' RY ;
  248. MASK2 = MASQUE RX 'INFERIEUR' RY ;
  249. RG1 = ( MASK1 * RX ) + ( MASK2 * RY ) ;
  250. DETR MASK1 ; DETR MASK2 ;
  251. MASK1 = MASQUE RG1 'EGSUPE' RS ;
  252. MASK2 = MASQUE RG1 'INFERIEUR' RS ;
  253. RG = ( MASK1 * RG1 ) + ( MASK2 * RS ) ;
  254. DETR MASK1 ; DETR MASK2 ; DETR RG1 ;
  255. *
  256. FINSI ;
  257. *
  258. ******************
  259. * TSAI-WU STRESS *
  260. ******************
  261. SI (NCRIT EGA 3) ;
  262. *
  263. A = (SI11 / XT) - (SI11 / XC) ;
  264. B = (SI22 / YT) - (SI22 / YC) ;
  265. AA= (SI11 ** 2) / (XT*XC) ;
  266. BB= (SI22 ** 2) / (YT*YC) ;
  267. E = (SI12 ** 2) / (SS**2) ;
  268. G = (SI11 * SI22) / ( (XT*XC*YT*YC) ** .5 ) ;
  269. RG = A + B + AA + BB + E - G ;
  270. RG = RG ** 0.5 ;
  271. DETR A ; DETR B ; DETR AA ; DETR BB ; DETR E ; DETR G ;
  272. *
  273. FINSI ;
  274. *
  275. *************
  276. * TSAI-HILL *
  277. *************
  278. SI (NCRIT EGA 4) ;
  279. *
  280. MASK_TR = MASQUE SI11 'EGSUPE' 0. ;
  281. MASK_CO = MASQUE SI11 'INFERIEUR' 0. ;
  282. XX = ( MASK_TR * (1. / XT) ) +
  283. ( MASK_CO * (1. / XC) ) ;
  284. DETR MASK_TR ; DETR MASK_CO ;
  285. MASK_TR = MASQUE SI22 'EGSUPE' 0. ;
  286. MASK_CO = MASQUE SI22 'INFERIEUR' 0. ;
  287. YY = ( MASK_TR * (1. / YT) ) +
  288. ( MASK_CO * (1. / YC) ) ;
  289. DETR MASK_TR ; DETR MASK_CO ;
  290. *
  291. A = (SI11 * XX) ** 2 ;
  292. B = (SI22 * YY) ** 2 ;
  293. G = (SI12 / SS) ** 2 ;
  294. H = SI11 * SI22 * (XX ** 2) ;
  295. RG = A + B + G - H ;
  296. RG = RG ** 0.5 ;
  297. DETR A ; DETR B ; DETR G ; DETR H ;
  298. *
  299. FINSI ;
  300. *
  301. ************
  302. * HOFFMANN *
  303. ************
  304. SI (NCRIT EGA 5) ;
  305. *
  306. A = (SI11 / XT) - (SI11 / XC) ;
  307. B = (SI22 / YT) - (SI22 / YC) ;
  308. AA= (SI11 ** 2) / (XT*XC) ;
  309. BB= (SI22 ** 2) / (YT*YC) ;
  310. E = (SI12 ** 2) / (SS**2) ;
  311. G = (SI11 * SI22) / (XT*XC) ;
  312. RG= A + B + AA + BB + E - G ;
  313. RG = RG ** 0.5 ;
  314. DETR A ; DETR B ; DETR AA ; DETR BB ; DETR E ; DETR G ;
  315. *
  316. FINSI ;
  317. *
  318. TLISP.N1 = RG ;
  319. N1 = N1 + 1 ;
  320. *
  321. FIN LOOP1 ;
  322. ************************************************************************
  323. * FINE PROCEDURA @LACRIT
  324. ************************************************************************
  325. FINPROC TLISP ;
  326.  

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