Download uo2et2.eso

Back to the list

   1 : C UO2ET2    SOURCE    STRU      06/03/20    21:15:48     5340           
   2 :       SUBROUTINE UO2ET2(NC,NN,SIGMA,W,WMAX,
   3 :      &       XLTR,XINVL,PRECIE,PRECIZ,FC,FC2,LEBIL,NFISSU,
   4 :      &       NVF,VF,FC0,PENTE,DXV1,YOUN,NCA,MC,MM,IFERM,KERRE)
   5 : C----------------------------------------------------------------------
   6 : C          MODELE UO2 (OTTOSEN ET GATT_MONERIE) SIMPLIFIE
   7 : C                  ENERGIE DE FISSURATION NULLE
   8 : C          DETERMINATION DE L ETAT INITIAL DE FISSURATION
   9 : C----------------------------------------------------------------------
  10 : C
  11 : C  ENTREES
  12 : C  -------
  13 : C NC           = (3) NBR. TOTAL DE DIRECTIONS DE FISS. POSSIBLES
  14 : C SIGMA(6)     = CONTRAINTES INITIALES
  15 : C W(3)         = OUVERTURES INITIALES DES FISSURES
  16 : C WMAX(3)      = OUVERTURES MAXIMALES INITIALES DES FISSURES
  17 : C                RELATION BILINEAIRE ENTRE CONTRAINTE ET OUVERTURE
  18 : C XLTR(3)      = LIMITES EN TRACTION POUR LA FISSURATION
  19 : C XINVL(3)     = PARAMETRES DE TAILLE
  20 : C PRECIE       = PRECISION POUR TESTS SUR OUVERTURES DE FISSURES
  21 : C PRECIZ       = PRECISION POUR TESTS SUR CONTRAINTES
  22 : C NFISSU       = NOMBRE DE FISSURES
  23 : C NVF          = NBR DE DIRECTIONS IMPOSEES POUVANT DEVENIR
  24 : C                DES DIRECTIONS DE FISSURATION
  25 : C DXV1(3)      = INCREMENT DES DEF. DE FISSURATION INITIALES (OUV.)
  26 : C YOUN         = MODULE D YOUNG
  27 : C
  28 : C  SORTIES
  29 : C  -------
  30 : C NN(NC)       = NUMEROS DES DIRECTIONS DE FISS. OU UN CRIT. EST ATTEINT
  31 : C FC(NC)       = CRITERE DE FRACTURATION
  32 : C FC2(NC)      = CRITERE DE FISSURATION
  33 : C LEBIL(NC)    = COMPRESSION/TRACTION
  34 : C VF(3,3)      = VECTEURS DES DIRECTIONS DE FISSURATION
  35 : C FC0(20)      = CRIT. DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
  36 : C PENTE(NC)    = PENTE DE LA DROITE DE FISSURATION CORRESPONDANT A FC
  37 : C NCA          = NBR. DE DIRECTIONS DE FISS. OU UN CRITERE EST ATTEINT
  38 : C MM(20)       = TYPES DES CRIT. DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
  39 : C MC           = NBR. DE CRITERES DE FISS. SUSCEPTIBLES D ETRE ATTEINTS
  40 : C IFERM(NC)    = FISSURES FERMEES
  41 : C KERRE        = GESTION DES ERREURS
  42 : C----------------------------------------------------------------------
  43 : C
  44 :       IMPLICIT INTEGER(I-N)
  45 :       IMPLICIT REAL*8(A-H,O-Z)      
  46 : -INC CCOPTIO
  47 : C
  48 :       PARAMETER (XZER=0.D0)
  49 : C
  50 :       DIMENSION SIGMA(*),W(*),WMAX(*),XLTR(*)
  51 :       DIMENSION XINVL(*),DXV1(*)
  52 :       DIMENSION NN(*),FC(*),FC2(*),LEBIL(*),VF(3,*),FC0(*)
  53 :       DIMENSION PENTE(*),MM(*)
  54 :       DIMENSION IFERM(*)
  55 :       DIMENSION WREOUV(3),JFIS(3)
  56 : C
  57 :       KERRE=0
  57 :       CALL IANUL(IFERM,NC)
  58 : C
  59 :       DO IC=1,NC
  60 :          NN(IC)=IC
  61 :       ENDDO
  62 : C
  63 : C ------ calcul de FC FC2 PENTE LEBIL ------
  64 : C ------    caracterisant l etat de fissuration    ------
  65 : C
  65 :       CALL UO2EC2(NC,NC,NN,SIGMA,W,WMAX,
  66 :      &     XLTR,XINVL,FC,FC2,PENTE,LEBIL,
  67 :      &     PRECIE,PRECIZ,KERRE)
  68 :       IF(KERRE.NE.0) THEN
  69 :           PRINT *, ' UO2ET2 - APRES UO2EC2 KERRE=',KERRE
  70 :           RETURN
  71 :       ENDIF
  72 : C
  73 :       NCA=0
  74 :       MC=0
  75 : C
  76 : C
  77 :       DO IC=1,3
  78 : C
  79 :          IF(FC2(IC).GT.PRECIZ) THEN
  80 : C            cas ou la limite de fissuration est violée
  81 :              KERRE=989
  82 :              PRINT *,' UO2ET2 - CRITERE FISSURATION VIOLE ',IC
  83 :              RETURN
  84 :          ENDIF
  85 : C
  86 :          IF(ABS(FC2(IC)).LE.PRECIZ) THEN
  87 : C            cas ou la limite de fissuration vient d'être atteinte
  88 :              IF(XINVL(IC).EQ.XZER) THEN
  89 :                  KERRE=989
  90 :                  PRINT *,' UO2ET2 - XINVL EST NUL  IC=  ',IC
  91 :                  RETURN
  92 :              ENDIF
  93 : C            la fissuration devient de la fracturation
  94 :              SIGMA(IC)=XZER
  95 :              FC(IC)=SIGMA(IC)
  96 :              FC2(IC)=-1.D4*PRECIZ
  97 :          ENDIF
  98 : C
  99 :          IF(FC(IC).GT.PRECIZ) THEN
 100 :              IF(XINVL(IC).EQ.XZER) THEN
 101 : C               on va vers la fissuration
 102 :                 MC=MC+1
 103 :                 MM(MC)= IC
 104 :              ELSE
 105 : C               cas ou la limite de fracturation est violée
 106 :                 KERRE=989
 107 :                 PRINT *,' UO2ET2 - CRITERE FRACTURATION VIOLE ',IC
 108 :                 RETURN
 109 :              ENDIF
 110 :          ENDIF
 111 : C
 112 : C
 113 :          IF(FC(IC).LT.-PRECIZ) THEN
 114 : C
 115 : C        cas ou le critere de fracturation n'est pas atteint
 116 : C        ---------------------------------------------------
 117 : C
 118 : C --->       sous-cas 1 : la direction n'a pas encore fissure
 119 : C
 120 :              IF(XINVL(IC).EQ.XZER) THEN
 121 : C
 122 : C               on va vers la fissuration
 123 :                 MC=MC+1
 124 :                 MM(MC)= IC
 125 : C
 126 :              ELSE
 127 : C
 128 : C --->       sous-cas 2 : la direction a deja fissure
 129 : C
 130 :                 IF(LEBIL(IC).EQ.0) THEN
 131 : C                   on est en compression - réouverture ?
 132 :                     MC=MC+1
 133 :                     MM(MC)= 3+IC
 134 :                 ELSE
 135 :                     KERRE=989
 136 :                     PRINT *,' UO2ET2 - CAS IMPOSSIBLE ',IC
 137 :                     RETURN
 138 :                 ENDIF
 139 : C
 140 :              ENDIF
 141 : C
 142 :          ELSE IF(ABS(FC(IC)).LE.PRECIZ) THEN
 143 : C
 144 : C        cas ou le critere de fracturation est atteint
 145 : C        ---------------------------------------------
 146 : C
 147 :              IF(XINVL(IC).EQ.XZER) THEN
 148 :                  KERRE=989
 149 :                  PRINT *,' UO2ET2 - XINVL EST NUL  IC=  ',IC
 150 :                  RETURN
 151 :              ENDIF
 152 : C
 153 :              PRECIW=PRECIE/XINVL(IC)
 154 :              NCA=NCA+1
 155 :              NN(NCA)=IC
 156 : C
 157 : C
 158 :              IF(W(IC).LT.-PRECIW) THEN
 159 : C
 160 :                  KERRE=989
 161 :                  PRINT *,' UO2ET2 -  W < 0.  IC= ',IC
 162 :                  PRINT *,'W(IC)=',W(IC)
 163 :                  PRINT *,'WMAX(IC)=',WMAX(IC)
 164 :                  RETURN
 165 : C
 166 :              ELSE
 167 : C
 168 : C            on est en ouverture
 169 : C            ou bien on est pile sur la limite sigma=0
 170 : C            LEBIL vaut 1 dans les 2 cas
 171 : C
 172 :                  IF(LEBIL(IC).NE.1) THEN
 173 :                      KERRE=989
 174 :                      PRINT *,' UO2ET2 - LEBIL NEG 1 SELON ',IC
 175 :                      RETURN
 176 :                  ENDIF
 177 : C
 178 :                  IF(W(IC).GT.PRECIW) THEN
 179 : C                    fermeture ?
 180 :                      MC=MC+1
 181 :                      MM(MC)= 6+IC
 182 :                  ELSE
 183 :                      IFERM(IC)=1
 184 :                  ENDIF
 185 : C
 186 :              ENDIF
 187 : C
 188 :          ENDIF
 189 : C
 190 :       ENDDO
 191 : C
 192 : C
 193 : C
 194 : C     TEST SUR MC
 195 : C
 196 :       IF(MC.EQ.0) THEN
 197 :         KERRE=989
 198 :         PRINT *,' UO2ET2 - MC EST NUL '
 199 :         RETURN
 200 :       ENDIF
 201 : C
 202 : C    APPEL A UO2CE2
 203 : C
 203 :       CALL UO2CE2(MC,MM,SIGMA,DXV1,W,XLTR,XINVL,
 204 :      &      NFISSU,NVF,FC0,VF,YOUN,PRECIZ,JFIS,KERRE)
 205 :       IF(KERRE.NE.0) THEN
 206 :           PRINT *, ' UO2ET2 - APRES UO2CE KERRE=',KERRE
 207 :           RETURN
 208 :       ENDIF
 209 : C
 210 : C     TEST DE L'ETAT INITIAL
 211 : C
 212 :       DO IC=1,MC
 213 :          JC=MM(IC)
 214 :          IF(FC0(JC).GT.PRECIZ)THEN
 215 :             PRINT *,'UO2ET2 - ETAT INITIAL INADMISSIBLE'
 216 :             KERRE=989
 217 :             RETURN
 218 :          ENDIF
 219 :       ENDDO
 220 : C
 221 :       IF(IIMPI.EQ.42) THEN
 222 :         WRITE(IOIMP,77000) (FC(IC),IC=1,NC)
 223 : 77000   FORMAT( 2X, ' UO2ET2 - FC '/(4(1X,1PE12.5)/)/)
 224 :         WRITE(IOIMP,77001) (LEBIL(IC),IC=1,NC)
 225 : 77001   FORMAT( 2X, ' UO2ET2 - LEBIL '/(7I4)/)
 226 :         WRITE(IOIMP,77002) NCA,MC
 227 : 77002   FORMAT( 2X, ' UO2ET2 - NCA=',I3,2X,'MC=',I3/)
 228 :         WRITE(IOIMP,77003) (NN(IC),IC=1,NCA)
 229 : 77003   FORMAT( 2X, ' UO2ET2 - NN  '/16(1X,I3)/)
 230 :         WRITE(IOIMP,77004) (MM(IC),IC=1,MC)
 231 : 77004   FORMAT( 2X, ' UO2ET2 - MM  '/16(1X,I3)/)
 232 :       ENDIF
 233 : C
 234 :       RETURN
 235 :       END
 236 :  

© Cast3M 2003 - All rights reserved.
Disclaimer