behav3
C BEHAV3 SOURCE CB215821 16/04/21 21:15:19 8920 & SIG1,SIG2,IFIS,SIGF,DSIGT,NSTRS,IFOUB,DEP,SIGRV,SIGP, & BETJEF,VISCO,NECH0,NECH1) C C ================================================================== C C MODELE DE PLASTICITE EN TRAITEMENT PRE ET POST PIC C Deux criteres de traction compression: C Rankine et Von Mises C C ================================================================== C CE SOUS-PROGRAMME EST APPELE DANS "BONE". C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION DFSIG1(4),DFSIG2(4),SIGF(4),DSIGT(4),VEC1(4),VEC2(4) DIMENSION V1(4),AC1(4),AC2(4),SIGE(4),SIGP(4) DIMENSION DLAM1(2),DLAM0(2),SIGR(4),IS1(2) DIMENSION FCRI0(2),FCRI1(2),DEPSI(4),DSTRN(4),SIGRV(4) DIMENSION D2FSI1(4,4),D2FSI2(4,4),DEP(4,4),P1(4,4),P2(4,4) DIMENSION D(4,4),A(4,4),AI(4,4),DJAC0(4,4),DJI(4,4),AH(4,4) C * SEGMENT BETJEF & TCON,DPSTF1,DPSTF2,TETA,PDT,TP0 INTEGER ICT,ICC,IMOD,IVIS,ITR, & ISIM,IBB,IGAU,IZON ENDSEGMENT SEGMENT VISCO REAL*8 DPSTV1,DPSTV2,SIGV1,SIGV2,ENDV ENDSEGMENT SEGMENT NECH0 ENDSEGMENT SEGMENT NECH1 REAL*8 ENDL ENDSEGMENT * * * COMMON /DBETJEF/AA,BETA,COLI,PALF,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF, * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICT,ICC,IMOD,IVIS,ITR, * & ISIM,IBB,IGAU,IZON C MNSTRS=NSTRS C IAPEX=0 Rb=COLI PRB=1.D-10 PRB2=1.D-6 ITER=1 IEC1=0 IEC2=0 IBROY=0 ITANG=0 CRIMAX=0.D0 SEQ = 0.D0 SEQ1 = 0.D0 SEQ2 = 0.D0 C DO 10 I=1,NSTRS SIGE(I)=SIGF(I) 10 CONTINUE C IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN AD=YOUN/(1.D0-XNU*XNU) D(1,1)=AD D(2,2)=D(1,1) D(3,3)=AD*(1.D0-XNU)/2.D0 D(1,2)=AD*XNU D(2,1)=D(1,2) ENDIF C IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN ADD=YOUN/((1.D0+XNU)*(1.D0-2.D0*XNU)) D(1,1)=ADD*(1.D0-XNU) D(2,2)=D(1,1) D(3,3)=D(1,1) D(1,2)=ADD*XNU D(2,1)=D(1,2) D(1,3)=D(1,2) D(2,3)=D(1,2) D(3,1)=D(1,2) D(3,2)=D(1,2) D(4,4)=0.5*ADD*(1.D0-2.D0*XNU) ENDIF C C ************ Le point est fissure pour 1ere fois *********** C IF (IFIS.EQ.0) THEN DEPS1=0.D0 SIG1=Ft IF (V1(1).GT.Ft) THEN IFIS=1 ENDIF ENDIF IF (IPLA.EQ.0) THEN IF(IMOD.EQ.1.OR.IMOD.EQ.2) THEN ENDIF IF(IMOD.EQ.3.OR.IMOD.EQ.4) THEN ENDIF DEPS2=0.D0 SIG2=Rb*AA IF (SEQ.GT.SIG2) THEN IPLA=1 ENDIF ENDIF C 12 CONTINUE C IF(IMOD.EQ.1.OR.IMOD.EQ.2) THEN ENDIF IF(IMOD.EQ.3.OR.IMOD.EQ.4) THEN ENDIF FCRI0(1)=V1(1)-SIG1 FCRI0(2)=SEQ-SIG2 IF (ABS(FCRI0(1)).GT.ABS(FCRI0(2))) THEN CRIMAX=ABS(100.D0*FCRI0(1)) ELSE CRIMAX=ABS(100.D0*FCRI0(2)) ENDIF IF (FCRI0(1).LT.0.D0.AND.FCRI0(2).LT.0.D0) THEN IEC1=1 IEC2=1 ENDIF IF (FCRI0(1).LT.0.D0.AND.FCRI0(2).GE.0.D0) THEN IEC1=1 IEC2=0 ENDIF IF (FCRI0(1).GE.0.D0.AND.FCRI0(2).LT.0.D0) THEN IEC1=0 IEC2=1 ENDIF C 15 CONTINUE C DO 16 I=1,NSTRS SIGF(I)=SIGE(I) 16 CONTINUE C IF (IEC1.EQ.1.AND.IEC2.EQ.1) THEN DO 17 I=1,NSTRS DO 17 J=1,NSTRS DEP(I,J)=D(I,J) 17 CONTINUE GOTO 100 ENDIF C IF (IEC1.EQ.1.AND.IEC2.EQ.0) THEN & ,SIG1,SIG2,IFIS,SIGF,DSIGT,NSTRS,IFOUB,DEP,SIGRV,SIGP, & BETJEF,VISCO,NECH0,NECH1) GOTO 100 ENDIF C IF (IEC1.EQ.0.AND.IEC2.EQ.1) THEN & ,SIG1,SIG2,IFIS,SIGF,DSIGT,NSTRS,IFOUB,DEP,SIGRV,SIGP, & BETJEF,VISCO,NECH0,NECH1) GOTO 100 ENDIF C DK1=DEPS1 DK2=DEPS2 DLAM0(1)=0.D0 DLAM0(2)=0.D0 C 18 CONTINUE C C ************ Preparation des criteres ******************** C C ------------------ Von Mises ----------------------------- IF (IMOD.EQ.1.OR.IMOD.EQ.2) THEN A1=0.D0 A2=1.D0 ENDIF C ----------------- Drucker Prager ------------------------- IF (IMOD.EQ.3.OR.IMOD.EQ.4) THEN A1=(BETA-1.D0)/(2*BETA-1.D0) A2=BETA/(2*BETA-1.D0) ENDIF C ---------------------------------------------------------- C C ---------------- direction de traction ------------------ C C--------------- Determination du parametre d'ecrouissage ---------- C IF(IVIS.LE.2) THEN ELSE ENDIF C C------------------------------------------------------------ PI=4.D0*ATAN(1.D0) PHIC=V1(4)*(PI/180.D0) COSA=COS(PHIC) SINA=SIN(PHIC) C IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN DFSIG1(1)=COSA*COSA DFSIG1(2)=SINA*SINA DFSIG1(3)=2.D0*SINA*COSA DO 19 I=1,NSTRS DO 19 J=1,NSTRS P1(I,J)=0.D0 19 CONTINUE P1(1,1)=1.D0/2.D0 P1(1,2)=-1.D0/2.D0 P1(2,1)=-1.D0/2.D0 P1(2,2)=1.D0/2.D0 P1(3,3)=2.D0 ENDIF C IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN DFSIG1(1)=COSA*COSA DFSIG1(2)=SINA*SINA DFSIG1(3)=0.D0 DFSIG1(4)=2.D0*SINA*COSA DO 21 I=1,NSTRS DO 21 J=1,NSTRS P1(I,J)=0.D0 21 CONTINUE P1(1,1)=1.D0/2.D0 P1(1,2)=-1.D0/2.D0 P1(2,1)=-1.D0/2.D0 P1(2,2)=1.D0/2.D0 P1(4,4)=2.D0 ENDIF C DO 20 I=1,NSTRS AC1(I)=0.D0 DO 20 J=1,NSTRS AC1(I)=AC1(I)+D(I,J)*DFSIG1(J) 20 CONTINUE C C ---------------- direction de compression ---------------- C IF(IVIS.LE.2) THEN ELSE ENDIF C IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN SX=SIGF(1) SY=SIGF(2) SXY=SIGF(3) R1=(SX-SY)*(SX-SY)+SX*SX+SY*SY+6*SXY*SXY R=SQRT(0.5*R1) IF (ABS(R).LE.1.D-10) THEN WRITE(*,*)'INDETERMINATION de DFSIG ds BEHAV3' STOP ENDIF DFSIG2(1)=(2.D0*SX-SY)/2.D0/R/A2+A1/A2 DFSIG2(2)=(2.D0*SY-SX)/2.D0/R/A2+A1/A2 DFSIG2(3)=3.D0*SXY/R/A2 P2(1,1)=2.D0/A2/A2 P2(1,2)=-1.D0/A2/A2 P2(1,3)=0.D0/A2/A2 P2(2,1)=-1.D0/A2/A2 P2(2,2)=2.D0/A2/A2 P2(2,3)=0.D0/A2/A2 P2(3,1)=0.D0/A2/A2 P2(3,2)=0.D0/A2/A2 P2(3,3)=6.D0/A2/A2 ENDIF C IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN SX=SIGF(1) SY=SIGF(2) SZ=SIGF(3) SXY=SIGF(4) TX=(SX-SY)*(SX-SY) TY=(SX-SZ)*(SX-SZ) TZ=(SY-SZ)*(SY-SZ) R1=TX+TY+TZ+6*SXY*SXY R=SQRT(0.5*R1) IF (ABS(R).LE.1.D-10) THEN WRITE(*,*)'INDETERMINATION de DFSIG ds BEHAV3' STOP ENDIF DFSIG2(1)=(2.D0*SX-SY-SZ)/2.D0/R/A2+A1/A2 DFSIG2(2)=(2.D0*SY-SX-SZ)/2.D0/R/A2+A1/A2 DFSIG2(3)=(2.D0*SZ-SX-SY)/2.D0/R/A2+A1/A2 DFSIG2(4)=3.D0*SXY/R/A2 P2(1,1)=2.D0/A2/A2 P2(1,2)=-1.D0/A2/A2 P2(1,3)=-1.D0/A2/A2 P2(1,4)=0.D0/A2/A2 P2(2,1)=-1.D0/A2/A2 P2(2,2)=2.D0/A2/A2 P2(2,3)=-1.D0/A2/A2 P2(2,4)=0.D0/A2/A2 P2(3,1)=-1.D0/A2/A2 P2(3,2)=-1.D0/A2/A2 P2(3,3)=2.D0/A2/A2 P2(3,4)=0.D0/A2/A2 P2(4,1)=0.D0/A2/A2 P2(4,2)=0.D0/A2/A2 P2(4,3)=0.D0/A2/A2 P2(4,4)=6.D0/A2/A2 ENDIF C DO 25 I=1,NSTRS AC2(I)=0.D0 DO 25 J=1,NSTRS AC2(I)=AC2(I)+D(I,J)*DFSIG2(J) 25 CONTINUE C C ************ Preparation du jacobien ******************** C F1DF1=0.D0 DO 30 J=1,NSTRS F1DF1=F1DF1+DFSIG1(J)*AC1(J) 30 CONTINUE F1DF2=0.D0 DO 31 J=1,NSTRS F1DF2=F1DF2+DFSIG1(J)*AC2(J) 31 CONTINUE F2DF2=0.D0 DO 32 J=1,NSTRS F2DF2=F2DF2+DFSIG2(J)*AC2(J) 32 CONTINUE F2DF1=0.D0 DO 33 J=1,NSTRS F2DF1=F2DF1+DFSIG2(J)*AC1(J) 33 CONTINUE C DJAC0(1,1)=-(F1DF1+PAECT) DJAC0(1,2)=-(F1DF2) DJAC0(2,2)=-(F2DF2+PAEC) DJAC0(2,1)=-(F2DF1) C DO 43 I=1,2 DO 43 J=1,2 DJI(I,J)=DJAC0(I,J) 43 CONTINUE C IF (ISING.EQ.1) THEN WRITE(*,*)'MATRICE DJI singuliere ds BEHAV3' ENDIF C C ************ Debut des iterations internes ******************* C 40 CONTINUE C C *************** Determination de DK et DLAM ****************** C C C DLAM1(1)=DLAM0(1)-DJI(1,1)*FCRI0(1)-DJI(1,2)*FCRI0(2) DLAM1(2)=DLAM0(2)-DJI(2,1)*FCRI0(1)-DJI(2,2)*FCRI0(2) C IF (DLAM1(1).LE.0.D0) IEC1=1 IF (DLAM1(2).LE.0.D0) IEC2=1 IF (IEC1.EQ.1.OR.IEC2.EQ.1) THEN C WRITE(*,*)'Dans BEHAV3, DLAMDA1 est negatif:',DLAM1(1) C WRITE(*,*)'Dans BEHAV3, DLAMDA2 est negatif:',DLAM1(2) C WRITE(*,*)'A l iteration :',ITER GOTO 15 ENDIF C DK1=DEPS1+DLAM1(1) DK2=DEPS2+DLAM1(2) C IF(IVIS.LE.2) THEN ELSE ENDIF C C ************** Determination de DPHI ********************* C IF (IMOD.EQ.1) THEN AD1=YOUN/(1.D0-XNU) coef=2.D0*SEQ2/(2.D0*SEQ2+DLAM1(2)*AD1) DPHI1=SEQ1-0.5*coef*((SIGE(1)+SIGE(2))-AD1*DLAM1(1)) TO=SIGF(3) DPHI2=SEQ2 ENDIF IF (IMOD.EQ.2) THEN DG=YOUN/2.D0/(1.D0+XNU) AD1=YOUN/(1.D0+XNU)/(1.D0-2.D0*XNU) coef1=(SEQ2+2.D0*DLAM1(2)*DG)/(SEQ2+3.D0*DLAM1(2)*DG) coef2=(2.D0*DLAM1(2)*DG)/(SEQ2+3.D0*DLAM1(2)*DG) CAS1=(SIGE(1)+SIGE(2)-0.5*DLAM1(1)*2.D0*AD1) CAS2=SIGE(3)-DLAM1(1)*XNU*AD1 DPHI1=SEQ1-0.5*(coef1*CAS1+coef2*CAS2) TO=SIGF(4) DPHI2=SEQ2 ENDIF IF (IMOD.EQ.3) THEN DPHI2=SEQ2-A1/A2*(SIGF(1)+SIGF(2)) AD1=YOUN/(1.D0-XNU) coef=2.D0*DPHI2/(2.D0*DPHI2+DLAM1(2)*AD1) SOM=A1/A2*DLAM1(2)*2.D0*AD1 DPHI1=SEQ1-0.5*coef*((SIGE(1)+SIGE(2))-AD1*DLAM1(1)-SOM) TO=SIGF(3) ENDIF IF (IMOD.EQ.4) THEN SOM=SIGE(1)+SIGE(2)+SIGE(3) DPHI2=A1*SOM/A2 DPHI2=DPHI2-A1*DLAM1(1)*ADD*(1.D0+XNU)/A2 DPHI2=DPHI2-A1*A1*DLAM1(2)*3.D0*ADD*(1.D0+XNU)/A2/A2 DPHI2=SEQ2-DPHI2 DG=YOUN/2.D0/(1.D0+XNU)/A2/A2 AD1=YOUN/(1.D0+XNU)/(1.D0-2.D0*XNU) AD2=YOUN/(1.D0-2.D0*XNU) coef1=(DPHI2+2.D0*DLAM1(2)*DG)/(DPHI2+3.D0*DLAM1(2)*DG) coef2=(2.D0*DLAM1(2)*DG)/(DPHI2+3.D0*DLAM1(2)*DG) CAS1=(SIGE(1)+SIGE(2)-DLAM1(1)*AD1-2.D0*A1/A2*DLAM1(2)*AD2) CAS2=SIGE(3)-DLAM1(1)*XNU*AD1-A1/A2*DLAM1(2)*AD2 DPHI1=SEQ1-0.5*(coef1*CAS1+coef2*CAS2) TO=SIGF(4) ENDIF C IF (DPHI1.LT.0.D0) THEN C WRITE(*,*)'ATTENTION DPHI1 NEGATIF' C WRITE(*,*)'DPHI1=',DPHI1 C ENDIF C IF (DPHI2.LT.0.D0) THEN C WRITE(*,*)'ATTENTION DPHI2 ds BEHAV3 NEGATIF' C WRITE(*,*)'DPHI2=',DPHI2 C ENDIF C C--------------- Cas de l'apex ----------------------------- C IF (ABS(DPHI1).LE.10E-10.AND. *ABS(DPHI2).GT.10E-10) THEN IAPEX=1 C WRITE(*,*)'IAPEX ds BEHAV3 =',IAPEX C WRITE(*,*)'Dans l element',IBB C WRITE(*,*)'et au point d intégration',IGAU DO 50 I=1,NSTRS DO 50 J=1,NSTRS AI(I,J)=0.D0 50 CONTINUE AI(1,1)=0.5 AI(1,2)=0.5 AI(2,1)=AI(1,2) AI(2,2)=AI(1,1) IF (IMOD.EQ.1.OR.IMOD.EQ.3) AI(3,3)=0.D0 IF (IMOD.EQ.2.OR.IMOD.EQ.4) AI(3,3)=1.D0 GOTO 75 ENDIF C C---------- Cas du critere reduit a un point ---------------- C IF (ABS(DPHI2).LE.10E-10) THEN IAPEX=2 C WRITE(*,*)'IAPEX ds BEHAV3 =',IAPEX C WRITE(*,*)'Dans l element',IBB C WRITE(*,*)'et au point d intégration',IGAU DO 52 I=1,NSTRS DO 52 J=1,NSTRS AI(I,J)=0.D0 52 CONTINUE IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN DO 53 I=1,3 DO 53 J=1,3 AI(I,J)=1.D0/3.D0 53 CONTINUE ENDIF GOTO 75 ENDIF C C ************** Mise a jour des contraintes *************** C C ---------------- calcul de la matrice A ------------------ C DO 60 I=1,NSTRS DO 60 J=1,NSTRS A(I,J)=0.D0 60 CONTINUE C DG=YOUN/2.D0/(1.D0+XNU) C IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN DW1=AD*(2.D0-XNU) DW2=AD*(2.D0*XNU-1.D0) A(1,1)=1.D0+(DLAM1(1)*DG)/2.D0/DPHI1 A(1,1)=A(1,1)+(DLAM1(2)*DW1)/2.D0/DPHI2/A2/A2 A(2,2)=A(1,1) A(1,2)=-(DLAM1(1)*DG)/2.D0/DPHI1 A(1,2)=A(1,2)+(DLAM1(2)*DW2)/2.D0/DPHI2/A2/A2 A(2,1)=A(1,2) A(3,3)=(DLAM1(1)*DG)/DPHI1 A(3,3)=A(3,3)+1.D0+(DLAM1(2)*3.D0*DG)/DPHI2/A2/A2 ENDIF C IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN A(1,1)=1.D0+(DLAM1(1)*DG)/2.D0/DPHI1 A(1,1)=A(1,1)+(DLAM1(2)*2.D0*DG)/DPHI2/A2/A2 A(2,2)=A(1,1) A(3,3)=1.D0+(DLAM1(2)*2.D0*DG)/DPHI2/A2/A2 A(1,2)=-(DLAM1(1)*DG)/2.D0/DPHI1 A(1,2)=A(1,2)-(DLAM1(2)*DG)/DPHI2/A2/A2 A(2,1)=A(1,2) A(1,3)=-(DLAM1(2)*DG)/DPHI2/A2/A2 A(3,1)=A(1,3) A(3,2)=A(1,3) A(2,3)=A(1,3) A(4,4)=1.D0+(DLAM1(1)*DG)/DPHI1 A(4,4)=A(4,4)+(DLAM1(2)*DG*3.D0)/DPHI2/A2/A2 ENDIF C C -------------- invertion de la matrice A ----------------- C DO 70 I=1,NSTRS DO 70 J=1,NSTRS AI(I,J)=A(I,J) 70 CONTINUE C IF (ISING.EQ.1) THEN WRITE(*,*)'MATRICE AI singuliere ds BEHAV3' ENDIF C C -------------- mise a jour des contraintes ------------ C 75 CONTINUE VEC1(1)=AD1 VEC1(2)=AD1 VEC1(3)=0.D0 VEC1(4)=0.D0 IF(IMOD.EQ.3) THEN VEC2(1)=AD1*(1.D0+XNU) VEC2(2)=AD1*(1.D0+XNU) VEC2(3)=0.D0 VEC2(4)=0.D0 ENDIF IF(IMOD.EQ.4) THEN VEC2(1)=AD1*(1.D0+XNU) VEC2(2)=AD1*(1.D0+XNU) VEC2(3)=AD1*(1.D0+XNU) VEC2(4)=0.D0 ENDIF IF(IMOD.EQ.1.OR.IMOD.EQ.2) THEN VEC2(1)=0.D0 VEC2(2)=0.D0 VEC2(3)=0.D0 VEC2(4)=0.D0 ENDIF C DO 80 I=1,NSTRS DEPSI(I)=SIGE(I)-0.5*DLAM1(1)*VEC1(I) DEPSI(I)=DEPSI(I)-A1*DLAM1(2)*VEC2(I)/A2 80 CONTINUE C DO 90 I=1,NSTRS SIGF(I)=0.0D+00 DO 90 J=1,NSTRS SIGF(I)=SIGF(I)+AI(I,J)*DEPSI(J) 90 CONTINUE C C ******** Verification des criteres **************** C IF(IMOD.EQ.1.OR.IMOD.EQ.2) THEN ENDIF IF(IMOD.EQ.3.OR.IMOD.EQ.4) THEN ENDIF FCRI1(1)=V1(1)-SEQ1 IF (IAPEX.EQ.2) FCRI1(1)=0.D0 FCRI1(2)=SEQ-SEQ2 C IF (IBROY.EQ.0.AND.(ABS(FCRI1(1)).GE.CRIMAX.OR * .ABS(FCRI1(2)).GE.CRIMAX)) THEN C WRITE(*,*)'****************************************' C WRITE(*,*)'LE RESIDU DIVERGE AVEC BROYDEN' C WRITE(*,*)'on passe donc a la secante' C WRITE(*,*)'Dans l element',IBB C WRITE(*,*)'et au point d intégration',IGAU C WRITE(*,*)'CRIMAX=',CRIMAX C WRITE(*,*)'****************************************' ITER=ITR ENDIF C C ******* Compteur sur la methode de resolution **** C IF (IBROY.EQ.0.AND.ITER.EQ.ITR) THEN IBROY=1 ITANG=1 ITER=1 IAPEX=0 IEC1=0 IEC2=0 GOTO 12 ENDIF C C ******* non convergence ************************** C IF ((ABS(FCRI1(1)).GT.PRB.OR.ABS(FCRI1(2)).GT.PRB) *.AND.ITER.LT.ITR) THEN IF (IBROY.EQ.0) THEN DLAM0(1)=DLAM1(1) DLAM0(2)=DLAM1(2) FCRI0(1)=FCRI1(1) FCRI0(2)=FCRI1(2) IF (ITER.GE.(ITR-1)) THEN C WRITE(*,*)'***********************' C WRITE(*,*)'BROYDEN n a pas aboutit' C WRITE(*,*)'ITER=',ITER C WRITE(*,*)'FCRIT=',FCRI0(1) C WRITE(*,*)'FCRIC=',FCRI0(2) C WRITE(*,*)'Dans l element',IBB C WRITE(*,*)'et au point d intégration',IGAU C WRITE(*,*)'***********************' ENDIF ITER=ITER+1 GOTO 40 ENDIF IF (IBROY.EQ.1.AND.ITANG.EQ.1) THEN DLAM0(1)=DLAM1(1) DLAM0(2)=DLAM1(2) FCRI0(1)=FCRI1(1) FCRI0(2)=FCRI1(2) IF (ITER.GE.(ITR-5)) THEN C WRITE(*,*)'ITER=',ITER C WRITE(*,*)'FCRIT=',FCRI0(1) C WRITE(*,*)'FCRIC=',FCRI0(2) ENDIF ITER=ITER+1 GOTO 18 ENDIF ENDIF IF (ITER.GE.ITR.AND.(ABS(FCRI1(1)).GT.PRB2.OR. * ABS(FCRI1(2)).GT.PRB2)) THEN WRITE(*,*)'NON CONVERGENCE INTERNE dans BEHAV3' WRITE(*,*)'Dans l element',IBB WRITE(*,*)'et au point d intégration',IGAU WRITE(*,*)'FCRIT=',FCRI0(1) WRITE(*,*)'FCRIC=',FCRI0(2) WRITE(*,*)'IPLA=',IPLA WRITE(*,*)'IFIS=',IFIS C STOP ENDIF C C **************** Fin des iterations internes ******************* C C C ************* Calcul de la DEP **************** C IF (IAPEX.EQ.0) THEN & DFSIG1,DFSIG2,D2FSI1,D2FSI2,DLAM1,BETJEF) ELSE IF (IAPEX.EQ.1) THEN DO 95 I=1,NSTRS DO 95 J=1,NSTRS AH(I,J)=0.D0 DO 95 K=1,NSTRS AH(I,J)=AH(I,J)+AI(I,K)*D(K,J) 95 CONTINUE DFSIG1(1)=0.5*SQRT(2.D0) DFSIG1(2)=0.5*SQRT(2.D0) DFSIG1(3)=0.D0 IF (IMOD.EQ.2) DFSIG1(4)=0.D0 ELSE IF (IAPEX.EQ.2) THEN DO 96 I=1,NSTRS DO 96 J=1,NSTRS DEP(I,J)=0.D0 DO 96 K=1,NSTRS DEP(I,J)=DEP(I,J)+AI(I,K)*D(K,J) 96 CONTINUE ENDIF IAPEX=0 C DO 97 I=1,NSTRS C DO 97 J=1,NSTRS C DEP(I,J)=D(I,J) C 97 CONTINUE C C *********************************************** C DEPS1=DK1 DEPS2=DK2 SIG1=SEQ1 SIG2=SEQ2 IF(IVIS.LE.2) THEN ELSE ENDIF C ********************** CALCUL VISCOPLASTIQUE *********************** IF (IVIS.EQ.1) THEN & SIGP,SIGRV,DSTRN,D,BETJEF,VISCO) ENDIF C ******************************************************************** 100 CONTINUE IEC1=0 IEC2=0 CRIMAX=0.D0 C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales