Download @otpout.procedur

Back to the list

   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