5 &( a11 , a12 , a13 , a14 ,
6 & a21 , a22 , a23 , a24 ,
7 & a31 , a32 , a33 , a34 ,
8 & a41 , a42 , a43 , a44 ,
11 & ikle1,ikle2,ikle3,ikle4,
12 & nelem,nelmax,icoord)
108 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
109 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
110 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
112 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*),A14(*)
113 DOUBLE PRECISION,
INTENT(INOUT) :: A21(*),A22(*),A23(*),A24(*)
114 DOUBLE PRECISION,
INTENT(INOUT) :: A31(*),A32(*),A33(*),A34(*)
115 DOUBLE PRECISION,
INTENT(INOUT) :: A41(*),A42(*),A43(*),A44(*)
117 DOUBLE PRECISION,
INTENT(IN) :: XMUL
118 DOUBLE PRECISION,
INTENT(IN) :: F(*),U(*),V(*)
121 TYPE(bief_obj),
INTENT(IN) :: SF,SU,SV
123 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,3),YEL(nelmax,3)
127 INTEGER IELEM,IELMF,IELMU,IELMV
128 DOUBLE PRECISION X2,X3,Y2,Y3,F1,F2,F3,F4
129 DOUBLE PRECISION U1,U2,U3,U4,V1,V2,V3,V4,UX,UY
143 IF(ielmu.EQ.10.AND.ielmv.EQ.10)
THEN 163 f2 = f(ikle2(ielem)) - f1
164 f3 = f(ikle3(ielem)) - f1
171 a12(ielem) = ((ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(f3*y2-f2*y3))
172 & *xmul/(18*(x2*y3-x3*y2))
174 a13(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y2-f2*y3))
175 & *xmul/(18*(x2*y3-x3*y2))
177 a14(ielem) = ((ux*y3-ux*y2+uy*x2-uy*x3)*(f3*y2-f2*y3))
178 & *xmul/(6*(x2* y3-x3*y2))
180 a21(ielem) = (-(ux*y3+ux*y2-uy*x2-uy*x3)*(f3*y2-f2*y3))
181 & *xmul/(18*(x2*y3-x3*y2))
183 a23(ielem) = (-(2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y2-f2*y3))
184 & *xmul/(18*(x2*y3-x3*y2))
186 a24(ielem) = (-(ux*y3-uy*x3)*(f3*y2-f2*y3))
187 & *xmul/(6*(x2*y3-x3*y2))
189 a31(ielem) = ((ux*y3+ux*y2-uy*x2-uy*x3)*(f3*y2-f2*y3))
190 & *xmul/(18*(x2*y3-x3*y2))
192 a32(ielem) = (-(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(f3*y2-f2*y3))
193 & *xmul/(18*(x2*y3-x3*y2))
195 a34(ielem) = ((ux*y2-uy*x2)*(f3*y2-f2*y3))
196 & *xmul/(6*(x2*y3-x3*y2))
198 a41(ielem) = (-(ux*y3-ux*y2+uy*x2-uy*x3)*(f3*y2-f2*y3))
199 & *xmul/(6*(x2*y3-x3*y2))
201 a42(ielem) = ((ux*y3-uy*x3)*(f3*y2-f2*y3))
202 & *xmul/(6*(x2*y3-x3*y2))
204 a43(ielem) = (-(ux*y2-uy*x2)*(f3*y2-f2*y3))
205 & *xmul/(6*(x2*y3-x3*y2))
210 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
211 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
212 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
213 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
217 ELSEIF(icoord.EQ.2)
THEN 233 f2 = f(ikle2(ielem)) - f1
234 f3 = f(ikle3(ielem)) - f1
241 a12(ielem) = (-(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(x2*f3-x3*f2))
242 & *xmul/(18*(x2*y3-x3*y2))
244 a13(ielem) = (-(2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(x2*f3-x3*f2))
245 & *xmul/(18*(x2*y3-x3*y2))
247 a14(ielem) = (-(ux*y3-ux*y2+uy*x2-uy*x3)*(x2*f3-x3*f2))
248 & *xmul/(6*(x2*y3-x3*y2))
250 a21(ielem) = ((ux*y3+ux*y2-uy*x2-uy*x3)*(x2*f3-x3*f2))
251 & *xmul/(18*(x2*y3-x3*y2))
253 a23(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(x2*f3-x3*f2))
254 & *xmul/(18*(x2*y3-x3*y2))
256 a24(ielem) = ((ux*y3-uy*x3)*(x2*f3-x3*f2))
257 & *xmul/(6*(x2*y3-x3*y2))
259 a31(ielem) = (-(ux*y3+ux*y2-uy*x2-uy*x3)*(x2*f3-x3*f2))
260 & *xmul/(18*(x2*y3-x3*y2))
262 a32(ielem) = ((ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(x2*f3-x3*f2))
263 & *xmul/(18*(x2*y3-x3*y2))
265 a34(ielem) = (-(ux*y2-uy*x2)*(x2*f3-x3*f2))
266 & *xmul/(6*(x2*y3-x3*y2))
268 a41(ielem) = ((ux*y3-ux*y2+uy*x2-uy*x3)*(x2*f3-x3*f2))
269 & *xmul/(6*(x2*y3-x3*y2))
271 a42(ielem) = (-(ux*y3-uy*x3)*(x2*f3-x3*f2))
272 & *xmul/(6*(x2*y3-x3*y2))
274 a43(ielem) = ((ux*y2-uy*x2)*(x2*f3-x3*f2))
275 & *xmul/(6*(x2*y3-x3*y2))
280 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
281 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
282 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
283 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
295 ELSEIF(ielmu.EQ.12)
THEN 315 f2 = f(ikle2(ielem)) - f1
316 f3 = f(ikle3(ielem)) - f1
329 a12(ielem) = (-(2*x2*v4+4*x2*v2+2*x2*v1-x3*v4-2*x3*v2-x3
330 & *v1+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2+u1*y3-2*u1*y2)*(f3+
331 & f2)*(y3+y2))*xmul/(216*(x2*y3-x3*y2))
333 a13(ielem) = ((2*x2*v3+x2*v4+x2*v1-4*x3*v3-2*x3*v4-2*x3*
334 & v1+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u1*y3-u1*y2)*(f3*
335 & y2-f2*y3))*xmul/(72*(x2*y3-x3*y2))
337 a14(ielem) = (3*(x2*v3+2*x2*v4+x2*v1-2*x3*v3-4*x3*v4-2*
338 & x3*v1+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u1*y3-u1*y2)*(
339 & f3*y2-f2*y3)-(4*x2*v4+2*x2*v2+2*x2*v1-2*x3*v4-x3*v2-
340 & x3*v1+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2+u1*y3-2*u1*y2)*(
341 & f3+f2)*(y3+y2))*xmul/(216*(x2*y3-x3*y2))
343 a21(ielem) = (-(x2*v4+x2*v2+2*x2*v1+x3*v4+x3*v2+2*x3*v1-u4
344 & *y3-u4*y2-u2*y3-u2*y2-2*u1*y3-2*u1*y2)*(f3+f2)*(y3+y2))
345 & *xmul/(216*(x2*y3-x3*y2))
347 a23(ielem) = (-(2*x2*v3+x2*v4+x2*v2-4*x3*v3-2*x3*v4-2*x3
348 & *v2+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u2*y3-u2*y2)*(f3*
349 & y2-f2*y3))*xmul/(72*(x2*y3-x3*y2))
351 a24(ielem) = (-(3*(x2*v3+2*x2*v4+x2*v2-2*x3*v3-4*x3*v4-
352 & 2*x3*v2+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u2*y3-u2*y2)*
353 & (f3*y2-f2*y3)+(2*x2*v4+x2*v2+x2*v1+2*x3*v4+x3*v2+x3*v1-
354 & 2*u4*y3-2*u4*y2-u2*y3-u2*y2-u1*y3-u1*y2)*(f3+f2)*(y3+y2)
355 & ))*xmul/(216*(x2*y3-x3*y2))
357 a31(ielem) = (-(x2*v3+x2*v4+2*x2*v1+x3*v3+x3*v4+2*x3*v1-u3
358 & *y3-u3*y2-u4*y3-u4*y2-2*u1*y3-2*u1*y2)*(f3*y2-f2*y3))*xmul/(
361 a32(ielem) = (-(2*x2*v3+2*x2*v4+4*x2*v2-x3*v3-x3*v4-2*x3
362 & *v2+u3*y3-2*u3*y2+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2)*(f3*
363 & y2-f2*y3))*xmul/(72*(x2*y3-x3*y2))
365 a34(ielem) = (-(3*x2*v3+6*x2*v4+2*x2*v2+x2*v1-x3*v2+x3*v1
366 & -3*u3*y2-6*u4*y2+u2*y3-2*u2*y2-u1*y3-u1*y2)*(f3*y2-f2*
367 & y3))*xmul/(72*(x2*y3-x3*y2))
369 a41(ielem) = ((x2*v4+x2*v2+2*x2*v1-u4*y2-u2*y2-2*u1*y2)*(
370 & f3+f2)*(y3+y2)+3*(x3*v3+x3*v4+2*x3*v1-u3*y3-u4*y3-2*u1
371 & *y3)*(f3*y2-f2*y3))*xmul/(72*(x2*y3-x3*y2))
373 a42(ielem) = (3*(x2*v3+x2*v4+2*x2*v2-x3*v3-x3*v4-2*x3*v2+
374 & u3*y3-u3*y2+u4*y3-u4*y2+2*u2*y3-2*u2*y2)*(f3*y2-f2*y3)+
375 & (x2*v4+2*x2*v2+x2*v1-u4*y2-2*u2*y2-u1*y2)*(f3+f2)*(y3+
376 & y2))*xmul/(72*(x2*y3-x3*y2))
378 a43(ielem) = ((2*x2*v3+x2*v4+x2*v2-x3*v2+x3*v1-2*u3*y2-u4*
379 & y2+u2*y3-u2*y2-u1*y3)*(f3*y2-f2*y3))*xmul/(24*(x2*y3-x3*y2))
384 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
385 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
386 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
387 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
391 ELSEIF(icoord.EQ.2)
THEN 407 f2 = f(ikle2(ielem)) - f1
408 f3 = f(ikle3(ielem)) - f1
421 a12(ielem) = (2*x2*v4+4*x2*v2+2*x2*v1-x3*v4-2*x3*v2-x3*
422 & v1+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2+u1*y3-2*u1*y2)*(x2+
423 & x3)*(f3+f2)*xmul/(216*(x2*y3-x3*y2))
425 a13(ielem) = -(2*x2*v3+x2*v4+x2*v1-4*x3*v3-2*x3*v4-2*x3
426 & *v1+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u1*y3-u1*y2)*(x2*
427 & f3-x3*f2)*xmul/(72*(x2*y3-x3*y2))
429 a14(ielem) = -(3*(x2*v3+2*x2*v4+x2*v1-2*x3*v3-4*x3*v4-
430 & 2*x3*v1+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u1*y3-u1*y2)*
431 & (x2*f3-x3*f2)-(4*x2*v4+2*x2*v2+2*x2*v1-2*x3*v4-x3*v2-
432 & x3*v1+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2+u1*y3-2*u1*y2)*(
433 & x2+x3)*(f3+f2))*xmul/(216*(x2*y3-x3*y2))
435 a21(ielem) = (x2*v4+x2*v2+2*x2*v1+x3*v4+x3*v2+2*x3*v1-u4*
436 & y3-u4*y2-u2*y3-u2*y2-2*u1*y3-2*u1*y2)*(x2+x3)*(f3+f2)*xmul/
437 & (216*(x2*y3-x3*y2))
439 a23(ielem) = (2*x2*v3+x2*v4+x2*v2-4*x3*v3-2*x3*v4-2*x3*
440 & v2+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u2*y3-u2*y2)*(x2*
441 & f3-x3*f2)*xmul/(72*(x2*y3-x3*y2))
443 a24(ielem) = (3*(x2*v3+2*x2*v4+x2*v2-2*x3*v3-4*x3*v4-2*
444 & x3*v2+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u2*y3-u2*y2)*(
445 & x2*f3-x3*f2)+(2*x2*v4+x2*v2+x2*v1+2*x3*v4+x3*v2+x3*v1-
446 & 2*u4*y3-2*u4*y2-u2*y3-u2*y2-u1*y3-u1*y2)*(x2+x3)*(f3+f2)
447 & )*xmul/(216*(x2*y3-x3*y2))
449 a31(ielem) = (x2*v3+x2*v4+2*x2*v1+x3*v3+x3*v4+2*x3*v1-u3*
450 & y3-u3*y2-u4*y3-u4*y2-2*u1*y3-2*u1*y2)*(x2*f3-x3*f2)*xmul/(
453 a32(ielem) = (2*x2*v3+2*x2*v4+4*x2*v2-x3*v3-x3*v4-2*x3*
454 & v2+u3*y3-2*u3*y2+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2)*(x2*
455 & f3-x3*f2)*xmul/(72*(x2*y3-x3*y2))
457 a34(ielem) = (3*x2*v3+6*x2*v4+2*x2*v2+x2*v1-x3*v2+x3*v1-
458 & 3*u3*y2-6*u4*y2+u2*y3-2*u2*y2-u1*y3-u1*y2)*(x2*f3-x3*f2
459 & )*xmul/(72*(x2*y3-x3*y2))
461 a41(ielem) = -((x2*v4+x2*v2+2*x2*v1-u4*y2-u2*y2-2*u1*y2)*
462 & (x2+x3)*(f3+f2)+3*(x2*f3-x3*f2)*(x3*v3+x3*v4+2*x3*v1-u3
463 & *y3-u4*y3-2*u1*y3))*xmul/(72*(x2*y3-x3*y2))
465 a42(ielem) = -(3*(x2*v3+x2*v4+2*x2*v2-x3*v3-x3*v4-2*x3*
466 & v2+u3*y3-u3*y2+u4*y3-u4*y2+2*u2*y3-2*u2*y2)*(x2*f3-x3*
467 & f2)+(x2*v4+2*x2*v2+x2*v1-u4*y2-2*u2*y2-u1*y2)*(x2+x3)*(
468 & f3+f2))*xmul/(72*(x2*y3-x3*y2))
470 a43(ielem) = -(2*x2*v3+x2*v4+x2*v2-x3*v2+x3*v1-2*u3*y2-u4
471 & *y2+u2*y3-u2*y2-u1*y3)*(x2*f3-x3*f2)*xmul/(24*(x2*y3-x3*y2))
476 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
477 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
478 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
479 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
502 ELSEIF(ielmf.EQ.12)
THEN 504 IF (ielmu.EQ.10)
THEN 524 f2 = f(ikle2(ielem)) - f1
525 f3 = f(ikle3(ielem)) - f1
526 f4 = f(ikle4(ielem)) - f1
533 a12(ielem) = ((ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(3*f4*y2-f2*y3-f2
534 & *y2))*xmul/(18*(x2*y3-x3*y2))
536 a13(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y3+f3*y2-3*f4
537 & *y3))*xmul/(18*(x2*y3-x3*y2))
539 a14(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y3+f3*y2-3*f4
540 & *y3)+(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(3*f4*y2-f2*y3-f2*y2))*xmul/
543 a21(ielem) = (-(ux*y3+ux*y2-uy*x2-uy*x3)*(3*f4*y2-f2*y3-f2*y2))
544 & *xmul/(18*(x2*y3-x3*y2))
546 a23(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y3-2*f3*y2-3
547 & *f4*y3+3*f4*y2+2*f2*y3-f2*y2))*xmul/(18*(x2*y3-x3*y2))
549 a24(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(f3*y3-2*f3*y2-3
550 & *f4*y3+3*f4*y2+2*f2*y3-f2*y2)-(ux*y3+ux*y2-uy*x2-uy*x3)*(3
551 & *f4*y2-f2*y3-f2*y2))*xmul/(18*(x2*y3-x3*y2))
553 a31(ielem) = ((ux*y3+ux*y2-uy*x2-uy*x3)*(f3*y3+f3*y2-3*f4*y3))
554 & *xmul/(18*(x2*y3-x3*y2))
556 a32(ielem) = ((ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(f3*y3-2*f3*y2-3
557 & *f4*y3+3*f4*y2+2*f2*y3-f2*y2))*xmul/(18*(x2*y3-x3*y2))
559 a34(ielem) = ((ux*y3+ux*y2-uy*x2-uy*x3)*(f3*y3+f3*y2-3*f4*y3)+(
560 & ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(f3*y3-2*f3*y2-3*f4*y3+3*f4
561 & *y2+2*f2*y3-f2*y2))*xmul/(18*(x2*y3-x3*y2))
563 a41(ielem) = (-((ux*y3-uy*x3)*(f3*y3+f3*y2-3*f4*y3)-(ux*y2-uy*
564 & x2)*(3*f4*y2-f2*y3-f2*y2)))*xmul/(6*(x2*y3-x3*y2))
566 a42(ielem) = (-((ux*y3-ux*y2+uy*x2-uy*x3)*(f3*y3-2*f3*y2-3*f4*
567 & y3+3*f4*y2+2*f2*y3-f2*y2)-(ux*y2-uy*x2)*(3*f4*y2-f2*y3-
568 & f2*y2)))*xmul/(6*(x2*y3-x3*y2))
570 a43(ielem) = (-((ux*y3-ux*y2+uy*x2-uy*x3)*(f3*y3-2*f3*y2-3*f4*
571 & y3+3*f4*y2+2*f2*y3-f2*y2)+(ux*y3-uy*x3)*(f3*y3+f3*y2-3*
572 & f4*y3)))*xmul/(6*(x2*y3-x3*y2))
578 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
579 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
580 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
581 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
585 ELSEIF(icoord.EQ.2)
THEN 601 f2 = f(ikle2(ielem)) - f1
602 f3 = f(ikle3(ielem)) - f1
603 f4 = f(ikle4(ielem)) - f1
610 a12(ielem) = (-(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(3*x2*f4-x2*f2-
611 & x3*f2))*xmul/(18*(x2*y3-x3*y2))
613 a13(ielem) = (-(2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(x2*f3+x3*f3-3*
614 & x3*f4))*xmul/(18*(x2*y3-x3*y2))
616 a14(ielem) = (-((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(x2*f3+x3*f3-3*
617 & x3*f4)+(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(3*x2*f4-x2*f2-x3*f2)
618 & ))*xmul/(18*(x2*y3-x3*y2))
620 a21(ielem) = ((ux*y3+ux*y2-uy*x2-uy*x3)*(3*x2*f4-x2*f2-x3*f2))
621 & *xmul/(18*(x2*y3-x3*y2))
623 a23(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(2*x2*f3-3*x2*f4
624 & +x2*f2-x3*f3+3*x3*f4-2*x3*f2))*xmul/(18*(x2*y3-x3*y2))
626 a24(ielem) = ((2*ux*y3-ux*y2+uy*x2-2*uy*x3)*(2*x2*f3-3*x2*f4
627 & +x2*f2-x3*f3+3*x3*f4-2*x3*f2)+(ux*y3+ux*y2-uy*x2-uy*x3)*(3
628 & *x2*f4-x2*f2-x3*f2))*xmul/(18*(x2*y3-x3*y2))
630 a31(ielem) = (-(ux*y3+ux*y2-uy*x2-uy*x3)*(x2*f3+x3*f3-3*x3*f4))
631 & *xmul/(18*(x2*y3-x3*y2))
633 a32(ielem) = ((ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(2*x2*f3-3*x2*f4
634 & +x2*f2-x3*f3+3*x3*f4-2*x3*f2))*xmul/(18*(x2*y3-x3*y2))
636 a34(ielem) = (-((ux*y3+ux*y2-uy*x2-uy*x3)*(x2*f3+x3*f3-3*x3*f4)
637 & -(ux*y3-2*ux*y2+2*uy*x2-uy*x3)*(2*x2*f3-3*x2*f4+x2*f2-x3*
638 & f3+3*x3*f4-2*x3*f2)))*xmul/(18*(x2*y3-x3*y2))
640 a41(ielem) = ((ux*y3-uy*x3)*(x2*f3+x3*f3-3*x3*f4)-(ux*y2-uy*x2)
641 & *(3*x2*f4-x2*f2-x3*f2))*xmul/(6*(x2*y3-x3*y2))
643 a42(ielem) = (-((ux*y3-ux*y2+uy*x2-uy*x3)*(2*x2*f3-3*x2*f4+x2*
644 & f2-x3*f3+3*x3*f4-2*x3*f2)+(ux*y2-uy*x2)*(3*x2*f4-x2*f2-
645 & x3*f2)))*xmul/(6*(x2*y3-x3*y2))
647 a43(ielem) = (-((ux*y3-ux*y2+uy*x2-uy*x3)*(2*x2*f3-3*x2*f4+x2*
648 & f2-x3*f3+3*x3*f4-2*x3*f2)-(ux*y3-uy*x3)*(x2*f3+x3*f3-3*
649 & x3*f4)))*xmul/(6*(x2*y3-x3*y2))
655 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
656 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
657 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
658 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
671 ELSEIF(ielmu.EQ.12)
THEN 691 f2 = f(ikle2(ielem)) - f1
692 f3 = f(ikle3(ielem)) - f1
693 f4 = f(ikle4(ielem)) - f1
706 a12(ielem) = (-(2*x2*v4+4*x2*v2+2*x2*v1-x3*v4-2*x3*v2-x3
707 & *v1+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2+u1*y3-2*u1*y2)*(y3+
708 & y2)*f4)*xmul/(72*(x2*y3-x3*y2))
710 a13(ielem) = ((2*x2*v3+x2*v4+x2*v1-4*x3*v3-2*x3*v4-2*x3*
711 & v1+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u1*y3-u1*y2)*(f3*
712 & y3+f3*y2-3*f4*y3))*xmul/(72*(x2*y3-x3*y2))
714 a14(ielem) = ((x2*v3+2*x2*v4+x2*v1-2*x3*v3-4*x3*v4-2*x3*
715 & v1+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u1*y3-u1*y2)*(f3*
716 & y3+f3*y2-3*f4*y3)-(4*x2*v4+2*x2*v2+2*x2*v1-2*x3*v4-
717 & x3*v2-x3*v1+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2+u1*y3-2*u1*
718 & y2)*(y3+y2)*f4)*xmul/(72*(x2*y3-x3*y2))
720 a21(ielem) = (-(x2*v4+x2*v2+2*x2*v1+x3*v4+x3*v2+2*x3*v1-u4
721 & *y3-u4*y2-u2*y3-u2*y2-2*u1*y3-2*u1*y2)*(y3+y2)*f4)*xmul/(72
724 a23(ielem) = ((2*x2*v3+x2*v4+x2*v2-4*x3*v3-2*x3*v4-2*x3*
725 & v2+4*u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u2*y3-u2*y2)*(f3*
726 & y3-2*f3*y2-3*f4*y3+3*f4*y2+2*f2*y3-f2*y2))*xmul/(72*(x2*
729 a24(ielem) = ((x2*v3+2*x2*v4+x2*v2-2*x3*v3-4*x3*v4-2*x3*
730 & v2+2*u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u2*y3-u2*y2)*(f3*
731 & y3-2*f3*y2-3*f4*y3+3*f4*y2+2*f2*y3-f2*y2)-(2*x2*v4+
732 & x2*v2+x2*v1+2*x3*v4+x3*v2+x3*v1-2*u4*y3-2*u4*y2-u2*y3-
733 & u2*y2-u1*y3-u1*y2)*(y3+y2)*f4)*xmul/(72*(x2*y3-x3*y2))
735 a31(ielem) = (-(x2*v3+x2*v4+2*x2*v1+x3*v3+x3*v4+2*x3*v1-u3
736 & *y3-u3*y2-u4*y3-u4*y2-2*u1*y3-2*u1*y2)*(f3*y3+f3*y2-3*
737 & f4*y3))*xmul/(72*(x2*y3-x3*y2))
739 a32(ielem) = ((2*x2*v3+2*x2*v4+4*x2*v2-x3*v3-x3*v4-2*x3*
740 & v2+u3*y3-2*u3*y2+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2)*(f3*
741 & y3-2*f3*y2-3*f4*y3+3*f4*y2+2*f2*y3-f2*y2))*xmul/(72*(x2*
744 a34(ielem) = ((2*x2*v3+4*x2*v4+2*x2*v2-x3*v3-2*x3*v4-x3*
745 & v2+u3*y3-2*u3*y2+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2)*(f3*
746 & y3-2*f3*y2-3*f4*y3+3*f4*y2+2*f2*y3-f2*y2)-(x2*v3+2*
747 & x2*v4+x2*v1+x3*v3+2*x3*v4+x3*v1-u3*y3-u3*y2-2*u4*y3-2*
748 & u4*y2-u1*y3-u1*y2)*(f3*y3+f3*y2-3*f4*y3))*xmul/(72*(x2*y3-x3
751 a41(ielem) = ((x2*v4+x2*v2+2*x2*v1-u4*y2-u2*y2-2*u1*y2)*(
752 & y3+y2)*f4+(x3*v3+x3*v4+2*x3*v1-u3*y3-u4*y3-2*u1*y3)*(f3
753 & *y3+f3*y2-3*f4*y3))*xmul/(24*(x2*y3-x3*y2))
755 a42(ielem) = (-((x2*v3+x2*v4+2*x2*v2-x3*v3-x3*v4-2*x3*v2+
756 & u3*y3-u3*y2+u4*y3-u4*y2+2*u2*y3-2*u2*y2)*(f3*y3-2*f3*
757 & y2-3*f4*y3+3*f4*y2+2*f2*y3-f2*y2)-(x2*v4+2*x2*v2+x2*
758 & v1-u4*y2-2*u2*y2-u1*y2)*(y3+y2)*f4))*xmul/(24*(x2*y3-x3*y2))
760 a43(ielem) = (-((2*x2*v3+x2*v4+x2*v2-2*x3*v3-x3*v4-x3*v2+
761 & 2*u3*y3-2*u3*y2+u4*y3-u4*y2+u2*y3-u2*y2)*(f3*y3-2*f3*y2
762 & -3*f4*y3+3*f4*y2+2*f2*y3-f2*y2)-(2*x3*v3+x3*v4+x3*v1-
763 & 2*u3*y3-u4*y3-u1*y3)*(f3*y3+f3*y2-3*f4*y3)))*xmul/(24*(x2*y3
770 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
771 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
772 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
773 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
777 ELSEIF(icoord.EQ.2)
THEN 793 f2 = f(ikle2(ielem)) - f1
794 f3 = f(ikle3(ielem)) - f1
795 f4 = f(ikle4(ielem)) - f1
808 a12(ielem) = ((2*x2*v4+4*x2*v2+2*x2*v1-x3*v4-2*x3*v2-x3*
809 & v1+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2+u1*y3-2*u1*y2)*(x2+
810 & x3)*f4)*xmul/(72*(x2*y3-x3*y2))
812 a13(ielem) = (-(x2*f3+x3*f3-3*x3*f4)*(2*x2*v3+x2*v4+x2*v1-
813 & 4*x3*v3-2*x3*v4-2*x3*v1+4*u3*y3-2*u3*y2+2*u4*y3-u4*
814 & y2+2*u1*y3-u1*y2))*xmul/(72*(x2*y3-x3*y2))
816 a14(ielem) = (-((x2*f3+x3*f3-3*x3*f4)*(x2*v3+2*x2*v4+x2*v1
817 & -2*x3*v3-4*x3*v4-2*x3*v1+2*u3*y3-u3*y2+4*u4*y3-2*u4
818 & *y2+2*u1*y3-u1*y2)-(4*x2*v4+2*x2*v2+2*x2*v1-2*x3*v4-
819 & x3*v2-x3*v1+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2+u1*y3-2*u1*
820 & y2)*(x2+x3)*f4))*xmul/(72*(x2*y3-x3*y2))
822 a21(ielem) = ((x2*v4+x2*v2+2*x2*v1+x3*v4+x3*v2+2*x3*v1-u4*
823 & y3-u4*y2-u2*y3-u2*y2-2*u1*y3-2*u1*y2)*(x2+x3)*f4)*xmul/(72*
826 a23(ielem) = ((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*x3*
827 & f2)*(2*x2*v3+x2*v4+x2*v2-4*x3*v3-2*x3*v4-2*x3*v2+4*
828 & u3*y3-2*u3*y2+2*u4*y3-u4*y2+2*u2*y3-u2*y2))*xmul/(72*(x2*
831 a24(ielem) = ((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*x3*
832 & f2)*(x2*v3+2*x2*v4+x2*v2-2*x3*v3-4*x3*v4-2*x3*v2+2*
833 & u3*y3-u3*y2+4*u4*y3-2*u4*y2+2*u2*y3-u2*y2)+(2*x2*v4+
834 & x2*v2+x2*v1+2*x3*v4+x3*v2+x3*v1-2*u4*y3-2*u4*y2-u2*y3-
835 & u2*y2-u1*y3-u1*y2)*(x2+x3)*f4)*xmul/(72*(x2*y3-x3*y2))
837 a31(ielem) = ((x2*f3+x3*f3-3*x3*f4)*(x2*v3+x2*v4+2*x2*v1+
838 & x3*v3+x3*v4+2*x3*v1-u3*y3-u3*y2-u4*y3-u4*y2-2*u1*y3-2*
839 & u1*y2))*xmul/(72*(x2*y3-x3*y2))
841 a32(ielem) = ((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*x3*
842 & f2)*(2*x2*v3+2*x2*v4+4*x2*v2-x3*v3-x3*v4-2*x3*v2+u3*
843 & y3-2*u3*y2+u4*y3-2*u4*y2+2*u2*y3-4*u2*y2))*xmul/(72*(x2*
846 a34(ielem) = ((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*x3*
847 & f2)*(2*x2*v3+4*x2*v4+2*x2*v2-x3*v3-2*x3*v4-x3*v2+u3*
848 & y3-2*u3*y2+2*u4*y3-4*u4*y2+u2*y3-2*u2*y2)+(x2*f3+x3*
849 & f3-3*x3*f4)*(x2*v3+2*x2*v4+x2*v1+x3*v3+2*x3*v4+x3*v1-
850 & u3*y3-u3*y2-2*u4*y3-2*u4*y2-u1*y3-u1*y2))*xmul/(72*(x2*y3-
853 a41(ielem) = (-((x2*f3+x3*f3-3*x3*f4)*(x3*v3+x3*v4+2*x3*v1
854 & -u3*y3-u4*y3-2*u1*y3)+(x2*v4+x2*v2+2*x2*v1-u4*y2-u2*y2-
855 & 2*u1*y2)*(x2+x3)*f4))*xmul/(24*(x2*y3-x3*y2))
857 a42(ielem) = (-((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*
858 & x3*f2)*(x2*v3+x2*v4+2*x2*v2-x3*v3-x3*v4-2*x3*v2+u3*y3-
859 & u3*y2+u4*y3-u4*y2+2*u2*y3-2*u2*y2)+(x2*v4+2*x2*v2+x2*
860 & v1-u4*y2-2*u2*y2-u1*y2)*(x2+x3)*f4))*xmul/(24*(x2*y3-x3*y2))
862 a43(ielem) = (-((2*x2*f3-3*x2*f4+x2*f2-x3*f3+3*x3*f4-2*
863 & x3*f2)*(2*x2*v3+x2*v4+x2*v2-2*x3*v3-x3*v4-x3*v2+2*u3*
864 & y3-2*u3*y2+u4*y3-u4*y2+u2*y3-u2*y2)+(x2*f3+x3*f3-3*x3*
865 & f4)*(2*x3*v3+x3*v4+x3*v1-2*u3*y3-u4*y3-u1*y3)))*xmul/(24*(
872 a11(ielem) = - a21(ielem) - a31(ielem) - a41(ielem)
873 a22(ielem) = - a12(ielem) - a32(ielem) - a42(ielem)
874 a33(ielem) = - a13(ielem) - a23(ielem) - a43(ielem)
875 a44(ielem) = - a14(ielem) - a24(ielem) - a34(ielem)
897 101
FORMAT(1x,
'MT12BB (BIEF) :',/,
898 & 1x,
'DISCRETIZATION OF F : ',1i6,
' NOT AVAILABLE')
903 201
FORMAT(1x,
'MT12BB (BIEF) : IMPOSSIBLE COMPONENT ',
904 & 1i6,
' CHECK ICOORD')
906 301
FORMAT(1x,
'MT12BB (BIEF) :',/,
907 & 1x,
'DISCRETIZATION OF U : ',1i6,
' NOT AVAILABLE')
subroutine mt12bb(A11, A12, A13, A14, A21, A22, A23, A24, A31, A32, A33, A34, A41, A42, A43, A44, XMUL, SF, SU, SV, F, U, V, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, ICOORD)