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