6 & ikle1,ikle2,ikle3,ikle4,nelem,nelmax,w1,w2,w3 , icoord )
82 INTEGER,
INTENT(IN) :: NELEM,NELMAX,ICOORD
83 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
84 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
86 DOUBLE PRECISION,
INTENT(IN) :: XEL(nelmax,*),YEL(nelmax,*)
87 DOUBLE PRECISION,
INTENT(INOUT) ::W1(nelmax),W2(nelmax),W3(nelmax)
88 DOUBLE PRECISION,
INTENT(IN) :: XMUL
92 TYPE(bief_obj),
INTENT(IN) :: SF
93 DOUBLE PRECISION,
INTENT(IN) :: F(*)
98 DOUBLE PRECISION XSUR6,XSUR18,F1,F2,F3,F4,X2,X3,Y2,Y3
121 w1(ielem) = ( yel(ielem,2) *
122 & (f(ikle1(ielem))-f(ikle3(ielem)))
124 & (f(ikle2(ielem))-f(ikle1(ielem))) ) * xsur6
125 w2(ielem) = w1(ielem)
126 w3(ielem) = w1(ielem)
130 ELSEIF(icoord.EQ.2)
THEN 136 w1(ielem) = ( xel(ielem,2) *
137 & (f(ikle3(ielem))-f(ikle1(ielem)))
139 & (f(ikle1(ielem))-f(ikle2(ielem))) ) * xsur6
140 w2(ielem) = w1(ielem)
141 w3(ielem) = w1(ielem)
148 201
FORMAT(1x,
'VC13AA (BIEF) : IMPOSSIBLE COMPONENT ',
149 & 1i6,
' CHECK ICOORD')
159 ELSEIF(ielmf.EQ.12)
THEN 171 f2 = f(ikle2(ielem)) - f1
172 f3 = f(ikle3(ielem)) - f1
173 f4 = f(ikle4(ielem)) - f1
175 w1(ielem)=(y2*(-3*f4-2*f3+f2)+y3*(3*f4-f3+2*f2)) * xsur18
176 w2(ielem)=(-3*y2*f3+y3*(-3*f4+f3+4*f2)) * xsur18
177 w3(ielem)=(y2*(3*f4-4*f3-f2)+3*y3*f2) * xsur18
181 ELSEIF(icoord.EQ.2)
THEN 191 f2 = f(ikle2(ielem)) - f1
192 f3 = f(ikle3(ielem)) - f1
193 f4 = f(ikle4(ielem)) - f1
195 w1(ielem)=(x2*(3*f4+2*f3-f2)+x3*(-3*f4+f3-2*f2)) * xsur18
196 w2(ielem)=(3*x2*f3+x3*(3*f4-f3-4*f2)) * xsur18
197 w3(ielem)=(x2*(-3*f4+4*f3+f2)-3*x3*f2) * xsur18
213 ELSEIF(ielmf.EQ.16)
THEN 225 f2 = f(ielem+ nelmax)-f1
226 f3 = f(ielem+2*nelmax)-f1
227 f4 = f(ielem+3*nelmax)-f1
229 w1(ielem)=(y2*(-3*f4-2*f3+f2)+y3*(3*f4-f3+2*f2)) * xsur18
230 w2(ielem)=(-3*y2*f3+y3*(-3*f4+f3+4*f2)) * xsur18
231 w3(ielem)=(y2*(3*f4-4*f3-f2)+3*y3*f2) * xsur18
235 ELSEIF(icoord.EQ.2)
THEN 245 f2 = f(ielem+ nelmax)-f1
246 f3 = f(ielem+2*nelmax)-f1
247 f4 = f(ielem+3*nelmax)-f1
249 w1(ielem)=(x2*(3*f4+2*f3-f2)+x3*(-3*f4+f3-2*f2)) * xsur18
250 w2(ielem)=(3*x2*f3+x3*(3*f4-f3-4*f2)) * xsur18
251 w3(ielem)=(x2*(-3*f4+4*f3+f2)-3*x3*f2) * xsur18
265 ELSEIF(ielmf.EQ.15)
THEN 275 w1(ielem) = ( yel(ielem,2) * (f(ielem)-f(ielem+2*nelmax))
276 & + yel(ielem,3) * (f(ielem+nelmax)-f(ielem)))* xsur6
277 w2(ielem) = w1(ielem)
278 w3(ielem) = w1(ielem)
282 ELSEIF(icoord.EQ.2)
THEN 288 w1(ielem) = ( xel(ielem,2) * (f(ielem+2*nelmax)-f(ielem))
289 & + xel(ielem,3) * (f(ielem)-f(ielem+nelmax)))*xsur6
290 w2(ielem) = w1(ielem)
291 w3(ielem) = w1(ielem)
309 WRITE(
lu,102) ielmf,sf%NAME
310 102
FORMAT(1x,
'VC13AA (BIEF) :',/,
311 & 1x,
'DISCRETISATION OF F : ',1i6,
' NOT IMPLEMENTED',/,
312 & 1x,
'REAL NAME OF F: ',a6)
subroutine vc13aa(XMUL, SF, F, XEL, YEL, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, W1, W2, W3, ICOORD)