11 & nelem,nelmax,icoord)
97 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
98 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
100 DOUBLE PRECISION,
INTENT(INOUT) :: A11(*),A12(*),A13(*)
101 DOUBLE PRECISION,
INTENT(INOUT) :: A21(*),A22(*),A23(*)
102 DOUBLE PRECISION,
INTENT(INOUT) :: A31(*),A32(*),A33(*)
104 DOUBLE PRECISION,
INTENT(IN) :: XMUL
105 DOUBLE PRECISION,
INTENT(IN) :: F(*),U(*),V(*)
108 TYPE(bief_obj),
INTENT(IN) :: SF,SU,SV
110 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,3),YEL(nelmax,3)
111 DOUBLE PRECISION,
INTENT(IN) :: SURDET(nelmax)
115 INTEGER IELEM,IELMF,IELMU,IELMV
116 DOUBLE PRECISION X2,X3,Y2,Y3,F1,F2,F3,DEN
117 DOUBLE PRECISION U1,U2,U3,V1,V2,V3,U123,V123,XSUR06,XSUR24
132 IF(ielmf.EQ.11.AND.ielmu.EQ.10.AND.ielmv.EQ.10)
THEN 152 f2 = f(ikle2(ielem)) - f1
153 f3 = f(ikle3(ielem)) - f1
155 den = (f3*y2 - f2*y3) * xsur06 * surdet(ielem)
159 a23(ielem) = ( x3 *v(ielem) - y3 *u(ielem) )*den
160 a31(ielem) =-( x2 *v(ielem) - y2 *u(ielem) )*den
162 a12(ielem) = - a23(ielem) - a31(ielem)
163 a13(ielem) = a12(ielem)
164 a21(ielem) = a23(ielem)
165 a32(ielem) = a31(ielem)
169 a11(ielem) = - a21(ielem) - a31(ielem)
170 a22(ielem) = - a12(ielem) - a32(ielem)
171 a33(ielem) = - a13(ielem) - a23(ielem)
175 ELSEIF(icoord.EQ.2)
THEN 191 f2 = f(ikle2(ielem)) - f1
192 f3 = f(ikle3(ielem)) - f1
194 den = (f3*x2 - f2*x3) * xsur06 * surdet(ielem)
198 a23(ielem) = -( x3*v(ielem) - y3*u(ielem) ) * den
199 a31(ielem) = ( x2*v(ielem) - y2*u(ielem) ) * den
201 a12(ielem) = - a23(ielem) - a31(ielem)
202 a13(ielem) = a12(ielem)
203 a21(ielem) = a23(ielem)
204 a32(ielem) = a31(ielem)
208 a11(ielem) = - a21(ielem) - a31(ielem)
209 a22(ielem) = - a12(ielem) - a32(ielem)
210 a33(ielem) = - a13(ielem) - a23(ielem)
217 201
FORMAT(1x,
'MT12AA (BIEF) : IMPOSSIBLE COMPONENT ',
218 & 1i6,
' CHECK ICOORD')
226 ELSEIF(ielmf.EQ.11.AND.ielmu.EQ.11)
THEN 246 f2 = f(ikle2(ielem)) - f1
247 f3 = f(ikle3(ielem)) - f1
260 den = (f3*y2 - f2*y3) * xsur24 * surdet(ielem)
264 a12(ielem) = ( (x2-x3)*(v123+v2) + (y3-y2)*(u123+u2) )*den
266 a13(ielem) = ( (x2-x3)*(v123+v3) + (y3-y2)*(u123+u3) )*den
268 a23(ielem) = ( x3*(v123+v3) - y3*(u123+u3) )*den
270 a21(ielem) = ( x3*(v123+v1) - y3*(u123+u1) )*den
272 a31(ielem) =-( x2*(v123+v1) - y2*(u123+u1) )*den
274 a32(ielem) =-( x2*(v123+v2) - y2*(u123+u2) )*den
278 a11(ielem) = - a21(ielem) - a31(ielem)
279 a22(ielem) = - a12(ielem) - a32(ielem)
280 a33(ielem) = - a13(ielem) - a23(ielem)
284 ELSEIF(icoord.EQ.2)
THEN 300 f2 = f(ikle2(ielem)) - f1
301 f3 = f(ikle3(ielem)) - f1
314 den = (f3*x2 - f2*x3) * xsur24 * surdet(ielem)
318 a12(ielem) =-( (x2-x3)*(v123+v2) + (y3-y2)*(u123+u2) )*den
320 a13(ielem) =-( (x2-x3)*(v123+v3) + (y3-y2)*(u123+u3) )*den
322 a23(ielem) =-( x3*(v123+v3) - y3*(u123+u3) )*den
324 a21(ielem) =-( x3*(v123+v1) - y3*(u123+u1) )*den
326 a31(ielem) = ( x2*(v123+v1) - y2*(u123+u1) )*den
328 a32(ielem) = ( x2*(v123+v2) - y2*(u123+u2) )*den
332 a11(ielem) = - a21(ielem) - a31(ielem)
333 a22(ielem) = - a12(ielem) - a32(ielem)
334 a33(ielem) = - a13(ielem) - a23(ielem)
349 WRITE(
lu,101) ielmf,ielmu
350 101
FORMAT(1x,
'MT12AA (BIEF) :',/,
351 & 1x,
'COMBINATION OF F AND U: ',1i6,2x,1i6,
' NOT AVAILABLE')
subroutine mt12aa(A11, A12, A13, A21, A22, A23, A31, A32, A33, XMUL, SF, SU, SV, F, U, V, XEL, YEL, SURDET, IKLE1, IKLE2, IKLE3, NELEM, NELMAX, ICOORD)