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