35
36
37
38#include "implicit_f.inc"
39
40
41
42 INTEGER I
43
45 . dn_r(8), dn_s(8), dn_t(8), invj(9),
46 . x1,x2,x3,x4,x5,x6,x7,x8,
47 . y1,y2,y3,y4,y5,y6,y7,y8,
48 . z1,z2,z3,z4,z5,z6,z7,z8,
49 . a11, a12, a13,
50 . a21, a22, a23,
51 . a31, a32, a33,
52 . ksi,eta,zeta, bb(6,24)
53
54
55
56 INTEGER J,JJ,L,M,LM
57
59 . b(6,24),c(6,6),um,up,
60 . a1a1,a1a2,a1a3,a2a1,a2a2,a2a3,
61 . a1b1,a1b2,a1b3,a2b1,a2b2,a2b3,
62 . b1a1,b1a2,b1a3,b2a1,b2a2,b2a3,
63 . b1b1,b1b2,b1b3,b2b1,b2b2,b2b3,
64 . c1a1,c1a2,c1a3,c2a1,c2a2,c2a3,
65 . c1b1,c1b2,c1b3,c2b1,c2b2,c2b3,
66 . ca11,ca21,ca31,ca12,ca22,ca32,ca13,ca23,ca33
67
68
69 DO j=1,8
70 jj = 3*(j-1)
71 b(1,jj+1) = a11 *dn_t(j)
72 b(1,jj+2) = a12 *dn_t(j)
73 b(1,jj+3) = a13 *dn_t(j)
74 b(2,jj+1) = a21 *dn_r(j)
75 b(2,jj+2) = a22 *dn_r(j)
76 b(2,jj+3) = a23 *dn_r(j)
77 b(3,jj+1) = a31 *dn_s(j)
78 b(3,jj+2) = a32 *dn_s(j)
79 b(3,jj+3) = a33 *dn_s(j)
80 ENDDO
81
82 a1a1 = (x2 +x3 -x1 -x4 )*fourth
83 a1a2 = (y2 +y3 -y1 -y4 )*fourth
84 a1a3 = (z2 +z3 -z1 -z4 )*fourth
85 a2a1 = (x4 +x3 -x1 -x2 )*fourth
86 a2a2 = (y4 +y3 -y1 -y2 )*fourth
87 a2a3 = (z4 +z3 -z1 -z2 )*fourth
88 a1b1 = (x6 +x7 -x5 -x8 )*fourth
89 a1b2 = (y6 +y7 -y5 -y8 )*fourth
90 a1b3 = (z6 +z7 -z5 -z8 )*fourth
91 a2b1 = (x8 +x7 -x5 -x6 )*fourth
92 a2b2 = (y8 +y7 -y5 -y6 )*fourth
93 a2b3 = (z8 +z7 -z5 -z6 )*fourth
94
95 um = (one-zeta)/eight
96 up = (one+zeta)/eight
97 b(4,1) = -um*(a1a1+a2a1)
98 b(4,2) = -um*(a1a2+a2a2)
99 b(4,3) = -um*(a1a3+a2a3)
100 b(4,4) = um*(a2a1-a1a1)
101 b(4,5) = um*(a2a2-a1a2)
102 b(4,6) = um*(a2a3-a1a3)
103 b(4,7) = um*(a2a1+a1a1)
104 b(4,8) = um*(a2a2+a1a2)
105 b(4,9) = um*(a2a3+a1a3)
106 b(4,10)= um*(a1a1-a2a1)
107 b(4,11)= um*(a1a2-a2a2)
108 b(4,12)= um*(a1a3-a2a3)
109 b(4,13) =-up*(a1b1+a2b1)
110 b(4,14) =-up*(a1b2+a2b2)
111 b(4,15) =-up*(a1b3+a2b3)
112 b(4,16) = up*(a2b1-a1b1)
113 b(4,17) = up*(a2b2-a1b2)
114 b(4,18) = up*(a2b3-a1b3)
115 b(4,19) = up*(a2b1+a1b1)
116 b(4,20) = up*(a2b2+a1b2)
117 b(4,21) = up*(a2b3+a1b3)
118 b(4,22) = up*(a1b1-a2b1)
119 b(4,23) = up*(a1b2-a2b2)
120 b(4,24) = up*(a1b3-a2b3)
121
122
123 b1a1 = (x2 +x6 -x1 -x5 )*fourth
124 b1a2 = (y2 +y6 -y1 -y5 )*fourth
125 b1a3 = (z2 +z6 -z1 -z5 )*fourth
126 b2a1 = (x5 +x6 -x1 -x2 )*fourth
127 b2a2 = (y5 +y6 -y1 -y2 )*fourth
128 b2a3 = (z5 +z6 -z1 -z2 )*fourth
129 b1b1 = (x3 +x7 -x4 -x8 )*fourth
130 b1b2 = (y3 +y7 -y4 -y8 )*fourth
131 b1b3 = (z3 +z7 -z4 -z8 )*fourth
132 b2b1 = (x7 +x8 -x3 -x4 )*fourth
133 b2b2 = (y7 +y8 -y3 -y4 )*fourth
134 b2b3 = (z7 +z8 -z3 -z4 )*fourth
135
136 um = (one-eta)/eight
137 up = (one+eta)/eight
138 b(5,1) = -um*(b1a1+b2a1)
139 b(5,2) = -um*(b1a2+b2a2)
140 b(5,3) = -um*(b1a3+b2a3)
141 b(5,4) = um*(b2a1-b1a1)
142 b(5,5) = um*(b2a2-b1a2)
143 b(5,6) = um*(b2a3-b1a3)
144 b(5,7) = up*(b2b1-b1b1)
145 b(5,8) = up*(b2b2-b1b2)
146 b(5,9) = up*(b2b3-b1b3)
147 b(5,10)= -up*(b1b1+b2b1)
148 b(5,11)= -up*(b1b2+b2b2)
149 b(5,12)= -up*(b1b3+b2b3)
150 b(5,13)= um*(b1a1-b2a1)
151 b(5,14)= um*(b1a2-b2a2)
152 b(5,15)= um*(b1a3-b2a3)
153 b(5,16)= um*(b1a1+b2a1)
154 b(5,17)= um*(b1a2+b2a2)
155 b(5,18)= um*(b1a3+b2a3)
156 b(5,19)= up*(b1b1+b2b1)
157 b(5,20)= up*(b1b2+b2b2)
158 b(5,21)= up*(b1b3+b2b3)
159 b(5,22)= up*(b1b1-b2b1)
160 b(5,23)= up*(b1b2-b2b2)
161 b(5,24)= up*(b1b3-b2b3)
162
163
164 c1a1 = (x4 +x8 -x1 -x5 )*fourth
165 c1a2 = (y4 +y8 -y1 -y5 )*fourth
166 c1a3 = (z4 +z8 -z1 -z5 )*fourth
167 c2a1 = (x5 +x8 -x1 -x4 )*fourth
168 c2a2 = (y5 +y8 -y1 -y4 )*fourth
169 c2a3 = (z5 +z8 -z1 -z4 )*fourth
170 c1b1 = (x3 +x7 -x2 -x6 )*fourth
171 c1b2 = (y3 +y7 -y2 -y6 )*fourth
172 c1b3 = (z3 +z7 -z2 -z6 )*fourth
173 c2b1 = (x6 +x7 -x2 -x3 )*fourth
174 c2b2 = (y6 +y7 -y2 -y3 )*fourth
175 c2b3 = (z6 +z7 -z2 -z3 )*fourth
176
177 um = (one-ksi)/eight
178 up = (one+ksi)/eight
179 b(6,1) = -um*(c1a1+c2a1)
180 b(6,2) = -um*(c1a2+c2a2)
181 b(6,3) = -um*(c1a3+c2a3)
182 b(6,4) = -up*(c1b1+c2b1)
183 b(6,5) = -up*(c1b2+c2b2)
184 b(6,6) = -up*(c1b3+c2b3)
185 b(6,7) = up*(c2b1-c1b1)
186 b(6,8) = up*(c2b2-c1b2)
187 b(6,9) = up*(c2b3-c1b3)
188 b(6,10)= um*(c2a1-c1a1)
189 b(6,11)= um*(c2a2-c1a2)
190 b(6,12)= um*(c2a3-c1a3)
191 b(6,13)= um*(c1a1-c2a1)
192 b(6,14)= um*(c1a2-c2a2)
193 b(6,15)= um*(c1a3-c2a3)
194 b(6,16)= up*(c1b1-c2b1)
195 b(6,17)= up*(c1b2-c2b2)
196 b(6,18)= up*(c1b3-c2b3)
197 b(6,19)= up*(c1b1+c2b1)
198 b(6,20)= up*(c1b2+c2b2)
199 b(6,21)= up*(c1b3+c2b3)
200 b(6,22)= um*(c1a1+c2a1)
201 b(6,23)= um*(c1a2+c2a2)
202 b(6,24)= um*(c1a3+c2a3)
203
204 ca11 = invj(3)
205 ca21 = invj(1)
206 ca31 = invj(2)
207 ca12 = invj(6)
208 ca22 = invj(4)
209 ca32 = invj(5)
210 ca13 = invj(9)
211 ca23 = invj(7)
212 ca33 = invj(8)
213
214 c(1,1) = ca11*ca11
215 c(2,1) = ca12*ca12
216 c(3,1) = ca13*ca13
217 c(4,1) = two*ca11*ca12
218 c(5,1) = two*ca11*ca13
219 c(6,1) = two*ca12*ca13
220 c(1,2) = ca21*ca21
221 c(2,2) = ca22*ca22
222 c(3,2) = ca23*ca23
223 c(4,2) = two*ca21*ca22
224 c(5,2) = two*ca21*ca23
225 c(6,2) = two*ca22*ca23
226 c(1,3) = ca31*ca31
227 c(2,3) = ca32*ca32
228 c(3,3) = ca33*ca33
229 c(4,3) = two*ca31*ca32
230 c(5,3) = two*ca31*ca33
231 c(6,3) = two*ca32*ca33
232 c(1,4) = ca11*ca21
233 c(2,4) = ca12*ca22
234 c(3,4) = ca13*ca23
235 c(4,4) = ca12*ca21+ca11*ca22
236 c(5,4) = ca13*ca21+ca11*ca23
237 c(6,4) = ca12*ca23+ca13*ca22
238 c(1,5) = ca11*ca31
239 c(2,5) = ca12*ca32
240 c(3,5) = ca13*ca33
241 c(4,5) = ca12*ca31+ca11*ca32
242 c(5,5) = ca13*ca31+ca11*ca33
243 c(6,5) = ca12*ca33+ca13*ca32
244 c(1,6) = ca21*ca31
245 c(2,6) = ca22*ca32
246 c(3,6) = ca23*ca33
247 c(4,6) = ca22*ca31+ca21*ca32
248 c(5,6) = ca23*ca31+ca21*ca33
249 c(6,6) = ca23*ca32+ca22*ca33
250
251 DO l=1,6
252 DO m=1,24
253 bb(l,m) = zero
254 DO lm=1,6
255 bb(l,m) = bb(l,m)+c(l,lm)*b(lm,m)
256 ENDDO
257 ENDDO
258 ENDDO
259
260 RETURN