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 : * 327 :
© Cast3M 2003 - All rights reserved.
Disclaimer