Download tpr15a.eso

Back to the list

   1 : C TPR15A    SOURCE    CHAT      05/01/13    03:43:25     5004           
   2 :       SUBROUTINE TPR15A(POINTS,QSIGAU,ETAGAU,DZEGAU,POIGAU,SHPTOT)              
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : ************************************************************************        
   6 : *                                                                               
   7 : *                             T P R 1 5 A                                       
   8 : *                             -----------                                       
   9 : *                                                                               
  10 : * FONCTION: ON ACQUIERT:                                                        
  11 : * ---------    - LES COORDONNEES INTRINSEQUES                                   
  12 : *              - LES FONCTIONS DE FORME ET LEURS DERIVEES                       
  13 : *           POUR L'ELEMENT DE THERMIQUE PR15.                                   
  14 : *                                                                               
  15 : * MODULES UTILISES:                                                             
  16 : * -----------------                                                             
  17 : *                                                                               
  18 : -INC CCOPTIO                                                                    
  19 : *                                                                               
  20 : * PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)          
  21 : * -----------                                                                   
  22 : *                                                                               
  23 : *     POINTS  (E)  CHAINE DE CARACTERES:                                        
  24 : *                  'NOEUDS' SI ON VEUT LES VALEURS AUX NOEUDS                   
  25 : *                  'GAUSS' POUR LES VALEURS AUX POINTS DE GAUSS.                
  26 : *     QSIGAU  (S) |                                                             
  27 : *     ETAGAU  (S) | COORDONNEES INTRINSEQUES.                                   
  28 : *     DZEGAU  (S) |                                                             
  29 : *     POIGAU  (S)  POIDS D'INTEGRATION,SI ON A 'GAUSS'.                         
  30 : *     SHPTOT  (S)  FONCTIONS DE FORME ET LEURS DERIVEES.                        
  31 : *                                                                               
  32 :       REAL*8 QSIGAU(21),ETAGAU(21),DZEGAU(21),POIGAU(21)                        
  33 :       REAL*8 SHPTOT(6,15,21)                                                    
  34 :       REAL*8 VT(6),DVXT(6),DVYT(6)                                              
  35 :       CHARACTER*(*) POINTS                                                      
  36 : *                                                                               
  37 : * CONSTANTES:                                                                   
  38 : * -----------                                                                   
  39 : *                                                                               
  40 : *                                                                               
  41 :       PARAMETER ( O0=0.D0 )                                                     
  42 :       PARAMETER ( O1=1.D0 )                                                     
  43 :       PARAMETER ( O5=0.5D0 )                                                    
  44 :       PARAMETER ( O2=2.D0 )                                                     
  45 :       PARAMETER ( S=0.774596669241483D0 )                                       
  46 :       PARAMETER ( A=0.470142064105115D0 )                                       
  47 :       PARAMETER ( B=0.101286507323456D0 )                                       
  48 :       PARAMETER ( C=0.333333333333333D0 )                                       
  49 :       PARAMETER ( W234=0.0661970763942530D0 )                                   
  50 :       PARAMETER ( W567=0.0629695902724135D0 )                                   
  51 :       PARAMETER ( W234HB=W234*5.D0/9.D0 )                                       
  52 :       PARAMETER ( W234C=W234*8.D0/9.D0 )                                        
  53 :       PARAMETER ( W567HB=W567*5.D0/9.D0 )                                       
  54 :       PARAMETER ( W567C=W567*8.D0/9.D0 )                                        
  55 :       PARAMETER ( W116=1.D0/16.D0 )                                             
  56 :       PARAMETER ( W01=0.1D0 )                                                   
  57 :       PARAMETER ( O3=3.D0 )                                                     
  58 :       PARAMETER ( O4=4.D0 )                                                     
  59 : *                                                                               
  60 : *                                                                               
  61 : * AUTEUR, DATE DE CREATION:                                                     
  62 : * -------------------------                                                     
  63 : *                                                                               
  64 : *   J-P.SAUSSAIS OCT.77,REPRIS PAR DENIS ROBERT,LE 26 OCTOBRE 1987.             
  65 : *                                                                               
  66 : * LANGAGE:                                                                      
  67 : * --------                                                                      
  68 : *                                                                               
  69 : *             FORTRAN77                                                         
  70 : *                                                                               
  71 : ************************************************************************        
  72 : *                                                                               
  73 :       IF (POINTS(1:5).EQ.'NOEUD') GOTO 66                                       
  74 :       IF (POINTS(1:5).NE.'GAUSS') GOTO 200                                      
  75 : *                                                                               
  76 : *     COORDONNEES DES 21 POINTS DE GAUSS                                        
  77 : *                                                                               
  78 :       NBPGAU=21                                                                 
  79 :       NBNO=15                                                                   
  80 :       QSIGAU(1) = C                                                             
  81 :       ETAGAU(1) = C                                                             
  82 :       DZEGAU(1) =-S                                                             
  83 :       QSIGAU(2) = A                                                             
  84 :       ETAGAU(2) = A                                                             
  85 :       DZEGAU(2) =-S                                                             
  86 :       QSIGAU(3) = O1-O2*A                                                       
  87 :       ETAGAU(3) = A                                                             
  88 :       DZEGAU(3) =-S                                                             
  89 :       QSIGAU(4) = A                                                             
  90 :       ETAGAU(4) = O1-O2*A                                                       
  91 :       DZEGAU(4) =-S                                                             
  92 :       QSIGAU(5) = B                                                             
  93 :       ETAGAU(5) = B                                                             
  94 :       DZEGAU(5) =-S                                                             
  95 :       QSIGAU(6) = O1-O2*B                                                       
  96 :       ETAGAU(6) = B                                                             
  97 :       DZEGAU(6) =-S                                                             
  98 :       QSIGAU(7) = B                                                             
  99 :       ETAGAU(7) = O1-O2*B                                                       
 100 :       DZEGAU(7) =-S                                                             
 101 :       QSIGAU(8) = C                                                             
 102 :       ETAGAU(8) = C                                                             
 103 :       DZEGAU(8) = O0                                                            
 104 :       QSIGAU(9) = A                                                             
 105 :       ETAGAU(9) = A                                                             
 106 :       DZEGAU(9) = O0                                                            
 107 :       QSIGAU(10)= O1-O2*A                                                       
 108 :       ETAGAU(10)= A                                                             
 109 :       DZEGAU(10)= O0                                                            
 110 :       QSIGAU(11)= A                                                             
 111 :       ETAGAU(11)= O1-O2*A                                                       
 112 :       DZEGAU(11)= O0                                                            
 113 :       QSIGAU(12)= B                                                             
 114 :       ETAGAU(12)= B                                                             
 115 :       DZEGAU(12)= O0                                                            
 116 :       QSIGAU(13)= O1-O2*B                                                       
 117 :       ETAGAU(13)= B                                                             
 118 :       DZEGAU(13)= O0                                                            
 119 :       QSIGAU(14)= B                                                             
 120 :       ETAGAU(14)= O1-O2*B                                                       
 121 :       DZEGAU(14)= O0                                                            
 122 :       QSIGAU(15)= C                                                             
 123 :       ETAGAU(15)= C                                                             
 124 :       DZEGAU(15)= S                                                             
 125 :       QSIGAU(16)= A                                                             
 126 :       ETAGAU(16)= A                                                             
 127 :       DZEGAU(16)= S                                                             
 128 :       QSIGAU(17)= O1-O2*A                                                       
 129 :       ETAGAU(17)= A                                                             
 130 :       DZEGAU(17)= S                                                             
 131 :       QSIGAU(18)= A                                                             
 132 :       ETAGAU(18)= O1-O2*A                                                       
 133 :       DZEGAU(18)= S                                                             
 134 :       QSIGAU(19)= B                                                             
 135 :       ETAGAU(19)= B                                                             
 136 :       DZEGAU(19)= S                                                             
 137 :       QSIGAU(20)= O1-O2*B                                                       
 138 :       ETAGAU(20)= B                                                             
 139 :       DZEGAU(20)= S                                                             
 140 :       QSIGAU(21)= B                                                             
 141 :       ETAGAU(21)= O1-O2*B                                                       
 142 :       DZEGAU(21)= S                                                             
 143 : *                                                                               
 144 : *     POIDS                                                                     
 145 : *                                                                               
 146 :       POIGAU(1) =W116                                                           
 147 :       POIGAU(2) =W234HB                                                         
 148 :       POIGAU(3) =W234HB                                                         
 149 :       POIGAU(4) =W234HB                                                         
 150 :       POIGAU(5) =W567HB                                                         
 151 :       POIGAU(6) =W567HB                                                         
 152 :       POIGAU(7) =W567HB                                                         
 153 :       POIGAU(8) =W01                                                            
 154 :       POIGAU(9) =W234C                                                          
 155 :       POIGAU(10)=W234C                                                          
 156 :       POIGAU(11)=W234C                                                          
 157 :       POIGAU(12)=W567C                                                          
 158 :       POIGAU(13)=W567C                                                          
 159 :       POIGAU(14)=W567C                                                          
 160 :       POIGAU(15)=W116                                                           
 161 :       POIGAU(16)=W234HB                                                         
 162 :       POIGAU(17)=W234HB                                                         
 163 :       POIGAU(18)=W234HB                                                         
 164 :       POIGAU(19)=W567HB                                                         
 165 :       POIGAU(20)=W567HB                                                         
 166 :       POIGAU(21)=W567HB                                                         
 167 :       GOTO 2                                                                    
 168 : *                                                                               
 169 : *     COORDONNEES INTRINSEQUES DES NOEUDS                                       
 170 : *                                                                               
 171 :    66 CONTINUE                                                                  
 172 :       NBNO=15                                                                   
 173 :       NBPGAU=NBNO                                                               
 174 :       QSIGAU(1)=O0                                                              
 175 :       ETAGAU(1)=O0                                                              
 176 :       DZEGAU(1)=-O1                                                             
 177 :       QSIGAU(2)=O5                                                              
 178 :       ETAGAU(2)=O0                                                              
 179 :       DZEGAU(2)=-O1                                                             
 180 :       QSIGAU(3)=O1                                                              
 181 :       ETAGAU(3)=O0                                                              
 182 :       DZEGAU(3)=-O1                                                             
 183 :       QSIGAU(4)=O5                                                              
 184 :       ETAGAU(4)=O5                                                              
 185 :       DZEGAU(4)=-O1                                                             
 186 :       QSIGAU(5)=O0                                                              
 187 :       ETAGAU(5)=O1                                                              
 188 :       DZEGAU(5)=-O1                                                             
 189 :       QSIGAU(6)=O0                                                              
 190 :       ETAGAU(6)=O5                                                              
 191 :       DZEGAU(6)=-O1                                                             
 192 :       QSIGAU(7)=O0                                                              
 193 :       ETAGAU(7)=O0                                                              
 194 :       DZEGAU(7)=O0                                                              
 195 :       QSIGAU(8)=O1                                                              
 196 :       ETAGAU(8)=O0                                                              
 197 :       DZEGAU(8)=O0                                                              
 198 :       QSIGAU(9)=O0                                                              
 199 :       ETAGAU(9)=O1                                                              
 200 :       DZEGAU(9)=O0                                                              
 201 :       QSIGAU(10)=O0                                                             
 202 :       ETAGAU(10)=O0                                                             
 203 :       DZEGAU(10)=O1                                                             
 204 :       QSIGAU(11)=O5                                                             
 205 :       ETAGAU(11)=O0                                                             
 206 :       DZEGAU(11)=O1                                                             
 207 :       QSIGAU(12)=O1                                                             
 208 :       ETAGAU(12)=O0                                                             
 209 :       DZEGAU(12)=O1                                                             
 210 :       QSIGAU(13)=O5                                                             
 211 :       ETAGAU(13)=O5                                                             
 212 :       DZEGAU(13)=O1                                                             
 213 :       QSIGAU(14)=O0                                                             
 214 :       ETAGAU(14)=O1                                                             
 215 :       DZEGAU(14)=O1                                                             
 216 :       QSIGAU(15)=O0                                                             
 217 :       ETAGAU(15)=O5                                                             
 218 :       DZEGAU(15)=O1                                                             
 219 : C                                                                               
 220 : C---  FONCTIONS DE FORME                                                        
 221 : C                                                                               
 222 :     2 DO 20 I=1,NBPGAU                                                          
 223 :       X=QSIGAU(I)                                                               
 224 :       Y=ETAGAU(I)                                                               
 225 :       Z=DZEGAU(I)                                                               
 226 : C                                                                               
 227 : C---  FONCTIONS DE FORME DU T6 DE BASE                                          
 228 : C                                                                               
 229 :       XY1=O1-X-Y                                                                
 230 :       VT(1)=O2*XY1*(O5-X-Y)                                                     
 231 :       VT(2)=O4*X*XY1                                                            
 232 :       VT(3)=O2*X*(X-O5)                                                         
 233 :       VT(4)=O4*X*Y                                                              
 234 :       VT(5)=O2*Y*(Y-O5)                                                         
 235 :       VT(6)=O4*XY1*Y                                                            
 236 : C                                                                               
 237 : C---  DERIVEES DES FONCTIONS DE FORME DU T6 DE BASE                             
 238 : C                                                                               
 239 :       DVXT(1)=O4*(X+Y)-O3                                                       
 240 :       DVXT(2)=O4*(O1-X-X-Y)                                                     
 241 :       DVXT(3)=O4*X-O1                                                           
 242 :       DVXT(4)=O4*Y                                                              
 243 :       DVXT(5)=O0                                                                
 244 :       DVXT(6)=-O4*Y                                                             
 245 : C                                                                               
 246 :       DVYT(1)=O4*(X+Y)-O3                                                       
 247 :       DVYT(2)=-O4*X                                                             
 248 :       DVYT(3)=O0                                                                
 249 :       DVYT(4)=O4*X                                                              
 250 :       DVYT(5)=O4*Y-O1                                                           
 251 :       DVYT(6)=O4*(O1-X-Y-Y)                                                     
 252 : C                                                                               
 253 : C---  FONCTIONS DE FORME DU PRISME                                              
 254 : C                                                                               
 255 :       ZM1=(O1-Z)*O5                                                             
 256 :       ZP1=(O1+Z)*O5                                                             
 257 :       ZM2=O1-Z*Z                                                                
 258 : C                                                                               
 259 :       SHPTOT(1,7,I)=ZM2*XY1                                                     
 260 :       SHPTOT(1,8,I)=ZM2*X                                                       
 261 :       SHPTOT(1,9,I)=ZM2*Y                                                       
 262 : C                                                                               
 263 :       SHPTOT(1,1,I)=ZM1*VT(1)-SHPTOT(1,7,I)*O5                                  
 264 :       SHPTOT(1,2,I)=ZM1*VT(2)                                                   
 265 :       SHPTOT(1,3,I)=ZM1*VT(3)-SHPTOT(1,8,I)*O5                                  
 266 :       SHPTOT(1,4,I)=ZM1*VT(4)                                                   
 267 :       SHPTOT(1,5,I)=ZM1*VT(5)-SHPTOT(1,9,I)*O5                                  
 268 :       SHPTOT(1,6,I)=ZM1*VT(6)                                                   
 269 : C                                                                               
 270 :       SHPTOT(1,10,I)=ZP1*VT(1)-SHPTOT(1,7,I)*O5                                 
 271 :       SHPTOT(1,11,I)=ZP1*VT(2)                                                  
 272 :       SHPTOT(1,12,I)=ZP1*VT(3)-SHPTOT(1,8,I)*O5                                 
 273 :       SHPTOT(1,13,I)=ZP1*VT(4)                                                  
 274 :       SHPTOT(1,14,I)=ZP1*VT(5)-SHPTOT(1,9,I)*O5                                 
 275 :       SHPTOT(1,15,I)=ZP1*VT(6)                                                  
 276 : C                                                                               
 277 : C---  DERIVEES EN X DES FONCTIONS DE FORME                                      
 278 : C                                                                               
 279 :       SHPTOT(2,7,I) =-ZM2                                                       
 280 :       SHPTOT(2,8,I)=ZM2                                                         
 281 :       SHPTOT(2,9,I) =O0                                                         
 282 : C                                                                               
 283 :       SHPTOT(2,1,I)=ZM1*DVXT(1)-SHPTOT(2,7,I)*O5                                
 284 :       SHPTOT(2,2,I)=ZM1*DVXT(2)                                                 
 285 :       SHPTOT(2,3,I)=ZM1*DVXT(3)-SHPTOT(2,8,I)*O5                                
 286 :       SHPTOT(2,4,I)=ZM1*DVXT(4)                                                 
 287 :       SHPTOT(2,5,I)=ZM1*DVXT(5)-SHPTOT(2,9,I)*O5                                
 288 :       SHPTOT(2,6,I)=ZM1*DVXT(6)                                                 
 289 : C                                                                               
 290 :       SHPTOT(2,10,I)=ZP1*DVXT(1)-SHPTOT(2,7,I)*O5                               
 291 :       SHPTOT(2,11,I)=ZP1*DVXT(2)                                                
 292 :       SHPTOT(2,12,I)=ZP1*DVXT(3)-SHPTOT(2,8,I)*O5                               
 293 :       SHPTOT(2,13,I)=ZP1*DVXT(4)                                                
 294 :       SHPTOT(2,14,I)=ZP1*DVXT(5)-SHPTOT(2,9,I)*O5                               
 295 :       SHPTOT(2,15,I)=ZP1*DVXT(6)                                                
 296 : C                                                                               
 297 : C---  DERIVEES EN Y DES FONCTIONS DE FORME DU PRISME                            
 298 : C                                                                               
 299 :       SHPTOT(3,7,I) =-ZM2                                                       
 300 :       SHPTOT(3,8,I)=O0                                                          
 301 :       SHPTOT(3,9,I) =ZM2                                                        
 302 : C                                                                               
 303 :       SHPTOT(3,1,I)=ZM1*DVYT(1)-SHPTOT(3,7,I)*O5                                
 304 :       SHPTOT(3,2,I)=ZM1*DVYT(2)                                                 
 305 :       SHPTOT(3,3,I)=ZM1*DVYT(3)-SHPTOT(3,8,I)*O5                                
 306 :       SHPTOT(3,4,I)=ZM1*DVYT(4)                                                 
 307 :       SHPTOT(3,5,I)=ZM1*DVYT(5)-SHPTOT(3,9,I)*O5                                
 308 :       SHPTOT(3,6,I)=ZM1*DVYT(6)                                                 
 309 : C                                                                               
 310 :       SHPTOT(3,10,I)=ZP1*DVYT(1)-SHPTOT(3,7,I)*O5                               
 311 :       SHPTOT(3,11,I)=ZP1*DVYT(2)                                                
 312 :       SHPTOT(3,12,I)=ZP1*DVYT(3)-SHPTOT(3,8,I)*O5                               
 313 :       SHPTOT(3,13,I)=ZP1*DVYT(4)                                                
 314 :       SHPTOT(3,14,I)=ZP1*DVYT(5)-SHPTOT(3,9,I)*O5                               
 315 :       SHPTOT(3,15,I)=ZP1*DVYT(6)                                                
 316 : C                                                                               
 317 : C---  DERIVEES EN Z DES FONCTIONS DE FORME                                      
 318 : C                                                                               
 319 :       SHPTOT(4,7,I) =-O2*Z*XY1                                                  
 320 :       SHPTOT(4,8,I)=-O2*Z*X                                                     
 321 :       SHPTOT(4,9,I) =-O2*Z*Y                                                    
 322 : C                                                                               
 323 :       SHPTOT(4,1,I)=-(VT(1)+SHPTOT(4,7,I))*O5                                   
 324 :       SHPTOT(4,2,I) =-VT(2)*O5                                                  
 325 :       SHPTOT(4,3,I)=-(VT(3)+SHPTOT(4,8,I))*O5                                   
 326 :       SHPTOT(4,4,I) =-VT(4)*O5                                                  
 327 :       SHPTOT(4,5,I)=-(VT(5)+SHPTOT(4,9,I))*O5                                   
 328 :       SHPTOT(4,6,I) =-VT(6)*O5                                                  
 329 : C                                                                               
 330 :       SHPTOT(4,10,I)=(VT(1)-SHPTOT(4,7,I))*O5                                   
 331 :       SHPTOT(4,11,I) =VT(2)*O5                                                  
 332 :       SHPTOT(4,12,I)=(VT(3)-SHPTOT(4,8,I))*O5                                   
 333 :       SHPTOT(4,13,I) =VT(4)*O5                                                  
 334 :       SHPTOT(4,14,I)=(VT(5)-SHPTOT(4,9,I))*O5                                   
 335 :       SHPTOT(4,15,I) =VT(6)*O5                                                  
 336 :    20 CONTINUE                                                                  
 337 :       RETURN                                                                    
 338 :  200  CONTINUE                                                                  
 338 :       CALL ERREUR(19)                                                           
 339 : *                                                                               
 340 :       END                                                                       
 341 :  

© Cast3M 2003 - All rights reserved.
Disclaimer