29
30
31
32#include "implicit_f.inc"
33
34
35
37 . sig3d(*), epstot(*), eps(*), dir3d(*), ang(*)
38
39
40
42 . sig(4), dir(2), vec(3), cc, bb, cr, ss1, ss2, orm, s11, s21,
43 . s31, s12, s22, s32, s13, s23, s33, a11, a12, a13, a21, a22,
44 . a23, a31, a32, a33
45
46 sig(1)=sig3d(2)
47 sig(2)=sig3d(3)
48 sig(4)=sig3d(5)
49 cc=(sig(1)+sig(2))*half
50 bb=(sig(1)-sig(2))*half
51 cr=sqrt(bb**2+sig(4)**2)
52 ss1=cc+cr
53 ss2=cc-cr
54
55 dir(1)=sig(4)
56 dir(2)=ss1-sig(1)
57 orm=dir(1)*dir(1)+dir(2)*dir(2)
58 orm=sqrt(orm)
59 IF(orm<em8)THEN
60 dir(1)=one
61 dir(2)=zero
62 ELSE
63 dir(1)=dir(1)/orm
64 dir(2)=dir(2)/orm
65 ENDIF
66
67
68
69 s11=one
70 s21=zero
71 s31=zero
72 s12=zero
73 s22=dir(1)
74 s32=dir(2)
75 s13=zero
76 s23=-dir(2)
77 s33=dir(1)
78
79 a11=sig3d(1)*s11+sig3d(4)*s21+sig3d(6)*s31
80 a12=sig3d(1)*s12+sig3d(4)*s22+sig3d(6)*s32
81 a13=sig3d(1)*s13+sig3d(4)*s23+sig3d(6)*s33
82 a21=sig3d(4)*s11+sig3d(2)*s21+sig3d(5)*s31
83 a22=sig3d(4)*s12+sig3d(2)*s22+sig3d(5)*s32
84 a23=sig3d(4)*s13+sig3d(2)*s23+sig3d(5)*s33
85 a31=sig3d(6)*s11+sig3d(5)*s21+sig3d(3)*s31
86 a32=sig3d(6)*s12+sig3d(5)*s22+sig3d(3)*s32
87 a33=sig3d(6)*s13+sig3d(5)*s23+sig3d(3)*s33
88
89
90
91 sig3d(4)=s11*a12+s21*a22+s31*a32
92 sig3d(5)=s12*a13+s22*a23+s32*a33
93 sig3d(6)=s11*a13+s21*a23+s31*a33
94
95 eps(4)=half*eps(4)
96 eps(5)=half*eps(5)
97 eps(6)=half*eps(6)
98 a11=eps(1)*s11+eps(4)*s21+eps(6)*s31
99 a12=eps(1)*s12+eps(4)*s22+eps(6)*s32
100 a13=eps(1)*s13+eps(4)*s23+eps(6)*s33
101 a21=eps(4)*s11+eps(2)*s21+eps(5)*s31
102 a22=eps(4)*s12+eps(2)*s22+eps(5)*s32
103 a23=eps(4)*s13+eps(2)*s23+eps(5)*s33
104 a31=eps(6)*s11+eps(5)*s21+eps(3)*s31
105 a32=eps(6)*s12+eps(5)*s22+eps(3)*s32
106 a33=eps(6)*s13+eps(5)*s23+eps(3)*s33
107 eps(1)=s11*a11+s21*a21+s31*a31
108 eps(2)=s12*a12+s22*a22+s32*a32
109 eps(3)=s13*a13+s23*a23+s33*a33
110
111
112
113
114
115
116
117 epstot(4)=half*epstot(4)
118 epstot(5)=half*epstot(5)
119 epstot(6)=half*epstot(6)
120 a11=epstot(1)*s11+epstot(4)*s21+epstot(6)*s31
121 a12=epstot(1)*s12+epstot(4)*s22+epstot(6)*s32
122 a13=epstot(1)*s13+epstot(4)*s23+epstot(6)*s33
123 a21=epstot(4)*s11+epstot(2)*s21+epstot(5)*s31
124 a22=epstot(4)*s12+epstot(2)*s22+epstot(5)*s32
125 a23=epstot(4)*s13+epstot(2)*s23+epstot(5)*s33
126 a31=epstot(6)*s11+epstot(5)*s21+epstot(3)*s31
127 a32=epstot(6)*s12+epstot(5)*s22+epstot(3)*s32
128 a33=epstot(6)*s13+epstot(5)*s23+epstot(3)*s33
129 epstot(1)=s11*a11+s21*a21+s31*a31
130 epstot(2)=s12*a12+s22*a22+s32*a32
131 epstot(3)=s13*a13+s23*a23+s33*a33
132
133
134
135
136
137
138
139 vec(1)=ang(2)*ang(6)-ang(5)*ang(3)
140 vec(2)=ang(3)*ang(4)-ang(6)*ang(1)
141 vec(3)=ang(1)*ang(5)-ang(4)*ang(2)
142
143 dir3d(1)=dir(1)*ang(4)+dir(2)*vec(1)
144 dir3d(2)=dir(1)*ang(5)+dir(2)*vec(2)
145 dir3d(3)=dir(1)*ang(6)+dir(2)*vec(3)
146
147 RETURN