C COBAR4    SOURCE    CHAT      05/01/12    22:12:17     5004
      SUBROUTINE COBAR4(X,XELE,TLI)
C
C**********************************************************************
C
C   OBJET  : CE SOUS-PROGRAMME CALCULE LES FONCTIONS DE FORME DANS UN
C   -----    TETRAEDRE AU POINT DONT LES COORDONNEES SONT DANS X
C
C   ARGUMENTS:
C   ---------
C
C   ENTREE  :
C              X      = TABLEAU DES COORDONNEES DU POINT
C              XELE   = TABLEAU DES COORDONNEES DU TETRAEDRE
C
C   SORTIE  :
C              TLI    = TABLEAU DES COORDONNEES BARYCENTRIQUES
C
C***********************************************************************
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION X(3),XELE(3,*),NUPLAN(4),NOEPLA(4,4),
     *          AUX(3),TLI(4)
C
C
C
      DATA NUPLAN/3,4,2,1/
      DATA NOEPLA/1,3,2,1 ,1,2,4,1 ,2,3,4,2 ,1,4,3,1/
C
C
C
C
C
C
C
C
      DO 20 I=1,4
      COEFX=0.0
      COEFY=0.0
      COEFZ=0.0
      CONS =0.0
      CONSNI=0.0
      IPLAN=NUPLAN(I)
      DO 10 J=1,3
      J1=J+1
      NOE1=NOEPLA(J,IPLAN)
      NOE2=NOEPLA(J1,IPLAN)
      AUX(J)=XELE(2,NOE1)*XELE(3,NOE2)-XELE(2,NOE2)*XELE(3,NOE1)
      AUY=-XELE(1,NOE1)*XELE(3,NOE2)+XELE(1,NOE2)*XELE(3,NOE1)
      COEFY=COEFY+AUY
      AUZ=XELE(1,NOE1)*XELE(2,NOE2)-XELE(1,NOE2)*XELE(2,NOE1)
      COEFZ=COEFZ+AUZ
   10 CONTINUE
      COEFX=AUX(1)+AUX(2)+AUX(3)
      NOE1=NOEPLA(1,IPLAN)
      NOE2=NOEPLA(2,IPLAN)
      NOE3=NOEPLA(3,IPLAN)
      CONS=-XELE(1,NOE3)*AUX(1)-XELE(1,NOE1)*AUX(2)-XELE(1,NOE2)*AUX(3)
      CONSNI=XELE(1,I)*COEFX +XELE(2,I)*COEFY +XELE(3,I)*COEFZ+CONS
      PLAN=X(1)*COEFX+X(2)*COEFY+X(3)*COEFZ+CONS
      TLI(I)=PLAN/CONSNI
   20 CONTINUE
C
C
 999  RETURN
      END

