Download trj603.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer