Download hauban.procedur

Back to the list

   1 : * HAUBAN    PROCEDUR  AM        93/05/19    21:16:18     856            
   2 : 'DEBPROC' HAUBAN ;                                                      
   3 : *------------------------------------------------------------------     
   4 : *                    PROCEDURE HAUBAN                                   
   5 : *------------------------------------------------------------------     
   6 : *                                                                       
   7 : *   EN ENTREE :   2 POINTS                                              
   8 : *                 RIGIDITE ES                                           
   9 : *                 POIDS LINEIQUE PL                                     
  10 : *                 LONGUEUR INITIALE L0                                  
  11 : *                 NOMBRE DE NOEUDS NN                                   
  12 : *                                                                       
  13 : *                                                                       
  14 : *  EN SORTIE :    MAILLAGE EN BARRES                                    
  15 : *                 MODELE                                                
  16 : *                 CHAMELEM DE TENSIONS                                  
  17 : *                                                                       
  18 : 'ARGUMENT' P1*POINT  P2*POINT ;                                         
  19 : 'ARGUMENT' ES*FLOTTANT PL*FLOTTANT;
  20 : 'ARGUMENT' L0*FLOTTANT ;                                                
  21 : 'ARGUMENT' NN*ENTIER   IMP/LOGIQUE ;                                    
  22 : *                                                                       
  23 : 'SI' (  'NON' ( 'EXIS' IMP ) ) ;                                        
  24 :  IMP = FAUX ;                                                           
  25 : 'FINSI';                                                                
  26 : *                                                                       
  27 : *  ON RECUPERE LA DIMENSION DE L'ESPACE                                 
  28 : *                                                                       
  29 : IDIM = 'VALE' DIME ;                                                    
  30 : *                                                                       
  31 : *                                                                       
  32 : *  PARAMETRES GEOMETRIQUES ET AUTRES                                    
  33 : *                                                                       
  34 : PREC=1.E-8 ;                                                            
  35 : DX = ( 'COOR' 1 P2 ) - ( 'COOR' 1 P1 ) ;                                
  36 : DZ = ( 'COOR' IDIM P2 ) - ( 'COOR' IDIM P1 ) ;                          
  37 : 'SI' ( IDIM 'EGA' 3 ) ;                                                 
  38 :   DY = ( 'COOR' 2 P2 ) - ( 'COOR' 2 P1 ) ;                              
  39 : 'FINSI';                                                                
  40 : A  = L0;                                                                
  41 : P  = PL ;                                                               
  42 : *                                                                       
  43 : * CALCUL DE QUELQUES QUANTITES                                          
  44 : *                                                                       
  45 : DX2 = DX * DX ;                                                         
  46 : DZ2 = DZ * DZ ;                                                         
  47 : L2 = DX2 + DZ2 ;                                                        
  48 : 'SI' ( IDIM 'EGA' 3 ) ;                                                 
  49 :   DY2 = DY * DY ;                                                       
  50 :   L2 = L2 + DY2 ;                                                       
  51 : 'FINSI';                                                                
  52 : LL = L2 ** 0.5 ;                                                        
  53 : 'SI' ( IDIM 'EGA' 3 ) ;                                                 
  54 :   LPROJ = ( DX2 + DY2 ) ** 0.5 ;                                        
  55 :   COSTET = DX / LPROJ ;                                                 
  56 :   SINTET = DY / LPROJ ;                                                 
  57 :   DX = ( COSTET * DX ) + ( SINTET * DY ) ;                              
  58 :   DX2 = DX * DX ;                                                       
  59 : 'FINSI';                                                                
  60 : *                                                                       
  61 : P2ES = P / ( 2. * ES ) ;                                                
  62 : *                                                                       
  63 : *  CALCUL D'UNE PREMIERE ESTIMATION DE ALP                              
  64 : *                                                                       
  65 : CO0 = -1. * ( ( P * LL ) / ES ) ;                                       
  66 : CO1 = LL - A ;                                                          
  67 : CO2 = CO0  / 12. ;                                                      
  68 : CO3 = DX2 / ( 24. * LL ) ;                                              
  69 : *                                                                       
  70 : XR1 XI1 XR2 XI2 XR3 XI3 = 'DEG3' CO0 CO1 CO2 CO3 ;                      
  71 : 'SI' IMP ;                                                              
  72 :  MESS ' XR1 XI1 ' XR1 XI1 ;                                             
  73 :  MESS ' XR2 XI2 ' XR2 XI2 ;                                             
  74 :  MESS ' XR3 XI3 ' XR3 XI3 ;                                             
  75 : 'FINSI' ;                                                               
  76 : ALP = 'MAXI' ( 'PROG' XR1 XR2 XR3 ) ;                                   
  77 : *                                                                       
  78 : *  SCHEMA ITERATIF                                                      
  79 : *                                                                       
  80 : IBOU = 0;                                                               
  81 : 'REPE' LABOU 50;                                                        
  82 : IBOU = IBOU + 1 ;                                                       
  83 : 'SI' IMP ; 'MESS' ' ITERATION N° ' IBOU ; 'FINSI';                      
  84 : *                                                                       
  85 : *   CALCUL DE LA FONCTION ET DE SA DERIVEE                              
  86 : *                                                                       
  87 : ALP2 = ALP / 2. ;                                                       
  88 : SHAL = 'SINH' ALP ;                                                     
  89 : CHAL = 'COSH' ALP ;                                                     
  90 : SHAL2 = 'SINH' ALP2 ;                                                   
  91 : CHAL2 = 'COSH' ALP2 ;                                                   
  92 : THAL2 = 'TANH' ALP2 ;                                                   
  93 : FF1 = ( ((( DX * SHAL2 ) /ALP2 ) ** 2 ) + DZ2 ) ** 0.5 ;                
  94 : FF2 = P2ES * ((( DX2 / ALP) * ( 1. + ( SHAL / ALP))) + (DZ2 /THAL2));   
  95 : FON  = FF1 - ( FF2 + A ) ;                                              
  96 : *                                                                       
  97 : DF1 =(( DX2 / ( ALP2 ** 3))*(SHAL2 * ( (ALP2 * CHAL2) - SHAL2)))        
  98 :      / ( 2. * FF1 ) ;                                                   
  99 : DF2 = (DX2 /(ALP*ALP))*((CHAL - 1.) - ( SHAL / ALP2 )) -                
 100 :       ( ( DZ2 / 2.)/(SHAL2 * SHAL2)) ;                                  
 101 : DFON = DF1 - ( P2ES * DF2) ;                                            
 102 : *                                                                       
 103 : *  INCREMENT                                                            
 104 : *                                                                       
 105 : DALP = ( -1. * FON ) / DFON ;                                           
 106 : 'SI' IMP ; 'MESS' ' ALP DALP ' ALP DALP ; 'FINSI' ;                     
 107 : ACA = 'ABS' (DALP / ALP );                                              
 108 : ALP = ALP + DALP ;                                                      
 109 : *                                                                       
 110 : *  TESTS DE CONVERGENCE                                                 
 111 : *                                                                       
 112 :  'SI' ( ACA < PREC) ;                                                   
 113 :     'QUITTER' LABOU ;                                                   
 114 :  'FINSI';                                                               
 115 :  'SI' ( IBOU 'EGA' 50) ;                                                
 116 :  'ERRE' ' NOMBRE MAXIMUM D ITERATIONS ATTEINT' ;                        
 117 :  'QUITTER' HAUBAN ;                                                     
 118 :  'FINSI';                                                               
 119 :  'FIN' LABOU ;                                                          
 120 : 'SI' IMP ; 'MESS' 'ALP ' ALP ; 'FINSI' ;                                
 121 :  HH =( P * DX ) / ALP ;                                                 
 122 :  HH = ABS ( ( P * DX ) / ALP ) ;                                        
 123 : ALP2 = ALP / 2. ;                                                       
 124 : BET = ( ALP2 * DZ ) / (  ( 'SINH' ALP2 ) * DX ) ;                       
 125 : *                                                                       
 126 : *  CREATION DU MAILLAGE                                                 
 127 : *                                                                       
 128 : 'OPTI'  'ELEM' 'SEG2' ;                                                 
 129 : GEO1 = P1 D NN P2 ;                                                     
 130 : *                                                                       
 131 : *  CALCUL DE LA POSITION REELLE                                         
 132 : *                                                                       
 133 : 'SI' ( IDIM 'EGA' 2 ) ;                                                 
 134 :   XX ZZ  = 'COOR'  GEO1 ;                                               
 135 :   X1 Z1  = 'COOR'  P1 ;                                                 
 136 :   X2  Z2 = 'COOR'  P2 ;                                                 
 137 : SINON;                                                                  
 138 :   XXX YY ZZ = 'COOR'  GEO1 ;                                            
 139 :   XX = ( COSTET * XXX) + ( SINTET * YY );                               
 140 :   XX1 Y1 Z1 = 'COOR'  P1 ;                                              
 141 :   X1 = ( COSTET * XX1 ) + ( SINTET * Y1 );                              
 142 :   XX2 Y2 Z2 = 'COOR'  P2 ;                                              
 143 :   X2 = ( COSTET * XX2 ) + ( SINTET * Y2 );                              
 144 : FINSI;                                                                  
 145 :                                                                         
 146 : CX1 = 'MANU' 'CHPO' GEO1 1 'SCAL' X1;                                   
 147 : CX2 = 'MANU' 'CHPO' GEO1 1 'SCAL' X2;                                   
 148 : CZ1 = 'MANU' 'CHPO' GEO1 1 'SCAL' Z1;                                   
 149 : CDX1=  XX - CX1 ;                                                       
 150 : CDZ1=  ZZ - CZ1 ;                                                       
 151 : CDX2=  XX - CX2 ;                                                       
 152 : FAC = P / ( 2. * HH ) ;                                                 
 153 : CHACOS2= 'COSH' (FAC * CDX2 ) ;                                         
 154 : CHASIN2= 'SINH' (FAC * CDX2 ) ;                                         
 155 : CHI2 = (BET * CHACOS2)  +                                               
 156 :   ((((BET ** 2) + 1.) ** 0.5) * CHASIN2 ) ;                             
 157 : CHACOS1= 'COSH' (FAC * CDX1 ) ;                                         
 158 : CHASIN1= 'SINH' (FAC * CDX1 ) ;                                         
 159 : *                                                                       
 160 : *   LA LIGNE SUIVANTE PLANTE                                            
 161 : *                                                                       
 162 : *CHI1 = ( 1. / FAC ) * ( 'SINH' ( FAC * CDX1 )) ;                       
 163 :  CHI1 = ( 1. / FAC ) * CHASIN1  ;                                       
 164 : LIM = 'MOTS' 'SCAL' ;                                                   
 165 : CZ= ( 'PSCAL'  CHI1 CHI2 LIM LIM ) - CDZ1 ;                             
 166 : 'SI' ( IDIM 'EGA' 2 ) ;                                                 
 167 : 'DEPLA'  GEO1 'PLUS' ( 'NOMC' CZ UY ) ;                                 
 168 : 'SINON';                                                                
 169 : 'DEPLA'  GEO1 'PLUS' ( 'NOMC' CZ UZ ) ;                                 
 170 : 'FINSI';                                                                
 171 : 'SI' IMP ;                                                              
 172 : 'SI' ( IDIM 'EGA' 2 );                                                  
 173 :  'TRAC' GEO1;                                                           
 174 : 'SINON';                                                                
 175 :  'TRAC'  ( 1000 2000 3000 ) GEO1;                                       
 176 : 'FINSI';                                                                
 177 : 'MESS' ' NOUVELLE LONGUEUR ' ( 'MESU' GEO1);                            
 178 : 'FINSI';                                                                
 179 : *                                                                       
 180 : *  CALCUL DE LA TENSION                                                 
 181 : *                                                                       
 182 : SHI2 = (BET * CHASIN2)  +                                               
 183 :   ((((BET ** 2) + 1.) ** 0.5) * CHACOS2 ) ;                             
 184 : ZPRIM = ( 'PSCAL' CHACOS1 CHI2 LIM LIM ) +                              
 185 :         ( 'PSCAL' CHASIN1 SHI2 LIM LIM )  ;                             
 186 : UNI = 'MANU' 'CHPO' GEO1 1 'SCAL' 1. ;                                  
 187 : TEN = HH * ( ( UNI + ( ZPRIM ** 2 ) ) ** 0.5 ) ;                        
 188 : 'SI' IMP ;                                                              
 189 :  EV = 'EVOL' TURQ 'CHPO' TEN SCAL GEO1 ;                                
 190 :  'DESS' EV ;                                                            
 191 : 'FINSI';                                                                
 192 : *                                                                       
 193 : *  CREATION DU MODELE ET CHAMELEM DE TENSION                            
 194 : *                                                                       
 195 : MOD1 = 'MODEL' GEO1 'MECANIQUE' 'ELASTIQUE'  BARR ;                     
 196 : CHATEN = 'CHANGER' 'CHAM' ('NOMC' TEN 'EFFX') MOD1                      
 197 :          'STRESSES' 'CONTRAINTES' ;                                     
 198 : 'RESPRO' GEO1 MOD1 CHATEN ;                                             
 199 : 'FINPROC' ;                                                             

© Cast3M 2003 - All rights reserved.
Disclaimer