5 &( a11 , a12 , a13 , a14 , a15, a16,
6 & a21 , a22 , a23 , a24 , a25, a26,
7 & a31 , a32 , a33 , a34 , a35, a36,
8 & xmul,sf,f,xel,yel,ikle1,ikle2,ikle3,
10 & nelem,nelmax,icoord)
80 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
81 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
82 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
83 INTEGER,
INTENT(IN) :: IKLE5(nelmax),IKLE6(nelmax)
85 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*)
86 DOUBLE PRECISION,
INTENT(INOUT) :: A14(*),A15(*),A16(*)
87 DOUBLE PRECISION,
INTENT(INOUT) :: A21(*),A22(*),A23(*)
88 DOUBLE PRECISION,
INTENT(INOUT) :: A24(*),A25(*),A26(*)
89 DOUBLE PRECISION,
INTENT(INOUT) :: A31(*),A32(*),A33(*)
90 DOUBLE PRECISION,
INTENT(INOUT) :: A34(*),A35(*),A36(*)
92 DOUBLE PRECISION,
INTENT(IN) :: XMUL
93 DOUBLE PRECISION,
INTENT(IN) :: F(*)
96 TYPE(bief_obj),
INTENT(IN) :: SF
98 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,3),YEL(nelmax,3)
103 DOUBLE PRECISION X2,X3,Y2,Y3,F1,F2,F3,F4,F5,F6
104 DOUBLE PRECISION XSUR30,XSUR120
105 DOUBLE PRECISION XSUR90,XSUR360
113 xsur120 = xmul/120.d0
115 xsur360 = xmul/360.d0
146 a12(ielem) = ( 2.d0*(f1-f2)*y2 + (3.d0*f2-2.d0*f1-f3)*y3)
148 a13(ielem) = ( 2.d0*(f3-f1)*y3 + (2.d0*f1-3.d0*f3+f2)*y2)
150 a14(ielem) = (( 4.d0*f1+f3)*y3 + (f3-4.d0*f1-2.d0*f2)*y2)
152 a15(ielem) = ((-2.d0*(f1+f2)-f3)*y2 +
153 & ( 2.d0*(f1+f3)+f2)*y3) * xsur30
154 a16(ielem) = ((-4.d0*f1-f2)*y2 + (4.d0*f1-f2+2.d0*f3)*y3)
156 a21(ielem) = ( (f1-f3)*y2 + (f3-3.d0*f1+2.d0*f2)*y3)
158 a23(ielem) = ( 2.d0*(f2-f3)*y3 + (f1-f3) *y2)
160 a24(ielem) = ( 2.d0*(f3-f1)*y2 - ( f3+4.d0*f2)*y3)
162 a25(ielem) = ( 2.d0*(f3-f1)*y2 + (f1-2.d0*f3-4.d0*f2)*y3)
164 a26(ielem) = ( (f3-f1)*y2 - (f1+2.d0*f2+2.d0*f3)*y3)
166 a31(ielem) = ( (f2-f1)*y3 + (3.d0*f1-f2-2.d0*f3)*y2)
168 a32(ielem) = ( 2.d0*(f2-f3)*y2 + (-f1+f2)*y3)
170 a34(ielem) = ( (f1-f2)*y3 + ( f1+2.d0*(f2+f3))*y2)
172 a35(ielem) = ( 2.d0*(f1-f2)*y3 + (4.d0*f3-f1+2.d0*f2)*y2)
174 a36(ielem) = (( 4.d0*f3+f2)*y2 + 2.d0*(f1-f2)*y3)
179 a11(ielem) = - a21(ielem) - a31(ielem)
180 a22(ielem) = - a12(ielem) - a32(ielem)
181 a33(ielem) = - a13(ielem) - a23(ielem)
185 ELSEIF(icoord.EQ.2)
THEN 204 a12(ielem) = ( 2.d0*(f2-f1)*x2 + (2.d0*f1-3.d0*f2+f3)*x3)
206 a13(ielem) = ( 2.d0*(f1-f3)*x3 - (2.d0*f1-3.d0*f3+f2)*x2)
208 a14(ielem) = ((-4.d0*f1-f3 )*x3 + (4.d0*f1-f3+2.d0*f2)*x2)
210 a15(ielem) = (( 2.d0*(f1+f2)+f3)*x2 -
211 & ( 2.d0*(f1+f3)+f2)*x3) * xsur30
212 a16(ielem) = ((4.d0*f1+f2 )*x2 + (f2-4.d0*f1-2.d0*f3)*x3)
214 a21(ielem) = ( (f3-f1)*x2 + (3.d0*f1-2.d0*f2-f3)*x3)
216 a23(ielem) = ( (f3-f1)*x2 + 2.d0*(f3-f2)*x3)
218 a24(ielem) = ( 2.d0*(f1-f3)*x2 + ( f3+4.d0*f2)*x3)
220 a25(ielem) = ( 2.d0*(f1-f3)*x2 + (2.d0*f3-f1+4.d0*f2)*x3)
222 a26(ielem) = ( (f1-f3)*x2 + ( f1+2.d0*(f2+f3))*x3)
224 a31(ielem) = ( (f1-f2)*x3 + (f2+2.d0*f3-3.d0*f1)*x2)
226 a32(ielem) = ( 2.d0*(f3-f2)*x2 + ( f1-f2)*x3)
228 a34(ielem) = ( (f2-f1)*x3 - (f1+2.d0*f2+2.d0*f3)*x2)
230 a35(ielem) = ( 2.d0*(f2-f1)*x3 - (4.d0*f3-f1+2.d0*f2)*x2)
232 a36(ielem) = ((-4.d0*f3-f2 )*x2 + 2.d0*(f2-f1)*x3)
237 a11(ielem) = - a21(ielem) - a31(ielem)
238 a22(ielem) = - a12(ielem) - a32(ielem)
239 a33(ielem) = - a13(ielem) - a23(ielem)
254 ELSEIF(ielmf.EQ.13)
THEN 280 a12(ielem) = ((3.d0*f2-6.d0*f1-8.d0*(f6-f4)-f3+4.d0*f5)*y3
281 & + 6.d0*(f1-f2)*y2 ) * xsur360
282 a13(ielem) = ((8.d0*(f4-f6)-4.d0*f5+f2+6.d0*f1-3.d0*f3)*y2
283 & + 6.d0*(f3-f1)*y3 ) * xsur360
284 a14(ielem) = ((-16.d0*f4+4.d0*(f5+f6)-6.d0*f1-f3 )*y2
285 & + (6.d0*f1-2.d0*f2+4.d0*f4+8.d0*f6-f3)*y3)
287 a15(ielem) = ((f3-8.d0*f4-4.d0*(f5+f6))*y2
288 & + (4.d0*(f4+f5)+8.d0*f6-f2)*y3) * xsur90
289 a16(ielem) = ((f2+6.d0*f1+16.d0*f6-4.d0*(f4+f5) )*y3
290 & - (8.d0*f4-f2+6.d0*f1-2.d0*f3+4.d0*f6)*y2)
292 a21(ielem) = ((8.d0*(f4-f5)-3.d0*f1-f3+4.d0*f6 )*y2
293 & - (3.d0*f1-6.d0*f2+8.d0*(f4-f5)+4.d0*f6-f3 )*y3)
295 a23(ielem) = ((8.d0*(f4-f5)+f1+3.d0*f3-4.d0*f6 )*y2
296 & + 6.d0*(f2-f3)*y3 ) * xsur360
297 a24(ielem) = ((12.d0*(f5-f4)-2.d0*(f1+f3)+4.d0*f6 )*y2
298 & + (2.d0*f1-4.d0*f4+f3-6.d0*f2-8.d0*f5)*y3 )
300 a25(ielem) = ((12.d0*(f5-f4)+2.d0*(f1+f3)-4.d0*f6 )*y2
301 & + (-f1+4.d0*(f4+f6)-6.d0*f2-16.d0*f5)*y3 )
303 a26(ielem) = ((f1-8.d0*f5-4.d0*(f6+f4) )*y3
304 & - (4.d0*(f4-f5)+f1-f3)*y2 )
306 a31(ielem) = ((4.d0*f4-8.d0*(f5-f6)+3.d0*f1-f2-6.d0*f3)*y2
307 & + (3.d0*f1-8.d0*(f6-f5)-4.d0*f4+f2)*y3 )
309 a32(ielem) = ((4.d0*f4-f1-8.d0*(f6-f5)-3.d0*f2)*y3
310 & + 6.d0*(f2-f3)*y2) * xsur360
311 a34(ielem) = ((4.d0*(f4+f6)-f1+8.d0*f5)*y2
312 & + (f1-4.d0*(f5-f6)-f2)*y3 ) * xsur90
313 a35(ielem) = ((16.d0*f5-4.d0*(f4+f6)+f1+6.d0*f3)*y2
314 & + (-2.d0*(f1+f2)+4.d0*f4+12.d0*(f6-f5))*y3)
316 a36(ielem) = ((8.d0*f5-f2-2.d0*f1+6.d0*f3+4.d0*f6)*y2
317 & + (2.d0*(f2+f1)+12.d0*(f6-f5)-4.d0*f4)*y3)
322 a11(ielem) = ((24.d0*(f6-f1)-5.d0*f3+4.d0*f5+f2)*y2
323 & + (24.d0*(f1-f4)+5.d0*f2-4.d0*f5-f3)*y3)*xsur360
324 a22(ielem) = ((6.d0*(f1-f3)+24.d0*(f5-f4) )*y2
325 & + (24.d0*(f4-f2)+4.d0*f6+f3-5.d0*f1)*y3)*xsur360
326 a33(ielem) = ((24.d0*(f3-f6)+5.d0*f1-4.d0*f4-f2)*y2
327 & + (6.d0*(f2-f1)+24.d0*(f6-f5) )*y3)*xsur360
331 ELSEIF(icoord.EQ.2)
THEN 353 a12(ielem) = ((f3+8.d0*(f6-f4)+6.d0*f1-3.d0*f2-4.d0*f5)*x3
354 & + 6.d0*(f2-f1)*x2 ) * xsur360
355 a13(ielem) = ((8.d0*(f6-f4)-6.d0*f1+3.d0*f3+4.d0*f5-f2)*x2
356 & - 6.d0*(f3-f1)*x3 ) * xsur360
357 a14(ielem) = ((6.d0*f1+f3-4.d0*(f6+f5)+16.d0*f4 )*x2
358 & + (f3-8.d0*f6-6.d0*f1+2.d0*f2-4.d0*f4)*x3)
360 a15(ielem) = ((4.d0*(f6+f5)+8.d0*f4-f3)*x2
361 & + (f2-8.d0*f6-4.d0*(f4+f5))*x3 ) * xsur90
362 a16(ielem) = ((6.d0*f1-2.d0*f3+4.d0*f6+8.d0*f4-f2)*x2
363 & + (-16.d0*f6-6.d0*f1-f2+4.d0*(f5+f4) )*x3)
365 a21(ielem) = ((3.d0*f1+f3-4.d0*f6-8.d0*(f4-f5))*x2
366 & + (-f3+4.d0*f6+3.d0*f1-6.d0*f2+8.d0*(f4-f5))*x3)
368 a23(ielem) = ((4.d0*f6-f1-3.d0*f3-8.d0*(f4-f5))*x2
369 & - 6.d0*(f2-f3)*x3 ) * xsur360
370 a24(ielem) = ((2.d0*(f1+f3)-4.d0*f6+12.d0*(f4-f5) )*x2
371 & + (-f3-2.d0*f1+6.d0*f2+4.d0*f4+8.d0*f5)*x3)
373 a25(ielem) = ((4.d0*f6-2.d0*(f1+f3)+12.d0*(f4-f5) )*x2
374 & - (4.d0*f6-f1-6.d0*f2+4.d0*f4-16.d0*f5)*x3)
376 a26(ielem) = ((f1-f3+4.d0*(f4-f5) )*x2
377 & + (4.d0*(f6+f4)-f1+8.d0*f5)*x3 )
379 a31(ielem) = ((f2-3.d0*f1+6.d0*f3-8.d0*(f6-f5)-4.d0*f4)*x2
380 & - (-8.d0*f6+3.d0*f1+f2-4.d0*f4+8.d0*f5 )*x3)
382 a32(ielem) = ((f1-8.d0*(f5-f6)+3.d0*f2-4.d0*f4)*x3
383 & + 6.d0*(f3-f2)*x2 ) * xsur360
384 a34(ielem) = ((f1-4.d0*(f6+f4)-8.d0*f5)*x2
385 & + (-4.d0*(f6-f5)-f1+f2 )*x3 ) * xsur90
386 a35(ielem) = ((4.d0*(f6+f4)-f1-6.d0*f3-16.d0*f5 )*x2
387 & - (12.d0*(f6-f5)-2.d0*(f1+f2)+4.d0*f4)*x3)
389 a36(ielem) = ((2.d0*f1-6.d0*f3-4.d0*f6-8.d0*f5+f2)*x2
390 & + (12.d0*(f5-f6)-2.d0*(f1+f2)+4.d0*f4)*x3)
395 a11(ielem) = ((24.d0*(f1-f6)-4.d0*f5+5.d0*f3-f2)*x2
396 & + (24.d0*(f4-f1)-5.d0*f2+4.d0*f5+f3)*x3)*xsur360
397 a22(ielem) = ((24.d0*(f4-f5)+6.d0*(f3-f1) )*x2
398 & + (5.d0*f1+24.d0*(f2-f4)-4.d0*f6-f3)*x3)*xsur360
399 a33(ielem) = ((4.d0*f4-5.d0*f1+24.d0*(f6-f3)+f2)*x2
400 & + (6.d0*(f1-f2)+24.d0*(f5-f6) )*x3)*xsur360
415 101
FORMAT(1x,
'MT11AC (BIEF) :',/,
416 & 1x,
'DISCRETIZATION OF F : ',1i6,
' NOT AVAILABLE')
421 201
FORMAT(1x,
'MT11AC (BIEF) : IMPOSSIBLE COMPONENT ',
422 & 1i6,
' CHECK ICOORD')
subroutine mt11ac(A11, A12, A13, A14, A15, A16, A21, A22, A23, A24, A25, A26, A31, A32, A33, A34, A35, A36, XMUL, SF, F, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NELEM, NELMAX, ICOORD)