1 : C DFSIG SOURCE CHAT 05/01/12 22:48:18 5004
2 : C DFSIG SOURCE INSL 24/10/96
3 : SUBROUTINE DFSIG(S1,DFSI,DGSI,SEQ,NSTRS,RB,AA,BB,DK1,DK2,ILO)
4 : C
5 : IMPLICIT INTEGER(I-N)
6 : IMPLICIT REAL*8(A-H,O-Z)
7 : DIMENSION S1(NSTRS),DFSI(NSTRS),DGSI(NSTRS)
8 : DIMENSION DFS1(6),DGS1(6),C1(6),C2(6),C3P(6),C3(6)
9 : C-------------------------------------------------------------------
10 : C *******************************************
11 : C * CALCUL DU VECTEUR {dF/d{SIGMA}} *
12 : C * {dF/d{SIGMA}}=A1*C1+A2*C2+A3*C3 *
13 : C *******************************************
14 : C-------------------------------------------------------------------
15 : PI=4.D0*DATAN(1.D0)
15 : CALL ZERO(DFSI,NSTRS,1)
15 : CALL ZERO(DGSI,NSTRS,1)
15 : CALL ZERO(DFS1,6,1)
15 : CALL ZERO(DGSI,6,1)
16 : C
16 : CALL PARINV(S1,SX,SY,SZ,SXY,SXZ,SYZ,NSTRS)
16 : CALL INVA(S1,DJ2,DI1,CO3T,DJ3,NSTRS)
17 : C
18 : SSX=SX-DI1/3.D0
19 : SSY=SY-DI1/3.D0
20 : SSZ=SZ-DI1/3.D0
21 : C
22 : C-------------------------------------------------------------------
23 : C ************************************
24 : C * CALCUL DES COEFFICIENTS Ai *
25 : C * A1=dF/dI1 *
26 : C * A2=dF/dJ2 *
27 : C * A3=dF/dCOS(3TETA) *
28 : C * *
29 : C * f(Sij,K)= a*J2/f'cý+ ... -1=0 *
30 : C ************************************
31 : C
32 : TT=DK2*CO3T
33 : IF(CO3T .GE. 0.D0) PP=DACOS(TT)/3.D0
34 : IF(CO3T .LT. 0.D0) PP=(PI-DACOS(-1.D0*TT))/3.D0
35 : C
36 : DLA=DK1*DCOS(PP)
37 : T1=1.D0/DSQRT(1.D0-TT*TT)
38 : AP2=AA/SEQ/SEQ
39 : AP3=1.D0/DSQRT(DJ2)/SEQ/2.D0
40 : C
41 : A1=BB/SEQ
42 : A2=AP2+AP3*(DLA-DK1*DSIN(PP)*TT*T1)
43 : A3=DK1*DK2*DSQRT(DJ2)*T1/3.D0/SEQ*DSIN(PP)
44 : C
45 : C-------------------------------------------------------------------
46 : C **********************************
47 : C * CALCUL DES VECTEURS {Ci} *
48 : C **********************************
49 : C
49 : CALL ZERO(C1,6,1)
49 : CALL ZERO(C2,6,1)
49 : CALL ZERO(C3P,6,1)
49 : CALL ZERO(C3,6,1)
50 : C
51 : C1(1)=1.D0
52 : C1(2)=1.D0
53 : C1(3)=1.D0
54 : C
55 : C2(1)=SSX
56 : C2(2)=SSY
57 : C2(3)=SSZ
58 : C2(4)=2.D0*SXY
59 : C2(5)=2.D0*SXZ
60 : C2(6)=2.D0*SYZ
61 : C
62 : SX1=2.D0*SSY*SSZ-SSX*SSZ-SSX*SSY
63 : SX2=SXZ*SXZ-2.D0*SYZ*SYZ+SXY*SXY
64 : C
65 : SY1=2.D0*SSX*SSZ-SSY*SSZ-SSY*SSX
66 : SY2=SYZ*SYZ-2.D0*SXZ*SXZ+SXY*SXY
67 : C
68 : SZ1=2.D0*SSX*SSY-SSZ*SSY-SSZ*SSX
69 : SZ2=SXZ*SXZ-2.D0*SXY*SXY+SYZ*SYZ
70 : C
71 : C3P(1)=(SX1+SX2)/3.D0
72 : C3P(2)=(SY1+SY2)/3.D0
73 : C3P(3)=(SZ1+SZ2)/3.D0
74 : C3P(4)=2.D0*(SYZ*SXZ-SSZ*SXY)
75 : C3P(5)=2.D0*(SXY*SYZ-SSY*SXZ)
76 : C3P(6)=2.D0*(SXY*SXZ-SSX*SYZ)
77 : C
78 : AA1=3.D0*DSQRT(3.D0)/2.D0/DSQRT(DJ2**3)
79 : AA2=-3.D0*DJ3/DJ2/2.D0
80 : C-------------------------------------------------------------------
81 : DO 2 I=1,6
82 : C3(I)=AA1*(C3P(I)+AA2*C2(I))
83 : DFS1(I)=A1*C1(I)+A2*C2(I)+A3*C3(I)
84 : 2 CONTINUE
85 : C-------------------------------------------------------------------
86 : STEST=SEQ/RB
87 : IF(ILO.EQ.1) THEN
88 : C **************************************************
89 : C *** ILO = 0 PLASTICITE ASSOCIEE (STANDARD) ***
90 : C *** G = F ***
91 : C *** ILO = 1 PLASTICITE NON ASSOCIEE ***
92 : C *** G = A1 * I1 + SQRT(J2) - d ***
93 : C **************************************************
94 : C
95 : AAA1 =.57143D0*(STEST-1.D0)
96 : A1 =-0.2D0
97 : IF(AAA1 .GT. A1) A1=AAA1
98 : IF(STEST.GE.1.D0) A1=0.D0
99 : A2 =1.D0/DSQRT(DJ2)/2.D0
100 : ENDIF
101 : C
102 : DO 3 I=1,6
103 : IF(ILO.EQ.0) DGS1(I)=DFS1(I)
104 : IF(ILO.EQ.1) DGS1(I)=A1*C1(I)+A2*C2(I)
105 : 3 CONTINUE
106 : C-------------------------------------------------------------------
107 : IF(NSTRS.EQ.3.OR.NSTRS.EQ.5) THEN
108 : DO 4 I=3,NSTRS
109 : DFS1(I)=DFS1(I+1)
110 : DGS1(I)=DGS1(I+1)
111 : 4 CONTINUE
112 : ENDIF
113 : C
114 : DO 5 I=1,NSTRS
115 : DFSI(I)=DFS1(I)
116 : DGSI(I)=DGS1(I)
117 : 5 CONTINUE
118 : C-------------------------------------------------------------------
119 : IECR=0
120 : IF(IECR.EQ.10) THEN
121 : WRITE(*,*) '**** ON EST DANS DFSIG ******'
122 : WRITE(*,200) A1,A2,A3,ILO
123 : 200 FORMAT('A1=',E8.2,1X,'A2=',E8.2,1X,'A3=',E8.2,1X,'ILO=',I2)
124 : WRITE(*,*) '*** S1 DANS DFSIG *** SEQ = ',SEQ
125 : WRITE(*,1991) (S1(IA),IA=1,NSTRS)
126 : WRITE(*,*) '*** C1 DANS DFSIG *** '
127 : WRITE(*,1991) (C1(IA),IA=1,6)
128 : WRITE(*,*) '*** C2 DANS DFSIG *** '
129 : WRITE(*,1991) (C2(IA),IA=1,6)
130 : WRITE(*,*) '*** C3 DANS DFSIG *** '
131 : WRITE(*,1991) (C3(IA),IA=1,6)
132 : WRITE(*,*) '*** C3P DANS DFSIG *** '
133 : WRITE(*,1991) (C3P(IA),IA=1,6)
134 : WRITE(*,*) '*** DFS1 *** '
135 : WRITE(*,1991) (DFS1(IA),IA=1,6)
136 : WRITE(*,*) '*** DGS1 *** '
137 : WRITE(*,1991) (DGS1(IA),IA=1,6)
138 : WRITE(*,*) '*** DFSI *** NSTRS=',NSTRS
139 : WRITE(*,1991) (DFSI(IA),IA=1,NSTRS)
140 : WRITE(*,*) '*** DGSI *** NSTRS=',NSTRS
141 : WRITE(*,1991) (DGSI(IA),IA=1,NSTRS)
142 : ENDIF
143 : 1991 FORMAT(18(1X,E12.5))
144 : C-------------------------------------------------------------------
145 : 100 CONTINUE
146 : RETURN
147 : END
148 :
149 :
© Cast3M 2003 - All rights reserved.
Disclaimer