* @LAFAIL PROCEDUR KK2000 99/11/30 21:15:07 3720 * ************************************************************************ * PROCEDURA @LAFAIL ************************************************************************ * * Descrizione : permette di verificare la resistenza ultima di un * laminato annullando la proprieta' elastiche delle * lamine che man mano arrivano a rottura * * Sintassi : @LAFAIL TAB_LAM TAB_FAIL ; * * * Autore/Data : Miliozzi A. 10/04/1997 * * * Revisioni : * ************************************************************************ * *--- INPUT *========= * * TAB_LAM Tavola caratteristica del laminato * * TAB_FAIL Tavola caratteristica per condurre un calcolo di * resistenza per un laminato * La tavola contiene in ingresso: * * Indice Descrizione * 'SOUSTYPE' MOT di valore 'LAMINATE_FAIL' * 'TYP_FAIL' MOT identificante il tipo di verifica da * effettuare. Essa puo' valere: * 'FPF' : First Ply Failure (Default) * 'LPF' : Last Ply Failure * 'ITERMAX' ENTIER n. massimo di iterazioni per la * convergenza. (Default 10) * 'PREC' FLOTTANT indicante il valore della * precisione di convergenza. (Default 1.e-2) * 'CLIM' Oggetto RIGIDITE delle condizioni * al contorno * 'CHARG' Oggetto CHPOINT dei carichi * 'RIG2' Oggetto RIGIDITE per una rigidezza * aggiuntiva a quella del laminato (OPZIONALE) * * In uscita invece conterra': * * 'FMF' Fattore moltiplicativo del carico per * First Ply Failure * 'NPF' N. identificativo prima lamina rotta * 'NZF' N. zona di appartenenza della prima * lamina rotta * 'FML' Fattore moltiplicativo del carico per * Last Ply Failure *--- OUTPUT *========== * ************************************************************************ * *--------------------------------------------------------------------- * FASE DI VERIFICA DEI DATI IN INGRESSO *--------------------------------------------------------------------- * * VERIFICA SULLA CORRETTEZZA DELLE TAVOLE IN INPUT * SI (EXIST TLPF 'SOUSTYPE') ; SI (NEG (TLPF.'SOUSTYPE') 'LAMINATE_FAIL' ) ; FINSI; SINON ; FINSI; * * VERIFICA SULLA SCELTA DEL TIPO DI FAILURE PER IL LAMINATO * MFAIL2 = 'FPF' ; SI ( EXIST TLPF 'TYP_FAIL' ) ; MFAIL1 = TLPF.'TYP_FAIL' ; SI (EGA MFAIL1 'FPF') ; MFAIL2 = MFAIL1 ; SINON ; SI (EGA MFAIL1 'LPF') ; MFAIL2 = MFAIL1 ; SINON ; FINSI ; FINSI ; FINSI ; * * VERIFICA SULLA SCELTA DEL CRITERIO DI ROTTURA PER LA LAMINA * SI ( (NEG MCR1 'MAXSTRESS') ET (NEG MCR1 'MAXSTRAIN') ET (NEG MCR1 'TSAI-WU') ET (NEG MCR1 'TSAI-HILL') ET (NEG MCR1 'HOFFMANN') ) ; FINSI ; SINON ; FINSI ; * * DETERMINAZIONE DEL NUMERO DI ITERAZIONI MASSIMO PER LA CONVERGENZA * NITMAX = 10 ; SI (EXIST TLPF 'ITERMAX') ; NITMAX = TLPF.'ITERMAX' ; FINSI ; * * DETERMINAZIONE DELLA PRECISIONE DA RAGGIUNGERE DURANTE LA ITERAZIONI * PER LA CONVERGENZA * DELTA = 1.E-2 ; * * VERIFICA DELL'ESISTENZA DELL'OGGETTO RIGIDITE CONTENENTE LE CONDIZIONI * AL CONTORNO PER LA STRUTTURA * SI (EXIST TLPF 'CLIM') ; VTOT = TLPF.'CLIM' ; SINON ; FINSI ; * * VERIFICA DELL'ESISTENZA DELL'OGGETTO CHPOINT CONTENENTE IL CARICO CUI * E' SOGGETTA LA STRUTTURA * SI (EXIST TLPF 'CHARG') ; FFT = TLPF.'CHARG' ; SINON ; FINSI ; * * VERIFICA DELL'ESISTENZA DELL'OGGETTO RIGIDITE CONTENENTE UNA * RIGIDEZZA AGGIUNTIVA RAPPRESENTATIVA DI UN PARTE DELLA STRUTTURA * NON COMPOSTA DI MATERIALE COMPOSITO LAMINATO * LOG1 = EXIST TLPF 'RIG2' ; * *-------------------------------------------------------------------- * FASE DI VERIFICA DELLA RESISTENZA DI UN LAMINATO *-------------------------------------------------------------------- * * CALCOLO N. DEGLI STRATI COMPLESSIVI * NITER = 0 ; NZ = 0 ; REPETER LOOPX NZON ; NZ = NZ + 1 ; FIN LOOPX ; * FM_PREV = 0. ; FMC0 = 0. ; RCT0 = 0. ; FMC1 = 1. ; NL1 = 0 ; REPETER ITER1 NITER ; NL1 = NL1 + 1 ; MESS ' CHECK FOR FAILURE OF LAMINA N. ' NL1 ; MESS ' ' ; MESS ' ' ; * * CALCOLO DEGLI SPOSTAMENTI * * NIT = 0 ; * REPETER LOOP0 ; * NIT = NIT + 1 ; RCT1 = -1. ; NPT1 = 0 ; NZT1 = 0 ; NZ1 = 0 ; REPETER LOOP1 NZON ; * NZ1 = NZ1 + 1 ; * SI (EGA MCR1 'MAXSTRAIN') ; SINON ; FINSI ; * * NP1 = 0. ; NP2 = 0 ; RC1 = -1. ; REPETER LOOP2 NPL ; NP2 = NP2 + 1 ; SI (RC2 > RC1) ; RC1 = RC2 ; NP1 = NP2 ; FINSI ; FIN LOOP2 ; * SI (RC1 > RCT1) ; RCT1 = RC1 ; NPT1 = NP1 ; NZT1 = NZ1 ; FINSI ; * FIN LOOP1 ; * MESS NIT RCT1 FMC1 NZT1 NPT1 ; * DRC1 = ABS ( RCT1 - 1.) ; SI (DRC1 <EG DELTA) ; QUITTER LOOP0 ; FINSI ; SI (NIT EGA NITMAX) ; MESS 'Maximum Iterations Number Reached.'; MESS ' Forced Convergency Assumed '; QUITTER LOOP0 ; FINSI ; * FMC2 = FMC0 + ( (FMC1 - FMC0) / (RCT1 - RCT0) * (1. - RCT0) ) ; * FMC0 = FMC1 ; FMC1 = FMC2 ; RCT0 = RCT1 ; * FIN LOOP0 ; * FMCX = ABS FMC1 ; * SI (NL1 EGA 1) ; TLPF . 'FMF' = FMCX ; TLPF . 'RCF' = RCT1 ; TLPF . 'NPF' = NPT1 ; TLPF . 'NZF' = NZT1 ; FM_PREV = FMC1 ; SINON ; SI (FM_PREV <EG FMCX) ; FM_PREV = FMCX ; FINSI ; FINSI ; * * * AZZERAMENTO PROPRIETA' ELASTICHE DELLA LAMINA GIUNTA A ROTTURA * TT = TT1 . MCLOL . (TT1 . NZT1 . NPT1 . IDM ) ; YYG1 = TT . YG1 ; YYG2 = TT . YG2 ; YG12 = TT . G12 ; TT . YG1 = 1.E-10 * YYG1 ; TT . YG2 = 1.E-10 * YYG2 ; TT . G12 = 1.E-10 * YG12 ; * FMC0 = 0. ; RCT0 = 0. ; FMC1 = FMCX ; * FIN ITER1 ; * TLPF.'FML' = FM_PREV ; * ************************************************************************ * FINE PROCEDURA @LAFAIL ************************************************************************ FINPROC TLPF ; *
© Cast3M 2003 - Tous droits réservés.
Mentions légales