5 &( xmul,surfac,su,sv,sw,u,v,w,x,y,z,
6 & ikle1,ikle2,ikle3,ikle4,ikle5,ikle6,nelem,nelmax,
65 INTEGER,
INTENT(IN) :: NELEM,NELMAX
66 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
67 INTEGER,
INTENT(IN) :: IKLE4(nelmax),IKLE5(nelmax),IKLE6(nelmax)
69 DOUBLE PRECISION,
INTENT(IN) :: X(nelmax,6),Y(nelmax,6),Z(*)
70 DOUBLE PRECISION,
INTENT(IN) :: XMUL,SURFAC(nelmax)
71 DOUBLE PRECISION,
INTENT(INOUT)::W1(nelmax),W2(nelmax),W3(nelmax)
72 DOUBLE PRECISION,
INTENT(INOUT)::W4(nelmax),W5(nelmax),W6(nelmax)
76 TYPE(bief_obj),
INTENT(IN) :: SU,SV,SW
77 DOUBLE PRECISION,
INTENT(IN) :: U(*),V(*),W(*)
81 DOUBLE PRECISION X2,X3,Y2,Y3,COEF,XS24,XS144
82 DOUBLE PRECISION Z2,Z3,Z4,Z5,Z6
83 DOUBLE PRECISION U1,U2,U3,U4,U5,U6,V1,V2,V3,V4,V5,V6
84 DOUBLE PRECISION Q1,Q2,Q3,Q4,Q5,Q6,H1,H2,H3,SHT,DIFFU,DIFFV
86 INTEGER I1,I2,I3,I4,I5,I6,IELEM,IELMU,IELMV,IELMW
101 IF(ielmu.EQ.41.AND.ielmv.EQ.41.AND.ielmw.EQ.41)
THEN 138 coef=xs24*surfac(ielem)
139 h1 = z(ikle4(ielem)) - z(ikle1(ielem))
140 h2 = z(ikle5(ielem)) - z(ikle2(ielem))
141 h3 = z(ikle6(ielem)) - z(ikle3(ielem))
151 w1(ielem)=(((z5+3*z4-3*z3-z2)*(-(2*v1-v6)*y2-(2*u1-u6)*x2)
152 & +(-z6-3*z4+z3+3*z2)*(-(2*v1-v5)*y3-(2*u1-u5)*x3)
153 & +(2*z6+3*z5+3*z4-2*z3)*(-v2*y3-u2*x3)
154 & +(-3*z6-2*z5-3*z4+2*z2)*(-v3*y2-u3*x2)
155 & +(z5-z4+2*z2)*(-(v3-v6)*y3-(u3-u6)*x3)
156 & +(3*z6+z5+3*z3-z2)*(-v4*y2-u4*x2)
157 & +(-z6-3*z5+z3-3*z2)*(-v4*y3-u4*x3)
158 & +(z6-z4+2*z3)*(-(v5-v2)*y2-(u5-u2)*x2))*xs144)**2
160 w2(ielem)=(((z6+4*z5+3*z4-4*z3-4*z2)*(-v1*y2-u1*x2)
161 & +(-2*z6-3*z5-3*z4+2*z3+6*z2)*(-v1*y3-u1*x3)
162 & +(z6+3*z5-z3)*(-(2*v2-v4)*y3-(2*u2-u4)*x3)
163 & +(-3*z6-4*z5-z4+4*z2)*(-v3*y2-u3*x2)
164 & +(2*z6+2*z5+z3-2*z2)*(-v4*y2-u4*x2)
165 & +(z6-z4+2*z3)*(-2*(v5-v2)*y2-2*(u5-u2)*x2)
166 & +(z6+3*z4-z3-6*z2)*(-v5*y3-u5*x3)
167 & +(-2*z5-2*z4+3*z3+2*z2)*(-v6*y2-u6*x2)
168 & +(-z5+z4-2*z2)*(-(v6-v3)*y3-(u6-u3)*x3))*xs144)**2
170 w3(ielem)=(((3*z6+2*z5+3*z4-6*z3-2*z2)*(-v1*y2-u1*x2)
171 & +(-4*z6-z5-3*z4+4*z3+4*z2)*(-v1*y3-u1*x3)
172 & +(4*z6+3*z5+z4-4*z3)*(-v2*y3-u2*x3)
173 & +(-3*z6-z5+z2)*(-(2*v3-v4)*y2-(2*u3-u4)*x2)
174 & +(-2*z6-2*z5+2*z3-z2)*(-v4*y3-u4*x3)
175 & +(z6-z4+2*z3)*(-(v5-v2)*y2-(u5-u2)*x2)
176 & +(2*z6+2*z4-2*z3-3*z2)*(-v5*y3-u5*x3)
177 & +(-z5-3*z4+6*z3+z2)*(-v6*y2-u6*x2)
178 & +(-z5+z4-2*z2)*(-2*(v6-v3)*y3-2*(u6-u3)*x3))*xs144)**2
180 w4(ielem)=(((-3*z6+z5+6*z4-3*z3-z2)*(-v1*y2-u1*x2)
181 & +(-z6+3*z5-6*z4+z3+3*z2)*(-v1*y3-u1*x3)
182 & +(3*z6+z5-z2)*(-(2*v4-v3)*y2-(2*u4-u3)*x2)
183 & +(-z6-3*z5+z3)*(-(2*v4-v2)*y3-(2*u4-u2)*x3)
184 & +(2*z6-2*z4+z3)*(-2*(v5-v2)*y2-2*(u5-u2)*x2)
185 & +(2*z6+6*z4-2*z3-3*z2)*(-v5*y3-u5*x3)
186 & +(-2*z5-6*z4+3*z3+2*z2)*(-v6*y2-u6*x2)
187 & +(-2*z5+2*z4-z2)*(-(v6-v3)*y3-(u6-u3)*x3))*xs144)**2
189 w5(ielem)=(((-z6+2*z5+3*z4-2*z3-2*z2)*(-v1*y2-u1*x2)
190 & +(z6+6*z5-3*z4-z3)*(-v2*y3-u2*x3)
191 & +(-3*z6-2*z5+z4+2*z2)*(-v3*y2-u3*x2)
192 & +(4*z6+4*z5-z3-4*z2)*(-v4*y2-u4*x2)
193 & +(-2*z6-6*z5+2*z3+3*z2)*(-v4*y3-u4*x3)
194 & +(2*z6-2*z4+z3)*(-2*(v5-v2)*y2-2*(u5-u2)*x2)
195 & +(z6+3*z4-z3-3*z2)*(-(2*v5-v1)*y3-(2*u5-u1)*x3)
196 & +(-4*z5-4*z4+3*z3+4*z2)*(-v6*y2-u6*x2)
197 & +(-2*z5+2*z4-z2)*(-(v6-v3)*y3-(u6-u3)*x3))*xs144)**2
199 w6(ielem)=(((-2*z6+z5-3*z4+2*z3+2*z2)*(-v1*y3-u1*x3)
200 & +(2*z6+3*z5-z4-2*z3)*(-v2*y3-u2*x3)
201 & +(-6*z6-z5+3*z4+z2)*(-v3*y2-u3*x2)
202 & +(6*z6+2*z5-3*z3-2*z2)*(-v4*y2-u4*x2)
203 & +(-4*z6-4*z5+4*z3+z2)*(-v4*y3-u4*x3)
204 & +(2*z6-2*z4+z3)*(-(v5-v2)*y2-(u5-u2)*x2)
205 & +(4*z6+4*z4-4*z3-3*z2)*(-v5*y3-u5*x3)
206 & +(-z5-3*z4+3*z3+z2)*(-(2*v6-v1)*y2-(2*u6-u1)*x2)
207 & +(-2*z5+2*z4-z2)*(-2*(v6-v3)*y3-2*(u6-u3)*x3))*xs144)**2
209 diffu = (u4+u5+u6)-(u1+u2+u3)
210 diffv = (v4+v5+v6)-(v1+v2+v3)
212 w1(ielem)=w1(ielem)+((u4-u1+diffu)*coef
213 & -((2*q1-q6)*y2*(z5+3*z4-3*z3 -z2)
214 & +(2*q1-q5)*y3*(-z6-3*z4 +z3+3*z2)
215 & +q2*y3*(2*z6+3*z5+3*z4-2*z3)
216 & +q3*y2*(-3*z6-2*z5-3*z4+2*z2)
217 & +(q3-q6)*y3*(z5-z4+2*z2)
218 & +q4*y2*(3*z6+z5+3*z3-z2)
219 & +q4*y3*(-z6-3*z5+z3-3*z2)
220 & +(q5-q2)*y2*(z6-z4+2*z3))*xs144)**2
222 w2(ielem)=w2(ielem)+((u5-u2+diffu)*coef
223 & -(q1*y2*(z6+4*z5+3*z4-4*z3-4*z2)
224 & +q1*y3*(-2*z6-3*z5-3*z4+2*z3+6*z2)
225 & +(2*q2-q4)*y3*(z6+3*z5-z3)
226 & +q3*y2*(-3*z6-4*z5-z4+4*z2)
227 & +q4*y2*(2*z6+2*z5+z3-2*z2)
228 & +2*(q5-q2)*y2*(z6-z4+2*z3)
229 & +q5*y3*(z6+3*z4-z3-6*z2)
230 & +q6*y2*(-2*z5-2*z4+3*z3+2*z2)
231 & +(q6-q3)*y3*(-z5+z4-2*z2))*xs144)**2
233 w3(ielem)=w3(ielem)+((u6-u3+diffu)*coef
234 & -(q1*y2*(3*z6+2*z5+3*z4-6*z3-2*z2)
235 & +q1*y3*(-4*z6-z5-3*z4+4*z3+4*z2)
236 & +q2*y3*(4*z6+3*z5+z4-4*z3)
237 & +(2*q3-q4)*y2*(-3*z6-z5+z2)
238 & +q4*y3*(-2*z6-2*z5+2*z3-z2)
239 & +(q5-q2)*y2*(z6-z4+2*z3)
240 & +q5*y3*(2*z6+2*z4-2*z3-3*z2)
241 & +q6*y2*(-z5-3*z4+6*z3+z2)
242 & +2*(q6-q3)*y3*(-z5+z4-2*z2) )*xs144)**2
244 w4(ielem)=w4(ielem)+((u4-u1+diffu)*coef
245 & -(q1*y2*(-3*z6+z5+6*z4-3*z3-z2)
246 & +q1*y3*(-z6+3*z5-6*z4+z3+3*z2)
247 & +q2*y3*(z6+3*z5-z3)
248 & +(2*q4-q3)*y2*(3*z6+z5-z2)
249 & +2*q4*y3*(-z6-3*z5+z3)
250 & +(q5-q2)*y2*(2*z6-2*z4+z3)
251 & +q5*y3*(2*z6+6*z4-2*z3-3*z2)
252 & +q6*y2*(-2*z5-6*z4+3*z3+2*z2)
253 & +(q6-q3)*y3*(-2*z5+2*z4-z2) )*xs144)**2
255 w5(ielem)=w5(ielem)+((u5-u2+diffu)*coef
256 & -(q1*y2*(-z6+2*z5+3*z4-2*z3-2*z2)
257 & +q2*y3*(z6+6*z5-3*z4-z3)
258 & +q3*y2*(-3*z6-2*z5+z4+2*z2)
259 & +q4*y2*(4*z6+4*z5-z3-4*z2)
260 & +q4*y3*(-2*z6-6*z5+2*z3+3*z2)
261 & +2*(q5-q2)*y2*(2*z6-2*z4+z3)
262 & +(2*q5-q1)*y3*(z6+3*z4-z3-3*z2)
263 & +q6*y2*(-4*z5-4*z4+3*z3+4*z2)
264 & +(q6-q3)*y3*(-2*z5+2*z4-z2) )*xs144)**2
266 w6(ielem)=w6(ielem)+((u6-u3+diffu)*coef
267 & -(q1*y3*(-2*z6+z5-3*z4+2*z3+2*z2)
268 & +q2*y3*(2*z6+3*z5-z4-2*z3)
269 & +q3*y2*(-6*z6-z5+3*z4+z2)
270 & +q4*y2*(6*z6+2*z5-3*z3-2*z2)
271 & +q4*y3*(-4*z6-4*z5+4*z3+z2)
272 & +(q5-q2)*y2*(2*z6-2*z4+z3)
273 & +q5*y3*(4*z6+4*z4-4*z3-3*z2)
274 & +(2*q6-q1)*y2*(-z5-3*z4+3*z3+z2)
275 & +2*(q6-q3)*y3*(-2*z5+2*z4-z2) )*xs144)**2
277 w1(ielem)=w1(ielem)+((v4-v1+diffv)*coef
278 & -((2*q1-q6)*x2*(z5+3*z4-3*z3 -z2)
279 & +(2*q1-q5)*x3*(-z6-3*z4 +z3+3*z2)
280 & +q2*x3*(2*z6+3*z5+3*z4-2*z3)
281 & +q3*x2*(-3*z6-2*z5-3*z4+2*z2)
282 & +(q3-q6)*x3*(z5-z4+2*z2)
283 & +q4*x2*(3*z6+z5+3*z3-z2)
284 & +q4*x3*(-z6-3*z5+z3-3*z2)
285 & +(q5-q2)*x2*(z6-z4+2*z3))*xs144)**2
287 w2(ielem)=w2(ielem)+((v5-v2+diffv)*coef
288 & -(q1*x2*(z6+4*z5+3*z4-4*z3-4*z2)
289 & +q1*x3*(-2*z6-3*z5-3*z4+2*z3+6*z2)
290 & +(2*q2-q4)*x3*(z6+3*z5-z3)
291 & +q3*x2*(-3*z6-4*z5-z4+4*z2)
292 & +q4*x2*(2*z6+2*z5+z3-2*z2)
293 & +2*(q5-q2)*x2*(z6-z4+2*z3)
294 & +q5*x3*(z6+3*z4-z3-6*z2)
295 & +q6*x2*(-2*z5-2*z4+3*z3+2*z2)
296 & +(q6-q3)*x3*(-z5+z4-2*z2))*xs144)**2
298 w3(ielem)=w3(ielem)+((v6-v3+diffv)*coef
299 & -(q1*x2*(3*z6+2*z5+3*z4-6*z3-2*z2)
300 & +q1*x3*(-4*z6-z5-3*z4+4*z3+4*z2)
301 & +q2*x3*(4*z6+3*z5+z4-4*z3)
302 & +(2*q3-q4)*x2*(-3*z6-z5+z2)
303 & +q4*x3*(-2*z6-2*z5+2*z3-z2)
304 & +(q5-q2)*x2*(z6-z4+2*z3)
305 & +q5*x3*(2*z6+2*z4-2*z3-3*z2)
306 & +q6*x2*(-z5-3*z4+6*z3+z2)
307 & +2*(q6-q3)*x3*(-z5+z4-2*z2) )*xs144)**2
309 w4(ielem)=w4(ielem)+((v4-v1+diffv)*coef
310 & -(q1*x2*(-3*z6+z5+6*z4-3*z3-z2)
311 & +q1*x3*(-z6+3*z5-6*z4+z3+3*z2)
312 & +q2*x3*(z6+3*z5-z3)
313 & +(2*q4-q3)*x2*(3*z6+z5-z2)
314 & +2*q4*x3*(-z6-3*z5+z3)
315 & +(q5-q2)*x2*(2*z6-2*z4+z3)
316 & +q5*x3*(2*z6+6*z4-2*z3-3*z2)
317 & +q6*x2*(-2*z5-6*z4+3*z3+2*z2)
318 & +(q6-q3)*x3*(-2*z5+2*z4-z2) )*xs144)**2
320 w5(ielem)=w5(ielem)+((v5-v2+diffv)*coef
321 & -(q1*x2*(-z6+2*z5+3*z4-2*z3-2*z2)
322 & +q2*x3*(z6+6*z5-3*z4-z3)
323 & +q3*x2*(-3*z6-2*z5+z4+2*z2)
324 & +q4*x2*(4*z6+4*z5-z3-4*z2)
325 & +q4*x3*(-2*z6-6*z5+2*z3+3*z2)
326 & +2*(q5-q2)*x2*(2*z6-2*z4+z3)
327 & +(2*q5-q1)*x3*(z6+3*z4-z3-3*z2)
328 & +q6*x2*(-4*z5-4*z4+3*z3+4*z2)
329 & +(q6-q3)*x3*(-2*z5+2*z4-z2) )*xs144)**2
331 w6(ielem)=w6(ielem)+((v6-v3+diffv)*coef
332 & -(q1*x3*(-2*z6+z5-3*z4+2*z3+2*z2)
333 & +q2*x3*(2*z6+3*z5-z4-2*z3)
334 & +q3*x2*(-6*z6-z5+3*z4+z2)
335 & +q4*x2*(6*z6+2*z5-3*z3-2*z2)
336 & +q4*x3*(-4*z6-4*z5+4*z3+z2)
337 & +(q5-q2)*x2*(2*z6-2*z4+z3)
338 & +q5*x3*(4*z6+4*z4-4*z3-3*z2)
339 & +(2*q6-q1)*x2*(-z5-3*z4+3*z3+z2)
340 & +2*(q6-q3)*x3*(-2*z5+2*z4-z2) )*xs144)**2
342 w1(ielem)=w1(ielem)/(coef*(sht+h1))
343 w2(ielem)=w2(ielem)/(coef*(sht+h2))
344 w3(ielem)=w3(ielem)/(coef*(sht+h3))
345 w4(ielem)=w4(ielem)/(coef*(sht+h1))
346 w5(ielem)=w5(ielem)/(coef*(sht+h2))
347 w6(ielem)=w6(ielem)/(coef*(sht+h3))
357 WRITE(
lu,201) ielmu,su%NAME
360 201
FORMAT(1x,
'DISCRETIZATION OF U:',1i6,
361 & 1x,
'REAL NAME: ',a6)
362 301
FORMAT(1x,
'CASE NOT IMPLEMENTED')
subroutine vc17pp(XMUL, SURFAC, SU, SV, SW, U, V, W, X, Y, Z, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NELEM, NELMAX, W1, W2, W3, W4, W5, W6)