Download urgcst.eso

Back to the list

   1 : C URGCST    SOURCE    PV        07/11/23    21:19:48     5978           
   2 :       SUBROUTINE URGCST(WRK0,WRK1,WRK4,NSTRSS,NCOMAT,
   3 :      1  KERRE,MELE,IFOUR,NCARR,MFR,DT,TEMP0,
   4 :      2  CMATE,IB,IGAU,HCAR,IVIS)
   5 : C---------------------------------------------------------------------
   6 : C             PLASTICITE MODELE BETON
   7 : C
   8 : C ENTREES
   9 : C     SIG0(NSTRS)   = CONTRAINTES INITIALES
  10 : C     NSTRS         = NOMBRE DE CONTRAINTES
  11 : C     DEPST(NSTRS)  = INCREMENT DE DEFORMATIONS TOTALES
  12 : C     VAR0(NVARI)   =  VARIABLES INTERNES DEBUT
  13 : C     VAR0(  1  )   = IFIS    :Indicateur de fissuration (0 1 2)
  14 : C     VAR0(  2  )   = ANGL    :Angle de fissuration
  15 : C     VAR0(  3  )   = IPLA    :Indicateur d'etat en bicompres. (0 1 2 3)
  16 : C     VAR0(  4  )   = SIG1    :Force d écrouissage de traction
  17 : C     VAR0(  5  )   = SIG2    :Force d écrouissage de compression
  18 : C     VAR0(  6  )   = EPS1    :Variable d écrouissage de traction
  19 : C     VAR0(  7  )   = EPS2    :Variable d écrouissage de compression
  20 : C     VAR0(  8  )   = TDEF      :Taux de déformation
  21 : C     VAR0(  9  )   = TCON      :Taux de contrainte
  22 : C     VAR0( 10  )   = SIGP(1):Contrainte plastique en mode 
  23 : C                              viscoplastique
  24 : C     VAR0( 11  )   = SIGP(2):
  25 : C     VAR0( 12  )   = SIGP(3):
  26 : C     VAR0( 13  )   = SIGP(4):
  27 : C     VAR0( 14  )   = DPSTV1 :Variable d'écrouissage plastique 
  28 : C                              en mode viscoplastique
  29 : C     VAR0( 15  )   = DPSTV2 :
  30 : C     VAR0( 16  )   = SIGV1  :Force d ecrouissage de traction 
  31 : C                             en mode viscoplastique
  32 : C     VAR0( 17  )   = SIGV2  :Force d ecrouissage de compression
  33 : C                             en mode viscoplastique
  34 : C
  35 : C     XMAT(NCOMAT)  =  COMPOSANTES DE MATERIAU
  36 : C     NCOMAT        = NOMBRE DE COMPOSANTES DE MATERIAU
  37 : C  SORTIES
  38 : C     SIGF(NSTRS)   = CONTRAINTES FINALES
  39 : C     VARF(NVARI)   = VARIABLES INTERNES FINALES
  40 : C     KERRE         = 0    TOUT OK
  41 : C---------------------------------------------------------------------
  42 : C
  43 : C  IFOUR    INDICE DU TYPE DE PROBLEME
  44 : C            -2  CONTRAINTES PLANES
  45 : C            -1  DEFORMATIONS PLANES
  46 : C             0  AXISYMETRIQUE
  47 : C             1  SERIE DE FOURIER
  48 : C             2  TRIDIMENSIONNEL
  49 : C---------------------------------------------------------------------
  50 : C        COMPOSANTES DE MATERIAU
  51 : C=====================================================================
  52 : C  YOUN : Module d'Young
  53 : C  XNU  : Coeficient de Poisson 
  54 : C  RHO  : Masse volumique (Facultatif)  
  55 : C  ALPH : Coeficient de dilation thermique (Facultatif)
  56 : C  ALFA : Resis. tract. simple / resis. compr. simple 
  57 : C  BETA : Resis. compr. biax. / resis. compr. simple (Modele de NADAI)
  58 : C  RB   : Resis. compr. simple
  59 : C  GFC : Energie de rupt en compression 
  60 : C  GFT : Energie de rupt en traction 
  61 : C  ETA : parametre de viscosite
  62 : C  ICT  : Choix de la courbe de traction (Calibrage) 
  63 : C  ICC : Choix de la courbe de compression (Calibrage) 
  64 : C
  65 : C  IVIS : Modele visqueux ou non
  66 : C            0 : non visqueux
  67 : C            1 : visqueux
  68 : C            2 : viscoélastoplastique
  69 : C
  70 : C  IMOD : Choix du modele Beton
  71 : C          1 = Modele BETON_INSA ( Von MISES + Sigma Max en trac.)
  72 : C              Rheologie 2D
  73 : C          2 = Modele BETON_INSA ( Von MISES + Sigma Max en trac.)
  74 : C              Rheologie 3D
  75 : C          3 = Modele BETON_INSA ( Druck Prager + Sigma Max en trac.)
  76 : C              Rheologie 2D
  77 : C          4 = Modele BETON_INSA ( Druck Prager + Sigma Max en trac.)
  78 : C              Rheologie 3D
  79 : C  ITER : nombre d'iterations internes admissibles
  80 : C---------------------------------------------------------------------
  81 : C
  82 :       IMPLICIT INTEGER(I-N)
  83 :       IMPLICIT REAL*8(A-H,O-Z)
  84 : 
  85 :       SEGMENT WRK0
  86 :         REAL*8 XMAT(NCXMAT)
  87 :       ENDSEGMENT
  88 :       SEGMENT WRK1
  89 :         REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  90 :         REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  91 :         REAL*8 DEFP(NSTRS),XCAR(ICARA)
  92 :       ENDSEGMENT
  93 :       SEGMENT WRK4
  94 :         REAL*8 XE(3,NBNN)
  95 :       ENDSEGMENT
  96 : 
  97 :       SEGMENT BETJEF
  98 :        REAL*8 AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  99 :      &          TCON,DPSTF1,DPSTF2,TETA,PDT
 100 :        INTEGER ICT,ICC,IMOD,IVISS,ITER,
 101 :      &                ISIM,IBB,IGAU1,IZON
 102 :       ENDSEGMENT
 103 :       SEGMENT VISCO
 104 :        REAL*8 DPSTV1,DPSTV2,SIGV1,SIGV2
 105 :       ENDSEGMENT
 106 :       SEGMENT BETFLU
 107 :        REAL*8 DATCOU,TP0,E28,TAU1
 108 :        INTEGER NBRC,NCOE,NTPS,NTZERO,IFLU,MC,NC
 109 :       ENDSEGMENT
 110 : *
 111 :       CHARACTER*(*) CMATE
 112 :       CHARACTER*40 FMT,TITRE
 113 :       DIMENSION SIR(9,4),EPST(4),SIGP(4)
 114 :       DIMENSION D(6,6),D1(6,6),STRN(6)
 115 :       DIMENSION EPSR(9),SIGR(9),VART(200),VV(36),SIGMF(6)
 116 :       DIMENSION CODU(9,9)
 117 : C
 118 : *     COMMON /DBETJEF/AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
 119 : *    &          TCON,DPSTF1,DPSTF2,TETA,PDT,ICT,ICC,IMOD,IVISS,ITER,
 120 : *    &                ISIM,IBB,IGAU1,IZON
 121 : *     COMMON /VISCO/ DPSTV1,DPSTV2,SIGV1,SIGV2
 122 : *     COMMON /DBETFLU/DATCOU,TP0,E28,TAU1,NBRC,NCOE,NTPS,NTZERO,IFLU,
 123 : *    &                MC,NC
 124 : C
 125 : 
 126 :       NBNN=XE(/2)
 127 :       NVARI=VAR0(/1)
 128 :       SEGINI BETJEF
 129 :       SEGINI VISCO
 130 :       SEGINI BETFLU
 131 :       PDT = DT
 132 :       TP0=TEMP0
 133 :       CAR = HCAR
 134 : C
 135 : C TEST DE CONSISTANCE DES DONNEES
 136 : C
 137 :       YOUN = 0.D0
 138 :       XNU  = 0.D0
 139 :       RHO  = 0.D0
 140 :       ALPH = 0.D0
 141 :       ALFA = 0.D0
 142 :       BETA = 0.D0
 143 :       RB   = 0.D0
 144 :       GFC  = 0.D0
 145 :       GFT  = 0.D0
 146 :       ETA  = 0.D0
 147 :       ICT  = 0
 148 :       ICC  = 0
 149 :       ITER = 0
 150 :       IMOD = 0
 151 : C
 152 :       AA=0.D0
 153 :       BB=0.D0
 154 :       DK1=0.D0
 155 :       DK2=0.D0
 156 :       CNC1=0.D0
 157 :       CNC1=0.D0
 158 :       CNT1=0.D0
 159 :       CNT2=0.D0
 160 : C
 161 :       YOUN = XMAT( 1)
 162 :       XNU  = XMAT( 2)
 163 :       RHO  = XMAT( 3)
 164 :       ALPH = XMAT( 4)
 165 :       ALFA = XMAT( 5)
 166 :       BETA = XMAT( 6)
 167 :       RB   = XMAT( 7)
 168 :       GFC  = XMAT( 8)
 169 :       GFT  = XMAT( 9)
 170 :       ICT  = INT(SNGL(XMAT(10)))
 171 :       ICC  = INT(SNGL(XMAT(11)))
 172 :       ITER = INT(SNGL(XMAT(12)))
 173 :       IMOD = INT(SNGL(XMAT(13)))
 174 :       IF (IVIS.EQ.1) THEN
 175 :       ETA  = XMAT(14)
 176 :       ISIM = 1
 177 :       ENDIF
 178 :       IF (IVIS.EQ.2) THEN
 179 :       DATCOU  = XMAT(14)
 180 :       NBRC = INT(SNGL(XMAT(15)))
 181 :       E28=YOUN
 182 :       ENDIF
 183 : C
 184 : C---------------------------------------------------------------------
 185 : C
 186 : C     CORRESPONDANCE DES VARIABLES POUR URGCST
 187 : C
 187 :       CALL ZERO(D,6,6)
 187 :       CALL ZERO(D1,6,6)
 187 :       CALL ZERO(EPSR,9,1)
 187 :       CALL ZERO(VART,NVARI,1)
 187 :       CALL ZERO(SIGR,9,1)
 188 : C
 189 :       IVISS = IVIS
 190 :       IBB = IB
 191 :       IGAU1 = IGAU
 192 :       EPAIST=1.D0
 193 :       NSTRS=NSTRSS
 194 :       IFOU=IFOUR
 195 : *
 196 :       DO 1 I=1,NSTRS
 197 :         SIGR(I)=SIG0(I)/EPAIST
 198 : *       WRITE(*,*)'SIG0',I,'=',SIG0(I)
 199 :         STRN(I)=DEPST(I)
 200 : *       WRITE(*,*)'DEPST',I,'=',DEPST(I)
 201 :     1 CONTINUE
 202 : *
 203 :       IF((MELE.EQ.28.OR.MFR.EQ.3).AND.NSTRSS.EQ.4) THEN
 204 :         NSTRS=3
 205 :         IFOU=-2
 206 :         SIGR(3)=SIG0(4)
 207 :         STRN(3)=DEPST(4)
 208 :         STRN(4)=DEPST(3)
 209 :       ENDIF
 210 : *
 211 :       IF((NSTRS.EQ.4).AND.IFOUR.EQ.-2.AND.
 212 :      *         (IMOD.NE.2.AND.IMOD.NE.4)) THEN
 213 :          NSTRS=3
 214 :          SIGR(3)=SIG0(4)
 215 :          STRN(3)=DEPST(4)
 216 :          STRN(4)=DEPST(3)
 217 :       ENDIF
 218 : *
 219 :       DO 22 II=1,NVARI
 220 :         VART(II)=VAR0(II)
 221 :    22 CONTINUE
 222 : C------------------------------------------------------
 223 : C   INITIALISATION DES VARIABLES INTERNES 
 224 : C------------------------------------------------------
 225 :         IFISU  = INT(SNGL(VART(1)))
 226 :         ANGL   = VART(2)
 227 :         IPLA   = INT(SNGL(VART(3)))
 228 :         SIG1= VART(4)
 229 :         SIG2= VART(5)
 230 :         DPSTF1 = VART(6)
 231 :         DPSTF2 = VART(7)
 232 :         IF (IVIS.EQ.1) THEN
 233 :         TDEF    = VART( 8)
 234 :         TCON    = VART( 9)
 235 :         SIGP(1) = VART(10)
 236 :         SIGP(2) = VART(11)
 237 :         SIGP(3) = VART(12)
 238 :         SIGP(4) = VART(13)
 239 :         DPSTV1 = VART(14)
 240 :         DPSTV2 = VART(15)
 241 :         SIGV1 = VART(16)
 242 :         SIGV2 = VART(17)
 243 :         ENDIF
 244 :         IF (IVIS.EQ.2) THEN
 245 :         MC = NBRC + 1 
 246 :       DO 101 I1 = 1,MC
 247 :       DO 102 J1 = 1,NSTRS
 248 :          NV = NSTRS * (I1 - 1) + J1
 249 :          SIR(I1,J1) = VART(7 + NV)       
 250 :   102 CONTINUE
 251 :   101 CONTINUE
 252 :       DO 121 I1 = 1,MC
 253 :       DO 122 J1 = 1,MC
 254 :          K = MC * (I1 - 1) + J1
 255 :          CODU(I1,J1) = VART(43 + K)      
 256 :   122 CONTINUE
 257 :   121 CONTINUE
 258 :         ENDIF
 259 : C  -------------------------------------
 260 :       TETA=ANGL
 261 : C---------------------------------------------------------------------
 262 : C
 263 :       GO TO (10,10,30,40),NSTRS
 264 :    10 CONTINUE
 265 :       KERRE=437
 266 :       WRITE(*,*) '!! ATTENTION DANS BETON  NSTRS=',NSTRS
 267 :       STOP
 268 :       GO TO 1000
 269 : C
 270 :    40 CONTINUE
 271 : C
 272 :    30 CONTINUE
 273 : C
 274 : C---------------------------------------------------------------------
 275 : C
 276 :       IF(IMOD.GE.1.AND.IMOD.LE.4) THEN
 277 : *     *-----------------------*
 278 : *     *   MODELE URGC ST      *
 279 : *     *-----------------------*
 280 : *
 281 :          WRITE(*,*) 'PROGRAMMATION A CORRIGER!'
 282 :          STOP
 282 : ***      CALL BONE(SIGR,SIGMF,STRN,IPLA,IFISU,SIG1,SIG2
 283 : ***  A        ,NSTRS,D,D1,IFOU,SIGP,EPST,SIR,CODU,
 284 : ***  A         BETJEF,VISCO,BETFLU)
 285 : C
 286 :       ELSE
 287 :          WRITE(*,*) '!! ATTENTION CE MODELE N EXISTE PAS (URGCST)'
 288 :          STOP
 289 :          RETURN
 290 :       ENDIF
 291 : C---------------------------------------------------------------------
 292 : C
 293 : C
 294 :       IF((NSTRS.EQ.3).AND.IFOU.EQ.-2.AND.
 295 :      *                                (IMOD.NE.2.AND.IMOD.NE.4)) THEN
 296 :          SIGMF(4)=SIGMF(3)
 297 :          SIGMF(3)=0.D0
 298 :       ENDIF
 299 : C
 300 :       IF((MELE.EQ.28.OR.MFR.EQ.3).AND.NSTRSS.EQ.3) THEN
 301 :         SIGMF(3)=0.D0
 302 :         SIGMF(4)=SIGMF(3)
 303 :       ENDIF
 304 : C
 305 :       DO 2 I=1,NSTRSS
 306 :         SIGF(I)=SIGMF(I)
 307 :     2 CONTINUE
 308 : C      
 309 : C---------------------------------------------------------------------
 310 : C
 311 :       VART( 1)=FLOAT(IFISU)
 312 :       VART( 2)=TETA
 313 :       VART( 3)=FLOAT(IPLA)
 314 :       VART( 4)=SIG1
 315 :       VART( 5)=SIG2
 316 :       VART( 6)=DPSTF1     
 317 :       VART( 7)=DPSTF2
 318 :       K1 = 7
 319 :       IF (IVIS.EQ.1) THEN
 320 :       VART(8)=TDEF
 321 :       VART(9)=TCON
 322 :       VART(10)=SIGP(1) 
 323 :       VART(11)=SIGP(2)
 324 :       VART(12)=SIGP(3)
 325 :       VART(13)=SIGP(4)
 326 :       VART(14)=DPSTV1
 327 :       VART(15)=DPSTV2
 328 :       VART(16)=SIGV1
 329 :       VART(17)=SIGV2
 330 :       K1 = 17
 331 :       ENDIF
 332 :       IF (IVIS.EQ.2) THEN
 333 :         MC = NBRC + 1 
 334 :       DO 103 I1 = 1,MC
 335 :       DO 104 J1 = 1,NSTRS
 336 :          NV = NSTRS * (I1 - 1) + J1
 337 :          VART(7 + NV) = SIR(I1,J1)       
 338 :   104 CONTINUE
 339 :   103 CONTINUE
 340 :       DO 123 I1 = 1,MC
 341 :       DO 124 J1 = 1,MC
 342 :          K = MC * (I1 - 1) + J1
 343 :          VART(43 + K) = CODU(I1,J1)      
 344 :   124 CONTINUE
 345 :   123 CONTINUE
 346 :       K1=124
 347 :         ENDIF
 348 : C
 349 :       GO TO (11,11,31,41),NSTRS
 350 :    11 CONTINUE
 351 :       KERRE=437
 352 :       WRITE(*,*) '!! ATTENTION DANS BETON  NSTRS=',NSTRS
 353 :       STOP
 354 :       GO TO 1000
 355 : C
 356 :    41 CONTINUE
 357 : C
 358 :    31 CONTINUE
 359 : C
 360 : C     CONTRAINTES OU DEFORMATIONS PLANES
 361 : C       SANS CISAILLEMENTS TRANSVERSAL
 362 : C
 363 :       L1=0
 364 :       DO 66 I1 = 1,NSTRS
 365 :       DO 67 J1 = 1,NSTRS
 366 :          L1=L1+1
 367 :          VV(L1) = D(J1,I1)       
 368 :    67 CONTINUE
 369 :    66 CONTINUE
 370 : *
 371 :       L1=0
 372 :       DO 62 I1 = 1,NSTRS
 373 :       DO 63 J1 = 1,NSTRS
 374 :         K=K1+(I1-1)*NSTRS+J1
 375 :         L1=L1+1
 376 :         VART(K)=VV(L1)
 377 :    63 CONTINUE
 378 :    62 CONTINUE
 379 : C
 380 :       DO 23 II=1,NVARI
 381 :         VARF(II)=VART(II)
 382 :    23 CONTINUE
 383 : C
 384 : C---------------------------------------------------------------------
 385 : C
 386 :  1000 CONTINUE
 387 :       SEGSUP BETJEF
 388 :       SEGSUP VISCO
 389 :       SEGSUP BETFLU
 390 : C
 391 :       RETURN
 392 :       END
 393 : 
 394 : 
 395 :  
 396 :  
 397 :  
 398 :  
 399 :  

© Cast3M 2003 - All rights reserved.
Disclaimer