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