* @LACRIT PROCEDUR KK2000 99/11/30 21:15:05 3720 * ************************************************************************ * PROCEDURA @LACRIT ************************************************************************ * * Descrizione : calcola strato per strato ed elemento per elemento * il rateo di rottura relativo ad uno dei criteri * seguenti: * MAXSTRESS Maximum Stress * MAXSTRAIN Maximum Strain * TSAI-WU Tsai-Wu * TSAI-HILL Tsai-Hill * HOFFMANN Hoffmann * * Sintassi : TAB_CRIT = @LACRIT TLAM NZON TAB_SIEP FM MOT_CRIT ; * * * Autore/Data : Miliozzi A. 10/04/1997 * * * Revisioni : Miliozzi A. 31/05/1999 - Calcolo tens/def massima * ************************************************************************ * *--- INPUT *========= * * TLAM Tavola caratteristica * * NZON Numero zona * * TAB_SIEP Tavola delle tensioni e delle deformazioni * * FM Fattore Moltiplicativo delle tensioni o delle * deformazioni * * MOT_CRIT Parola chiave per selezionare il criterio di rottura * *--- OUTPUT *========== * * TAB_CRIT Tavola dei ratei di rottura. * ************************************************************************ * * * - VERIFICA SULLA SELEZIONE DEL CRITERIO NCRIT = 0 ; SI (EGA MCRIT 'MAXSTRESS') ; NCRIT = 1 ; FINSI ; SI (EGA MCRIT 'MAXSTRAIN') ; NCRIT = 2 ; FINSI ; SI (EGA MCRIT 'TSAI-WU' ) ; NCRIT = 3 ; FINSI ; SI (EGA MCRIT 'TSAI-HILL') ; NCRIT = 4 ; FINSI ; SI (EGA MCRIT 'HOFFMANN' ) ; NCRIT = 5 ; FINSI ; SI (NCRIT EGA 0); FINSI ; * * - RECUPERO DIMENSIONI N. PLIES, N. ELEMENTI E N. PT. INTEGRAZIONE * TT2 = TT1 . NZON ; OBJ = TT2 . MOD1 ; TCTIP = TT1.TIPO ; TT1.TIPO = 'MLAY' ; * * TLISP = TABLE ; N1 = 1 ; * * ------------------------------------------------ PER OGNI PLY REPETER LOOP1 NPLY ; * * - RECUPERO SPESSORE ED ANGOLO DI ORTOTROPIA DEL SINGOLO PLY TT3= TT2 . N1 ; EP = TT3 . EPA; ID = TT3 . IDM ; * SI (NCRIT EGA 2) ; * * - ESTRAZIONE DELLE DEFORMAZIONI * * * SINON ; * ep00 = FM * (tsiep . eps1 . n1) ; MAT00 = tcar1.mat.n1 ; * De11 = ABS (ep11S - ep11I) ; De22 = ABS (ep22S - ep22I) ; De12 = ABS (ep12S - ep12I) ; signx = masks - maski ; ep11 = ep11M + (signx * De11 / 2.) ; signx = masks - maski ; ep22 = ep22M + (signx * De22 / 2.) ; signx = masks - maski ; ep12 = ep12M + (signx * De12 / 2.) ; * FINSI ; * SINON ; * ---------------------------------------------------------- * Estrazione delle tensioni per COQ6 e COQ8 * ---------------------------------------------------------- * * * - ESTRAZIONE DELLE TENSIONI DI CAUCHY * RIPORTATE AI NODI * *------------------------------------------------------------ SINON ; * * - ESTRAZIONE DELLE TENSIONI GENERALIZZATE E * CONVERSIONE IN TENSIONI DI CAUCHY * si00 = FM * (tsiep . sig1 . n1) ; MAT00 = tcar1.mat.n1 ; * DS11 = ABS (SI11S - SI11I) ; DS22 = ABS (SI22S - SI22I) ; DS12 = ABS (SI12S - SI12I) ; signx = masks - maski ; SI11 = SI11M + (signx * DS11 / 2.) ; signx = masks - maski ; SI22 = SI22M + (signx * DS22 / 2.) ; signx = masks - maski ; SI12 = SI12M + (signx * DS12 / 2.) ; * FINSI; * FINSI ; * *------------------------------------------------------------- * -APPLICAZIONE DEL CRITERIO DI RESISTENZA SELEZIONATO *------------------------------------------------------------- * TT4= TT1 . MCOL . ID ; XT = TT4 . XTR ; XC = TT4 . XCO ; YT = TT4 . YTR ; YC = TT4 . YCO ; SS = TT4 . SSS ; * ****************** * MAXIMUM STRESS * ****************** SI (NCRIT EGA 1) ; * MASK_TR = MASQUE SI11 'EGSUPE' 0. ; MASK_CO = MASQUE SI11 'INFERIEUR' 0. ; XX = ( MASK_TR * (1. / XT) ) - ( MASK_CO * (1. / XC) ) ; MASK_TR = MASQUE SI22 'EGSUPE' 0. ; MASK_CO = MASQUE SI22 'INFERIEUR' 0. ; YY = ( MASK_TR * (1. / YT) ) - ( MASK_CO * (1. / YC) ) ; * RX = SI11 * XX ; RY = SI22 * YY ; RS = (ABS SI12) / SS ; * MASK1 = MASQUE RX 'EGSUPE' RY ; MASK2 = MASQUE RX 'INFERIEUR' RY ; RG1 = ( MASK1 * RX ) + ( MASK2 * RY ) ; MASK1 = MASQUE RG1 'EGSUPE' RS ; MASK2 = MASQUE RG1 'INFERIEUR' RS ; RG = ( MASK1 * RG1 ) + ( MASK2 * RS ) ; * FINSI ; * ****************** * MAXIMUM STRAIN * ****************** SI (NCRIT EGA 2) ; * MASK_TR = MASQUE EP11 'EGSUPE' 0. ; MASK_CO = MASQUE EP11 'INFERIEUR' 0. ; XX1= ( MASK_TR * (1. / XT) ) - ( MASK_CO * (1. / XC) ) ; XX = XX1 * (TT4 . YG1) ; MASK_TR = MASQUE EP22 'EGSUPE' 0. ; MASK_CO = MASQUE EP22 'INFERIEUR' 0. ; YY1= ( MASK_TR * (1. / YT) ) - ( MASK_CO * (1. / YC) ) ; YY = YY1 * (TT4 . YG2) ; SS = (TT4 . G12) / (TT4 . SSS) ; * RX = EP11 * XX ; RY = EP22 * YY ; RS = (ABS EP12) * SS ; * MASK1 = MASQUE RX 'EGSUPE' RY ; MASK2 = MASQUE RX 'INFERIEUR' RY ; RG1 = ( MASK1 * RX ) + ( MASK2 * RY ) ; MASK1 = MASQUE RG1 'EGSUPE' RS ; MASK2 = MASQUE RG1 'INFERIEUR' RS ; RG = ( MASK1 * RG1 ) + ( MASK2 * RS ) ; * FINSI ; * ****************** * TSAI-WU STRESS * ****************** SI (NCRIT EGA 3) ; * A = (SI11 / XT) - (SI11 / XC) ; B = (SI22 / YT) - (SI22 / YC) ; AA= (SI11 ** 2) / (XT*XC) ; BB= (SI22 ** 2) / (YT*YC) ; E = (SI12 ** 2) / (SS**2) ; G = (SI11 * SI22) / ( (XT*XC*YT*YC) ** .5 ) ; RG = A + B + AA + BB + E - G ; RG = RG ** 0.5 ; * FINSI ; * ************* * TSAI-HILL * ************* SI (NCRIT EGA 4) ; * MASK_TR = MASQUE SI11 'EGSUPE' 0. ; MASK_CO = MASQUE SI11 'INFERIEUR' 0. ; XX = ( MASK_TR * (1. / XT) ) + ( MASK_CO * (1. / XC) ) ; MASK_TR = MASQUE SI22 'EGSUPE' 0. ; MASK_CO = MASQUE SI22 'INFERIEUR' 0. ; YY = ( MASK_TR * (1. / YT) ) + ( MASK_CO * (1. / YC) ) ; * A = (SI11 * XX) ** 2 ; B = (SI22 * YY) ** 2 ; G = (SI12 / SS) ** 2 ; H = SI11 * SI22 * (XX ** 2) ; RG = A + B + G - H ; RG = RG ** 0.5 ; * FINSI ; * ************ * HOFFMANN * ************ SI (NCRIT EGA 5) ; * A = (SI11 / XT) - (SI11 / XC) ; B = (SI22 / YT) - (SI22 / YC) ; AA= (SI11 ** 2) / (XT*XC) ; BB= (SI22 ** 2) / (YT*YC) ; E = (SI12 ** 2) / (SS**2) ; G = (SI11 * SI22) / (XT*XC) ; RG= A + B + AA + BB + E - G ; RG = RG ** 0.5 ; * FINSI ; * TLISP.N1 = RG ; N1 = N1 + 1 ; * FIN LOOP1 ; ************************************************************************ * FINE PROCEDURA @LACRIT ************************************************************************ FINPROC TLISP ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales