1 : C ZERILI SOURCE CHAT 05/01/13 04:22:35 5004 2 : SUBROUTINE ZERILI(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 3 : . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC, 4 : . SIGF,VARINF,DEFP,KERRE,MFR,IB,IGAU,NSTRS,EPAIST,MELE,NPINT, 5 : . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 6 : . ROTHOO,DDHOMU,CRIGI,DSIGT,DT) 7 : * 8 : *_________________________________________________________________ 9 : * 10 : * 11 : * ENTREES : 12 : * --------- 13 : * 14 : * CELLES DE ECOINC PLUS: 15 : * DT = PAS DE TEMPS DU CALCUL 16 : * 17 : * SORTIE : 18 : * -------- 19 : * 20 : * CELLES DE ECOINC 21 : * TRAC(2*NCOURB) LE TABLEAU DE LA COURBE DE TRACTION 22 : * 23 : * ============================================================ 24 : * ICI IL FAUT PROGRAMMER EN FORTRAN PUR 25 : *============================================================= 26 : * 27 : IMPLICIT INTEGER(I-N) 28 : IMPLICIT REAL*8(A-H,O-Z) 29 : * 30 : -INC CCOPTIO 31 : * COMMON/ECOU/TEST,ALFAH, 32 : * 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6), 33 : * 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6), 34 : * 1 DALPHA(6),EPSPLA(6),E(12),XINV(3), 35 : * 2 SIPLAD(6),DSIGP0(6),TET,TETI 36 : C 37 : COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 38 : . ITYP,IFOURB,IFLUAG, 39 : . ICINE,ITHER,IFLUPL,ICYCL,IBI, 40 : . JFLUAG,LEGAUS,LFLUAG, 41 : . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF 42 : C 43 : DIMENSION SIG0(*),DEPST(*),SIGF(*),VARIN0(*),VARINF(*),XMAT(*), 44 : . VAREX0(*),VAREXF(*),DEFP(*),CARAC(*),TRAC(*),WORK(*) 45 : DIMENSION DSIGT(*) 46 : DIMENSION DDAUX(LHOOK,*),TXR(IDIM,*),CRIGI(*) 47 : DIMENSION VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*) 48 : DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*) 49 : DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) 50 : CHARACTER*8 CMATE 51 : DIMENSION RDEPS(6) 52 : * 53 : * 54 : * 55 : * Traitement des deplacements suivant le type de calcul 56 : *=========================================================== 57 : * 58 : * 59 : IF (MFR.EQ.1.OR.MFR.EQ.31) THEN 60 : * 61 : *---> 1 formulation massive 62 : *---> 2 formulation quasi incompressible 63 : *---> MASSIF 3D 64 : * 65 : IF (NSTRS .EQ. 6) THEN 66 : DO 110 I=1,NSTRS 67 : RDEPS(I)=DEPST(I) 68 : 110 CONTINUE 69 : ELSE IF (NSTRS.EQ.4.AND.((IFOUR.EQ. 0) 70 : & .OR.(IFOUR.EQ.-1).OR.(IFOUR.EQ.-2))) THEN 71 : * 72 : *---> Calcul en mode deformations planes ou axisymetrique 73 : *---> Calcul en mode contraintes planes 74 : * 75 : DO 115 I=1,NSTRS 76 : RDEPS(I)=DEPST(I) 77 : 115 CONTINUE 78 : RDEPS(5)=0.D0 79 : RDEPS(6)=0.D0 80 : ENDIF 81 : ELSE 82 : KERRE = 99 83 : RETURN 84 : ENDIF 85 : * 86 : * Passage des deformations de cisaillement exprimées 87 : * en GAMA aux déformations de cisaillement exprimées 88 : * en déformations 89 : * 90 : DO 117 I=1,6 91 : A=1.D0 92 : IF (I.GT.3) A=2.D0 93 : RDEPS(I)=RDEPS(I)/A 94 : 117 CONTINUE 95 : * 96 : * Données du materiau 97 : *=========================================================== 98 : * 99 : YOUNG=XMAT(1) 100 : XNU=XMAT(2) 101 : DYG0=XMAT(5) 102 : C1=XMAT(6) 103 : C2=XMAT(7) 104 : C3=XMAT(8) 105 : C4=XMAT(9) 106 : C5=XMAT(10) 107 : XM0=XMAT(11) 108 : XK0=XMAT(12) 109 : XL0=XMAT(13) 110 : TYPE0=XMAT(14) 111 : * 112 : * 113 : *************************************************** 114 : * Preparation au calcul de la courbe de traction 115 : *************************************************** 116 : * 117 : *---> Déformation plastique équivalente EPSP 118 : * 119 : EPSP0=VARIN0(1) 120 : * 121 : *---> Cas contraintes planes: déformation dans l'épaisseur 122 : * 123 : iter00=0 124 : IF (IFOUR.EQ.-2) THEN 125 : tr00=-1.D0*XNU/(1.D0-XNU) 126 : RDEPS(3)=tr00*(RDEPS(1)+RDEPS(2)) 127 : ENDIF 128 : 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3) 129 : * 130 : *---> Vitesse de deformation equivalente 131 : * 132 : * DT=5.D-7 133 : DEPS2=RDEPS(1)*RDEPS(1)+RDEPS(2)*RDEPS(2)+RDEPS(3)*RDEPS(3) 134 : DEPS2=DEPS2-RDEPS(1)*RDEPS(2)-RDEPS(2)*RDEPS(3) 135 : DEPS2=DEPS2-RDEPS(3)*RDEPS(1) 136 : DEPS3=RDEPS(4)*RDEPS(4)+RDEPS(5)*RDEPS(5)+RDEPS(6)*RDEPS(6) 137 : DEPS2=DEPS2+3.D0*DEPS3 138 : DEPS0=((DEPS2)**(0.5D0))*2.D0/3.D0 139 : DEPS0=DEPS0+(treps0/3.D0) 140 : IF (ABS(DT).LT.1D-10) THEN 141 : DEPS=0.D0 142 : ELSE 143 : DEPS=DEPS0/DT 144 : END IF 145 : * 146 : *---> Deformation maximale 147 : * 148 : EPSM0=10.D0*DEPS0 149 : * 150 : *---> Nombre de points de la courbe de traction 151 : * 152 : NCOURB=100 153 : * 154 : *---> Partie constante de la courbe de traction 155 : * 156 : Y0=(XK0*(XL0**(-0.5D0)))+DYG0 157 : * 158 : *---> Partie exponentielle de la courbe de traction 159 : * 160 : IF (ABS(DEPS).LT.1D-10) THEN 161 : COEFF0=0.D0 162 : ELSE 163 : COEFF0=EXP(C4*LOG(DEPS)-C3) 164 : END IF 165 : * 166 : *---> Debut de la courbe de traction 167 : * 168 : TRAC(1)=0.D0 169 : TRAC(2)=0.D0 170 : TRAC(3)=Y0 171 : TRAC(4)=0.D0 172 : * 173 : * 174 : *************************************************** 175 : * Courbe de traction dans le cas CFC 176 : *************************************************** 177 : * 178 : IF (TYPE0.EQ.0.) THEN 179 : * 180 : *---> Courbe de traction avant le point courant 181 : * 182 : EPSP=0.D0 183 : DEPS=EPSP0/48.D0 184 : DO 100 I=3,50 185 : EPSP=EPSP+DEPS 186 : * 187 : *---> Calcul de la limite d'élasticité Yel0 dans le cas cfc 188 : * 189 : Yel0=C2*COEFF0*((EPSP)**(0.5D0)) 190 : Yel0=Yel0+Y0 191 : TRAC(2*I-1)=Yel0 192 : TRAC(2*I)=EPSP 193 : 100 CONTINUE 194 : * 195 : *---> Courbe de traction apres le point courrant 196 : * 197 : DEPS=EPSM0/(NCOURB-50.D0) 198 : EPSP=EPSP0 199 : DO 200 I=51,NCOURB 200 : EPSP=EPSP+DEPS 201 : * 202 : *---> Calcul de la limite d'elasticite Yel0 dans le cas cfc 203 : * 204 : Yel0=C2*COEFF0*((EPSP)**(0.5D0)) 205 : Yel0=Yel0+Y0 206 : TRAC(2*I-1)=Yel0 207 : TRAC(2*I)=EPSP 208 : 200 CONTINUE 209 : * 210 : * 211 : ***************************************************** 212 : * Courbe de traction dans le cas CC 213 : ***************************************************** 214 : * 215 : ELSE 216 : * 217 : *---> Courbe de traction avant le point courant 218 : * 219 : EPSP=0.D0 220 : DEPS=EPSP0/48.D0 221 : DO 300 I=3,50 222 : EPSP=EPSP+DEPS 223 : * 224 : *---> Calcul de la limite d'élasticité Yel0 dans le cas cc 225 : * 226 : Yel0=C1*COEFF0 227 : Yel0=Yel0+(C5*(EPSP**XM0)) 228 : Yel0=Yel0+Y0 229 : TRAC(2*I-1)=Yel0 230 : TRAC(2*I)=EPSP 231 : 300 CONTINUE 232 : * 233 : *---> Courbe de traction apres le point courrant 234 : * 235 : DEPS=EPSM0/(NCOURB-50.D0) 236 : EPSP=EPSP0 237 : DO 400 I=51,NCOURB 238 : EPSP=EPSP+DEPS 239 : * 240 : *---> Calcul de la limite d'elasticite Yel0 dans le cas cc 241 : * 242 : Yel0=C1*COEFF0 243 : Yel0=Yel0+(C5*(EPSP**XM0)) 244 : Yel0=Yel0+Y0 245 : TRAC(2*I-1)=Yel0 246 : TRAC(2*I)=EPSP 247 : 400 CONTINUE 248 : * 249 : END IF 250 : * 251 : ********************************************* 252 : * Fin du calcul de la courbe de traction 253 : * CALCUL DE L'ECOULEMENT PLASTIQUE 254 : * MODELE PLASTIQUE ISOTROPE 255 : ********************************************* 256 : * 257 : INPLAS=5 258 : * 258 : CALL ECOINC(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 259 : . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC, 260 : . SIGF,VARINF,DEFP,KERRE,MFR,IB,IGAU,NSTRS,EPAIST,MELE,NPINT, 261 : . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 262 : . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS) 263 : * 264 : * Cas contraintes planes 265 : * 266 : IF (IFOUR.EQ.-2) THEN 267 : iter00=iter00+1 268 : RDEPS3=DEFP(3)+tr00*(RDEPS(1)-DEFP(1)+RDEPS(2)-DEFP(2)) 269 : RDEPS4=ABS(RDEPS(3)) 270 : RDEPS5=ABS(RDEPS3) 271 : IF (RDEPS4.LE.1.D-10) THEN 272 : IF ((iter00.LE.200).AND.(RDEPS5.GT.1.E-10)) THEN 273 : RDEPS(3)=RDEPS3 274 : GOTO 98 275 : ENDIF 276 : ELSE 277 : ERR0=ABS(RDEPS3-RDEPS(3))/RDEPS4 278 : IF ((iter00.LE.200).AND.(ERR0.GT.1.D-5)) THEN 279 : RDEPS(3)=RDEPS3 280 : GOTO 98 281 : ENDIF 282 : ENDIF 283 : ENDIF 284 : * 285 : RETURN 286 : * 287 : END 288 : 289 : 290 : 291 :
© Cast3M 2003 - All rights reserved.
Disclaimer