Download ellp23.eso

Back to the list

   1 : C ELLP23    SOURCE    CHAT      05/01/12    23:35:31     5004           
   2 :         SUBROUTINE ELLP23(CARACT,COOR,GAMA,ZXX,XCOR,VALDE1,VALDE2,              
   3 :      *                     ZS,NP,NBELEM,XPI)                                    
   4 : C                                                                               
   5 :       IMPLICIT INTEGER(I-N)
   6 :         IMPLICIT REAL*8     (A-H,O-Y)                                           
   7 :         IMPLICIT COMPLEX*16 (Z)                                                 
   8 : C                                                                               
   9 : C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        
  10 : C                                                                               
  11 : C   OPERATEUR ELFE LAPLACE POUTRE                                               
  12 : C                                                                               
  13 : C   CALCUL POUR LA POUTRE N› INP LES VALEURS DE Ua ET DE Ub EN LOCAL            
  14 : C                                                                               
  15 : C   PARAMETRES :                                                                
  16 : C                                                                               
  17 : C   CARACT : TABLEAU DES CARACTERISTIQUE DES POUTRES (9,NP)                     
  18 : C   COOR   : TABLEAU DES COORDONNEES DES NOEUDS (3,2*NP)                        
  19 : C   GAMA   : TABLEAU DES VECTEUR DEFINISSANT LE PLAN LOCALE OXY (3,2*NP)        
  20 : C   ZXX    : VECTEUR (24*NP) DONNANT LE VECTEUR SOLUTION DU TREILLIS            
  21 : C            DANS LE REPERE GLOBAL                                              
  22 : C   XCOR   : TABLEAU DONNANT LES COORD. DES NOEUDS DE L'OBJET MAILLAGE          
  23 : C            DANS LE REPERE GLOBAL                                              
  24 : C   ZS     : VALEUR DE S = S0 + I W                                             
  25 : C   NP     : NOMBRE DE POUTRES DU TREILLIS                                      
  26 : C   NBELEM : NOMBRE D'ELEMENTS DU SOUS-MAILLAGE                                 
  27 : C   XPI    : VALEUR PRECISE DE PI                                               
  28 : C                                                                               
  29 : C                                                                               
  30 : C   SORTIES :                                                                   
  31 : C                                                                               
  32 : C   VALDE1 : MODULE DE UX, UY, UZ POUR LES 2 POINTS DE CHAQUE ELEMENT           
  33 : C            DU SOUS-MAILLAGE                                                   
  34 : C   VALDE2 : PHASE DE UX, UY, UZ POUR LES 2 POINTS DE CHAQUE ELEMENT            
  35 : C            DU SOUS-MAILLAGE                                                   
  36 : C                                                                               
  37 : C                                                                               
  38 : C   AUTEUR : SAINT-DIZIER                                                       
  39 : C   DATE   : 19 JUILLET 1990                                                    
  40 : C                                                                               
  41 : C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC            
  42 : C                                                                               
  43 :         DIMENSION CARACT(12,*),COOR(3,*),GAMA(3,*)                              
  44 :         DIMENSION ZXX(*),XCOR(2,3,NBELEM)                                       
  45 :         DIMENSION VALDE1(2,NBELEM,3),VALDE2(2,NBELEM,3)                         
  46 : C                                                                               
  47 :         DIMENSION ZU(24),ZU1(24),ZU2(24)                                        
  48 :         DIMENSION R1(3,3),R2(3,3),ZD(12),ZE(12,12)                              
  49 : C                                                                               
  50 :         DO 100 INP = 1 , NP                                                     
  51 : C                                                                               
  52 :           DO 101 II = 1 , 24                                                    
  53 :             ZU(II) = ZXX(24*(INP-1)+II)                                         
  54 : 101       CONTINUE                                                              
  55 : C                                                                               
  56 : C                                                                               
  57 : C -------------- ACQUISITION DES CARACTERISTIQUES DE LA POUTRE                  
  58 : C                ---------------------------------------------                  
  59 :         CE    = CARACT( 1,INP)                                                  
  60 :         CNU   = CARACT( 2,INP)                                                  
  61 :         CRO   = CARACT( 3,INP)                                                  
  62 :         CSE   = CARACT( 4,INP)                                                  
  63 :         CC    = CARACT( 5,INP)                                                  
  64 :         CIP   = CARACT( 6,INP)                                                  
  65 :         CIY   = CARACT( 7,INP)                                                  
  66 :         CIZ   = CARACT( 8,INP)                                                  
  67 :         CKCY  = CARACT( 9,INP)                                                  
  68 :         CKCZ  = CARACT(10,INP)                                                  
  69 :         CAM   = CARACT(11,INP)                                                  
  70 :         CETA  = CARACT(12,INP)                                                  
  71 : C                                                                               
  72 :         ZI = (0.D0 , 1.D0)                                                      
  73 : C                                                                               
  74 :         ZCE = CE*(1.D0+CETA*ZI)                                                 
  75 :         ZCP   = SQRT(ZCE/CRO)                                                   
  76 :         ZCMU  = ZCE/(2.D0*(1.D0+CNU))                                           
  77 :         ZCR   = SQRT(ZCMU/CRO)                                                  
  78 : C                                                                               
  79 :         ZALFA2= ZS*ZS*CRO*CSE + CAM*ZS                                          
  80 :         ZALFA2= ZALFA2 / (ZCE*CSE)                                              
  81 :         ZALFAX= SQRT(ZALFA2)                                                    
  82 : C                                                                               
  83 :         ZALFA2= ZS*ZS*CRO*CIP + CAM*ZS                                          
  84 :         ZALFA2= ZALFA2 / (ZCMU*CC)                                              
  85 :         ZALFAR= SQRT(ZALFA2)                                                    
  86 : C                                                                               
  87 :         ZALFA4= CRO*CRO*CIZ*ZS*ZS*ZS*ZS/ZCMU/CKCY                               
  88 :      *        + CAM*CRO*CIZ*ZS*ZS*ZS/ZCMU/CKCY/CSE                              
  89 :      *        + CRO*CSE*ZS*ZS                                                   
  90 :      *        + CAM*ZS                                                          
  91 :         ZALFA4= ZALFA4/(ZCE*CIZ)                                                
  92 :         ZALFA2= SQRT(ZALFA4)                                                    
  93 :         ZALFAY= SQRT(ZALFA2)                                                    
  94 : C                                                                               
  95 :         ZZ3   = CRO*CIZ*(1.D0+ZCE/(ZCMU*CKCY))*ZS*ZS                            
  96 :      *        + CAM*ZCE*CIZ*ZS/(ZCMU*CKCY*CSE)                                  
  97 :         ZZ3   = ZZ3 / (ZCE*CIZ*ZALFA2)                                          
  98 : C                                                                               
  99 :         ZALFA4= CRO*CRO*CIY*ZS*ZS*ZS*ZS/ZCMU/CKCZ                               
 100 :      *        + CAM*CRO*CIY*ZS*ZS*ZS/ZCMU/CKCZ/CSE                              
 101 :      *        + CRO*CSE*ZS*ZS                                                   
 102 :      *        + CAM*ZS                                                          
 103 :         ZALFA4= ZALFA4/(ZCE*CIY)                                                
 104 :         ZALFA2= SQRT(ZALFA4)                                                    
 105 :         ZALFAZ= SQRT(ZALFA2)                                                    
 106 : C                                                                               
 107 :         ZZ4   = CRO*CIY*(1.D0+ZCE/(ZCMU*CKCZ))*ZS*ZS                            
 108 :      *        + CAM*ZCE*CIY*ZS/(ZCMU*CKCZ*CSE)                                  
 109 :         ZZ4   = ZZ4 / (ZCE*CIY*ZALFA2)                                          
 110 : C                                                                               
 111 :         N1  = 2*INP-1                                                           
 112 :         N2  = 2*INP                                                             
 113 :         XXA  = COOR (1,N1)                                                      
 114 :         XYA  = COOR (2,N1)                                                      
 115 :         XZA  = COOR (3,N1)                                                      
 116 :         XXB  = COOR (1,N2)                                                      
 117 :         XYB  = COOR (2,N2)                                                      
 118 :         XZB  = COOR (3,N2)                                                      
 119 : C                                                                               
 120 :         XL = SQRT((XXB-XXA)**2 + (XYB-XYA)**2 + (XZB-XZA)**2)                   
 121 : C                                                                               
 122 : C ------------------------------ VECTEUR UNITAIRE OX REPERE LOCALE              
 123 : C                                ---------------------------------              
 124 :         XI1 = (XXB-XXA)/XL                                                      
 125 :         XI2 = (XYB-XYA)/XL                                                      
 126 :         XI3 = (XZB-XZA)/XL                                                      
 127 : C                                                                               
 128 : C ------------------------- VECTEUR UNITAIRE OY REPERE LOCALE                   
 129 : C                           ---------------------------------                   
 130 :         GX = GAMA(1,INP)                                                        
 131 :         GY = GAMA(2,INP)                                                        
 132 :         GZ = GAMA(3,INP)                                                        
 133 :         GG = SQRT(GX*GX + GY*GY + GZ*GZ)                                        
 134 :         GX = GX/GG                                                              
 135 :         GY = GY/GG                                                              
 136 :         GZ = GZ/GG                                                              
 137 : C                                                                               
 138 :         DELTA =  SQRT (1.D0 - (XI1*GX + XI2*GY + XI3*GZ)**2)                    
 139 : C                                                                               
 140 :         DET=-(GX*XI3-GZ*XI1)**2-(GY*XI1-GX*XI2)**2-(GY*XI3-GZ*XI2)**2           
 141 : C                                                                               
 142 :         XJ1 = (XI2*(GY*XI1-GX*XI2)-XI3*(GX*XI3-GZ*XI1))*DELTA/DET               
 143 :         XJ2 = (XI3*(GZ*XI2-GY*XI3)-XI1*(GY*XI1-GX*XI2))*DELTA/DET               
 144 :         XJ3 = (XI1*(GX*XI3-GZ*XI1)-XI2*(GZ*XI2-GY*XI3))*DELTA/DET               
 145 : C                                                                               
 146 : C ---------------------------- VECTEUR UNITAIRE OZ REPERE LOCALE                
 147 : C                              ---------------------------------                
 148 :         XK1 = XI2*XJ3 - XI3*XJ2                                                 
 149 :         XK2 = XI3*XJ1 - XI1*XJ3                                                 
 150 :         XK3 = XI1*XJ2 - XI2*XJ1                                                 
 151 : C                                                                               
 152 :         R1(1,1) = XI1                                                           
 153 :         R1(1,2) = XJ1                                                           
 154 :         R1(1,3) = XK1                                                           
 155 :         R1(2,1) = XI2                                                           
 156 :         R1(2,2) = XJ2                                                           
 157 :         R1(2,3) = XK2                                                           
 158 :         R1(3,1) = XI3                                                           
 159 :         R1(3,2) = XJ3                                                           
 160 :         R1(3,3) = XK3                                                           
 161 : C                                                                               
 162 : C                                                                               
 163 :         R2(1,1) = XJ2*XK3 - XJ3*XK2                                             
 164 :         R2(1,2) = XJ3*XK1 - XJ1*XK3                                             
 165 :         R2(1,3) = XJ1*XK2 - XJ2*XK1                                             
 166 :         R2(2,1) = XI3*XK2 - XI2*XK3                                             
 167 :         R2(2,2) = XI1*XK3 - XI3*XK1                                             
 168 :         R2(2,3) = XI2*XK1 - XI1*XK2                                             
 169 :         R2(3,1) = XI2*XJ3 - XI3*XJ2                                             
 170 :         R2(3,2) = XI3*XJ1 - XI1*XJ3                                             
 171 :         R2(3,3) = XI1*XJ2 - XI2*XJ1                                             
 172 : C                                                                               
 173 : C -----------------------------  MATRICE DIMENSIONNEMENT ZD                     
 174 : C                                --------------------------                     
 175 :         ZD( 1) = XL**2/ZCP                                                      
 176 :         ZD( 2) = XL**2/ZCP                                                      
 177 :         ZD( 3) = XL**2/ZCP                                                      
 178 :         ZD( 4) = XL/ZCR                                                         
 179 :         ZD( 5) = XL**2/ZCP*ZALFAZ                                               
 180 :         ZD( 6) = XL**2/ZCP*ZALFAY                                               
 181 :         ZD( 7) = XL**2/ZCP*ZALFAX                                               
 182 :         ZD( 8) = XL**2/ZCP*(ZALFAY**3)                                          
 183 :         ZD( 9) = XL**2/ZCP*(ZALFAZ**3)                                          
 184 :         ZD(10) = XL/ZCR*ZALFAR                                                  
 185 :         ZD(11) = XL**2/ZCP*(ZALFAZ**2)                                          
 186 :         ZD(12) = XL**2/ZCP*(ZALFAY**2)                                          
 187 : C                                                                               
 188 : C                                                                               
 189 : C ------------------------------- MATRICE DES EFFORTS ZE                        
 190 : C                                 ----------------------                        
 191 :         DO 20 I = 1 , 12                                                        
 192 :             DO 21 J = 1 , 12                                                    
 193 :                 ZE(I,J) = 0.D0                                                  
 194 : 21          CONTINUE                                                            
 195 : 20      CONTINUE                                                                
 196 : C                                                                               
 197 : C                                                                               
 198 :         ZA5 = 1.D0                                                              
 199 :         ZA6 = 1.D0                                                              
 200 :         ZB6 = 1.D0 / (ZCMU*CKCY*CSE)                                            
 201 :         ZB5 = 1.D0 / (ZCMU*CKCZ*CSE)                                            
 202 : C                                                                               
 203 :         ZA8 = (CRO*CSE*ZS*ZS+CAM*ZS)/(ZCMU*ZCMU*CKCY*CKCY*CSE*CSE)              
 204 :      *      -  1.D0/(ZCE*CIZ)                                                   
 205 :         ZA9 = (CRO*CSE*ZS*ZS+CAM*ZS)/(ZCMU*ZCMU*CKCZ*CKCZ*CSE*CSE)              
 206 :      *      -  1.D0/(ZCE*CIY)                                                   
 207 :         ZB8 = CRO*ZS*ZS*(1.D0/(ZCMU*CKCY)+1.D0/ZCE)                             
 208 :      *      + CAM*ZS/(ZCMU*CKCY*CSE)                                            
 209 :         ZB9 = CRO*ZS*ZS*(1.D0/(ZCMU*CKCZ)+1.D0/ZCE)                             
 210 :      *      + CAM*ZS/(ZCMU*CKCZ*CSE)                                            
 211 : C                                                                               
 212 :         ZA12= 1.D0/(ZCE*CIZ)                                                    
 213 :         ZA11= 1.D0/(ZCE*CIY)                                                    
 214 :         ZB12= (CRO*CSE*ZS*ZS+CAM*ZS)/(ZCMU*CKCY*CSE)                            
 215 :         ZB11= (CRO*CSE*ZS*ZS+CAM*ZS)/(ZCMU*CKCZ*CSE)                            
 216 : C                                                                               
 217 : C                                                                               
 218 :         ZE( 1, 1) = 1.D0                                                        
 219 :         ZE( 2, 2) = 1.D0                                                        
 220 :         ZE( 3, 3) = 1.D0                                                        
 221 :         ZE( 4, 4) = 1.D0                                                        
 222 :         ZE( 5, 5) = ZA5                                                         
 223 :         ZE( 5, 9) = ZB5                                                         
 224 :         ZE( 6, 6) = ZA6                                                         
 225 :         ZE( 6, 8) = ZB6                                                         
 226 :         ZE( 7, 7) = 1.D0/(ZCE*CSE)                                              
 227 :         ZE( 8, 6) = ZB8                                                         
 228 :         ZE( 8, 8) = ZA8                                                         
 229 :         ZE( 9, 5) = ZB9                                                         
 230 :         ZE( 9, 9) = ZA9                                                         
 231 :         ZE(10,10) =-1.D0/(ZCMU*CC)                                              
 232 :         ZE(11, 3) = ZB11                                                        
 233 :         ZE(11,11) = ZA11                                                        
 234 :         ZE(12, 2) = ZB12                                                        
 235 :         ZE(12,12) = ZA12                                                        
 236 : C                                                                               
 237 : C                                                                               
 238 : C -- CACUL DE ZU1 = ZR * ZU                                                     
 239 : C                                                                               
 240 :         DO 27 I = 1 , 24                                                        
 241 :           ZU1(I) = 0.D0                                                         
 242 :           ZU2(I) = 0.D0                                                         
 243 : 27      CONTINUE                                                                
 244 : C                                                                               
 245 :         DO 26 I = 1 , 8                                                         
 246 :             DO 25 J = 1 , 3                                                     
 247 :                 DO 24 K = 1 , 3                                                 
 248 :                   ZU1((I-1)*3+J)=ZU1((I-1)*3+J)+R2(J,K)*ZU((I-1)*3+K)           
 249 : 24              CONTINUE                                                        
 250 : 25          CONTINUE                                                            
 251 : 26      CONTINUE                                                                
 252 : C                                                                               
 253 : C -- CACUL DE ZU2 = ZE * ZU1                                                    
 254 : C                                                                               
 255 :         DO 30 I = 1,12                                                          
 256 :             DO 31 J = 1,12                                                      
 257 :               ZU2(I) = ZU2(I) + ZE(I,J)*ZU1(J)                                  
 258 : 31          CONTINUE                                                            
 259 : 30      CONTINUE                                                                
 260 : C                                                                               
 261 :         DO 32 I = 1,12                                                          
 262 :             DO 33 J = 1,6                                                       
 263 :               ZU2(I+12) = ZU2(I+12) + ZE(I,J  )*ZU1(J+12)                       
 264 :               ZU2(I+12) = ZU2(I+12) - ZE(I,J+6)*ZU1(J+18)                       
 265 : 33          CONTINUE                                                            
 266 : 32      CONTINUE                                                                
 267 : C                                                                               
 268 : C                                                                               
 269 : C -- CACUL DE ZU2 = ZD * ZU2                                                    
 270 : C                                                                               
 271 : C                                                                               
 272 :         DO 34 I = 1,12                                                          
 273 :             ZU2(I   ) = ZU2(I   )/ZD(I)                                         
 274 :             ZU2(I+12) = ZU2(I+12)/ZD(I)                                         
 275 : 34      CONTINUE                                                                
 276 : C                                                                               
 277 : C                                                                               
 278 : C ---------------  NBELEM : NOMBRE D'ELEMENTS DANS LE SOUS MAILLAGE             
 279 : C                                                                               
 280 :         DO 110 IN = 1 , NBELEM                                                  
 281 : C                                                                               
 282 :             XX1 = XCOR ( 1,1,IN)                                                
 283 :             XY1 = XCOR ( 1,2,IN)                                                
 284 :             XZ1 = XCOR ( 1,3,IN)                                                
 285 : C                                                                               
 286 :             XX2 = XCOR ( 2,1,IN)                                                
 287 :             XY2 = XCOR ( 2,2,IN)                                                
 288 :             XZ2 = XCOR ( 2,3,IN)                                                
 289 : C                                                                               
 289 :             CALL ELLP07(XXA,XYA,XZA,XXB,XYB,XZB,                                
 290 :      *                  XX1,XY1,XZ1,XX2,XY2,XZ2,IOUI)                           
 291 : C                                                                               
 292 :             IF (IOUI.EQ.0) THEN                                                 
 293 : C                                                                               
 294 :              XXD1 = SQRT((XXA-XX1)**2+(XYA-XY1)**2+(XZA-XZ1)**2)                
 295 :              XXD2 = SQRT((XXA-XX2)**2+(XYA-XY2)**2+(XZA-XZ2)**2)                
 296 :              XXL1= XL -XXD1                                                     
 297 :              XXL2= XL -XXD2                                                     
 298 : C                                                                               
 299 : C              XXDi  :  DISTANCE DE A AU PT M DE CALCUL DU DEPLACEMENT          
 300 : C                                                                               
 300 :              CALL ELLP31(XXD1,INP,ZS,ZALFAX,ZALFAR,ZALFAY,ZALFAZ,               
 301 :      *       Z10X ,Z11X ,Z1,Z2,Z30X ,Z31X ,Z32X ,Z33X ,Z34X ,ZZ3,               
 302 :      *       Z40X ,Z41X ,Z42X ,Z43X ,Z44X ,ZZ4)                                 
 303 : C                                                                               
 303 :              CALL ELLP31(XXL1,INP,ZS,ZALFAX,ZALFAR,ZALFAY,ZALFAZ,               
 304 :      *       Z10XL,Z11XL,Z1,Z2,Z30XL,Z31XL,Z32XL,Z33XL,Z34XL,ZZ3,               
 305 :      *       Z40XL,Z41XL,Z42XL,Z43XL,Z44XL,ZZ4)                                 
 306 : C                                                                               
 307 :              ZUX1 = ZU2(19)*Z10XL-ZU2(13)*Z11XL-ZU2(7)*Z10X-ZU2(1)*Z11X         
 308 : C                                                                               
 309 :              ZUY1 =-(ZZ3*Z31X -Z33X )*ZU2(2) - (ZZ3*Z30X -Z32X )*ZU2(6)         
 310 :      *             + Z31X *ZU2(12) + Z30X *ZU2(8)                               
 311 :      *             -(ZZ3*Z31XL-Z33XL)*ZU2(14)+(ZZ3*Z30XL-Z32XL)*ZU2(18)         
 312 :      *             + Z31XL*ZU2(24) - Z30XL*ZU2(20)                              
 313 : C                                                                               
 314 :              ZUZ1 =-(ZZ4*Z41X -Z43X )*ZU2(3) - (ZZ4*Z40X -Z42X )*ZU2(5)         
 315 :      *             + Z41X *ZU2(11) + Z40X *ZU2(9)                               
 316 :      *             -(ZZ4*Z41XL-Z43XL)*ZU2(15)+(ZZ4*Z40XL-Z42XL)*ZU2(17)         
 317 :      *             + Z41XL*ZU2(23) - Z40XL*ZU2(21)                              
 318 : C                                                                               
 319 : C                                                                               
 320 :              ZUX1 = ZUX1 * ZD(1)                                                
 321 :              ZUY1 = ZUY1 * ZD(2)                                                
 322 :              ZUZ1 = ZUZ1 * ZD(3)                                                
 323 : C                                                                               
 324 :              ZX1 = R1(1,1)*ZUX1 + R1(1,2)*ZUY1 + R1(1,3)*ZUZ1                   
 325 :              ZY1 = R1(2,1)*ZUX1 + R1(2,2)*ZUY1 + R1(2,3)*ZUZ1                   
 326 :              ZZ1 = R1(3,1)*ZUX1 + R1(3,2)*ZUY1 + R1(3,3)*ZUZ1                   
 327 : C                                                                               
 327 :              CALL ELLP31(XXD2,INP,ZS,ZALFAX,ZALFAR,ZALFAY,ZALFAZ,               
 328 :      *       Z10X ,Z11X ,Z1,Z2,Z30X ,Z31X ,Z32X ,Z33X ,Z34X ,ZZ3,               
 329 :      *       Z40X ,Z41X ,Z42X ,Z43X ,Z44X ,ZZ4)                                 
 330 : C                                                                               
 330 :              CALL ELLP31(XXL2,INP,ZS,ZALFAX,ZALFAR,ZALFAY,ZALFAZ,               
 331 :      *       Z10XL,Z11XL,Z1,Z2,Z30XL,Z31XL,Z32XL,Z33XL,Z34XL,ZZ3,               
 332 :      *       Z40XL,Z41XL,Z42XL,Z43XL,Z44XL,ZZ4)                                 
 333 : C                                                                               
 334 : C                                                                               
 335 :             ZUX2 = ZU2(19)*Z10XL-ZU2(13)*Z11XL-ZU2(7)*Z10X-ZU2(1)*Z11X          
 336 : C                                                                               
 337 :             ZUY2 =-(ZZ3*Z31X -Z33X )*ZU2(2) - (ZZ3*Z30X -Z32X )*ZU2(6)          
 338 :      *            + Z31X *ZU2(12) + Z30X *ZU2(8)                                
 339 :      *            -(ZZ3*Z31XL-Z33XL)*ZU2(14)+(ZZ3*Z30XL-Z32XL)*ZU2(18)          
 340 :      *            + Z31XL*ZU2(24) - Z30XL*ZU2(20)                               
 341 : C                                                                               
 342 :             ZUZ2 =-(ZZ4*Z41X -Z43X )*ZU2(3) - (ZZ4*Z40X -Z42X )*ZU2(5)          
 343 :      *            + Z41X *ZU2(11) + Z40X *ZU2(9)                                
 344 :      *            -(ZZ4*Z41XL-Z43XL)*ZU2(15)+(ZZ4*Z40XL-Z42XL)*ZU2(17)          
 345 :      *            + Z41XL*ZU2(23) - Z40XL*ZU2(21)                               
 346 : C                                                                               
 347 : C                                                                               
 348 :             ZUX2 = ZUX2 * ZD(1)                                                 
 349 :             ZUY2 = ZUY2 * ZD(2)                                                 
 350 :             ZUZ2 = ZUZ2 * ZD(3)                                                 
 351 : C                                                                               
 352 : C                                                                               
 353 :             ZX2 = R1(1,1)*ZUX2 + R1(1,2)*ZUY2 + R1(1,3)*ZUZ2                    
 354 :             ZY2 = R1(2,1)*ZUX2 + R1(2,2)*ZUY2 + R1(2,3)*ZUZ2                    
 355 :             ZZ2 = R1(3,1)*ZUX2 + R1(3,2)*ZUY2 + R1(3,3)*ZUZ2                    
 356 : C                                                                               
 357 : C                                                                               
 358 :             PRZX1 = ZX1
 359 :             PIZX1 = ZX1*(0.D0,-1.D0)
 360 :             PRZY1 = ZY1
 361 :             PIZY1 = ZY1*(0.D0,-1.D0)
 362 :             PRZZ1 = ZZ1
 363 :             PIZZ1 = ZZ1*(0.D0,-1.D0)
 364 :             PRZX2 = ZX2
 365 :             PIZX2 = ZX2*(0.D0,-1.D0)
 366 :             PRZY2 = ZY2
 367 :             PIZY2 = ZY2*(0.D0,-1.D0)
 368 :             PRZZ2 = ZZ2
 369 :             PIZZ2 = ZZ2*(0.D0,-1.D0)
 370 : C                                                                               
 371 :             IF (ABS(PRZX1).LT.1.E-38.AND.ABS(PIZX1).LT.1.E-38) THEN             
 372 :                PPX1 = 0.D0                                                      
 373 :             ELSE                                                                
 374 :                PPX1 = ATAN2(PIZX1,PRZX1)*180.D0/XPI                             
 375 :             END IF                                                              
 376 : C                                                                               
 377 :             IF (ABS(PRZY1).LT.1.E-38.AND.ABS(PIZY1).LT.1.E-38) THEN             
 378 :                PPY1 = 0.D0                                                      
 379 :             ELSE                                                                
 380 :                PPY1 = ATAN2(PIZY1,PRZY1)*180.D0/XPI                             
 381 :             END IF                                                              
 382 : C                                                                               
 383 :             IF (ABS(PRZZ1).LT.1.E-38.AND.ABS(PIZZ1).LT.1.E-38) THEN             
 384 :                PPZ1 = 0.D0                                                      
 385 :             ELSE                                                                
 386 :                PPZ1 = ATAN2(PIZZ1,PRZZ1)*180.D0/XPI                             
 387 :             END IF                                                              
 388 : C                                                                               
 389 : C                                                                               
 390 :             IF (ABS(PRZX2).LT.1.E-38.AND.ABS(PIZX2).LT.1.E-38) THEN             
 391 :                PPX2 = 0.D0                                                      
 392 :             ELSE                                                                
 393 :                PPX2 = ATAN2(PIZX2,PRZX2)*180.D0/XPI                             
 394 :             END IF                                                              
 395 : C                                                                               
 396 :             IF (ABS(PRZY2).LT.1.E-38.AND.ABS(PIZY2).LT.1.E-38) THEN             
 397 :                PPY2 = 0.D0                                                      
 398 :             ELSE                                                                
 399 :                PPY2 = ATAN2(PIZY2,PRZY2)*180.D0/XPI                             
 400 :             END IF                                                              
 401 : C                                                                               
 402 :             IF (ABS(PRZZ2).LT.1.E-38.AND.ABS(PIZZ2).LT.1.E-38) THEN             
 403 :                PPZ2 = 0.D0                                                      
 404 :             ELSE                                                                
 405 :                PPZ2 = ATAN2(PIZZ2,PRZZ2)*180.D0/XPI                             
 406 :             END IF                                                              
 407 : C                                                                               
 408 :             VALDE1(1,IN,1) = ABS(ZX1)                                           
 409 :             VALDE1(1,IN,2) = ABS(ZY1)                                           
 410 :             VALDE1(1,IN,3) = ABS(ZZ1)                                           
 411 :             VALDE1(2,IN,1) = ABS(ZX2)                                           
 412 :             VALDE1(2,IN,2) = ABS(ZY2)                                           
 413 :             VALDE1(2,IN,3) = ABS(ZZ2)                                           
 414 : C                                                                               
 415 :             VALDE2(1,IN,1) = PPX1                                               
 416 :             VALDE2(1,IN,2) = PPY1                                               
 417 :             VALDE2(1,IN,3) = PPZ1                                               
 418 :             VALDE2(2,IN,1) = PPX2                                               
 419 :             VALDE2(2,IN,2) = PPY2                                               
 420 :             VALDE2(2,IN,3) = PPZ2                                               
 421 : C                                                                               
 422 : C                                                                               
 423 :         END IF                                                                  
 424 : C                                                                               
 425 : 110     CONTINUE                                                                
 426 : C                                                                               
 427 : 100     CONTINUE                                                                
 428 : C                                                                               
 429 :         END                                                                     
 430 :  
 431 :  

© Cast3M 2003 - All rights reserved.
Disclaimer