1 : * @OTPOUT PROCEDUR AM1 92/10/29 21:15:34 734 2 : *--------------------------------------------------------------- 3 : * OTTIMIZZAZIONE TRAVI A SEZIONE RETTANGOLARE 4 : * A PESO MINIMO , TENSIONE LIMITE IMPOSTA 5 : * 6 : * REVISIONE 21-10-92 AUTORI : CHIRICOZZI - DONARELLI - GIANNUZZI 7 : * E N E A - VEL MEP TERMO 8 : *--------------------------------------------------------------- 9 : DEBPROC @OTPOUT 10 : CRIT*FLOTTANT NMIT*ENTIER 11 : SEZY*FLOTTANT SEZZ*FLOTTANT SLIM*FLOTTANT STEC*FLOTTANT 12 : TMOD*TABLE TMAT*TABLE 13 : FORZ*CHPOINT VINCO*RIGIDITE TVECT*TABLE; 14 : *--------------------------------------------------------------- 15 : * CRIT ERRORE SU SIGMA LIMITE --------------------------------- 16 : * NMIT NUMERO MASSIMO ITERAZIONI ------------------------------ 17 : * SEZY LARGHEZZA INIZIALE TRAVI ------------------------------- 18 : * SEZZ ALTEZZA INIZIALE TRAVI --------------------------------- 19 : * SLIM SIGMA LIMITE ------------------------------------------- 20 : * STEC DIMENSIONE MINIMA -------------------------------------- 21 : * TMOD TAVOLA CONTENENTE GLI OGG. MODELE DELLE ZONE ----------- 22 : * TMAT TAVOLA CONTENENTE GLI OGG. MATERIAU DELLE ZONE --------- 23 : * FORZ CAMPO DI FORZE ----------------------------------------- 24 : * VINCO RIGIDEZZA VINCOLI + ZONE NON OTTIMIZZATE --------------- 25 : * TVECT TAVOLA CONTENENTE I VETTORI ORIETAZIONE DELLE ZONE ----- 26 : * -------------------------------------------------------------- 27 : TTRA = TABLE ; 28 : TMAI = TABLE ; 29 : TCAR = TABLE ; 30 : TRIG = TABLE ; 31 : TRHO = TABLE ;NZ= DIME TMOD ; 32 : TCOLD= LECT NZ*0; 33 : SCNEW= LECT NZ*0; 34 : SAUTER 2 LIGNE ; 35 : MESS ' ---------------------------------------------------- ' ; 36 : MESS ' ---------------------------------------------------- ' ; 37 : MESS ' ' ; 38 : MESS ' OTTIMIZZAZIONE TRAVI A PESO MINIMO ' ; 39 : MESS ' ' ; 40 : MESS ' ---------------------------------------------------- ' ; 41 : MESS ' ---------------------------------------------------- ' ; 42 : SAUTER 1 LIGNE; 43 : MESS ' ---------------------------------------------------- ' ; 44 : MESS ' OGNI QUANTE ITERAZIONI VUOI UNA STAMPA COMPLETA ? ' ; 45 : MESS ' ---------------------------------------------------- ' ; 46 : OBTENIR FSTAMP*ENTIER ; 47 : MESS ' ----------------------------------------------------------' ; 48 : MESS ' VALORE USUALE DEL COEFFICIENTE DI RILASSAMENTO -1.- ' ; 49 : MESS ' CONFERMARE O CAMBIARE VALORE ' ; 50 : MESS ' ----------------------------------------------------------' ; 51 : A=1. ; 52 : OBTENIR A1*FLOTTANT ; 53 : SI('NEG' A1 'NON' ); 54 : A=A1; 55 : FINSI; 56 : * 57 : * MOMEMTI E SFORZI NORMALI SIGNIFICATIVI 58 : ALF=0.001 ; 59 : DMFS = @CTRAVE STEC STEC ; 60 : SEZM = EXTR DMFS 3 ; 61 : IM = EXTR DMFS 4 ; 62 : MFS = SLIM * ALF * IM / STEC ; 63 : FNS = SLIM * ALF * SEZM ; 64 : DETR DMFS ; 65 : * 66 : * CARICAMENTO DIMENSIONI E MOMENTI INIZIALI DELLE ZONE 67 : N=0 ; 68 : REPETER CTRA NZ ; 69 : N=N+1 ; 70 : TMAI.N= EXTR TMOD.N 'MAIL' ; 71 : TTRA.N=@CTRAVE SEZY SEZZ ; 72 : TCAR.N=CARA TMOD.N SECT (EXTR TTRA.N 3) 73 : INRY (EXTR TTRA.N 4) 74 : INRZ (EXTR TTRA.N 5) 75 : TORS (EXTR TTRA.N 6) 76 : VECT TVECT.N ; 77 : *CALCOLO PESO 78 : TRHO.N=EXCO TMAT.N RHO ; 79 : PESZ =INTG TMOD.N TRHO.N TCAR.N; 80 : SI ( N EGA 1 ) ; 81 : TEL = TMAI.N ; 82 : PESO=PESZ ; 83 : SINON ; 84 : PESO = PESO + PESZ ; 85 : TEL = TEL ET ( TMAI.N ) ; 86 : FINSI ; 87 : FIN CTRA ; 88 : PPESO= PROG PESO ; 89 : PITER= PROG 0. ; 90 : REPE LL66 ; 91 : MESS 'FORNIRE PUNTO DI VISTA' ; 92 : OBTENIR PVX*FLOTTANT PVY*FLOTTANT PVZ*FLOTTANT; 93 : PV=PVX PVY PVZ ; 94 : TRAC PV TEL ; 95 : MESS 'VUOI CAMBIARE IL PUNTO VISTA (SI-NO)' ; 96 : OBTENIER FF66*MOT; 97 : SI ( 'NEG' FF66 'SI' ); QUITTER LL66 ; FINSI; 98 : FIN LL66; 99 : * 100 : * CICLO PRINCIPALE 101 : * 102 : NIT=0; 103 : REPETER BOUC1 NMIT; 104 : MERS=0. ; 105 : NOCONV= 1; 106 : NIT = NIT+1; 107 : SAUTER 2 LIGNE ; 108 : MESS ' ==============================' ; 109 : MESS ' ITERAZIONE NUMERO ' NIT ; 110 : MESS ' ==============================' ; 111 : SAUTER 1 LIGNE ; 112 : * RIGIDEZZA TOTALE 113 : N=0; 114 : REPETER LOP11 NZ ; 115 : N=N+1; 116 : SI((EXTR SCNEW N) EGA 0) ; 117 : SI( NIT > 1 ) ; 118 : DETR ( TRIG.N) ; 119 : FINSI ; 120 : TRIG.N= RIGI TMOD.N (TMAT.N ET TCAR.N) ; 121 : FINSI; 122 : SI ( N EGA 1 ) ; 123 : RIGT = VINCO ET (TRIG.N ) ; 124 : SINON ; 125 : RIGT = RIGT ET (TRIG.N) ; 126 : FINSI ; 127 : FIN LOP11 ; 128 : * 129 : *RISOLUZIONE ALL ITERAZIONE -NIT- 130 : * 131 : SPOT=RESO RIGT FORZ ; 132 : * 133 : N=0 ; 134 : REPETER BOUC3 NZ; 135 : N=N+1; 136 : SPOZ = REDU SPOT TMAI.N ; 137 : SFOZ = SIGMA SPOZ TMOD.N (TMAT.N ET TCAR.N) ; 138 : DETR SPOZ ; 139 : * 140 : DY =EXTRAI TTRA.N 1; 141 : DZ =EXTRAI TTRA.N 2; 142 : SEZ=EXTRAI TTRA.N 3; 143 : IY =EXTRAI TTRA.N 4; 144 : IZ =EXTRAI TTRA.N 5; 145 : * 146 : * CALCOLO TENSIONI DOVUTE A: TZX SFORZO NORMALE 147 : * TZY MOM. FLETTENTE INTORNO A Y 148 : * TZZ MOM. FLETTENTE INTORNO A Z 149 : KK1 = EXCO EFFX SFOZ ; 150 : CX = ABS KK1 ; DETR KK1 ; 151 : MCX = MAXI CX ; 152 : TZX = CX / SEZ ; DETR CX ; 153 : MTZX= MAXI TZX ; 154 : KK1 = EXCO MOMY SFOZ ; 155 : CMY = ABS KK1 ; DETR KK1 ; 156 : MCMY= MAXI CMY ; 157 : TZY = CMY * (DZ / 2. / IY); DETR CMY ; 158 : MTZY= MAXI TZY ; 159 : KK1 = EXCO MOMZ SFOZ ; 160 : CMZ = ABS KK1 ; DETR KK1 ; 161 : MCMZ= MAXI CMZ ; 162 : TZZ = CMZ * (DY / 2. / IZ); DETR CMZ ; 163 : MTZZ= MAXI TZZ ; 164 : DETR SFOZ ; 165 : * 166 : * RAPPORTO MOMENTI MASSIMI E DIMENSIONI 167 : SI ( MCMZ < MCMY ) ; 168 : SI ( MCMY < MFS ) ; 169 : RM=1. ; 170 : SINON ; 171 : SI ( MCMZ < MFS ) ; 172 : RM = MFS / MCMY ; 173 : SINON ; 174 : RM = MCMZ / MCMY ; 175 : FINSI ; 176 : FINSI ; 177 : SINON ; 178 : SI ( MCMZ < MFS ) ; 179 : RM=1. ; 180 : SINON ; 181 : SI ( MCMY < MFS ) ; 182 : RM = MFS / MCMZ ; 183 : SINON ; 184 : RM = MCMY / MCMZ ; 185 : FINSI ; 186 : FINSI ; 187 : FINSI ; 188 : RMZY=MCMZ / (MCMY + 1.E-6) ; 189 : SF = (MCX + ( 6. * ( MCMY + MCMZ ) / STEC)) / SEZM; 190 : RO = 1. - ( MCX / SEZM / SF ) ; 191 : RD = 1. - ( RO * ( 1. - RM )) ; 192 : SI ( MCMY < MCMZ ) ; 193 : RD = 1. / RD ; 194 : FINSI ; 195 : * 196 : * SIGMA TOTALE MASSIMA CONSERVATIVA 197 : MSIGT= MTZX + MTZY + MTZZ ; 198 : * SIGMA TOTALE MASSIMA REALE 199 : KK1 = TZX + TZY + TZZ ; 200 : SIGTM= MAXI KK1 ; DETR KK1 ; 201 : * RAPPORTO UNIFORMITA SFORZI 202 : RUNIF = SIGTM / MSIGT ; 203 : * 204 : * VERIFICA CONVERGENZA ZONA 205 : * E 206 : * AGGIORNAMENTO AREA E DIMENSIONI TRAVE 207 : COEFA= (1.-A)+(A * SIGTM / SLIM ) ; 208 : ERSZ= ABS ((SIGTM - SLIM ) /SLIM ) ; 209 : SEZP= COEFA * SEZ ; 210 : SI (CRIT < ERSZ ) ; 211 : SI (SEZM < SEZP ) ; 212 : SEZN = SEZP ; 213 : DYN = ( RD * SEZN) ** 0.5 ; 214 : DZN = ( SEZN / DYN ) ; 215 : SI ( DYN < STEC ) ; 216 : DYN= STEC ; 217 : DZN= SEZN / STEC ; 218 : FINSI ; 219 : SI ( DZN < STEC ) ; 220 : DZN= STEC ; 221 : DYN= SEZN / STEC ; 222 : FINSI ; 223 : REMPL SCNEW N 0 ; 224 : REMPL TCOLD N 0 ; 225 : SINON ; 226 : * LIMITE TECNOLOGICO 227 : SI (( EXTR TCOLD N) EGA 1 ) ; 228 : REMPL SCNEW N 1 ; 229 : SINON ; 230 : REMPL SCNEW N 0 ; 231 : FINSI ; 232 : REMPL TCOLD N 1 ; 233 : SEZN = SEZM ; 234 : DYN = STEC ; 235 : DZN = STEC ; 236 : FINSI ; 237 : SINON ; 238 : * CONVERGENZA TENSIONI 239 : DYP = ( RD * SEZP) ** 0.5 ; 240 : DZP = ( SEZP/ DYP ) ; 241 : SI(( CRIT >EG (( DYP - DY ) / DY )) OU 242 : (( CRIT >EG (( DZP - DZ ) / DZ )) OU 243 : ((DYP < STEC ) OU ( DZP < STEC )))) ; 244 : * NON VA RIPARTITA L AREA 245 : REMPL SCNEW N 1 ; 246 : REMPL TCOLD N 0 ; 247 : SEZN= SEZ ; 248 : DYN = DY ; 249 : DZN = DZ ; 250 : SINON ; 251 : * VA RIPARTITA L AREA 252 : REMPL SCNEW N 0 ; 253 : REMPL TCOLD N 0 ; 254 : SEZN= SEZP ; 255 : DYN = DYP ; 256 : DZN = DZP ; 257 : FINSI ; 258 : FINSI ; 259 : * 260 : DETR ( TTRA.N) ; 261 : TTRA.N = @CTRAVE DYN DZN ; 262 : DETR (TCAR.N ) ; 263 : TCAR.N=CARA TMOD.N SECT (EXTR TTRA.N 3) 264 : INRY (EXTR TTRA.N 4) 265 : INRZ (EXTR TTRA.N 5) 266 : TORS (EXTR TTRA.N 6) 267 : VECT TVECT.N ; 268 : *CALCOLO PESO 269 : PESZ=INTG TMOD.N TRHO.N TCAR.N ; 270 : SI ( N EGA 1 ) ; 271 : PESO=PESZ ; 272 : SINON ; 273 : PESO = PESO + PESZ ; 274 : FINSI ; 275 : SI(( MULT NIT FSTAMP ) OU ( NIT EGA 1 )); 276 : MESS '---------------' ; 277 : MESS ' ZONA ' N ; 278 : MESS '---------------' ; 279 : MESS '-----------------------------------' ; 280 : MESS 'PESO ZONA............' PESZ ; 281 : MESS '-----------------------------------' ; 282 : MESS 'DIM. Y ATTUALE......' DYN ; 283 : MESS 'DIM. Z ATTUALE......' DZN ; 284 : MESS 'SEZIONE ATTUALE......' SEZN ; 285 : MESS '-----------------------------------' ; 286 : MESS 'RAPPORTO DIMENSIONI..' RD ; 287 : MESS '-----------------------------------' ; 288 : MESS 'DIM. Y PRECEDENTE...' DY ; 289 : MESS 'DIM. Z PRECEDENTE...' DZ ; 290 : MESS 'SEZIONE PRECEDENTE...' SEZ ; 291 : MESS '-----------------------------------' ; 292 : MESS 'ERRORE SU ZONA.......' ERSZ ; 293 : MESS '-----------------------------------' ; 294 : MESS 'SIGMA TOTALE MAX MAX.' MSIGT ; 295 : MESS 'SIGMA TOTALE MAX.....' SIGTM ; 296 : MESS 'RAPPORTO UNIFORMITA..' RUNIF ; 297 : MESS 'MOMENTO MAX DIR. Z...' MCMZ ; 298 : MESS 'MOMENTO MAX DIR. Y...' MCMY ; 299 : MESS 'RAPPORTO MOMENTI.....' RMZY ; 300 : MESS 'MOMENTO SIGNIFICATIVO' MFS ; 301 : MESS '------------------------------------------------'; 302 : SI(( EXTR SCNEW N) EGA 1 ); 303 : MESS ' ==* SI HA CONVERGENZA PER LA ZONA *== '; 304 : SINON ; 305 : MESS ' ==* NON SI HA CONVERGENZA PER LA ZONA *== '; 306 : FINSI ; 307 : MESS '------------------------------------------------'; 308 : FINSI ; 309 : * 310 : SI(( EXTR SCNEW N) EGA 0 ); 311 : NOCONV=0 ; 312 : FINSI ; 313 : * 314 : SI(( MERS < ERSZ ) ET (( EXTR TCOLD N ) EGA 0)); 315 : MERS=ERSZ ; 316 : FINSI ; 317 : FIN BOUC3 ; 318 : * 319 : SAUTER 1 LIGNE ; 320 : MESS ' =============================================' ; 321 : MESS ' PESO STRUTTURA................. ' PESO ; 322 : MESS ' =============================================' ; 323 : MESS ' =============================================' ; 324 : MESS ' ERRORE MASSIMO SU TUTTE LE ZONE ' MERS ; 325 : MESS ' =============================================' ; 326 : SI ( NOCONV EGA 1 ) ; 327 : MESS ' ==* CONVERGENZA SU TUTTE LE ZONE *== ' ; 328 : MESS ' =============================================' ; 329 : FINSI ; 330 : * OUTPUT GRAFICI 331 : NITP= NIT + 1 ; 332 : PP11=PPESO ; 333 : PPESO=INSE PP11 NITP PESO ; DETR PP11 ; 334 : PI11=PITER ; 335 : PITER=INSE PI11 NITP ( FLOT NIT );DETR PI11 ; 336 : TITRE ' ANDAMENTO DEL PESO ALL ITERAZIONE ' NIT ; 337 : GPESO= EVOL MANU 'ITERAZIONE' PITER 'PESO' PPESO ; 338 : DESS GPESO ; DETR GPESO ; 339 : SI (NIT EGA 1 ) ; 340 : PERSG= PROG MERS MERS ; 341 : SINON ; 342 : PE11=PERSG ; 343 : PERSG=INSE PE11 NITP MERS ; DETR PE11; 344 : FINSI ; 345 : TITRE ' ANDAMENTO DELL ERRORE SULLE SIGMA ALL ITERAZIONE ' NIT ; 346 : GERSG= EVOL MANU 'ITERAZIONE' PITER 'ERR.SIG' PERSG ; 347 : DESS GERSG ; DETR GERSG ; 348 : TITRE 'ZONE ROSSE NON ANCORA IN CONVERGENZA ALL ITERAZIONE' NIT ; 349 : N=0 ; 350 : REPE LL77 NZ ; 351 : N=N+1 ; 352 : SI('EGA' (EXTR SCNEW N) 1); 353 : TMAIN= COUL TMAI.N BLAN ; 354 : SINON ; 355 : TMAIN= COUL TMAI.N ROUG ; 356 : FINSI ; 357 : SI('EGA' N 1 ) ; 358 : TEL1= TMAIN ; 359 : SINON ; 360 : TEL1=TEL1 ET TMAIN ; 361 : FINSI ; 362 : FIN LL77 ; 363 : TRAC PV TEL1 ; 364 : DETR TEL1 ; 365 : * 366 : SI ( NOCONV EGA 1 ) ; 367 : QUITTER BOUC1 ; 368 : FINSI ; 369 : MESS ' ------------------------------------------------'; 370 : MESS ' VUOI CONTINUARE LE ITERAZIONI O USCIRE ? (SI/NO)'; 371 : MESS ' ------------------------------------------------'; 372 : OBTENIR SSNN*MOT; 373 : SI('EGA'SSNN 'NO'); 374 : QUITTER BOUC1; 375 : FINSI; 376 : DETR SPOT ; 377 : MESS ' ----------------------------------------------------------' ; 378 : MESS ' FORNIRE IL NUOVO VALORE COEFFICIENTE DI RILASSAMENTO ' ; 379 : MESS ' COEFFICIENTE ATTUALE ' A ; 380 : MESS ' ----------------------------------------------------------' ; 381 : OBTENIR A1*FLOTTANT ; 382 : SI('NEG' A1 'NON') ; 383 : A=A1; 384 : FINSI; 385 : FIN BOUC1; 386 : N=0; 387 : REPETER LOP22 NZ ; 388 : N=N+1; 389 : DY =EXTRAI (TTRA.N) 1; 390 : DZ =EXTRAI (TTRA.N) 2; 391 : SEZ=EXTRAI (TTRA.N) 3; 392 : MESS '--------------------------------------------------------------'; 393 : MESS ' ZONA NUMERO ' N ; 394 : MESS '--------------------------------------------------------------'; 395 : MESS 'DY =' DY ' DZ =' DZ ' SEZ=' SEZ ; 396 : FIN LOP22 ; 397 : MESS '--------------------------------------------------------------'; 398 : FINPROC TTRA SPOT;
© Cast3M 2003 - All rights reserved.
Disclaimer