5 &( xmul,sf,sg,f,g,x,y,z,ikle1,ikle2,ikle3,ikle4,nelem,nelmax,
87 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
88 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
89 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
91 DOUBLE PRECISION,
INTENT(IN) :: X(*),Y(*),Z(*),XMUL
92 DOUBLE PRECISION,
INTENT(INOUT) :: W1(nelmax),W2(nelmax)
93 DOUBLE PRECISION,
INTENT(INOUT) :: W3(nelmax),W4(nelmax)
97 TYPE(bief_obj),
INTENT(IN) :: SF,SG
98 DOUBLE PRECISION,
INTENT(IN) :: F(*),G(*)
104 INTEGER IELEM,IELMF,IELMG
105 DOUBLE PRECISION F1,F2,F3,F4
106 DOUBLE PRECISION G1,G2,G3,G4,X2,X3,X4,Y2,Y3,Y4,Z2,Z3,Z4
109 DOUBLE PRECISION XSUR120,F2MF1,F3MF1,F4MF1,G2MG1,G3MG1,G4MG1
114 xsur120 = xmul/120.d0
122 IF ((ielmf.EQ.31.AND.((ielmg.EQ.31).OR.(ielmg.EQ.30))).OR.
123 & (ielmf.EQ.51.AND.ielmg.EQ.51) )
THEN 125 IF (icoord.EQ.1)
THEN 142 IF (ielmg.EQ.31)
THEN 172 & (5*f2mf1*g1+f2mf1*g2mg1+f2mf1*g3mg1+f2mf1*g4mg1)*(y3*z4-y4*z3)
173 &+(5*f3mf1*g1+f3mf1*g2mg1+f3mf1*g3mg1+f3mf1*g4mg1)*(z2*y4-y2*z4)
174 &+(5*f4mf1*g1+f4mf1*g2mg1+f4mf1*g3mg1+f4mf1*g4mg1)*(y2*z3-z2*y3)
178 &-f4mf1*z2*y3*g4mg1+f4mf1*y2*z3*g4mg1+f3mf1*z2*y4*g4mg1
179 &-f3mf1*y2*z4*g4mg1+f2mf1*y3*z4*g4mg1-f2mf1*y4*z3*g4mg1
180 &+5*f2mf1*y3*z4*g1+2*f2mf1*y3*z4*g2mg1+f2mf1*y3*z4*g3mg1
181 &-5*f2mf1*y4*z3*g1-2*f2mf1*y4*z3*g2mg1-f2mf1*y4*z3*g3mg1
182 &-5*f3mf1*y2*z4*g1-2*f3mf1*y2*z4*g2mg1-f3mf1*y2*z4*g3mg1
183 &+5*f3mf1*z2*y4*g1+2*f3mf1*z2*y4*g2mg1+f3mf1*z2*y4*g3mg1
184 &+5*f4mf1*y2*z3*g1+2*f4mf1*y2*z3*g2mg1+f4mf1*y2*z3*g3mg1
185 &-5*f4mf1*z2*y3*g1-2*f4mf1*z2*y3*g2mg1-f4mf1*z2*y3*g3mg1
188 &-(-f2mf1*y3*z4+f2mf1*y4*z3+f3mf1*y2*z4
189 & -f3mf1*z2*y4-f4mf1*y2*z3+f4mf1*z2*y3)
190 & *(2*g3mg1+g2mg1+g4mg1+5*g1)
193 &-2*f4mf1*z2*y3*g4mg1
194 &+2*f4mf1*y2*z3*g4mg1
195 &+2*f3mf1*z2*y4*g4mg1
196 &-2*f3mf1*y2*z4*g4mg1
197 &+2*f2mf1*y3*z4*g4mg1
198 &-2*f2mf1*y4*z3*g4mg1
201 &+f2mf1*y3*z4*g3mg1-5*f2mf1*y4*z3*g1-f2mf1*y4*z3*g2mg1
202 &-f2mf1*y4*z3*g3mg1-5*f3mf1*y2*z4*g1-f3mf1*y2*z4*g2mg1
203 &-f3mf1*y2*z4*g3mg1+5*f3mf1*z2*y4*g1+f3mf1*z2*y4*g2mg1
204 &+f3mf1*z2*y4*g3mg1+5*f4mf1*y2*z3*g1+f4mf1*y2*z3*g2mg1
205 &+f4mf1*y2*z3*g3mg1-5*f4mf1*z2*y3*g1-f4mf1*z2*y3*g2mg1
211 ELSE IF (icoord.EQ.2)
THEN 228 IF (ielmg.EQ.31)
THEN 257 &-f2mf1*x3*z4*g2mg1+f3mf1*x2*z4*g3mg1+5*f3mf1*x2*z4*g1
258 &-f2mf1*x3*z4*g3mg1-5*f2mf1*x3*z4*g1
259 &+f2mf1*x4*z3*g2mg1+f2mf1*x4*z3*g3mg1+5*f2mf1*x4*z3*g1
260 &+f3mf1*x2*z4*g2mg1+f4mf1*z2*x3*g2mg1+f4mf1*z2*x3*g3mg1
261 &+5*f4mf1*z2*x3*g1-f4mf1*x2*z3*g2mg1-f4mf1*x2*z3*g3mg1
262 &-5*f4mf1*x2*z3*g1-f3mf1*z2*x4*g2mg1-f3mf1*z2*x4*g3mg1
263 &-5*f3mf1*z2*x4*g1+f2mf1*x4*z3*g4mg1+f3mf1*x2*z4*g4mg1
264 &-f4mf1*x2*z3*g4mg1-f3mf1*z2*x4*g4mg1-f2mf1*x3*z4*g4mg1
265 &+f4mf1*z2*x3*g4mg1 ) * xsur120
267 & -2*f2mf1*x3*z4*g2mg1+f3mf1*x2*z4*g3mg1+5*f3mf1*x2*z4*g1-f
268 &2mf1*x3*z4*g3mg1-5*f2mf1*x3*z4*g1+2*f2mf1*x4*z3*g2mg1+f2mf1*x4*z3*
269 &g3mg1+5*f2mf1*x4*z3*g1+2*f3mf1*x2*z4*g2mg1+2*f4mf1*z2*x3*g2mg1+f4m
270 &f1*z2*x3*g3mg1+5*f4mf1*z2*x3*g1-2*f4mf1*x2*z3*g2mg1-f4mf1*x2*z3*g3
271 &mg1-5*f4mf1*x2*z3*g1-2*f3mf1*z2*x4*g2mg1-f3mf1*z2*x4*g3mg1-5*f3mf1
272 &*z2*x4*g1+f2mf1*x4*z3*g4mg1+f3mf1*x2*z4*g4mg1-f4mf1*x2*z3*g4mg1-f3
273 &mf1*z2*x4*g4mg1-f2mf1*x3*z4*g4mg1+f4mf1*z2*x3*g4mg1 ) * xsur120
275 & -(f2mf1*x3*z4-f2mf1*x4*z3-f3mf1*x2*z4+f3mf1*z2*x4+f4mf1*x
276 &2*z3-f4mf1*z2*x3)*(2*g3mg1+g2mg1+g4mg1+5*g1) ) * xsur120
278 & -f2mf1*x3*z4*g2mg1+f3mf1*x2*z4*g3mg1+5*f3mf1*x2*z4*g1-f2m
279 &f1*x3*z4*g3mg1-5*f2mf1*x3*z4*g1+f2mf1*x4*z3*g2mg1+f2mf1*x4*z3*g3mg
280 &1+5*f2mf1*x4*z3*g1+f3mf1*x2*z4*g2mg1+f4mf1*z2*x3*g2mg1+f4mf1*z2*x3
281 &*g3mg1+5*f4mf1*z2*x3*g1-f4mf1*x2*z3*g2mg1-f4mf1*x2*z3*g3mg1-5*f4mf
282 &1*x2*z3*g1-f3mf1*z2*x4*g2mg1-f3mf1*z2*x4*g3mg1-5*f3mf1*z2*x4*g1+2*
283 &f2mf1*x4*z3*g4mg1+2*f3mf1*x2*z4*g4mg1-2*f4mf1*x2*z3*g4mg1-2*f3mf1*
284 &z2*x4*g4mg1-2*f2mf1*x3*z4*g4mg1+2*f4mf1*z2*x3*g4mg1 ) * xsur120
288 ELSE IF (icoord.EQ.3)
THEN 304 IF (ielmg.EQ.31)
THEN 333 & 5*f2mf1*x3*y4*g1+f2mf1*x3*y4*g2mg1+f2mf1*x3*y4*g3mg1-5*f2
334 &mf1*x4*y3*g1-f2mf1*x4*y3*g2mg1-f2mf1*x4*y3*g3mg1-5*f3mf1*x2*y4*g1-
335 &f3mf1*x2*y4*g2mg1-f3mf1*x2*y4*g3mg1+5*f3mf1*y2*x4*g1+f3mf1*y2*x4*g
336 &2mg1+f3mf1*y2*x4*g3mg1+5*f4mf1*x2*y3*g1+f4mf1*x2*y3*g2mg1-5*f4mf1*
337 &y2*x3*g1-f4mf1*y2*x3*g2mg1-f4mf1*y2*x3*g3mg1+f4mf1*x2*y3*g3mg1-f4m
338 &f1*y2*x3*g4mg1-f3mf1*x2*y4*g4mg1+f4mf1*x2*y3*g4mg1+f2mf1*x3*y4*g4m
339 &g1+f3mf1*y2*x4*g4mg1-f2mf1*x4*y3*g4mg1 ) * xsur120
341 & 5*f2mf1*x3*y4*g1+2*f2mf1*x3*y4*g2mg1+f2mf1*x3*y4*g3mg1-5*
342 &f2mf1*x4*y3*g1-2*f2mf1*x4*y3*g2mg1-f2mf1*x4*y3*g3mg1-5*f3mf1*x2*y4
343 &*g1-2*f3mf1*x2*y4*g2mg1-f3mf1*x2*y4*g3mg1+5*f3mf1*y2*x4*g1+2*f3mf1
344 &*y2*x4*g2mg1+f3mf1*y2*x4*g3mg1+5*f4mf1*x2*y3*g1+2*f4mf1*x2*y3*g2mg
345 &1-5*f4mf1*y2*x3*g1-2*f4mf1*y2*x3*g2mg1-f4mf1*y2*x3*g3mg1+f4mf1*x2*
346 &y3*g3mg1-f4mf1*y2*x3*g4mg1-f3mf1*x2*y4*g4mg1+f4mf1*x2*y3*g4mg1+f2m
347 &f1*x3*y4*g4mg1+f3mf1*y2*x4*g4mg1-f2mf1*x4*y3*g4mg1 ) * xsur120
349 & -(-f2mf1*x3*y4+f2mf1*x4*y3+f3mf1*x2*y4-f3mf1*y2*x4-f4mf1*
350 &x2*y3+f4mf1*y2*x3)*(2*g3mg1+g2mg1+g4mg1+5*g1) ) * xsur120
352 & 5*f2mf1*x3*y4*g1+f2mf1*x3*y4*g2mg1+f2mf1*x3*y4*g3mg1-5*f2
353 &mf1*x4*y3*g1-f2mf1*x4*y3*g2mg1-f2mf1*x4*y3*g3mg1-5*f3mf1*x2*y4*g1-
354 &f3mf1*x2*y4*g2mg1-f3mf1*x2*y4*g3mg1+5*f3mf1*y2*x4*g1+f3mf1*y2*x4*g
355 &2mg1+f3mf1*y2*x4*g3mg1+5*f4mf1*x2*y3*g1+f4mf1*x2*y3*g2mg1-5*f4mf1*
356 &y2*x3*g1-f4mf1*y2*x3*g2mg1-f4mf1*y2*x3*g3mg1+f4mf1*x2*y3*g3mg1-2*f
357 &4mf1*y2*x3*g4mg1-2*f3mf1*x2*y4*g4mg1+2*f4mf1*x2*y3*g4mg1+2*f2mf1*x
358 &3*y4*g4mg1+2*f3mf1*y2*x4*g4mg1-2*f2mf1*x4*y3*g4mg1 ) * xsur120
367 201
FORMAT(1x,
'VC11TT (BIEF) : IMPOSSIBLE COMPONENT ',
368 & 1i6,
' CHECK ICOORD')
381 WRITE(
lu,1101) ielmf,sf%NAME
382 WRITE(
lu,1201) ielmg,sg%NAME
386 1101
FORMAT(1x,
'VC11TT (BIEF) :',/,
387 & 1x,
'DISCRETIZATION OF F:',1i6,
388 & 1x,
'REAL NAME: ',a6)
389 1201
FORMAT(1x,
'DISCRETIZATION OF G:',1i6,
390 & 1x,
'REAL NAME: ',a6)
391 1301
FORMAT(1x,
'CASE NOT IMPLEMENTED')
subroutine vc11tt(XMUL, SF, SG, F, G, X, Y, Z, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, W1, W2, W3, W4, ICOORD)