C MHYBR3    SOURCE    CHAT      05/01/13    01:44:47     5004
      SUBROUTINE MHYBR3(IGAU,NBNN,NBDDL,NDIM,IDIM,NDIM2,XEL,HYBASE,
     S                  SHPTOT,SHY,SHP,ZJAC,DJAC)
C-----------------------------------------------------------------------
C Recuperation de la matrice Jacobienne et de son determinant ainsi
C que des fonctions de base hybride au point de gauss IGAU
C-----------------------------------------------------------------------
C
C---------------------------
C Parametres Entree/Sortie :
C---------------------------
C
C E/  IGAU    : Numero du point de gauss considere.
C E/  NBNN    : Nombre de noeud du support geometrique
C E/  NBDDL   : Nombre de noeud portant les degre de liberte
C E/  NDIM    : Premiere dimension de HYBASE (=IDIM*(IDIM+1))
C E/  IDIM    : Dimension de l'espace (2 en 2D et 3 en 3D).
C E/  NDIM2   : Dimension de SHY. Vaut IDIM si on ne recupere que la
C               fonction de base et NDIM si on recupere aussi les
C               derivees
C E/  XEL     : Coordonnees reelles des noeuds de l'element.
C E/  HYBASE  : Fonctions de base hybride pour tout les points de gauss
C E/  SHPTOT  : Fonctions de forme pour tout les points de gauss
C  /S SHY     : Fonctions de base hybride au point de gauss IGAU
C  /S SHP     : Fonctions de forme au point de gauss IGAU
C  /S ZJAC    : Matrice jacobienne au point de gauss IGAU
C  /S DJAC    : Determinant de la matrice ZJAC
C
C----------------------
C Tableaux de travail :
C----------------------
C
C     SHP     : Bien que remplit par necessite, cette variable ne
C               sert a rien en amont.
C
C-----------------------------------------------------------------------
C
C Langage : FORTRAN77
C
C Auteurs : F.DABBENE 08/93
C
C-----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
      REAL*8 XEL(3,NBNN),SHPTOT(6,NBNN,*),SHP(6,NBNN),
     S       ZJAC(IDIM,IDIM),HYBASE(NDIM,NBDDL,*),SHY(NDIM2,NBDDL)
C
C= Calcul de la matrice jacobienne et de son determinant
C
      IFIN = IDIM + 1
      DO 20 NP=1,NBNN
         DO 10 I=1,IFIN
            SHP(I,NP) = SHPTOT(I,NP,IGAU)
 10      CONTINUE
 20   CONTINUE
      CALL MATJAC(XEL,SHP,IDIM,NBNN,ZJAC,DJAC)
C
C= Recuperation des fonctions de base hybride
C
      DO 40 NP=1,NBDDL
         DO 30 I=1,NDIM2
            SHY(I,NP) = HYBASE(I,NP,IGAU)
 30      CONTINUE
 40   CONTINUE
*
      RETURN
      END

