advflo
C ADVFLO SOURCE CHAT 05/01/12 21:19:00 5004 C ADVAN1 SOURCE AM 97/12/23 21:16:03 3011 & EPSVPT,VARPT,XMAT,NSTRS,NVARI,IFOUR,INPLAS,NCOMAT & ,MFR) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION SIG(*),EPSV(*),VAR(*),SIG1(*),EPSV1(*),VAR1(*) DIMENSION DSPT(*),EPSVPT(*),VARPT(*),XMAT(*) DATA UN/1.D0/ C ____________________________________________________________________ C C THIS ROUTINE UPDATES THE STRAINS ,STRESSES & INTERNAL VARIABLES C ____________________________________________________________________ C C STEP-1 : UPDATING STRAINS C ---------------------------- YOU =XMAT(1) XNU =XMAT(2) DO 10 I=1,NSTRS EPSV1(I)=EPSV(I)+TAU*EPSVPT(I) C 10 CONTINUE C C STEP-2 : UPDATING STESSES C ---------------------------- IF(IFOUR.EQ.-2) THEN SIG(3)=0.0D0 X2MU=YOU/(UN+XNU) XCO = X2MU/(UN-XNU) SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) SIG1(3)=0.0D0 ELSEIF (IFOUR.EQ.2.OR.IFOUR.EQ.0.OR.IFOUR.EQ.1.OR. & IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN X2MU = YOU/(UN+XNU) ALMB = X2MU*XNU/(UN-2*XNU) IF (MFR.EQ.5) THEN X2MU=YOU/(UN+XNU) XCO = X2MU/(UN-XNU) SIG1(1)=SIG(1)+TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) SIG1(2)=SIG(2)+TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) SIG1(3)=SIG(3)+TAU*(DSPT(3)-X2MU*EPSVPT(3)) SIG1(4)=SIG(4)+TAU*(DSPT(4)-X2MU*EPSVPT(4)) SIG1(5)=SIG(5)+TAU*(DSPT(5)-X2MU*EPSVPT(5)) ELSE DO 20 I=1,NSTRS,1 A = 0.0 IF (I.LE.3) A=UN SIG1(I) = SIG(I) + & TAU*(DSPT(I)-ALMB*A*TRACE-X2MU*EPSVPT(I)) 20 CONTINUE ENDIF C= Modes de calcul 1D contraintes planes suivant z (DYCZ et GYCZ) ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN SIG(3) = 0.D0 XCO = YOU/(UN-XNU*XNU) SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(2))) SIG1(2) = SIG(2) + TAU*(DSPT(2)-XCO*(EPSVPT(2)+XNU*EPSVPT(1))) SIG1(3) = 0.D0 C= Modes de calcul 1D contraintes planes suivant y (CYDZ et CYGZ) et C= 1D axisymetrique contraintes axiales nulles (AXCZ) ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN SIG(2) = 0.D0 XCO = YOU/(UN-XNU*XNU) SIG1(1) = SIG(1) + TAU*(DSPT(1)-XCO*(EPSVPT(1)+XNU*EPSVPT(3))) SIG1(2) = 0.D0 SIG1(3) = SIG(3) + TAU*(DSPT(3)-XCO*(EPSVPT(3)+XNU*EPSVPT(1))) C= Modes de calcul 1D contraintes planes suivant y et z (CYCZ) ELSE IF (IFOUR.EQ.6) THEN SIG(2) = 0.D0 SIG(3) = 0.D0 SIG1(1) = SIG(1) + TAU*(DSPT(1)-YOU*EPSVPT(1)) SIG1(2) = 0.D0 SIG1(3) = 0.D0 C= Autres modes de calcul 1D deformations planes (DYDZ GYDZ DYGZ GYGZ) C= 1D axisymetrique (AXDZ AXGZ) et 1D spherique ELSE IF (IFOUR.EQ. 3.OR.IFOUR.EQ. 7.OR.IFOUR.EQ. 9.OR.IFOUR.EQ.11 . .OR.IFOUR.EQ.12.OR.IFOUR.EQ.14.OR.IFOUR.EQ.15) THEN X2MU = YOU/(UN+XNU) SIG1(1) = SIG(1) + TAU*(DSPT(1)-X2MU*EPSVPT(1)-XCO) SIG1(2) = SIG(2) + TAU*(DSPT(2)-X2MU*EPSVPT(2)-XCO) SIG1(3) = SIG(3) + TAU*(DSPT(3)-X2MU*EPSVPT(3)-XCO) ENDIF C C STEP-3 : UPDATING THE INTERNAL VARIABLES C------------------------------------------ DO 50 I=1,NVARI VAR1(I)=VAR(I)+TAU*VARPT(I) 50 CONTINUE C C _____________________________________________________________________ RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales