C HUJFLO    SOURCE    CHAT      05/01/13    00:26:48     5004
      SUBROUTINE HUJFLO(IFOUR,SIG,XINV,PI,XKSI,XMAT,DFDS,
     .                  DFDPI,DFDKSI,DGDS,HV,HQ)
*----------------------------------------------------------------
*                      MODELE HUJEUX
*            QUANTITES NECESSAIRES A L'ECOULEMENT
*----------------------------------------------------------------
*   ENTREE :
*          IFOUR     CF CCOPTIO
*          SIG       CONTRAINTES
*          PI,XKSI   VARIABLES INTERNES
*          XMAT      PROPRIETES MATERIELLES
*
*   SORTIE :
*          DFDS      DF / DSIG
*          DGDS      DG / DSIG
*          DFDPI     DF / DPI
*          HV,HQ     LOIS D'ECROUISSAGE
*----------------------------------------------------------------
*
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION SIG(*),XINV(*),XMAT(*),DFDS(*),DGDS(*)
*
      COHE = XMAT(6)
      GM   = XMAT(7)
      BETA = XMAT(8)
      HUA  = XMAT(9)
      HUB  = XMAT(10)
      HUR  = XMAT(11)
*
      UNSP=1.D0/(COHE-XINV(1))
      IF(XINV(2).EQ.0.D0) THEN
         UNIT=0.D0
         UNSQ=0.D0
      ELSE
         UNIT=1.D0
         UNSQ=1.D0/(XINV(2)*GM)
      ENDIF
      DENOM=(PI+COHE)*EXP(-1.D0/HUB)
      RAP=(COHE-XINV(1))/DENOM
      XLRAP=LOG(RAP)
*
      FAC=(UNSP*XINV(2)/GM - HUB*XKSI)/3.D0
      DFDS(1)=UNSP*(UNSQ*(SIG(1)-0.5D0*(SIG(2)+SIG(3))) + FAC)
      DFDS(2)=UNSP*(UNSQ*(SIG(2)-0.5D0*(SIG(1)+SIG(3))) + FAC)
      DFDS(3)=UNSP*(UNSQ*(SIG(3)-0.5D0*(SIG(1)+SIG(2))) + FAC)
      DFDS(4)=UNIT*UNSP*UNSQ*1.5D0*SIG(4)
      IF(IFOUR.EQ.2) THEN
         DFDS(5)=UNIT*UNSP*UNSQ*1.5D0*SIG(5)
         DFDS(6)=UNIT*UNSP*UNSQ*1.5D0*SIG(6)
      ENDIF
*
      FAC=(UNSP*XINV(2)/GM - 1.D0)/3.D0
      DGDS(1)=UNSP*(UNSQ*(SIG(1)-0.5D0*(SIG(2)+SIG(3))) + FAC)
      DGDS(2)=UNSP*(UNSQ*(SIG(2)-0.5D0*(SIG(1)+SIG(3))) + FAC)
      DGDS(3)=UNSP*(UNSQ*(SIG(3)-0.5D0*(SIG(1)+SIG(2))) + FAC)
      DGDS(4)=DFDS(4)
      IF(IFOUR.EQ.2) THEN
         DGDS(5)=DFDS(5)
         DGDS(6)=DFDS(6)
      ENDIF
*
      DFDPI =-HUB*XKSI/(PI+COHE)
      DFDKSI= HUB*XLRAP - 1.D0
*
      HV=-BETA*UNSP*(PI+COHE)*(1.D0-UNSP*XINV(2)/GM)
      IF(HUA.EQ.0.D0) THEN
         HQ=0.D0
      ELSE
         HQ= UNSP*((HUR+1.D0-XKSI)**2)/(GM*HUA)
      ENDIF
*
      RETURN
      END



