C ELGAUS    SOURCE    CB215821  26/08/24    21:16:25     12622          
      SUBROUTINE ELGAUS(MINTE,MMAT1,SGAUSS,IFOIS,IFOI2)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
-INC CCREEL
-INC SMINTE

      SEGMENT MMAT1
         REAL*8 VALMAT(NMATR)
         REAL*8 XE(3,NBNN),XE1(3,NBNN)
         REAL*8 SHP(6,NBNN),GRAD(NDIM,NBNN,NBPGAU)
         REAL*8 COSD1(3),COSD2(3)
      ENDSEGMENT
      SEGMENT SGAUSS
         REAL*8 XGAUSS(3,NBPGAU)
         REAL*8 DX(NBPGAU)
      ENDSEGMENT
*
      NBPGAU=DX(/1)
      NBNN=XE(/2)
      NDIM=GRAD(/1)
      IDIM=NDIM
      NDIM2=IDIM-1
      IFOIS=0
      IFOI2=0
      DO 20 IGAU=1,NBPGAU
*
*      CALCUL DE LA MATRICE GRADIENT DES FONCTIONS DE FORME ET
*      DU JACOBIEN(DANS LE PLAN), EN UN POINT DE GAUSS
*
       DO 101 NP=1,NBNN
        DO 90  I=1,IDIM
          SHP(I,NP)=SHPTOT(I,NP,IGAU)
  90   CONTINUE
  101  CONTINUE
*      COORDONNEES GLOBALES DU POINT DE GAUSS DANS
*      L'ELEMENT COURANT
       DO 102 I=1,IDIM
         XGAUSS(I,IGAU)=0.
         DO 70 NP=1,NBNN
           XGAUSS(I,IGAU)=XGAUSS(I,IGAU)+XE(I,NP)*SHP(1,NP)
  70   CONTINUE
  102  CONTINUE
*
*      DERIVES DES FONCTIONS DE FORME DANS LA GEOMETRIE REELLE
*      LOCALE (2D) ET LE JACOBIEN
       CALL JACOBI(XE1,SHP,NDIM2,NBNN,DJAC)
*
*      ON FAIT TOURNER LE GRADIENT DE -PI/2 DANS LE REPERE LOCAL
*      POUR ETRE PARALLELE AU COTE OPPOSE AU SOMMET
       DO 60 NP=1,NBNN
         XG=SHP(2,NP)
         YG=SHP(3,NP)
         SHP(2,NP)=YG
         SHP(3,NP)=-XG
   60  CONTINUE
*
*      ON REVIENT DANS LE REPERE GLOBAL 3D
       DO 103 NP=1,NBNN
         DO 100 I= 1,IDIM
           GRAD(I,NP,IGAU)=SHP(2,NP)*COSD1(I)+SHP(3,NP)*COSD2(I)
  100  CONTINUE
  103  CONTINUE
*
       IF(DJAC.LT.XZERO)IFOIS=IFOIS+1
       IF(ABS(DJAC).LT.XPETIT)IFOI2=IFOI2 +1
*
*      ON MULTIPLIE LE JACOBIEN PAR LE POIDS D'INTEGRATION,POUR LE
*      POINT DE GAUSS CONSIDERE
*
       DJAC=ABS(DJAC)*POIGAU(IGAU)
       DX(IGAU)=DJAC
*
   20 CONTINUE
      RETURN
      END




 
