1 : C CZERIL SOURCE KICH 09/09/11 21:17:57 6505 2 : C ZERILI SOURCE AC2 96/01/29 21:20:10 2008 3 : SUBROUTINE CZERIL(wrk52,wrk53,wrk54,wrk2,wrk3, 4 : & IB,IGAU,NBPGAU,necou,ecou,iecou,xecou) 5 : c SUBROUTINE CZERIL(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 6 : c . N2PTEL,var0,bid,bid,XMAT,PRECIS,work2,work,TRAC, 7 : c . SIGF,varf,DEFP,KERRE,MFR1,IB,IGAU,NSTRS1,EPAIST,MELE,NPINT, 8 : c . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 9 : c . ROTHOO,DDHOMU,CRIGI,DSIGT,DT) 10 : * 11 : *_________________________________________________________________ 12 : * 13 : * 14 : * ENTREES : 15 : * --------- 16 : * 17 : * CELLES DE ECOINC PLUS: 18 : * DT = PAS DE TEMPS DU CALCUL 19 : * 20 : * SORTIE : 21 : * -------- 22 : * 23 : * CELLES DE ECOINC 24 : * TRAC(2*NCOURB) LE TABLEAU DE LA COURBE DE TRACTION 25 : * 26 : * ============================================================ 27 : * ICI IL FAUT PROGRAMMER EN FORTRAN PUR 28 : *============================================================= 29 : * 30 : IMPLICIT INTEGER(I-N) 31 : IMPLICIT REAL*8(A-H,O-Z) 32 : * 33 : -INC CCOPTIO 34 : -INC DECHE 35 : SEGMENT IECOU 36 : * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK, 37 : INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7, 38 : C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK, 39 : 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16, 40 : C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND, 41 : 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24, 42 : C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT, 43 : 3 icow25,icow26,icow27,icow28,icow29,icow30,icow31, 44 : C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA, 45 : 4 icow32,icow33,NSTRS1,MFR1, NBGMAT,NELMAT,icow38, 46 : C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA, 47 : 5 icow39,icow40,icow41,icow42,icow43,icow44 48 : C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME 49 : INTEGER icow45,icow46,icow47,icow48,icow49,icow50, 50 : . icow51,icow52,icow53,icow54,icow55,icow56 51 : . icow57,icow58 52 : ENDSEGMENT 53 : SEGMENT XECOU 54 : * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 55 : REAL*8 xcow1, xcow2,xcow3,xcow4,DT,xcow6, xcow7 56 : C REAL*8 DTOPTI,TSOM, TCAR, DTT, DT, TREFA,TEMP00 57 : ENDSEGMENT 58 : 59 : SEGMENT ECOU 60 : *** COMMON/ECOU/TEST,ALFAH, 61 : REAL*8 ecow00,ecow0, 62 : C REAL*8 TEST, ALFAH, 63 : 1 ecow1,ecow2,ecow3(6),ecow4(9),ecow5(6), 64 : C 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6), 65 : 2 ecow6(12),ecow7(6),ecow8(6),ecow9(6),ecow10(6),ecow11(6), 66 : 2 ecow12(6), 67 : C 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6), 68 : 1 ecow13(6),ecow14(6),ecow15(12),ecow16(3), 69 : C 1 DALPHA(6),EPSPLA(6),E(12),XINV(3), 70 : 2 ecow17(6),ecow18(6),ecow19,ecow20 71 : C 2 SIPLAD(6),DSIGP0(6),TET,TETI 72 : ENDSEGMENT 73 : * COMMON/ECOU/TEST,ALFAH, 74 : * 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6), 75 : * 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6), 76 : * 1 DALPHA(6),EPSPLA(6),E(12),XINV(3), 77 : * 2 SIPLAD(6),DSIGP0(6),TET,TETI 78 : C 79 : SEGMENT NECOU 80 : * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 81 : INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 82 : . ITYP,IFOURB,IFLUAG, 83 : . ICINE,ITHER,IFLUPL,ICYCL,IBI, 84 : . JFLUAG,LEGAUS,LFLUAG, 85 : . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF 86 : ENDSEGMENT 87 : C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 88 : C . ITYP,IFOURB,IFLUAG, 89 : C . ICINE,ITHER,IFLUPL,ICYCL,IBI, 90 : C . JFLUAG,LEGAUS,LFLUAG, 91 : C . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF 92 : C 93 : * 94 : SEGMENT WRK2 95 : REAL*8 TRAC(LTRAC) 96 : ENDSEGMENT 97 : * 98 : SEGMENT WRK3 99 : REAL*8 WORK(LW),WORK2(LW2) 100 : ENDSEGMENT 101 : * 102 : DIMENSION RDEPS(6) 103 : * 104 : * 105 : * 106 : * Traitement des deplacements suivant le type de calcul 107 : *=========================================================== 108 : * 109 : * 110 : IF (MFR1.EQ.1.OR.MFR1.EQ.31) THEN 111 : * 112 : *---> 1 formulation massive 113 : *---> 2 formulation quasi incompressible 114 : *---> MASSIF 3D 115 : * 116 : IF (NSTRS1 .EQ. 6) THEN 117 : DO 110 I=1,NSTRS1 118 : RDEPS(I)=DEPST(I) 119 : 110 CONTINUE 120 : ELSE IF (NSTRS1.EQ.4.AND.((IFOUR.EQ. 0) 121 : & .OR.(IFOUR.EQ.-1).OR.(IFOUR.EQ.-2))) THEN 122 : * 123 : *---> Calcul en mode deformations planes ou axisymetrique 124 : *---> Calcul en mode contraintes planes 125 : * 126 : DO 115 I=1,NSTRS1 127 : RDEPS(I)=DEPST(I) 128 : 115 CONTINUE 129 : RDEPS(5)=0.D0 130 : RDEPS(6)=0.D0 131 : ENDIF 132 : ELSE 133 : KERRE = 99 134 : RETURN 135 : ENDIF 136 : * 137 : * Passage des deformations de cisaillement exprimées 138 : * en GAMA aux déformations de cisaillement exprimées 139 : * en déformations 140 : * 141 : DO 117 I=1,6 142 : A=1.D0 143 : IF (I.GT.3) A=2.D0 144 : RDEPS(I)=RDEPS(I)/A 145 : 117 CONTINUE 146 : * 147 : * Données du materiau 148 : *=========================================================== 149 : * 150 : YOUNG=XMAT(1) 151 : XNU=XMAT(2) 152 : DYG0=XMAT(5) 153 : C1=XMAT(6) 154 : C2=XMAT(7) 155 : C3=XMAT(8) 156 : C4=XMAT(9) 157 : C5=XMAT(10) 158 : XM0=XMAT(11) 159 : XK0=XMAT(12) 160 : XL0=XMAT(13) 161 : TYPE0=XMAT(14) 162 : * 163 : * 164 : *************************************************** 165 : * Preparation au calcul de la courbe de traction 166 : *************************************************** 167 : * 168 : *---> Déformation plastique équivalente EPSP 169 : * 170 : EPSP0=var0(1) 171 : * 172 : *---> Cas contraintes planes: déformation dans l'épaisseur 173 : * 174 : iter00=0 175 : IF (IFOUR.EQ.-2) THEN 176 : tr00=-1.D0*XNU/(1.D0-XNU) 177 : RDEPS(3)=tr00*(RDEPS(1)+RDEPS(2)) 178 : ENDIF 179 : 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3) 180 : * 181 : *---> Vitesse de deformation equivalente 182 : * 183 : * DT=5.D-7 184 : DEPS2=RDEPS(1)*RDEPS(1)+RDEPS(2)*RDEPS(2)+RDEPS(3)*RDEPS(3) 185 : DEPS2=DEPS2-RDEPS(1)*RDEPS(2)-RDEPS(2)*RDEPS(3) 186 : DEPS2=DEPS2-RDEPS(3)*RDEPS(1) 187 : DEPS3=RDEPS(4)*RDEPS(4)+RDEPS(5)*RDEPS(5)+RDEPS(6)*RDEPS(6) 188 : DEPS2=DEPS2+3.D0*DEPS3 189 : DEPS0=((DEPS2)**(0.5D0))*2.D0/3.D0 190 : DEPS0=DEPS0+(treps0/3.D0) 191 : IF (ABS(DT).LT.1D-10) THEN 192 : DEPS=0.D0 193 : ELSE 194 : DEPS=DEPS0/DT 195 : END IF 196 : * 197 : *---> Deformation maximale 198 : * 199 : EPSM0=10.D0*DEPS0 200 : * 201 : *---> Nombre de points de la courbe de traction 202 : * 203 : NCOURB=100 204 : * 205 : *---> Partie constante de la courbe de traction 206 : * 207 : Y0=(XK0*(XL0**(-0.5D0)))+DYG0 208 : * 209 : *---> Partie exponentielle de la courbe de traction 210 : * 211 : IF (ABS(DEPS).LT.1D-10) THEN 212 : COEFF0=0.D0 213 : ELSE 214 : COEFF0=EXP(C4*LOG(DEPS)-C3) 215 : END IF 216 : * 217 : *---> Debut de la courbe de traction 218 : * 219 : TRAC(1)=0.D0 220 : TRAC(2)=0.D0 221 : TRAC(3)=Y0 222 : TRAC(4)=0.D0 223 : * 224 : * 225 : *************************************************** 226 : * Courbe de traction dans le cas CFC 227 : *************************************************** 228 : * 229 : IF (TYPE0.EQ.0.) THEN 230 : * 231 : *---> Courbe de traction avant le point courant 232 : * 233 : EPSP=0.D0 234 : DEPS=EPSP0/48.D0 235 : DO 100 I=3,50 236 : EPSP=EPSP+DEPS 237 : * 238 : *---> Calcul de la limite d'élasticité Yel0 dans le cas cfc 239 : * 240 : Yel0=C2*COEFF0*((EPSP)**(0.5D0)) 241 : Yel0=Yel0+Y0 242 : TRAC(2*I-1)=Yel0 243 : TRAC(2*I)=EPSP 244 : 100 CONTINUE 245 : * 246 : *---> Courbe de traction apres le point courrant 247 : * 248 : DEPS=EPSM0/(NCOURB-50.D0) 249 : EPSP=EPSP0 250 : DO 200 I=51,NCOURB 251 : EPSP=EPSP+DEPS 252 : * 253 : *---> Calcul de la limite d'elasticite Yel0 dans le cas cfc 254 : * 255 : Yel0=C2*COEFF0*((EPSP)**(0.5D0)) 256 : Yel0=Yel0+Y0 257 : TRAC(2*I-1)=Yel0 258 : TRAC(2*I)=EPSP 259 : 200 CONTINUE 260 : * 261 : * 262 : ***************************************************** 263 : * Courbe de traction dans le cas CC 264 : ***************************************************** 265 : * 266 : ELSE 267 : * 268 : *---> Courbe de traction avant le point courant 269 : * 270 : EPSP=0.D0 271 : DEPS=EPSP0/48.D0 272 : DO 300 I=3,50 273 : EPSP=EPSP+DEPS 274 : * 275 : *---> Calcul de la limite d'élasticité Yel0 dans le cas cc 276 : * 277 : Yel0=C1*COEFF0 278 : Yel0=Yel0+(C5*(EPSP**XM0)) 279 : Yel0=Yel0+Y0 280 : TRAC(2*I-1)=Yel0 281 : TRAC(2*I)=EPSP 282 : 300 CONTINUE 283 : * 284 : *---> Courbe de traction apres le point courrant 285 : * 286 : DEPS=EPSM0/(NCOURB-50.D0) 287 : EPSP=EPSP0 288 : DO 400 I=51,NCOURB 289 : EPSP=EPSP+DEPS 290 : * 291 : *---> Calcul de la limite d'elasticite Yel0 dans le cas cc 292 : * 293 : Yel0=C1*COEFF0 294 : Yel0=Yel0+(C5*(EPSP**XM0)) 295 : Yel0=Yel0+Y0 296 : TRAC(2*I-1)=Yel0 297 : TRAC(2*I)=EPSP 298 : 400 CONTINUE 299 : * 300 : END IF 301 : * 302 : ********************************************* 303 : * Fin du calcul de la courbe de traction 304 : * CALCUL DE L'ECOULEMENT PLASTIQUE 305 : * MODELE PLASTIQUE ISOTROPE 306 : ********************************************* 307 : * 308 : inpla0 = INPLAS 309 : if (inpla0.eq.50) INPLAS = 5 310 : * 310 : CALL CCOINC(wrk52,wrk53,wrk54,wrk2,wrk3, 311 : & IB,IGAU,NBPGAU,ecou,necou,iecou) 312 : 313 : INPLAS = inpla0 314 : * 315 : * Cas contraintes planes 316 : * 317 : IF (IFOUR.EQ.-2) THEN 318 : iter00=iter00+1 319 : RDEPS3=DEFP(3)+tr00*(RDEPS(1)-DEFP(1)+RDEPS(2)-DEFP(2)) 320 : RDEPS4=ABS(RDEPS(3)) 321 : RDEPS5=ABS(RDEPS3) 322 : IF (RDEPS4.LE.1.D-10) THEN 323 : IF ((iter00.LE.200).AND.(RDEPS5.GT.1.E-10)) THEN 324 : RDEPS(3)=RDEPS3 325 : GOTO 98 326 : ENDIF 327 : ELSE 328 : ERR0=ABS(RDEPS3-RDEPS(3))/RDEPS4 329 : IF ((iter00.LE.200).AND.(ERR0.GT.1.D-5)) THEN 330 : RDEPS(3)=RDEPS3 331 : GOTO 98 332 : ENDIF 333 : ENDIF 334 : ENDIF 335 : * 336 : RETURN 337 : * 338 : END 339 : 340 : 341 : 342 : 343 : 344 : 345 : 346 : 347 : 348 : 349 : 350 : 351 : 352 : 353 : 354 :
© Cast3M 2003 - All rights reserved.
Disclaimer