C CALG3     SOURCE    CHAT      05/01/12    21:46:06     5004
      SUBROUTINE CALG3(A,B,C,D,E,F,NG,H,U,X,Y,Z,PG)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C   CALCUL DES COORDONNEES ET DES POIDS DES POINTS DE GAUSS SUR LE PAVE
C   (A,B) X (C,D) X (E,F)   LES CONNAISSANT SUR LE SEGMENT (-1,1)
C
C   NG     NOMBRE DE POINTS DE GAUSS SUR LE SEGMENT (-1,1)
C   U(NG)  ABCISSES DES POINTS DE GAUSS
C   H(NG)  POIDS DES POINTS DE GAUSS
C
C   X,Y,Z COORDONNEES DES POINTS DE GAUSS SUR LE PAVE (A,B)X(C,D)X(E,F)
C   PG     POIDS DES POINTS DE GAUSS SUR LE PAVE (A,B)X(C,D)X(E,F)
C
C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

      REAL*8 A,B,C,D,E,F
      REAL*8 H(NG),U(NG)
      REAL*8 X(NG,NG,NG),Y(NG,NG,NG),Z(NG,NG,NG)
      DIMENSION  PG(NG,NG,NG)


C***
      BMA=(B-A)/2.D0
      BPA=(B+A)/2.D0
      DMC=(D-C)/2.D0
      DPC=(D+C)/2.D0
      FME=(F-E)/2.D0
      FPE=(F+E)/2.D0
C
      DO 1 LZ=1,NG
      DO 1 LY=1,NG
      DO 1 LX=1,NG
      X(LX,LY,LZ)=BMA*U(LX)+BPA
      Y(LX,LY,LZ)=DMC*U(LY)+DPC
      Z(LX,LY,LZ)=FME*U(LZ)+FPE
      PG(LX,LY,LZ)=BMA*DMC*FME*H(LX)*H(LY)*H(LZ)
 1    CONTINUE
C     WRITE(6,*)' SUB CALG3 : POIDS ET POSITIONS DES PTS DE GAUSS '
C     WRITE(6,*)' SUB CALG3 : H,U,X,Y ET PG '
C     WRITE(6,1002)H
C     WRITE(6,1002)U
C     WRITE(6,1002)X
C     WRITE(6,1002)Y
C     WRITE(6,1002)PG
 1002 FORMAT(10(1X,1PD11.4))
      RETURN
      END


