6 & ikle1,ikle2,ikle3,ikle4,nelem,nelmax,w1,w2,w3,w4,icoord)
79 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
80 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
81 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
83 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
84 DOUBLE PRECISION,
INTENT(INOUT) :: W1(nelmax),W2(nelmax)
85 DOUBLE PRECISION,
INTENT(INOUT) :: W3(nelmax),W4(nelmax)
86 DOUBLE PRECISION,
INTENT(IN) :: XMUL
90 TYPE(bief_obj),
INTENT(IN) :: SF
91 DOUBLE PRECISION,
INTENT(IN) :: F(*)
96 DOUBLE PRECISION F1,F2,F3,F4,X2,X3,Y2,Y3,XSUR9,XSUR6,XSUR18
126 w1(ielem) = ( - (f3-f1)*y2 + (f2-f1)*y3 ) * xsur9
127 w2(ielem) = w1(ielem)
128 w3(ielem) = w1(ielem)
129 w4(ielem) = 1.5d0*w1(ielem)
137 ELSEIF(icoord.EQ.2)
THEN 148 w1(ielem) = ( x2*(f3-f1) - x3*(f2-f1) ) * xsur9
149 w2(ielem) = w1(ielem)
150 w3(ielem) = w1(ielem)
151 w4(ielem) = 1.5d0*w1(ielem)
167 ELSEIF(ielmf.EQ.15)
THEN 177 f3 = f(ielem+2*nelmax)
182 w1(ielem) = ( - (f3-f1)*y2 + (f2-f1)*y3 ) * xsur9
183 w2(ielem) = w1(ielem)
184 w3(ielem) = w1(ielem)
185 w4(ielem) = 1.5d0*w1(ielem)
189 ELSEIF(icoord.EQ.2)
THEN 197 f3 = f(ielem+2*nelmax)
202 w1(ielem) = ( x2*(f3-f1) - x3*(f2-f1) ) * xsur9
203 w2(ielem) = w1(ielem)
204 w3(ielem) = w1(ielem)
205 w4(ielem) = 1.5d0*w1(ielem)
221 ELSEIF(ielmf.EQ.12)
THEN 239 w1(ielem) = -(( y3 +y2)*(f3-f2)-3*(y3-y2)*(f4-f1))*xsur18
240 w2(ielem) = (( y3-2*y2)*(f3-f1)-3*(f4-f2)*y3 )*xsur18
241 w3(ielem) = ((2*y3 -y2)*(f2-f1)+3*(f4-f3)*y2)*xsur18
242 w4(ielem) = ( -(y3 -y2)* f1-f3*y2+f2*y3)*xsur6
250 ELSEIF(icoord.EQ.2)
THEN 262 w1(ielem)=((x2+x3)*(f3-f2)+3*(x2-x3)*(f4-f1))*xsur18
263 w2(ielem)=((2*x2-x3)*(f3-f1)+3*x3*(f4-f2))*xsur18
264 w3(ielem)=((x2-2*x3)*(f2-f1)-3*x2*(f4-f3))*xsur18
265 w4(ielem)=(x2*(f3-f1)-x3*(f2-f1))*xsur6
281 ELSEIF(ielmf.EQ.16)
THEN 292 f2 = f(ielem+ nelmax)
293 f3 = f(ielem+2*nelmax)
294 f4 = f(ielem+3*nelmax)
299 w1(ielem)=-((y3+y2)*(f3-f2)-3*(y3-y2)*(f4-f1))*xsur18
300 w2(ielem)=((y3-2*y2)*(f3-f1)-3*(f4-f2)*y3)*xsur18
301 w3(ielem)=((2*y3-y2)*(f2-f1)+3*(f4-f3)*y2)*xsur18
302 w4(ielem)=(-((y3-y2)*f1+f3*y2-f2*y3))*xsur6
310 ELSEIF(icoord.EQ.2)
THEN 315 f2 = f(ielem+ nelmax)
316 f3 = f(ielem+2*nelmax)
317 f4 = f(ielem+3*nelmax)
322 w1(ielem)=((x2+x3)*(f3-f2)+3*(x2-x3)*(f4-f1))*xsur18
323 w2(ielem)=((2*x2-x3)*(f3-f1)+3*x3*(f4-f2))*xsur18
324 w3(ielem)=((x2-2*x3)*(f2-f1)-3*x2*(f4-f3))*xsur18
325 w4(ielem)=(x2*(f3-f1)-x3*(f2-f1))*xsur6
344 WRITE(
lu,101) ielmf,sf%NAME
345 101
FORMAT(1x,
'VC13BB (BIEF) :',/,
346 & 1x,
'DISCRETIZATION OF F NOT AVAILABLE:',1i6,
347 & 1x,
'REAL NAME: ',a6)
353 201
FORMAT(1x,
'VC13BB (BIEF) : IMPOSSIBLE COMPONENT ',
354 & 1i6,
' CHECK ICOORD')
subroutine vc13bb(XMUL, SF, F, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, W1, W2, W3, W4, ICOORD)