Download coqloc.eso

Back to the list

   1 : C COQLOC    SOURCE    CHAT      05/01/12    22:22:17     5004           
   2 :       SUBROUTINE COQLOC(NBNN,XE,COSD1,COSD2,XEL)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : ************************************************************************        
   6 : *                                                                               
   7 : *                             C O Q L O C
   8 : *                             -----------                                       
   9 : *                                                                               
  10 : * FONCTION:                                                                     
  11 : * ---------                                                                     
  12 : *     TRANFORMATION DES COORDONNEES GLOBALES (3D) EN
  13 : *     COORDONNEES LOCALES (2D) POUR L'ELEMENT COQ3
  14 : *                                                                               
  15 : *                                                                               
  16 : * PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)          
  17 : * -----------                                                                   
  18 : *                                                                               
  19 : *     NBNN    (E)  NOMBRE DE NOEUDS DANS L'ELEMENT (ICI 3)
  20 : *     XE      (E)  COORDONNEES GLOBALES (3D) DES NOEUDS
  21 : *     COSD1   (S)  PREMIER VECTEUR DU REPERE LOCAL 2D
  22 : *     COSD2   (S)  DEUXIEME VECTEUR DU REPERE LOCAL 2D
  23 : *     XEL     (S)  COORDONNEES LOCALES (2D) DES NOEUDS
  24 : *                                                                               
  25 :       REAL*8 XE(3,NBNN),XEL(3,NBNN)             
  26 :       REAL*8 COSD1(3),COSD2(3),COSD3(3)
  27 : *                                                                               
  28 : * AUTEUR, DATE DE CREATION:                                                     
  29 : * -------------------------                                                     
  30 : *                                                                               
  31 : *     YANN STEPHAN , FEVRIER 1997 
  32 : *                                                                               
  33 : * LANGAGE:                                                                      
  34 : * --------                                                                      
  35 : *                                                                               
  36 : *     FORTRAN77                                                         
  37 : *                                                                               
  38 : ************************************************************************        
  39 : *
  40 : *     INITIALISATION
  40 :       CALL ZERO(XEL,3,NBNN)
  41 : *
  42 : *     CALCUL DES COORDONNEES DES NOEUDS DANS LE REPERE LOCAL DE L'            
  43 : *     ELEMENT COQUE                                                           
  44 : *                                                                               
  45 :       DO 60 I=1,3                                                             
  46 :         COSD1(I)=XE(I,2)-XE(I,1)                                                
  47 :         COSD2(I)=XE(I,3)-XE(I,1)                                                
  48 :   60  CONTINUE                                                                
  49 : *                                                                               
  50 :       COSD3(1)=COSD1(2)*COSD2(3)-COSD1(3)*COSD2(2)                            
  51 :       COSD3(2)=COSD1(3)*COSD2(1)-COSD1(1)*COSD2(3)                            
  52 :       COSD3(3)=COSD1(1)*COSD2(2)-COSD1(2)*COSD2(1)                            
  53 : *                                                                               
  54 :       COSD1L=SQRT(COSD1(1)*COSD1(1)+COSD1(2)*COSD1(2)+                        
  55 :      .            COSD1(3)*COSD1(3))                                         
  56 :       COSD3L=SQRT(COSD3(1)*COSD3(1)+COSD3(2)*COSD3(2)+                        
  57 :      .            COSD3(3)*COSD3(3))                                          
  58 : *                                                                               
  59 :       DO 70 I=1,3                                                             
  60 :         COSD1(I)=COSD1(I)/COSD1L                                                
  61 :         COSD3(I)=COSD3(I)/COSD3L                                                
  62 :    70 CONTINUE                                                                
  63 : *                                                                               
  64 :       COSD2(1)=COSD3(2)*COSD1(3)-COSD3(3)*COSD1(2)                            
  65 :       COSD2(2)=COSD3(3)*COSD1(1)-COSD3(1)*COSD1(3)                            
  66 :       COSD2(3)=COSD3(1)*COSD1(2)-COSD3(2)*COSD1(1)                            
  67 : *                                                                               
  68 :       DO 80 NOE=1,NBNN                                                        
  69 :         DO 80  I=1,3                                                            
  70 :           XEL(1,NOE)=XEL(1,NOE)+XE(I,NOE)*COSD1(I)                                
  71 :           XEL(2,NOE)=XEL(2,NOE)+XE(I,NOE)*COSD2(I)                                
  72 :    80 CONTINUE                                                                
  73 :       RETURN
  74 :       END
  75 :  
  76 :  

© Cast3M 2003 - All rights reserved.
Disclaimer