C KCHREP    SOURCE    CHAT      05/01/13    00:52:50     5004
      SUBROUTINE  KCHREP(NES,NSOM,O,A,U,AH,UH,H)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION O(NES),A(NES,NSOM),U(NES+1)
      DIMENSION AH(NES,NSOM),UH(NES+1)
      DIMENSION H(NES,NES),B(3,3)
C
C Calcul des facteurs de forme en 3D
C     calcul des coordonnées d'un point A dans le repere local du HC
C
C     NES  : dim espace
C     NSOM : nombre de sommets
C     O    : point de vue
C     A    : sommets du triangle
C     U    : vecteur normal unitaire
C     AH,UH : idem repere local du HC
C     H    : matrice de passage durepere HC au repere global
C

      DO 2 L=1,NSOM
      DO 20 I=1,NES
      B(I,L)=A(I,L)-O(I)
 20   CONTINUE
  2   CONTINUE

      DO 1 L=1,NSOM
      AH(1,L) = B(1,L)*H(1,1) + B(2,L)*H(1,2) + B(3,L)*H(1,3)
      AH(2,L) = B(1,L)*H(2,1) + B(2,L)*H(2,2) + B(3,L)*H(2,3)
      AH(3,L) = B(1,L)*H(3,1) + B(2,L)*H(3,2) + B(3,L)*H(3,3)
  1   CONTINUE

      UH(1) = U(1)*H(1,1) + U(2)*H(1,2) + U(3)*H(1,3)
      UH(2) = U(1)*H(2,1) + U(2)*H(2,2) + U(3)*H(2,3)
      UH(3) = U(1)*H(3,1) + U(2)*H(3,2) + U(3)*H(3,3)

      UH(4) = -(UH(1)*AH(1,1) + UH(2)*AH(2,1) + UH(3)*AH(3,1))

      RETURN
      END


