C UO2CE     SOURCE    CHAT      05/01/13    03:58:49     5004
      SUBROUTINE UO2CE(MC,MM,SIGMA,DXV1,W,WMAX,SMAX,WRUPT,XLTR,XINVL,
     &                 BTR,NFISSU,NVF,FCRIT,VF,YOUN,PRECIZ,JRESU,KERRE)
C----------------------------------------------------------------------
C                MODELE UO2 (OTTOSEN ET GATT_MONERIE)
C----------------------------------------------------------------------
C
C SIGNIFICATION DU CONTENU DU TABLEAU MM
C --------------------------------------
C       1   NOUVELLE FISSURATION SELON LA DIRECTION 1
C       2   NOUVELLE FISSURATION SELON LA DIRECTION 2
C       3   NOUVELLE FISSURATION SELON LA DIRECTION 3
C       4   POURSUITE DE LA FISSURATION SELON LA DIRECTION 1
C       5   POURSUITE DE LA FISSURATION SELON LA DIRECTION 2
C       6   POURSUITE DE LA FISSURATION SELON LA DIRECTION 3
C       7   RUPTURE SELON LA DIRECTION 1
C       8   RUPTURE SELON LA DIRECTION 2
C       9   RUPTURE SELON LA DIRECTION 3
C      10   REOUVERTURE SELON LA DIRECTION 1
C      11   REOUVERTURE SELON LA DIRECTION 2
C      12   REOUVERTURE SELON LA DIRECTION 3
C      13   REFERMETURE SELON LA DIRECTION 1
C      14   REFERMETURE SELON LA DIRECTION 2
C      15   REFERMETURE SELON LA DIRECTION 3
C
C  ENTREES
C  -------
C MM(20)       = TYPES DES CRIT. DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
C MC           = NBR. DE CRITERES DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
C SIGMA(6)     = CONTRAINTES
C DXV1(3)      = INCREMENT DES DEFORMATIONS DE FISSURATION (OUV.)
C W(3)         = OUVERTURES DES FISSURES
C WMAX(3)      = OUVERTURES MAXIMALES DES FISSURES
C SMAX(3)      = CONTR. CORRESPONDANT A WMAX
C WRUPT(3)     = OUVERTURES CONDITIONNANT LA RUPTURE
C XLTR(3)      = LIMITES EN TRACTION POUR LA FISSURATION
C XINVL(3)     = PARAMETRES DE TAILLE
C BTR          = PARAMETRE DE FERMETURE
C NFISSU       = NOMBRE DE FISSURES
C NVF          = NBR DE DIRECTIONS IMPOSEES POUVANT DEVENIR
C                DES DIRECTIONS DE FISSURATION
C YOUN         = MODULE D YOUNG
C PRECIZ       = PRECISION POUR TESTS SUR CONTRAINTES
C
C  SORTIES
C  -------
C FCRIT(20)    = CRIT. DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
C VF(3,3)      = VECTEURS DES DIRECTIONS DE FISSURATION
C                NON NULS SEULEMENT SI NOUVELLES FISSURATIONS POSSIBLES
C                ET CRITERES CORRESPONDANTS ATTEINTS
C JRESU(3)     = 1 2 OU 3 SELON QUE LA DIRECTION POTENTIELLE DE FISS.
C                EST CONNUE, INCONNUE EN PLAN OU INCONNUE EN 3D
C KERRE        = GESTION DES ERREURS
C----------------------------------------------------------------------
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
C
      DIMENSION MM(*),SIGMA(*),DXV1(*)
      DIMENSION W(*),WMAX(*),SMAX(*),WRUPT(*),XLTR(*),XINVL(*)
      DIMENSION FCRIT(*),VF(3,*),JRESU(*)
      DIMENSION FCF(3)
C
C -----------------------
C     INITIALISATIONS
C -----------------------
      KERRE=0
      DO IC=1,15
        FCRIT(IC)=-1.D4*PRECIZ
      ENDDO
      CALL IANUL(JRESU,3)
C
C
      LAPPEL=0
      DO IC=1,MC
         JC=MM(IC)
         IF(JC.GE.1.AND.JC.LE.3) THEN
            LAPPEL=1
            GO TO 200
         ENDIF
      ENDDO
C
 200  CONTINUE
C
C --- pas d appel a OTTOFI en cas de pre-fissuration
C
      IF(XINVL(1)*XINVL(2)*XINVL(3).EQ.0.D0.AND.LAPPEL.EQ.1) THEN
          CALL OTTOFI(SIGMA,NFISSU,NVF,XLTR,XINVL,
     &                VF,JRESU,FCF,PRECIZ,KERRE)
          IF(KERRE.NE.0) RETURN
           IF(IIMPI.EQ.42) THEN
              WRITE(IOIMP,76600)
76600         FORMAT(// 2X, ' UO2CE - APRES OTTOFI '  /)
              WRITE(IOIMP,76601) (JRESU(IC),IC=1,3)
76601         FORMAT(2X, ' JRESU ',2X,3I3/)
            ENDIF
      ENDIF
C
C
      DO IC=1,MC
         JC=MM(IC)
C
         GO TO (1,1,1,4,4,4,7,7,7,10,10,10,13,13,13),JC
C
         KERRE=99
         RETURN
C
 1       CONTINUE
C
C       nouvelle fissure selon une direction
C       ------------------------------------
           IF(JRESU(JC).NE.0) THEN
              FCRIT(JC)=FCF(JC)
           ENDIF
         GO TO 100
C
 4       CONTINUE
         KC=JC-3
C
C        poursuite de la fissuration selon la direction KC ( 1, 2 OU 3 )
C        ---------------------------------------------------------------
         FCRIT(JC)= SIGMA(KC) - SMAX(KC)
         GO TO 100
C
 7       CONTINUE
         KC=JC-6
C
C        rupture selon la direction KC ( 1, 2 OU 3 )
C        -------------------------------------------
         FCRIT(JC)= -SIGMA(KC)
         GO TO 100
C
 10      CONTINUE
         KC=JC-9
C
C        reouverture selon la direction KC ( 1, 2 OU 3 )
C        -----------------------------------------------
         FCRIT(JC)= SIGMA(KC)
         GO TO 100
C
 13      CONTINUE
         KC=JC-12
C
C        refermeture selon la direction KC ( 1, 2 OU 3 )
C        -----------------------------------------------
         WREOUV=BTR*MIN(WMAX(KC),WRUPT(KC))
         WAUX=W(KC)+DXV1(KC)/XINVL(KC)
         FCRIT(JC)=YOUN*(WREOUV-WAUX)*XINVL(KC)
         GO TO 100
C
C
 100     CONTINUE
C
      ENDDO
C
C     IF(IIMPI.EQ.42) THEN
C       WRITE(IOIMP,77000)
C77000   FORMAT(// 2X, ' EN SORTIE DE UO2CE ' /)
C       DO IC=1,MC
C         JC=MM(IC)
C         WRITE(IOIMP,77001) IC,JC,FCRIT(JC)
C77001     FORMAT( 2X, ' UO2CE - IC=',I3,2X,'JC=',I3,2X,
C    &      'FCRIT=',1PE12.5/)
C       ENDDO
C     ENDIF
C
      RETURN
      END


