5 &(xmul,sf,sg,sh,su,sv,f,g,h,u,v,xel,yel,surfac,
6 & ikle1,ikle2,ikle3,nelem,nelmax,w1,w2,w3 )
75 INTEGER,
INTENT(IN) :: NELEM,NELMAX
76 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
78 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
79 DOUBLE PRECISION,
INTENT(INOUT):: W1(nelmax),W2(nelmax),W3(nelmax)
80 DOUBLE PRECISION,
INTENT(IN) :: SURFAC(nelmax)
81 DOUBLE PRECISION,
INTENT(IN) :: XMUL
85 TYPE(bief_obj),
INTENT(IN) :: SF,SG,SH,SU,SV
86 DOUBLE PRECISION,
INTENT(IN) :: F(*),G(*),H(*),U(*),V(*)
90 INTEGER IELEM,IELMF,IELMG,IELMU,IELMV,IELMH
91 DOUBLE PRECISION X2,Y2,X3,Y3,F1,F2,F3,U123,V123
92 DOUBLE PRECISION WX1,WX2,WX3,WY1,WY2,WY3,XSUR12,COEF
114 & .AND.ielmv.EQ.11 )
THEN 124 f2 = f(ikle2(ielem)) - f1
125 f3 = f(ikle3(ielem)) - f1
129 u123 = u(ikle1(ielem)) + u(ikle2(ielem)) + u(ikle3(ielem))
130 v123 = v(ikle1(ielem)) + v(ikle2(ielem)) + v(ikle3(ielem))
132 wx1 = ( - f2*x3*y2 + f2*x3*y3 + f3*x2*y2 - f3*x2*y3 ) * v123
133 & + ( + f2*y2*y3 - f2*y3*y3 - f3*y2*y2 + f3*y2*y3 ) * u123
135 wy1 = ( f2*x2*x3 - f3*x2*x2 - f2*x3*x3 + f3*x2*x3 ) * v123
136 & + ( - f2*x2*y3 + f2*x3*y3 + f3*x2*y2 - f3*x3*y2 ) * u123
138 wx2 = y3 * ( (f3*x2-f2*x3) * v123 + (f2*y3-f3*y2) * u123 )
140 wy2 = x3 * ( (f2*x3-f3*x2) * v123 + (f3*y2-f2*y3) * u123 )
142 wx3 = y2 * ( (f2*x3-f3*x2) * v123 + (f3*y2-f2*y3) * u123 )
144 wy3 = x2 * ( (f3*x2-f2*x3) * v123 + (f2*y3-f3*y2) * u123 )
146 coef = xsur12 / surfac(ielem)
148 w1(ielem) = ( wx1*g(ielem) + wy1*h(ielem) ) * coef
149 w2(ielem) = ( wx2*g(ielem) + wy2*h(ielem) ) * coef
150 w3(ielem) = ( wx3*g(ielem) + wy3*h(ielem) ) * coef
160 WRITE(
lu,101) ielmf,sf%NAME
161 WRITE(
lu,111) ielmg,sg%NAME
162 WRITE(
lu,201) ielmu,su%NAME
164 101
FORMAT(1x,
'VC03AA (BIEF) :',/,
165 & 1x,
'DISCRETIZATION OF F:',1i6,
166 & 1x,
'REAL NAME: ',a6)
167 111
FORMAT(1x,
'DISCRETIZATION OF G:',1i6,
168 & 1x,
'REAL NAME: ',a6)
169 201
FORMAT(1x,
'DISCRETIZATION OF U:',1i6,
170 & 1x,
'REAL NAME: ',a6)
171 301
FORMAT(1x,
'CASE NOT IMPLEMENTED')
subroutine vc03aa(XMUL, SF, SG, SH, SU, SV, F, G, H, U, V, XEL, YEL, SURFAC, IKLE1, IKLE2, IKLE3, NELEM, NELMAX, W1, W2, W3)