incre6
C INCRE6 SOURCE CB215821 16/04/21 21:17:11 8920
& NVARI,NCOMAT)
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)
DIMENSION GAMM(4),GABB(4),EPMM(4),EPBB(4),XXM(4),XXB(4)
DIMENSION ANSM(4),ANSB(4),ANM(4),ANB(4)
DIMENSION XK1M(4),XK1B(4),XK2M(4),XK2B(4)
DIMENSION XEM(4),XEB(4),EPS0(8)
PARAMETER (AMAX = 1.0E20)
DETIER=2.0D0/3.0D0
ROOT=SQRT(1.5D0)
C-------------------------------------------------------------------|
C STEP-1 SEPARATING MEMBRANE & BENDING PARTS |
C-------------------------------------------------------------------I
NSTRS = NSTRS0+2
NS = NSTRS/2
SM(1)=SIG(1)
SM(2)=SIG(2)
SM(3)=0.D0
IF (NS.EQ.4) SM(4)=SIG(3)
DO 20 I=1,NS
XXM1(I) = VAR( I)
XXM2(I) = VAR(2*NS+I)
XXB1(I) = VAR( NS+I)
XXB2(I) = VAR(3*NS+I)
GAMM(I) = VAR(4*NS+I)
GABB(I) = VAR(5*NS+I)
EPMM(I) = VAR(6*NS+I)
EPBB(I) = VAR(7*NS+I)
20 CONTINUE
C-------------------------------------------------------------------|
C STEP-2: EVALUATION OF J2 SIGMA - X |
C-------------------------------------------------------------------I
XXM(1)= (2.0D0*SM(1)-SM(2))/3.0D0 -XXM1(1) -XXM2(1)
XXM(2)= (2.0D0*SM(2)-SM(1))/3.0D0 -XXM1(2) -XXM2(2)
XXM(3)= -1.D0*(SM(1)+SM(2))/3.0D0 -XXM1(3) -XXM2(3)
XXM(4)= 0.D0
IF(NS.EQ.4) XXM(4)= SM(4) -XXM1(4) -XXM2(4)
XXB(4)= 0.D0
* T1 = XXM(1)*XXM(1) + XXM(2)*XXM(2) + XXM(1)*XXM(2)
* IF(NS.EQ.3) T1 = T1 + XXM(3)*XXM(3)
* T1 = XXB(1)*XXB(1) + XXB(2)*XXB(2) + XXB(1)*XXB(2)
* IF(NS.EQ.3) T1 = T1 + XXB(3)*XXB(3)
AJ2 = SQRT( AJM2 + ALFA*ALFA*AJB2 )
C--------------------------------------------------------------------|
C STEP-3: CALCUL OF SIGV/K |
C -------------------------------------------------------------------I
RR = VAR (4*NSTRS+2)
RS = XMAT(10)*RR
SK = (AJ2 - RS-XMAT(7))/( XMAT(8) + XMAT(9)*RR )
C--------------------------------------------------------------------|
C STEP-4: CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
C -------------------------------------------------------------------I
IF (SK.GT.0.0D0) THEN
ELSE
PPT1= 0.0D0
PPT2= 0.0D0
ENDIF
PPT2=1.0D20
PPT = PPT1 * PPT2
VARPT(4*NSTRS+1) = PPT
C---------------------------------------------------------------------|
C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSVPT) |
C---------------------------------------------------------------------I
IF(AJ2.EQ.0.0D0) AJ2=1.0D-20
DO 30 I=1,NSTRS
30 VARPT(3*NSTRS+I)=EPS0(I)
C
C----------------------------------------------------------------|
C ******* CALCULATION OF PI(P) |
C----------------------------------------------------------------I
P = VAR(4*NSTRS+1)
C----------------------------------------------------------------|
C******* CALCULATION OF XII |
C----------------------------------------------------------------I
C CORRECTIONS MLR 26/2/93 COMME DANS INCRE2
C
* T1 = 3.0D0*(XXM1(1)*XXM1(1)+XXM1(2)*XXM1(2)+XXM1(1)*XXM1(2))
* IF(NS.EQ.3) T1 = T1 + 3.0D0 * XXM1(3) * XXM1(3)
T1M = 3.D0*T1M/2.D0
* T2 = 3.0D0*(XXB1(1)*XXB1(1)+XXB1(2)*XXB1(2)+XXB1(1)*XXB1(2))
* IF(NS.EQ.3) T2 = T2 + 3.0D0 * XXB1(3) * XXB1(3)
T1B = 3.D0*T1B/2.D0
X1II = 0.D0
IF(XMAT(17).NE.0.D0)
. X1II = SQRT(T1M+ALFA*ALFA*T1B)/XMAT(17)
* T1 = 3.0D0*(XXM2(1)*XXM2(1)+XXM2(2)*XXM2(2)+XXM2(1)*XXM2(2))
* IF(NS.EQ.3) T1 = T1 + 3.0D0 * XXM2(3) * XXM2(3)
T2M = 3.D0*T2M/2.D0
* T2 = 3.0D0*(XXB2(1)*XXB2(1)+XXB2(2)*XXB2(2)+XXB2(1)*XXB2(2))
* IF(NS.EQ.3) T2 = T2 + 3.0D0 * XXB2(3) * XXB2(3)
T2B = 3.D0*T2B/2.D0
X2II = 0.D0
IF(XMAT(18).NE.0.D0)
. X2II = SQRT(T2M+ALFA*ALFA*T2B)/XMAT(18)
C-----------------------------------------------------------------|
C***** CALCULATION OF THE SPECIFIC TERMS OF THE OHNO'S MODEL *****|
C-----------------------------------------------------------------|
XLIM1 = XMAT(12)/PIP
XLIM2 = XMAT(15)/PIP
* T1 = 3.0D0*(XXM1(1)*XXM1(1)+XXM1(2)*XXM1(2)+XXM1(1)*XXM1(2))
* IF(NS.EQ.3) T1 = T1 + 3.0D0 * XXM1(3) * XXM1(3)
* T2 = 3.0D0*(XXB1(1)*XXB1(1)+XXB1(2)*XXB1(2)+XXB1(1)*XXB1(2))
* IF(NS.EQ.3) T2 = T2 + 3.0D0 * XXB1(3) * XXB1(3)
X1II = SQRT(T1M+ALFA*ALFA*T1B)
* T1 = 3.0D0*(XXM2(1)*XXM2(1)+XXM2(2)*XXM2(2)+XXM2(1)*XXM2(2))
* IF(NS.EQ.3) T1 = T1 + 3.0D0 * XXM2(3) * XXM2(3)
* T2 = 3.0D0*(XXB2(1)*XXB2(1)+XXB2(2)*XXB2(2)+XXB2(1)*XXB2(2))
* IF(NS.EQ.3) T2 = T2 + 3.0D0 * XXB2(3) * XXB2(3)
X2II = SQRT(T2M+ALFA*ALFA*T2B)
RAPP1 = (X1II/XLIM1)**XMAT(27)
RAPP2 = (X2II/XLIM2)**XMAT(28)
DO 11 I=1,NS
IF (X1II.GT.1.D-20) THEN
XK1M(I)=XXM1(I)/X1II
ELSE
XK1M(I)=0.D0
ENDIF
IF (X2II.GT.1.D-20) THEN
XK2M(I)=XXM2(I)/X2II
ELSE
XK2M(I)=0.D0
ENDIF
XEM(I)=EPS0(I)
11 CONTINUE
DO 21 I=1,NS
IF (X1II.GT.1.D-20) THEN
XK1B(I)=XXB1(I)/X1II
ELSE
XK1B(I)=0.D0
ENDIF
IF (X2II.GT.1.D-20) THEN
XK2B(I)=XXB2(I)/X2II
ELSE
XK2B(I)=0.D0
ENDIF
XEB(I)=EPS0(NS+I)
21 CONTINUE
* PRODM1 = XEM(1)*XK1M(1)+XEM(2)*XK1M(2)
* IF (NS.EQ.3) PRODM1 = PRODM1+2.D0*XEM(3)*XK1M(3)
* PRODB1 = XEB(1)*XK1B(1)+XEB(2)*XK1B(2)
* IF (NS.EQ.3) PRODB1 = PRODB1+2.D0*XEB(3)*XK1B(3)
* PRODM2 = XEM(1)*XK2M(1)+XEM(2)*XK2M(2)
* IF (NS.EQ.3) PRODM2 = PRODM2+2.D0*XEM(3)*XK2M(3)
* PRODB2 = XEB(1)*XK2B(1)+XEB(2)*XK2B(2)
* IF (NS.EQ.3) PRODB2 = PRODB2+2.D0*XEB(3)*XK2B(3)
PROD1 = PRODM1+PRODB1
IF (PROD1.LT.0.D0) PROD1=0.D0
PROD2 = PRODM2+PRODB2
IF (PROD2.LT.0.D0) PROD2=0.D0
PPT10 = RAPP1*PROD1
PPT20 = RAPP2*PROD2
C ----------------------------------------------------------------|
C******* CALCULATION OF DX1 AND DX2 |
C-----------------------------------------------------------------I
DO 73 I=1,NSTRS
VARPT( I)=0.0D0
73 VARPT(NSTRS+I)=0.0D0
DO 74 I=1,NSTRS
T3 = COX1 * VAR(I)
T3 = COX2 * VAR(NSTRS+I)
C-----------------------------------------------------------------|
C******* CALCULATION OF DR |
C-----------------------------------------------------------------I
CO1= QR-VAR(4*NSTRS+2)
CO=ABS(CO1)
VARPT(4*NSTRS+2)=DR
C----------------------------------------------------------------|
C******* CALCULATION OF PROD (N X N*) |
C----------------------------------------------------------------I
TM1 = EPMM(1)-GAMM(1)
TM2 = EPMM(2)-GAMM(2)
TM3 = EPMM(3)-GAMM(3)
TM4 = 0.0D0
IF(NS.EQ.4) TM4 = EPMM(4)-GAMM(4)
AIM2 = TM1*TM1+TM2*TM2+TM3*TM3+2.D0*TM4*TM4
AIM2 = AIM2*3.D0/2.D0
TB1 = EPBB(1)-GABB(1)
TB2 = EPBB(2)-GABB(2)
TB3 = EPBB(3)-GABB(3)
TB4 = 0.0D0
IF(NS.EQ.4) TB4 = EPBB(4)-GABB(4)
AIB2 = TB1*TB1+TB2*TB2+TB3*TB3+2.D0*TB4*TB4
AIB2 = AIB2*3.D0/2.D0
AI2 = SQRT(AIM2+AIB2/ALFA/ALFA)
IF (AI2.LT.1.D-10) THEN
IF (AI2.EQ.0.D0) AI2=1.D-10
AI20=AI2*1.D20
TM1=TM1*1.D20
TM2=TM2*1.D20
TM3=TM3*1.D20
TM4=TM4*1.D20
TB1=TB1*1.D20
TB2=TB2*1.D20
TB3=TB3*1.D20
TB4=TB4*1.D20
ELSE
AI20=AI2
ENDIF
ANSM(1) = ROOT*TM1/AI20
ANSM(2) = ROOT*TM2/AI20
ANSM(3) = ROOT*TM3/AI20
ANSM(4) = 0.0D0
IF(NS.EQ.4) ANSM(4) = ROOT*TM4/AI20
ANSB(1) = ROOT*TB1/AI20
ANSB(2) = ROOT*TB2/AI20
ANSB(3) = ROOT*TB3/AI20
ANSB(4) = 0.0D0
IF(NS.EQ.4) ANSB(4) = ROOT*TB4/AI20
ANM (1) = ROOT*XXM(1)/AJ2
ANM (2) = ROOT*XXM(2)/AJ2
ANM (3) = ROOT*XXM(3)/AJ2
ANM (4) = 0.0D0
IF(NS.EQ.4) ANM (4) = ROOT*XXM(4)/AJ2
ANB (1) = ROOT*XXB(1)/AJ2
ANB (2) = ROOT*XXB(2)/AJ2
ANB (3) = ROOT*XXB(3)/AJ2
ANB (4) = 0.0D0
IF(NS.EQ.4) ANB (4) = ROOT*XXB(4)/AJ2
76 CONTINUE
FF = DETIER*AI2-VAR(4*NSTRS+4)
HF=0.0D0
IF(FF.GT.0.0D0) HF=1.0D0
* ANAN1 = ANM(1)*ANSM(1)+ANM(2)*ANSM(2)
* ANAN1 = ANAN1+2.D0*ANM(3)*ANSM(3)
ANANSM=0.0D0
IF(ANAN1.GT.0.0D0) ANANSM=ANAN1
* ANAN1 = ANB(1)*ANSB(1)+ANB(2)*ANSB(2)
* ANAN1 = ANAN1+2.D0*ANB(3)*ANSB(3)
ANANSB=0.0D0
IF(ANAN1.GT.0.0D0) ANANSB=ANAN1
C----------------------------------------------------------------|
C******* CALCULATION OF DQ |
C----------------------------------------------------------------I
ANANS=ANANSM+ANANSB/ALFA/ALFA
DQ = XMAT(23)*HF*ANANS*PPT
VARPT(4*NSTRS+4)=DQ
C----------------------------------------------------------------|
C******* CALCULATION OF DGETA |
C----------------------------------------------------------------I
DO 78 I=1,NS
78 CONTINUE
C----------------------------------------------------------------|
C******* CALCULATION OF DQQ |
C----------------------------------------------------------------I
VARPT(4*NSTRS+3)=2.0D0*XMAT(24)*(XMAT(25)-VAR(4*NSTRS+3))*DQ
C
EPSVPT(1)=EPS0(1)
EPSVPT(2)=EPS0(2)
IF (NS.EQ.4) EPSVPT(3)=EPS0(4)
EPSVPT(NS)=EPS0(NS+1)
EPSVPT(NS+1)=EPS0(NS+2)
IF (NS.EQ.4) EPSVPT(NS+2)=EPS0(NS+4)
C
RETURN
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales