incr33
C INCR33 SOURCE PV 11/03/07 21:16:54 6885 & NVARI) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),EPSVPT(*),VARPT(*) C C ICI : le modele est obligatoirement CERAMIQUE C______________________________________________________________________ C C THIS ROUTINE COMPUTES INCREMENTAL STRAIN AND INTERNAL VARIABLES C______________________________________________________________________ C C STEP-1 : SEPERATE OUT MEMBRANE AND BENDING CONTRIBUTIONS C --------------------------------------------------------- NSTRS=NSTRS0+2 NS = NSTRS/2 SM(1)=SIG(1) SM(2)=SIG(2) SM(3)=0.D0 SM(4)=0.D0 IF (NS.EQ.4) SM(4)=SIG(3) EM(1)=EPSV(1) EM(2)=EPSV(2) EM(3)=-1.D0*(EM(1)+EM(2)) EM(4)=0.D0 IF (NS.EQ.4) EM(4)=EPSV(3) EB(1)=EPSV(NS) EB(2)=EPSV(NS+1) EB(3)=-1.D0*(EB(1)+EB(2)) EB(4)=0.D0 IF (NS.EQ.4) EB(4)=EPSV(NS+2) C CCC IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN CCC IBID = 11 CCC ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1 CCC 1 .OR.IFOUR.EQ.0) THEN CCC IBID = 14 CCC ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN CCC IBID = 19 CCC ENDIF CCC Eloi : correction de IBID CCC de plus : ici on a obligatoirement MFR = 3 IBID=NVARI-(2*NSTRS)-5 C DO 10 I = 1,NSTRS EPLU(I) = VAR(I+IBID) EMIN(I) = VAR(NSTRS+I+IBID) 10 CONTINUE EEFF = VAR(2*NSTRS+1+IBID) EPSH = VAR(2*NSTRS+2+IBID) LL = nint(VAR(2*NSTRS+3+IBID) ) DO 20 I=1,NS EPSCRP(I) = EM(I) 20 CONTINUE DO 30 I=1,NS EPSCRP(NS+I) = EB(I) 30 CONTINUE DO 40 I=1,NSTRS0 EPSVPT(I)=0.D0 40 CONTINUE DO 50 I=1,NVARI VARPT(I)=0.D0 50 CONTINUE C ------------------------------------------------------------- C C STEP-2 : COMPUTATION OF SMEMB,SBEND AND SEQUV C --------------------------------------------- c c fmemb et fbend ajoute a l'esthetique par chloe c FMEMB=SM(1)*SM(1)+ SM(2)*SM(2)-SM(1)*SM(2)+3*SM(4)*SM(4) SEQUV=SQRT(FMEMB+ALFA*ALFA*FBEND) C ------------------------------------------------------------- C C STEP-3 : COMPUTATION OF INCREMENTS OF INTERNAL VARIABLES C --------------------------------------------------------- ALF1 = 1.D0 ALF2 = 1.D0/ALFA/ALFA C DO 60 I = 1,NSTRS VARPT(I+IBID) = EPLU(I) VARPT(NSTRS+I+IBID) = EMIN(I) 60 CONTINUE VARPT(2*NSTRS+1+IBID) = EEFF VARPT(2*NSTRS+2+IBID) = EPSH VARPT(2*NSTRS+3+IBID) = LL C ------------------------------------------------------------- C C STEP-4 : COMPUTATION OF INCREMENTS OF INELASTIC STRAINS C ------------------------------------------------------- DECT = 0.D0 IF(SEQUV.NE.0.D0) THEN CCC Eloi : ici on a obligatoirement MFR = 3 CCC IF(MFR.EQ.1.AND.IFOMOD.EQ.2) THEN CCC IBIDI = 15 CCC ELSE IBIDI = 10 CCC ENDIF IBID1 = IBIDI + 1 IBID2 = IBIDI + 2 IBID3 = IBIDI + 3 & DECT) VARPT(1)=DECT VARPT(NVARI)=DECT CONS = DECT/SEQUV IF(NS.EQ.3) THEN EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2)) EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1)) EPSVPT(3)= CONS*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA ELSE EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2)) EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1)) EPSVPT(3)= 1.5D0*CONS*SIG(3) EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA EPSVPT(5)= CONS*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA EPSVPT(6)= 1.5D0*CONS*SIG(6) * ALFA * ALFA ENDIF C ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales