5 &( xmul,sf,sg,su,sv,f,g,u,v,
7 & ikle1,ikle2,ikle3,nelem,nelmax,
77 INTEGER,
INTENT(IN) :: NELEM,NELMAX
78 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
80 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
81 DOUBLE PRECISION,
INTENT(INOUT)::W1(nelmax),W2(nelmax),W3(nelmax)
82 DOUBLE PRECISION,
INTENT(IN) :: SURFAC(nelmax)
83 DOUBLE PRECISION,
INTENT(IN) :: XMUL
87 TYPE(bief_obj),
INTENT(IN) :: SF,SG,SU,SV
88 DOUBLE PRECISION,
INTENT(IN) :: F(*),G(*),U(*),V(*)
92 INTEGER IELEM,IELMF,IELMU,IELMG,IELMV
93 DOUBLE PRECISION X2,Y2,X3,Y3,U1,U2,U3,V1,V2,V3,FF,GG
94 DOUBLE PRECISION XSUR04,COEF
111 IF( ielmf.EQ.10.AND.ielmg.EQ.11.
112 & and.ielmu.EQ.11.AND.ielmv.EQ.11 )
THEN 122 u2 = u(ikle2(ielem)) - u1
123 u3 = u(ikle3(ielem)) - u1
125 v2 = v(ikle2(ielem)) - v1
126 v3 = v(ikle3(ielem)) - v1
130 coef = (x2*v3-x3*v2-u3*y2+u2*y3) * xsur04 / surfac(ielem)
135 w1(ielem) =-( (x2-x3)*gg+(y3-y2)*ff ) * coef
136 w2(ielem) = (-gg*x3+ff*y3) * coef
137 w3(ielem) = -(ff*y2-gg*x2) * coef
147 WRITE(
lu,101) ielmf,sf%NAME
148 WRITE(
lu,201) ielmu,su%NAME
150 101
FORMAT(1x,
'VC16AA (BIEF) :',/,
151 & 1x,
'DISCRETIZATION OF F:',1i6,
152 & 1x,
'REAL NAME: ',a6)
153 201
FORMAT(1x,
'DISCRETIZATION OF U:',1i6,
154 & 1x,
'REAL NAME: ',a6)
155 301
FORMAT(1x,
'CASE NOT IMPLEMENTED')
subroutine vc16aa(XMUL, SF, SG, SU, SV, F, G, U, V, XEL, YEL, SURFAC, IKLE1, IKLE2, IKLE3, NELEM, NELMAX, W1, W2, W3)