1 : * @LAFAIL PROCEDUR KK2000 99/11/30 21:15:07 3720 2 : * 3 : ************************************************************************ 4 : * PROCEDURA @LAFAIL 5 : ************************************************************************ 6 : * 7 : * Descrizione : permette di verificare la resistenza ultima di un 8 : * laminato annullando la proprieta' elastiche delle 9 : * lamine che man mano arrivano a rottura 10 : * 11 : * Sintassi : @LAFAIL TAB_LAM TAB_FAIL ; 12 : * 13 : * 14 : * Autore/Data : Miliozzi A. 10/04/1997 15 : * 16 : * 17 : * Revisioni : 18 : * 19 : ************************************************************************ 20 : * 21 : *--- INPUT 22 : *========= 23 : * 24 : * TAB_LAM Tavola caratteristica del laminato 25 : * 26 : * TAB_FAIL Tavola caratteristica per condurre un calcolo di 27 : * resistenza per un laminato 28 : * La tavola contiene in ingresso: 29 : * 30 : * Indice Descrizione 31 : * 'SOUSTYPE' MOT di valore 'LAMINATE_FAIL' 32 : * 'TYP_FAIL' MOT identificante il tipo di verifica da 33 : * effettuare. Essa puo' valere: 34 : * 'FPF' : First Ply Failure (Default) 35 : * 'LPF' : Last Ply Failure 36 : * 'ITERMAX' ENTIER n. massimo di iterazioni per la 37 : * convergenza. (Default 10) 38 : * 'PREC' FLOTTANT indicante il valore della 39 : * precisione di convergenza. (Default 1.e-2) 40 : * 'CLIM' Oggetto RIGIDITE delle condizioni 41 : * al contorno 42 : * 'CHARG' Oggetto CHPOINT dei carichi 43 : * 'RIG2' Oggetto RIGIDITE per una rigidezza 44 : * aggiuntiva a quella del laminato (OPZIONALE) 45 : * 46 : * In uscita invece conterra': 47 : * 48 : * 'FMF' Fattore moltiplicativo del carico per 49 : * First Ply Failure 50 : * 'NPF' N. identificativo prima lamina rotta 51 : * 'NZF' N. zona di appartenenza della prima 52 : * lamina rotta 53 : * 'FML' Fattore moltiplicativo del carico per 54 : * Last Ply Failure 55 : *--- OUTPUT 56 : *========== 57 : * 58 : ************************************************************************ 59 : * 60 : DEBPROC @LAFAIL TT1*TABLE TLPF*TABLE ; 61 : *--------------------------------------------------------------------- 62 : * FASE DI VERIFICA DEI DATI IN INGRESSO 63 : *--------------------------------------------------------------------- 64 : * 65 : * VERIFICA SULLA CORRETTEZZA DELLE TAVOLE IN INPUT 66 : * 67 : SI (EXIST TLPF 'SOUSTYPE') ; 68 : SI (NEG (TLPF.'SOUSTYPE') 'LAMINATE_FAIL' ) ; 69 : MESS ' >>> ERROR : LAMINATE FAILURE TABLE NOT FOUND ! ' ; 70 : QUITTER @LAFAIL ; 71 : FINSI; 72 : SINON ; 73 : MESS ' >>> ERROR : LAMINATE FAILURE TABLE NOT FOUND ! ' ; 74 : QUITTER @LAFAIL ; 75 : FINSI; 76 : * 77 : * VERIFICA SULLA SCELTA DEL TIPO DI FAILURE PER IL LAMINATO 78 : * 79 : MFAIL2 = 'FPF' ; 80 : SI ( EXIST TLPF 'TYP_FAIL' ) ; 81 : MFAIL1 = TLPF.'TYP_FAIL' ; 82 : SI (EGA MFAIL1 'FPF') ; 83 : MFAIL2 = MFAIL1 ; 84 : SINON ; 85 : SI (EGA MFAIL1 'LPF') ; 86 : MFAIL2 = MFAIL1 ; 87 : SINON ; 88 : MESS '>>> ERROR : LAMINATE FAILURE TYPE INCORRECT ! ' ; 89 : QUITTER @LAFAIL ; 90 : FINSI ; 91 : FINSI ; 92 : FINSI ; 93 : * 94 : * VERIFICA SULLA SCELTA DEL CRITERIO DI ROTTURA PER LA LAMINA 95 : * 96 : SI (EXIST TLPF 'CRIT') ; 97 : MCR1 = TLPF.'CRIT' ; 98 : SI ( (NEG MCR1 'MAXSTRESS') ET (NEG MCR1 'MAXSTRAIN') ET 99 : (NEG MCR1 'TSAI-WU') ET (NEG MCR1 'TSAI-HILL') ET 100 : (NEG MCR1 'HOFFMANN') ) ; 101 : MESS '>>> ERROR : LAMINA FAILURE CRITERIA DESCRIPTOR INCORRECT !' ; 102 : QUITTER @LAFAIL ; 103 : FINSI ; 104 : SINON ; 105 : MESS '>>> ERROR : LAMINA FAILURE CRITERIA DESCRIPTOR NOT FOUND !' ; 106 : QUITTER @LAFAIL ; 107 : FINSI ; 108 : * 109 : * DETERMINAZIONE DEL NUMERO DI ITERAZIONI MASSIMO PER LA CONVERGENZA 110 : * 111 : NITMAX = 10 ; 112 : SI (EXIST TLPF 'ITERMAX') ; NITMAX = TLPF.'ITERMAX' ; FINSI ; 113 : * 114 : * DETERMINAZIONE DELLA PRECISIONE DA RAGGIUNGERE DURANTE LA ITERAZIONI 115 : * PER LA CONVERGENZA 116 : * 117 : DELTA = 1.E-2 ; 118 : SI (EXIST TLPF 'PREC') ; DELTA = TLPF.'PREC' ; FINSI ; 119 : * 120 : * VERIFICA DELL'ESISTENZA DELL'OGGETTO RIGIDITE CONTENENTE LE CONDIZIONI 121 : * AL CONTORNO PER LA STRUTTURA 122 : * 123 : SI (EXIST TLPF 'CLIM') ; 124 : VTOT = TLPF.'CLIM' ; 125 : SINON ; 126 : MESS '>>> ERROR : RIGIDITE OBJET (LIMIT CONDITIONS) NOT FOUND !' ; 127 : QUITTER @LAFAIL ; 128 : FINSI ; 129 : * 130 : * VERIFICA DELL'ESISTENZA DELL'OGGETTO CHPOINT CONTENENTE IL CARICO CUI 131 : * E' SOGGETTA LA STRUTTURA 132 : * 133 : SI (EXIST TLPF 'CHARG') ; 134 : FFT = TLPF.'CHARG' ; 135 : SINON ; 136 : MESS '>>> ERROR : CHPOINT OBJET (LOADS) NOT FOUND !' ; 137 : QUITTER @LAFAIL ; 138 : FINSI ; 139 : * 140 : * VERIFICA DELL'ESISTENZA DELL'OGGETTO RIGIDITE CONTENENTE UNA 141 : * RIGIDEZZA AGGIUNTIVA RAPPRESENTATIVA DI UN PARTE DELLA STRUTTURA 142 : * NON COMPOSTA DI MATERIALE COMPOSITO LAMINATO 143 : * 144 : LOG1 = EXIST TLPF 'RIG2' ; 145 : * 146 : *-------------------------------------------------------------------- 147 : * FASE DI VERIFICA DELLA RESISTENZA DI UN LAMINATO 148 : *-------------------------------------------------------------------- 149 : * 150 : * CALCOLO N. DEGLI STRATI COMPLESSIVI 151 : * 152 : NZON = (DIME TT1) - 2 ; 153 : NITER = 0 ; 154 : NZ = 0 ; 155 : REPETER LOOPX NZON ; 156 : NZ = NZ + 1 ; 157 : NITER = NITER + (DIME TT1.NZ) - 6 ; 158 : FIN LOOPX ; 159 : * 160 : FM_PREV = 0. ; 161 : FMC0 = 0. ; RCT0 = 0. ; FMC1 = 1. ; 162 : NL1 = 0 ; 163 : REPETER ITER1 NITER ; 164 : NL1 = NL1 + 1 ; 165 : MESS '========================================================' ; 166 : MESS ' CHECK FOR FAILURE OF LAMINA N. ' NL1 ; 167 : MESS '========================================================' ; 168 : MESS ' ' ; 169 : MESS ' ITER FAILURE FM ZONE PLY ' ; 170 : MESS ' N. RATE FACTOR NUMBER NUMBER'; 171 : MESS ' ' ; 172 : * 173 : * CALCOLO DEGLI SPOSTAMENTI 174 : * 175 : SI LOG1 ; DEP1 = @LACALC TT1 VTOT FFT (TLPF . 'RIG2') ; SINON ; 176 : DEP1 = @LACALC TT1 VTOT FFT ; FINSI ; 177 : * 178 : NIT = 0 ; 179 : * 180 : REPETER LOOP0 ; 181 : * 182 : NIT = NIT + 1 ; 183 : RCT1 = -1. ; NPT1 = 0 ; NZT1 = 0 ; 184 : NZ1 = 0 ; 185 : REPETER LOOP1 NZON ; 186 : * 187 : NZ1 = NZ1 + 1 ; 188 : * 189 : SI (EGA MCR1 'MAXSTRAIN') ; 190 : TSIEP = @LASIEP TT1 NZ1 DEP1 'EPS' ; 191 : SINON ; 192 : TSIEP = @LASIEP TT1 NZ1 DEP1 'SIG' ; 193 : FINSI ; 194 : * 195 : TCRIT = @LACRIT TT1 NZ1 TSIEP FMC1 MCR1 ; 196 : * 197 : NPL = (DIME TT1 . NZ1) - 6 ; 198 : NP1 = 0. ; 199 : NP2 = 0 ; 200 : RC1 = -1. ; 201 : REPETER LOOP2 NPL ; 202 : NP2 = NP2 + 1 ; 203 : RC2 = MAXI (TCRIT . NP2) ; 204 : SI (RC2 > RC1) ; RC1 = RC2 ; NP1 = NP2 ; FINSI ; 205 : FIN LOOP2 ; 206 : * 207 : SI (RC1 > RCT1) ; RCT1 = RC1 ; NPT1 = NP1 ; NZT1 = NZ1 ; FINSI ; 208 : * 209 : FIN LOOP1 ; 210 : * 211 : MESS NIT RCT1 FMC1 NZT1 NPT1 ; 212 : * 213 : DRC1 = ABS ( RCT1 - 1.) ; 214 : SI (DRC1 <EG DELTA) ; QUITTER LOOP0 ; FINSI ; 215 : SI (NIT EGA NITMAX) ; 216 : MESS '----- ATTENTION !! -----'; 217 : MESS 'Maximum Iterations Number Reached.'; 218 : MESS ' Forced Convergency Assumed '; 219 : MESS '----------------------------------'; 220 : QUITTER LOOP0 ; 221 : FINSI ; 222 : * 223 : FMC2 = FMC0 + ( (FMC1 - FMC0) / (RCT1 - RCT0) * (1. - RCT0) ) ; 224 : * 225 : FMC0 = FMC1 ; FMC1 = FMC2 ; 226 : RCT0 = RCT1 ; 227 : * 228 : FIN LOOP0 ; 229 : * 230 : FMCX = ABS FMC1 ; 231 : * 232 : SI (NL1 EGA 1) ; 233 : TLPF . 'FMF' = FMCX ; 234 : TLPF . 'RCF' = RCT1 ; 235 : TLPF . 'NPF' = NPT1 ; 236 : TLPF . 'NZF' = NZT1 ; 237 : FM_PREV = FMC1 ; 238 : SINON ; 239 : SI (FM_PREV <EG FMCX) ; FM_PREV = FMCX ; FINSI ; 240 : FINSI ; 241 : * 242 : SI (EGA MFAIL2 'FPF') ; QUITTER @LAFAIL ; FINSI ; 243 : * 244 : * AZZERAMENTO PROPRIETA' ELASTICHE DELLA LAMINA GIUNTA A ROTTURA 245 : * 246 : TT = TT1 . MCLOL . (TT1 . NZT1 . NPT1 . IDM ) ; 247 : YYG1 = TT . YG1 ; 248 : YYG2 = TT . YG2 ; 249 : YG12 = TT . G12 ; 250 : TT . YG1 = 1.E-10 * YYG1 ; 251 : TT . YG2 = 1.E-10 * YYG2 ; 252 : TT . G12 = 1.E-10 * YG12 ; 253 : * 254 : FMC0 = 0. ; RCT0 = 0. ; FMC1 = FMCX ; 255 : * 256 : FIN ITER1 ; 257 : * 258 : TLPF.'FML' = FM_PREV ; 259 : * 260 : ************************************************************************ 261 : * FINE PROCEDURA @LAFAIL 262 : ************************************************************************ 263 : FINPROC TLPF ; 264 : * 265 :
© Cast3M 2003 - All rights reserved.
Disclaimer