C ZGMV      SOURCE    CHAT      05/01/13    04:22:59     5004
      SUBROUTINE ZGMV(LE,NEL,K0,NPT,IES,NP,IAXI,IPADL,
     &                 COEF,XNM,GX,VOL)
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C***********************************************************************
C
C                                                BETA
C     CALCUL LE TENSEUR DE PERTE DE CHARGE    K U           I KX       I
C                                                     K-->  I    KY    I
C                                                           I       KZ I
C
C     COEFF    :  K
C     COG1     :  BETA
C     P        :  MATRICE DE ROTATION (INDG3 NE 0)
C
C     PORO     :  POROSITES SI IPOR=1
C
C
C
C***********************************************************************
C
      DIMENSION LE(NP,*),IPADL(*)
      DIMENSION XNM(NPT,IES),GX(NPT,IES)
      DIMENSION COEF(IES)
      DIMENSION VOL(*)
C


      IF(IES.EQ.2) THEN
C
C                 *******
C                 * 2 D *
C                 *******
C
C     write(6,*)' NPT=',NPT,' IES=',IES
C     write(6,*)' NEL=',NEL,KJG1,KJTT,KJG3,INDG3
      DO 502 K=1,NEL
      NK=K+K0
      S=VOL(NK)/NP
      S1=-COEF(1)*S
      S2=-COEF(2)*S

      DO 572 I=1,NP
      IU=IPADL(LE(I,K))
      GX(IU,1)=GX(IU,1)+S1
      GX(IU,2)=GX(IU,2)+S2
 572  CONTINUE
C
 502  CONTINUE

C     write(6,*)' S1 et s2=',S1,S2
C     write(6,1002)GX

      ELSEIF(IES.EQ.3)THEN

C
C                 *******
C                 * 3 D *
C                 *******
C
      DO 602 K=1,NEL
      NK=K+K0
      S=VOL(NK)/NP
      S1=-COEF(1)*S
      S2=-COEF(2)*S
      S3=-COEF(3)*S

      DO 672 I=1,NP
      IU=IPADL(LE(I,K))
      GX(IU,1)=GX(IU,1)+S1
      GX(IU,2)=GX(IU,2)+S2
      GX(IU,3)=GX(IU,3)+S3
 672  CONTINUE
C
 602  CONTINUE
      RETURN
      ENDIF


C     WRITE(6,*)' GX         ',((GX(I,J),I=1,N1),J=1,N2)
C
      RETURN
 110  FORMAT(2X,'ZGMV',I4,4E13.5)
 1001 FORMAT(20(1X,I5))
 1002 FORMAT(10(1X,1PE11.4))
      END

