Download coq3sh.eso

Back to the list

   1 : C COQ3SH    SOURCE    CHAT      05/01/12    22:21:34     5004           
   2 :       SUBROUTINE COQ3SH(QSI,ETA,XEL,VNM)                                        
   3 : C=======================================================================        
   4 : C                                                                               
   5 : C     EVALUATION DES FONCTIONS DE FORME DU DKT OU COQ3                          
   6 : C        BASE SUR UNE INTERPOLATION CUBIQUE DES FCTNS DE FORME                  
   7 : C                                                                               
   8 : C  ENTREES                                                                      
   9 : C   QSI ETA COORDONNEES REDUITES DU POINT DE GAUSS                              
  10 : C   XEL(3,3)=COORDONNEES LOCALES DE L ELEMENT                                   
  11 : C         NOEUD 1 2 SUR L AXE QSI  NOEUD 1 EN 0,0,0                             
  12 : C                                  NOEUD 3 DANS LE PLAN QSI ETA                 
  13 : C  SORTIES                                                                      
  14 : C   VNM(3,9)  = FONCTION DE FORME POUR W                                        
  15 : C   VNM(1,1:9)= VALEUR   DE W                                                   
  16 : C   VNM(2,1:9)= DERIVEE     W,X                                                 
  17 : C   VNM(3,1:9)= DERIVEE     W,Y                                                 
  18 : C                                                                               
  19 : C   EBERSOLT SEPTEMBRE 85                                                       
  20 : C                 IL EXISTE UNE AUTRE ROUTINE QUI CALCULE QUE W                 
  21 : C                                         C EST MFDKT                           
  22 : C=======================================================================        
  23 :       IMPLICIT INTEGER(I-N)
  24 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  25 :       DIMENSION XEL(3,*),VNM(3,*),VNX(9),VNY(9)                                 
  26 :       DATA UN,DEUX,TROIS,SIX,UNDEMI/1.D0,2.D0,3.D0,6.D0,.5D0/                   
  27 :       DATA XZER/0.D0/                                                           
  28 : C                                                                               
  29 : C     MISE A ZERO  DE VNM                                                       
  30 : C                                                                               
  31 :       DO 10 IA=1,9                                                              
  32 :       DO 10 IB=1,3                                                              
  33 :       VNM(IB,IA)=XZER                                                           
  34 :   10  CONTINUE                                                                  
  35 : C                                                                               
  36 : C         CALCUL DES FONCTIONS D INTERPOLATION                                  
  37 : C                                                                               
  38 :       AL=UN-QSI-ETA                                                             
  39 :       A=QSI*ETA*AL                                                              
  40 : C                                                                               
  41 :       VNM(1,1)= AL*AL*(TROIS-DEUX*AL)     +A*DEUX                               
  42 :       VNM(1,2)= AL*AL*QSI                 +A*UNDEMI                             
  43 :       VNM(1,3)= AL*AL*ETA                 +A*UNDEMI                             
  44 : C                                                                               
  45 :       VNM(1,4)=(TROIS-DEUX*QSI)*QSI*QSI   +A*DEUX                               
  46 :       VNM(1,5)=(QSI-UN)*QSI*QSI           -A                                    
  47 :       VNM(1,6)= QSI*QSI*ETA               +A*UNDEMI                             
  48 : C                                                                               
  49 :       VNM(1,7)=(TROIS-DEUX*ETA)*ETA*ETA   +A*DEUX                               
  50 :       VNM(1,8)= ETA*ETA*QSI               +A*UNDEMI                             
  51 :       VNM(1,9)=(ETA-UN)*ETA*ETA           -A                                    
  52 : C                                                                               
  53 : C     DERIVEES PAR RAPPORT A QSI                                                
  54 : C                                                                               
  55 :       B = ETA*(AL-QSI)                                                          
  56 : C                                                                               
  57 :       VNX(1)= SIX*AL*(AL-UN)       +B*DEUX                                      
  58 :       VNX(2)=(AL-DEUX*QSI)*AL      +B*UNDEMI                                    
  59 :       VNX(3)=-DEUX*AL*ETA          +B*UNDEMI                                    
  60 : C                                                                               
  61 :       VNX(4)= SIX*QSI*(UN-QSI)     +B*DEUX                                      
  62 :       VNX(5)= QSI*(TROIS*QSI-DEUX) -B                                           
  63 :       VNX(6)= DEUX*QSI*ETA         +B*UNDEMI                                    
  64 : C                                                                               
  65 :       VNX(7)=                       B*DEUX                                      
  66 :       VNX(8)= ETA*ETA              +B*UNDEMI                                    
  67 :       VNX(9)=                      -B                                           
  68 : C                                                                               
  69 : C     DERIVEES PAR RAPPORT A ETA                                                
  70 : C                                                                               
  71 :       C = QSI*(AL-ETA)                                                          
  72 : C                                                                               
  73 :       VNY(1)= SIX*AL*(AL-UN)        +C*DEUX                                     
  74 :       VNY(2)=-DEUX*QSI*AL           +C*UNDEMI                                   
  75 :       VNY(3)=(AL-DEUX*ETA)*AL       +C*UNDEMI                                   
  76 : C                                                                               
  77 :       VNY(4)=                        C*DEUX                                     
  78 :       VNY(5)=                       -C                                          
  79 :       VNY(6)= QSI*QSI               +C*DEUX                                     
  80 : C                                                                               
  81 :       VNY(7)= SIX*ETA*(UN-ETA)      +C*DEUX                                     
  82 :       VNY(8)= DEUX*QSI*ETA          +C*UNDEMI                                   
  83 :       VNY(9)= ETA*(TROIS*ETA-DEUX)  -C                                          
  84 : C                                                                               
  85 : C         VARIABLES DANS LE REPERE X,Y                                          
  86 : C                                                                               
  87 :       X21=XEL(1,2)-XEL(1,1)                                                     
  88 :       X13=XEL(1,1)-XEL(1,3)                                                     
  89 :       Y13=XEL(2,1)-XEL(2,3)                                                     
  90 : C                                                                               
  91 : C    CHANGEMENT DE REPERE POUR W                                                
  92 : C                                                                               
  93 :       CC    =VNM(1,2)*X21-VNM(1,3)*X13                                          
  94 :       VNM(1,2)=-VNM(1,3)*Y13                                                    
  95 :       VNM(1,3)=-CC                                                              
  96 :       CC    =VNM(1,5)*X21-VNM(1,6)*X13                                          
  97 :       VNM(1,5)=-VNM(1,6)*Y13                                                    
  98 :       VNM(1,6)=-CC                                                              
  99 :       CC    =VNM(1,8)*X21-VNM(1,9)*X13                                          
 100 :       VNM(1,8)=-VNM(1,9)*Y13                                                    
 101 :       VNM(1,9)=-CC                                                              
 102 : C                                                                               
 103 : C     CHANGEMENT DE REPERE POUR W,X                                             
 104 : C                                                                               
 105 :       VNM(2,1)= VNX(1)/X21                                                      
 106 :       VNM(2,2)=-VNX(3)*Y13/X21                                                  
 107 :       VNM(2,3)=-VNX(2)         +VNX(3)*X13/X21                                  
 108 : C                                                                               
 109 :       VNM(2,4)= VNX(4)/X21                                                      
 110 :       VNM(2,5)=-VNX(6)*Y13/X21                                                  
 111 :       VNM(2,6)=-VNX(5)         +VNX(6)*X13/X21                                  
 112 : C                                                                               
 113 :       VNM(2,7)= VNX(7)/X21                                                      
 114 :       VNM(2,8)=-VNX(9)*Y13/X21                                                  
 115 :       VNM(2,9)=-VNX(8)         +VNX(9)*X13/X21                                  
 116 : C                                                                               
 117 : C     CHANGEMENT DE REPERE POUR W,Y                                             
 118 : C                                                                               
 119 :       VNM(3,1)=-VNX(1)*X13/(X21*Y13)  - VNY(1)/Y13                              
 120 :       VNM(3,2)= VNX(3)*X13/X21        + VNY(3)                                  
 121 :       VNM(3,3)= VNX(2)*X13/Y13 -VNX(3)*X13*X13/(X21*Y13)                        
 122 :      1         +VNY(2)*X21/Y13 -VNY(3)*X13/Y13                                  
 123 : C                                                                               
 124 :       VNM(3,4)=-VNX(4)*X13/(X21*Y13)  - VNY(4)/Y13                              
 125 :       VNM(3,5)= VNX(6)*X13/X21        + VNY(6)                                  
 126 :       VNM(3,6)= VNX(5)*X13/Y13 -VNX(6)*X13*X13/(X21*Y13)                        
 127 :      1         +VNY(5)*X21/Y13 -VNY(6)*X13/Y13                                  
 128 : C                                                                               
 129 :       VNM(3,7)=-VNX(7)*X13/(X21*Y13)  - VNY(7)/Y13                              
 130 :       VNM(3,8)= VNX(9)*X13/X21        + VNY(9)                                  
 131 :       VNM(3,9)= VNX(8)*X13/Y13 -VNX(9)*X13*X13/(X21*Y13)                        
 132 :      1         +VNY(8)*X21/Y13 -VNY(9)*X13/Y13                                  
 133 : C                                                                               
 134 :       RETURN                                                                    
 135 :       END                                                                       
 136 :  

© Cast3M 2003 - All rights reserved.
Disclaimer