Download @lacrit.procedur

Back to the list

   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