Download trj602.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer