Download czeril.eso

Back to the list

   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