1 : C ADVDDI SOURCE CHAT 05/01/12 21:18:51 5004 2 : SUBROUTINE ADVDDI(TAU,SIG,EPSV,VAR,SIG1,EPSV1,VAR1,DSPT, 3 : & EPSVPT,VARPT,XMAT,NSTRS,NVARI,IFOUR,INPLAS,NCOMAT 4 : & ,MFR) 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8(A-H,O-Z) 7 : DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*) 8 : DIMENSION DSPT(*),EPSVPT(*),VARPT(*),XMAT(*) 9 : C ____________________________________________________________________ 10 : C 11 : C THIS ROUTINE UPDATES THE STRAINS ,STRESSES & INTERNAL VARIABLES 12 : C ____________________________________________________________________ 13 : C 14 : DETIER=2.0D0/3.0D0 15 : C STEP-1 : UPDATING STRAINS 16 : C ---------------------------- 17 : YOU =XMAT(1) 18 : XNU =XMAT(2) 19 : DO 10 I=1,NSTRS 20 : EPSV1(I)=EPSV(I)+TAU*EPSVPT(I) 21 : 10 CONTINUE 22 : C 23 : C STEP-2 : UPDATING STESSES 24 : C ---------------------------- 25 : IF(IFOUR.EQ.-2) THEN 26 : SIG(3)=0.0D0 27 : X2MU=YOU/(1.0+XNU) 28 : XCO = X2MU/(1.0-XNU) 29 : SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) 30 : SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) 31 : SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) 32 : SIG1(3)=0.0D0 33 : ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR. 34 : & IFOUR.EQ.1.OR.IFOUR.EQ.-3) THEN 35 : X2MU = YOU/(1+XNU) 36 : ALMB = X2MU*XNU/(1-2*XNU) 37 : IF (MFR.EQ.5) THEN 38 : X2MU=YOU/(1.0+XNU) 39 : XCO = X2MU/(1.0-XNU) 40 : SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) 41 : SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) 42 : SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3)) 43 : SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) 44 : SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5)) 45 : ELSE 46 : TRACE=EPSVPT(1)+EPSVPT(2)+EPSVPT(3) 47 : DO 20 I=1,NSTRS,1 48 : A = 0.0 49 : IF (I.LE.3) A=1.0 50 : SIG1(I) = SIG(I) + 51 : & TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I)) 52 : 20 CONTINUE 53 : ENDIF 54 : C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ) 55 : ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN 56 : SIG(3) = 0. 57 : XCO = YOU/(1.-XNU*XNU) 58 : SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) 59 : SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) 60 : SIG1(3) = 0. 61 : C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et 62 : C= 1D axisymetrique contraintes axiales nulles (AXCZ) 63 : ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN 64 : SIG(2) = 0. 65 : XCO = YOU/(1.-XNU*XNU) 66 : SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3))) 67 : SIG1(2) = 0. 68 : SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1))) 69 : C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ) 70 : ELSE IF (IFOUR.EQ.6) THEN 71 : SIG(2) = 0. 72 : SIG(3) = 0. 73 : SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1)) 74 : SIG1(2) = 0. 75 : SIG1(3) = 0. 76 : C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ) 77 : C= 1D axisymetrique (AXDZ AXGZ) et 1D spherique 78 : ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11 79 : . .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN 80 : X2MU = YOU/(1.+XNU) 81 : TRACE = EPSVPT(1)+EPSVPT(2)+EPSVPT(3) 82 : XCO = X2MU*XNU*TRACE/(1.-XNU) 83 : SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO) 84 : SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO) 85 : SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO) 86 : ENDIF 87 : C 88 : C STEP-3 : UPDATING THE INTERNAL VARIABLES 89 : C------------------------------------------ 90 : IF (MFR.EQ.5) THEN 91 : NSTRS0=NSTRS+1 92 : ELSE 93 : NSTRS0=NSTRS 94 : ENDIF 95 : DO 50 I=1,NVARI 96 : VAR1(I)=VAR(I)+TAU*VARPT(I) 97 : 50 CONTINUE 98 : DO 60 I=1,NSTRS0 99 : VAR1(I)=DETIER*(XMAT(8)*VAR1(2*NSTRS+I)+XMAT(21)*VAR1(7*NSTRS+I)) 100 : VAR1(NSTRS+I)=DETIER*(XMAT(9)*VAR1(3*NSTRS+I)+ 101 : & XMAT(22)*VAR1(8*NSTRS+I)) 102 : VAR1(5*NSTRS+I)=DETIER*(XMAT(17)*VAR1(7*NSTRS+I)+ 103 : & XMAT(21)*VAR1(2*NSTRS+I)) 104 : VAR1(6*NSTRS+I)=DETIER*(XMAT(18)*VAR1(8*NSTRS+I)+ 105 : & XMAT(22)*VAR1(3*NSTRS+I)) 106 : 60 CONTINUE 107 : VAR1(10*NSTRS+2)=XMAT(6)*(1.D0-DEXP(-XMAT(7)*VAR1(10*NSTRS+1))) 108 : VAR1(10*NSTRS+4)=XMAT(15)*(1.D0-DEXP(-XMAT(16)*VAR1(10*NSTRS+3))) 109 : C 110 : C _____________________________________________________________________ 111 : RETURN 112 : END 113 : 114 : 115 :
© Cast3M 2003 - All rights reserved.
Disclaimer