5 &( xmul,sf,sg,f,g,xel,yel,
6 & ikle1,ikle2,ikle3,ikle4,nelem,nelmax,w1,w2,w3,w4 , icoord )
83 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
84 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
85 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
87 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
88 DOUBLE PRECISION,
INTENT(INOUT) :: W1(nelmax),W2(nelmax)
89 DOUBLE PRECISION,
INTENT(INOUT) :: W3(nelmax),W4(nelmax)
90 DOUBLE PRECISION,
INTENT(IN) :: XMUL
94 TYPE(bief_obj),
INTENT(IN) :: SF,SG
95 DOUBLE PRECISION,
INTENT(IN) :: F(*),G(*)
99 INTEGER IELEM,IELMF,IELMG
101 DOUBLE PRECISION F1,F2,F3,F4,G1,G2,G3,G4,X2,X3,Y2,Y3,AUX
102 DOUBLE PRECISION XSUR72 ,XSU216,XSUR18
119 IF(ielmf.EQ.11.AND.ielmg.EQ.11)
THEN 128 f2 = f(ikle2(ielem)) - f1
129 f3 = f(ikle3(ielem)) - f1
137 w1(ielem)=(5*g3+5*g2+14*g1)*aux*xsu216
138 w2(ielem)=(5*g3+14*g2+5*g1)*aux*xsu216
139 w3(ielem)=(14*g3+5*g2+5*g1)*aux*xsu216
140 w4(ielem)=(g3+g2+g1) *aux*xsur18
144 ELSEIF(icoord.EQ.2)
THEN 151 f2 = f(ikle2(ielem)) - f1
152 f3 = f(ikle3(ielem)) - f1
160 w1(ielem)=aux*(5*g3+5*g2+14*g1)*xsu216
161 w2(ielem)=aux*(5*g3+14*g2+5*g1)*xsu216
162 w3(ielem)=aux*(14*g3+5*g2+5*g1)*xsu216
163 w4(ielem)=aux*(g3+g2+g1) *xsur18
170 21
FORMAT(1x,
'VC11BB (BIEF) : IMPOSSIBLE COMPONENT ',
171 & 1i6,
' CHECK ICOORD')
181 ELSEIF(ielmf.EQ.12.AND.ielmg.EQ.12)
THEN 190 f2 = f(ikle2(ielem)) - f1
191 f3 = f(ikle3(ielem)) - f1
192 f4 = f(ikle4(ielem)) - f1
200 w1(ielem)=(3*((y3-y2)*g4+2*(y3-y2)*g1+g3*y3-g2*y2)*f4-(g3+
201 & g4+2*g1)*(y3+y2)*f3+(g4+g2+2*g1)*(y3+y2)*f2)*xsur72
202 w2(ielem)=(((2*y3-y2)*g3+(y3+y2)*g1+3*g4*y3+6*g2*y3)*f2-3
203 & *((y3-y2)*g3+g4*y3+2*g2*y3+g1*y2)*f4+(g3+g4+2*g2)*(y3-
205 w3(ielem)=(-(((y3+y2)*g1-(y3-2*y2)*g2+6*g3*y2+3*g4*y2)*f3+
206 & 3*((y3-y2)*g2-2*g3*y2-g4*y2-g1*y3)*f4-(2*g3+g4+g2)*(2*
208 w4(ielem)=(((2*y3-y2)*g3+(y3+y2)*g1+6*g4*y3+3*g2*y3)*f2-((
209 & y3+y2)*g1-(y3-2*y2)*g2+3*g3*y2+6*g4*y2)*f3+3*((y3-y2)
210 & *g1+g3*y2-g2*y3)*f4)*xsur72
214 ELSEIF(icoord.EQ.2)
THEN 221 f2 = f(ikle2(ielem)) - f1
222 f3 = f(ikle3(ielem)) - f1
223 f4 = f(ikle4(ielem)) - f1
231 w1(ielem)=(-(3*((g3+g4+2*g1)*x3-(g4+g2+2*g1)*x2)*f4-(x2+x3
232 & )*(g3+g4+2*g1)*f3+(x2+x3)*(g4+g2+2*g1)*f2))*xsur72
233 w2(ielem)=(-(((2*g3+3*g4+6*g2+g1)*x3-(g3-g1)*x2)*f2-3*((
234 & g3+g4+2*g2)*x3-(g3-g1)*x2)*f4-(2*x2-x3)*(g3+g4+2*g2)*
236 w3(ielem)=(((6*g3+3*g4+2*g2+g1)*x2-(g2-g1)*x3)*f3-3*((2*
237 & g3+g4+g2)*x2-(g2-g1)*x3)*f4+(x2-2*x3)*(2*g3+g4+g2)*f2)*xsur72
238 w4(ielem)=(((3*g3+6*g4+2*g2+g1)*x2-(g2-g1)*x3)*f3-((2*g3+
239 & 6*g4+3*g2+g1)*x3-(g3-g1)*x2)*f2-3*((g3-g1)*x2-(g2-g1)*
258 WRITE(
lu,101) ielmf,sf%NAME
259 WRITE(
lu,201) ielmg,sg%NAME
261 101
FORMAT(1x,
'VC11BB (BIEF) :',/,
262 & 1x,
'DISCRETIZATION OF F:',1i6,
263 & 1x,
'REAL NAME: ',a6)
264 201
FORMAT(1x,
'DISCRETIZATION OF G:',1i6,
265 & 1x,
'REAL NAME: ',a6)
266 301
FORMAT(1x,
'CASE NOT IMPLEMENTED')
subroutine vc11bb(XMUL, SF, SG, F, G, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, W1, W2, W3, W4, ICOORD)