6 & ikle1,ikle2,ikle3,ikle4,ikle5,ikle6,nelem,nelmax,
7 & w1,w2,w3,w4,w5,w6,icoord)
84 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
85 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
86 INTEGER,
INTENT(IN) :: IKLE4(nelmax),IKLE5(nelmax),IKLE6(nelmax)
88 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
89 DOUBLE PRECISION,
INTENT(INOUT) :: W1(nelmax),W2(nelmax)
90 DOUBLE PRECISION,
INTENT(INOUT) :: W3(nelmax),W4(nelmax)
91 DOUBLE PRECISION,
INTENT(INOUT) :: W5(nelmax),W6(nelmax)
92 DOUBLE PRECISION,
INTENT(IN) :: XMUL
96 TYPE(bief_obj),
INTENT(IN) :: SF
97 DOUBLE PRECISION,
INTENT(IN) :: F(*)
102 DOUBLE PRECISION F1,F2,F3,F4,F5,F6
103 DOUBLE PRECISION X2,X3,Y2,Y3
104 DOUBLE PRECISION XSUR6,XSUR30
136 w4(ielem) = (y2*(f1-f3)+y3*(f2-f1))*xsur6
137 w5(ielem) = w4(ielem)
138 w6(ielem) = w4(ielem)
146 ELSEIF(icoord.EQ.2)
THEN 160 w4(ielem) = (x2*(f3-f1)+x3*(f1-f2))*xsur6
161 w5(ielem) = w4(ielem)
162 w6(ielem) = w4(ielem)
177 ELSEIF(ielmf.EQ.15)
THEN 187 f3 = f(ielem+2*nelmax)
195 w4(ielem) = (y2*(f1-f3)+y3*(f2-f1))*xsur6
196 w5(ielem) = w4(ielem)
197 w6(ielem) = w4(ielem)
201 ELSEIF(icoord.EQ.2)
THEN 209 f3 = f(ielem+2*nelmax)
217 w4(ielem) = (x2*(f3-f1)+x3*(f1-f2))*xsur6
218 w5(ielem) = w4(ielem)
219 w6(ielem) = w4(ielem)
234 ELSEIF(ielmf.EQ.13)
THEN 254 w1(ielem) = ((2.d0*f1+f5-f4+f3-3.d0*f6)*y2
255 & + (f6-f5+3.d0*f4-f2-2.d0*f1)*y3) * xsur30
256 w2(ielem) = ((2.d0*f2-3.d0*f4+f1+f6-f5)*y3
257 & + (f3-f1-2.d0*f5+2.d0*f4 )*y2) * xsur30
258 w3(ielem) = ((3.d0*f6+f5-f4-f1-2.d0*f3)*y2
259 & + (f1-f2+2.d0*f5-2.d0*f6 )*y3) * xsur30
260 w4(ielem) = ((-4.d0*f6-8.d0*(f5-f4)+3.d0*f1+f3)*y2
261 & + (3.d0*(f2-f1)+4.d0*(f5-f6) )*y3) * xsur30
262 w5(ielem) = ((4.d0*f6-8.d0*(f5-f4)-f1-3.d0*f3 )*y2
263 & + (3.d0*f2-4.d0*f4+f1+8.d0*(f5-f6) )*y3) * xsur30
264 w6(ielem) = ((4.d0*(f4-f5)+3.d0*(f1-f3) )*y2
265 & + (4.d0*f4-3.d0*f1+8.d0*(f5-f6)-f2 )*y3) * xsur30
273 ELSEIF(icoord.EQ.2)
THEN 287 w1(ielem) = ((f4-f5-2.d0*f1+3.d0*f6-f3 )*x2
288 & + (-3.d0*f4-f6+2.d0*f1+f2+f5)*x3) * xsur30
289 w2(ielem) = ((f5-f1-2.d0*f2+3.d0*f4-f6)*x3
290 & + (-f3+f1-2.d0*(f4-f5) )*x2 ) * xsur30
291 w3(ielem) = ((-3.d0*f6+2.d0*f3+f1+f4-f5)*x2
292 & + (2.d0*(f6-f5)-f1+f2 )*x3) * xsur30
293 w4(ielem) = ((4.d0*f6-f3-3.d0*f1-8.d0*(f4-f5))*x2
294 & + (4.d0*(f6-f5)+3.d0*(f1-f2) )*x3) * xsur30
295 w5(ielem) = ((3.d0*f3+f1-8.d0*(f4-f5)-4.d0*f6)*x2
296 & + (8.d0*(f6-f5)+4.d0*f4-f1-3.d0*f2)*x3) * xsur30
297 w6(ielem) = ((3.d0*(f3-f1)-4.d0*(f4-f5) )*x2
298 & + (8.d0*(f6-f5)+3.d0*f1+f2-4.d0*f4)*x3) * xsur30
314 ELSEIF(ielmf.EQ.17)
THEN 328 f2 = f(ielem+ nelmax)
329 f3 = f(ielem+2*nelmax)
330 f4 = f(ielem+3*nelmax)
331 f5 = f(ielem+4*nelmax)
332 f6 = f(ielem+5*nelmax)
334 w1(ielem) = ((2.d0*f1+f5-f4+f3-3.d0*f6)*y2
335 & + (f6-f5+3.d0*f4-f2-2.d0*f1)*y3) * xsur30
336 w2(ielem) = ((2.d0*f2-3.d0*f4+f1+f6-f5)*y3
337 & + (f3-f1-2.d0*f5+2.d0*f4 )*y2) * xsur30
338 w3(ielem) = ((3.d0*f6+f5-f4-f1-2.d0*f3)*y2
339 & + (f1-f2+2.d0*f5-2.d0*f6 )*y3) * xsur30
340 w4(ielem) = ((-4.d0*f6-8.d0*(f5-f4)+3.d0*f1+f3)*y2
341 & + (3.d0*(f2-f1)+4.d0*(f5-f6) )*y3) * xsur30
342 w5(ielem) = ((4.d0*f6-8.d0*(f5-f4)-f1-3.d0*f3 )*y2
343 & + (3.d0*f2-4.d0*f4+f1+8.d0*(f5-f6) )*y3) * xsur30
344 w6(ielem) = ((4.d0*(f4-f5)+3.d0*(f1-f3) )*y2
345 & + (4.d0*f4-3.d0*f1+8.d0*(f5-f6)-f2 )*y3) * xsur30
353 ELSEIF(icoord.EQ.2)
THEN 361 f2 = f(ielem+ nelmax)
362 f3 = f(ielem+2*nelmax)
363 f4 = f(ielem+3*nelmax)
364 f5 = f(ielem+4*nelmax)
365 f6 = f(ielem+5*nelmax)
367 w1(ielem) = ((f4-f5-2.d0*f1+3.d0*f6-f3 )*x2
368 & + (-3.d0*f4-f6+2.d0*f1+f2+f5)*x3) * xsur30
369 w2(ielem) = ((f5-f1-2.d0*f2+3.d0*f4-f6)*x3
370 & + (-f3+f1-2.d0*(f4-f5) )*x2 ) * xsur30
371 w3(ielem) = ((-3.d0*f6+2.d0*f3+f1+f4-f5)*x2
372 & + (2.d0*(f6-f5)-f1+f2 )*x3) * xsur30
373 w4(ielem) = ((4.d0*f6-f3-3.d0*f1-8.d0*(f4-f5))*x2
374 & + (4.d0*(f6-f5)+3.d0*(f1-f2) )*x3) * xsur30
375 w5(ielem) = ((3.d0*f3+f1-8.d0*(f4-f5)-4.d0*f6)*x2
376 & + (8.d0*(f6-f5)+4.d0*f4-f1-3.d0*f2)*x3) * xsur30
377 w6(ielem) = ((3.d0*(f3-f1)-4.d0*(f4-f5) )*x2
378 & + (8.d0*(f6-f5)+3.d0*f1+f2-4.d0*f4)*x3) * xsur30
397 WRITE(
lu,101) ielmf,sf%NAME
398 101
FORMAT(1x,
'VC13CC (BIEF) :',/,
399 & 1x,
'DISCRETIZATION OF F NOT AVAILABLE:',1i6,
400 & 1x,
'REAL NAME: ',a6)
406 201
FORMAT(1x,
'VC13CC (BIEF) : IMPOSSIBLE COMPONENT ',
407 & 1i6,
' CHECK ICOORD')
subroutine vc13cc(XMUL, SF, F, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NELEM, NELMAX, W1, W2, W3, W4, W5, W6, ICOORD)