C TRJ602    SOURCE    CHAT      05/01/13    03:48:14     5004
      SUBROUTINE TRJ602(XNOEU,X,G,IER)
C
C
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C     CALCUL DES COORDONNEES DE REFERENCES DANS UN TRI6
C     XNOEU COORDONNEES DES SOMMETS
C     X                 REELLES
C     G                 REFERENCES
C     IER INDICE D'ERREUR
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
      DIMENSION XNOEU(2,6),X(2),XN(6),G(2),DX(2),DG(2)
      DIMENSION Y(2),D1XN(6),D2XN(6),A(2,2),B(2,2)

-INC PPARAM
-INC CCOPTIO
C
C
      NOEL=6
C     IDIM=2
C
C
      G(1)=1.D0/3.D0
      G(2)=1.D0/3.D0
C
      N1=15
      DO 10 K=1,N1
C
      XN(1)=-(1.D0-G(1)-G(2))*(1.D0-2.D0*(1.D0-G(1)-G(2)))
      XN(2)= 4.D0*G(1)*(1.D0-G(1)-G(2))
      XN(3)=-G(1)*(1.D0-2.D0*G(1))
      XN(4)= 4.D0*G(1)*G(2)
      XN(5)=-G(2)*(1.D0-2.D0*G(2))
      XN(6)= 4.D0*G(2)*(1.D0-G(1)-G(2))
C
      Y(1)=0.D0
      Y(2)=0.D0
      DO 1 I=1,NOEL
      Y(1)=XNOEU(1,I)*XN(I)+Y(1)
      Y(2)=XNOEU(2,I)*XN(I)+Y(2)
   1  CONTINUE
C
      DX(1)=X(1)-Y(1)
      DX(2)=X(2)-Y(2)
C
      D1XN(1)=1.D0-4.D0*(1.D0-G(1)-G(2))
      D1XN(2)=4.D0*(1.D0-2.D0*G(1)-G(2))
      D1XN(3)=-1.D0+4.D0*G(1)
      D1XN(4)= 4.D0*G(2)
      D1XN(5)=0.D0
      D1XN(6)=-4.D0*G(2)
C
      D2XN(1)=1.D0-4.D0*(1.D0-G(1)-G(2))
      D2XN(2)=-4.D0*G(1)
      D2XN(3)=0.D0
      D2XN(4)=4.D0*G(1)
      D2XN(5)=-1.D0+4.D0*G(2)
      D2XN(6)=4.D0*(1.D0-G(1)-2.D0*G(2))
C
C
      A(1,1)=0.D0
      A(1,2)=0.D0
      A(2,1)=0.D0
      A(2,2)=0.D0
C
      DO 3 I=1,NOEL
      A(1,1)=D1XN(I)*XNOEU(1,I)+A(1,1)
      A(1,2)=D1XN(I)*XNOEU(2,I)+A(1,2)
      A(2,1)=D2XN(I)*XNOEU(1,I)+A(2,1)
      A(2,2)=D2XN(I)*XNOEU(2,I)+A(2,2)
   3  CONTINUE
C
      DEL=A(1,1)*A(2,2)-A(2,1)*A(1,2)
C
      B(1,1)=1.D0/DEL*A(2,2)
      B(2,2)=1.D0/DEL*A(1,1)
      B(1,2)=-1.D0/DEL*A(2,1)
      B(2,1)=-1.D0/DEL*A(1,2)
C
      DG(1)=B(1,1)*DX(1)+B(1,2)*DX(2)
      DG(2)=B(2,1)*DX(1)+B(2,2)*DX(2)
C
      G(1)=DG(1)+G(1)
      G(2)=DG(2)+G(2)
C
      DA1=ABS(DG(1))
      DA2=ABS(DG(2))
      IF(DA1.LE.0.0001.AND.DA2.LE.0.0001)GO TO 51
C
C
  10  CONTINUE
C
C     IF(K.GE.N1)WRITE(6,101)X(1),X(2),DA1,DA2
      MOTERR(1:8)='TRJ602  '
      REAERR(1)=X(1)
      REAERR(2)=X(2)
      REAERR(3)=0.
C     CALL ERREUR(-300)
      IER=-300
C
  51  CONTINUE
C
C     G(1)=XG1
C     G(2)=YG1
C
      RETURN
 101  FORMAT(//,3X,' PB CONVERGENCE TRJ602 AU POINT SITUE EN '
     *,2(1PE12.5),/,3X,' CONVERGENCE RELATIVE ',2(1PE12.5))
C
      END


