Download trj902.eso

Back to the list

   1 : C TRJ902    SOURCE    CHAT      05/01/13    03:48:29     5004           
   2 :       SUBROUTINE TRJ902(XNOEU,X,G,IER)
   3 : C                                                                               
   4 : C                                                                               
   5 : C                                                                               
   6 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          
   7 : C                                                                               
   8 : C     CALCUL DES COORDONNEES DE REFERENCES DANS UN QUA9                         
   9 : C     XNOEU COORDONNEES DES SOMMETS                                             
  10 : C     X               REELLES                                                   
  11 : C     G                 REFERENCES                                              
  12 : C     IER  INDICE D'ERREUR
  13 : C                                                                               
  14 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         
  15 : C                                                                               
  16 : C                                                                               
  17 : C                                                                               
  18 :       IMPLICIT INTEGER(I-N)
  19 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  20 : C                                                                               
  21 :       DIMENSION XNOEU(2,9),X(2),XN(9),G(2),DX(2),DG(2)                          
  22 :       DIMENSION Y(2),D1XN(9),D2XN(9),A(2,2),B(2,2)                              
  23 : -INC CCOPTIO
  24 : C                                                                               
  25 : C                                                                               
  26 :       NOEL=9                                                                    
  27 : C     IDIM=2
  28 : C                                                                               
  29 : C                                                                               
  30 : C                                                                               
  31 : C                                                                               
  32 :       G(1)=0.5D0                                                                  
  33 :       G(2)=0.5D0                                                                  
  34 : C                                                                               
  35 :       N1=15                                                                     
  36 :       DO 10 K=1,N1                                                              
  37 : C                                                                               
  38 :       XN(1)= 0.25D0*(1.D0-G(1))*(1.D0-G(2))*G(1)*G(2)                                 
  39 :       XN(2)=-0.5D0 *(1.D0-G(1)*G(1))*(1.D0-G(2))*G(2)                                 
  40 :       XN(3)=-0.25D0*(1.D0+G(1))*(1.D0-G(2))*G(1)*G(2)                                 
  41 :       XN(4)= 0.5D0 *(1.D0+G(1))*(1.D0-G(2)*G(2))*G(2)                                 
  42 :       XN(5)= 0.25D0*(1.D0+G(1))*(1.D0+G(2))*G(1)*G(2)                                 
  43 :       XN(6)= 0.5D0 *(1.D0-G(1)*G(1))*(1.D0+G(2))*G(2)                                 
  44 :       XN(7)=-0.25D0*(1.D0-G(1))*(1.D0+G(2))*G(1)*G(2)                                 
  45 :       XN(8)=-0.5D0 *(1.D0-G(1))*(1.D0-G(2)*G(2))*G(1)                                 
  46 :       XN(9)=      (1.D0-G(1)*G(1))*(1.D0-G(2)*G(2))                                 
  47 : C                                                                               
  48 :       Y(1)=0.D0
  49 :       Y(2)=0.D0
  50 :       DO 1 I =1,NOEL                                                            
  51 :       Y(1)=Y(1)+XN(I)*XNOEU(1,I)                                                
  52 :       Y(2)=Y(2)+XN(I)*XNOEU(2,I)                                                
  53 :    1  CONTINUE                                                                  
  54 : C                                                                               
  55 :       DX(1)=X(1)-Y(1)                                                           
  56 :       DX(2)=X(2)-Y(2)                                                           
  57 : C                                                                               
  58 :       D1XN(1)= 0.25D0*(1.D0-2.D0*G(1))*(1.D0-G(2))*G(2)                                 
  59 :       D1XN(2)=     (1.D0-G(2))*G(1)*G(2)                                          
  60 :       D1XN(3)=-0.25D0*(1.D0+2.D0*G(1))*(1.D0-G(2))*G(2)                                 
  61 :       D1XN(4)= 0.5D0 *(1.D0+2.D0*G(1))*(1.D0-G(2)*G(2))                                 
  62 :       D1XN(5)= 0.25D0*(1.D0+2.D0*G(1))*(1.D0+G(2))*G(2)                                 
  63 :       D1XN(6)=-     (1.D0+G(2))*G(1)*G(2)                                         
  64 :       D1XN(7)=-0.25D0*(1.D0-2.D0*G(1))*(1.D0+G(2))*G(2)                                 
  65 :       D1XN(8)=-0.5D0 *(1.D0-2.D0*G(1))*(1.D0-G(2)*G(2))                                 
  66 :       D1XN(9)=-2.D0  *(1.D0-G(2)*G(2))*G(1)                                         
  67 : C                                                                               
  68 :       D2XN(1)= 0.25D0*(1.D0-G(1))*(1.D0-2.D0*G(2))*G(1)                                 
  69 :       D2XN(2)=-0.5D0 *(1.D0-G(1)*G(1))*(1.D0-2.D0*G(2))                                 
  70 :       D2XN(3)=-0.25D0*(1.D0+G(1))*(1.D0-2.D0*G(2))*G(1)                                 
  71 :       D2XN(4)=-     (1.D0+G(1))*G(1)*G(2)                                         
  72 :       D2XN(5)= 0.25D0*(1.D0+G(1))*(1.D0+2.D0*G(2))*G(1)                                 
  73 :       D2XN(6)= 0.5D0 *(1.D0-G(1)*G(1))*(1.D0+2.D0*G(2))                                 
  74 :       D2XN(7)=-0.25D0*(1.D0-G(1))*(1.D0+2.D0*G(2))*G(1)                                 
  75 :       D2XN(8)=      (1.D0-G(1))*G(1)*G(2)                                         
  76 :       D2XN(9)=-2.D0  *(1.D0-G(1)*G(1))*G(2)                                         
  77 : C                                                                               
  78 :       A(1,1)=0.D0
  79 :       A(1,2)=0.D0
  80 :       A(2,1)=0.D0
  81 :       A(2,2)=0.D0
  82 : C                                                                               
  83 :       DO 4 I=1,NOEL                                                             
  84 :       A(1,1)=D1XN(I)*XNOEU(1,I)+A(1,1)                                          
  85 :       A(1,2)=D1XN(I)*XNOEU(2,I)+A(1,2)                                          
  86 :       A(2,1)=D2XN(I)*XNOEU(1,I)+A(2,1)                                          
  87 :       A(2,2)=D2XN(I)*XNOEU(2,I)+A(2,2)                                          
  88 :    4  CONTINUE                                                                  
  89 : C                                                                               
  90 :       DEL=A(1,1)*A(2,2)-A(2,1)*A(1,2)                                           
  91 :       B(1,1)=1.D0/DEL*A(2,2)                                                      
  92 :       B(2,2)=1.D0/DEL*A(1,1)                                                      
  93 :       B(1,2)=-1.D0/DEL*A(2,1)                                                     
  94 :       B(2,1)=-1.D0/DEL*A(1,2)                                                     
  95 : C                                                                               
  96 :       DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2)                                           
  97 :       DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2)                                           
  98 : C                                                                               
  99 :       G(1)=DG(1)+G(1)                                                           
 100 :       G(2)=DG(2)+G(2)                                                           
 101 : C                                                                               
 102 :       DA1=ABS(DG(1))                                                            
 103 :       DA2=ABS(DG(2))                                                            
 104 :       IF(DA1.LE.0.0001.AND.DA2.LE.0.0001)GO TO 51
 105 :   10  CONTINUE                                                                  
 106 : C                                                                               
 107 : C                                                                               
 108 : C     IF(K.GE.N1)WRITE(6,101)X(1),X(2),DA1,DA2
 109 :       MOTERR(1:8)='TRJ902  '
 110 :       REAERR(1)=X(1)
 111 :       REAERR(2)=X(2)
 112 :       REAERR(3)=0.
 112 : C     CALL ERREUR(-300)
 113 :       IER=-300
 114 :   51  CONTINUE                                                                  
 115 : C     G(1)=XG1                                                                  
 116 : C     G(2)=YG1                                                                  
 117 : C                                                                               
 118 :       RETURN                                                                    
 119 :  101  FORMAT(//,3X,' PB DE CONVERGENCE TRJ902 AU POINT SITUE EN '
 120 :      *,2(1PE12.5),/,3X,' CONVERGENCE RELATIVE ',2(1PE12.5))
 121 : C                                                                               
 122 :       END                                                                       
 123 :  
 124 :  

© Cast3M 2003 - All rights reserved.
Disclaimer