5 &( xmul,sf,f,x,y,z,surfac,
6 & ikle1,ikle2,ikle3,ikle4,ikle5,ikle6,nelem,nelmax,
72 INTEGER,
INTENT(IN) :: NELEM,NELMAX
73 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax),IKLE3(nelmax)
74 INTEGER,
INTENT(IN) :: IKLE4(nelmax),IKLE5(nelmax),IKLE6(nelmax)
76 DOUBLE PRECISION,
INTENT(IN) :: X(nelmax,6),Y(nelmax,6),Z(*)
77 DOUBLE PRECISION,
INTENT(IN) :: SURFAC(nelmax)
78 DOUBLE PRECISION,
INTENT(INOUT)::W1(nelmax),W2(nelmax),W3(nelmax)
79 DOUBLE PRECISION,
INTENT(INOUT)::W4(nelmax),W5(nelmax),W6(nelmax)
80 DOUBLE PRECISION,
INTENT(IN) :: XMUL
84 TYPE(bief_obj),
INTENT(IN) :: SF
85 DOUBLE PRECISION,
INTENT(IN) :: F(*)
89 INTEGER IELEM,IELMF,I1,I2,I3,I4,I5,I6
90 DOUBLE PRECISION COEF,H1,H2,H3,SHT,DIFF,X2,Y2,X3,Y3,XS24,XS144
91 DOUBLE PRECISION Z2,Z3,Z4,Z5,Z6
92 DOUBLE PRECISION F1,F2,F3,F4,F5,F6
138 h1 = z(ikle4(ielem)) - z(ikle1(ielem))
139 h2 = z(ikle5(ielem)) - z(ikle2(ielem))
140 h3 = z(ikle6(ielem)) - z(ikle3(ielem))
143 w1(ielem)=(((2*f1-f6)*y2*( z5+3*z4-3*z3 -z2)
144 & +(2*f1-f5)*y3*(-z6-3*z4 +z3+3*z2)
145 & +f2*y3*(2*z6+3*z5+3*z4-2*z3)
146 & +f3*y2*(-3*z6-2*z5-3*z4+2*z2)
147 & +(f3-f6)*y3*(z5-z4+2*z2)
148 & +f4*y2*(3*z6+z5+3*z3-z2)
149 & +f4*y3*(-z6-3*z5+z3-3*z2)
150 & +(f5-f2)*y2*(z6-z4+2*z3))*xs144)**2
152 w2(ielem)=((f1*y2*(z6+4*z5+3*z4-4*z3-4*z2)
153 & +f1*y3*(-2*z6-3*z5-3*z4+2*z3+6*z2)
154 & +(2*f2-f4)*y3*(z6+3*z5-z3)
155 & +f3*y2*(-3*z6-4*z5-z4+4*z2)
156 & +f4*y2*(2*z6+2*z5+z3-2*z2)
157 & +2*(f5-f2)*y2*(z6-z4+2*z3)
158 & +f5*y3*(z6+3*z4-z3-6*z2)
159 & +f6*y2*(-2*z5-2*z4+3*z3+2*z2)
160 & +(f6-f3)*y3*(-z5+z4-2*z2) )*xs144)**2
162 w3(ielem)=((f1*y2*(3*z6+2*z5+3*z4-6*z3-2*z2)
163 & +f1*y3*(-4*z6-z5-3*z4+4*z3+4*z2)
164 & +f2*y3*(4*z6+3*z5+z4-4*z3)
165 & +(2*f3-f4)*y2*(-3*z6-z5+z2)
166 & +f4*y3*(-2*z6-2*z5+2*z3-z2)
167 & +(f5-f2)*y2*(z6-z4+2*z3)
168 & +f5*y3*(2*z6+2*z4-2*z3-3*z2)
169 & +f6*y2*(-z5-3*z4+6*z3+z2)
170 & +2*(f6-f3)*y3*(-z5+z4-2*z2) )*xs144)**2
172 w4(ielem)=((f1*y2*(-3*z6+z5+6*z4-3*z3-z2)
173 & +f1*y3*(-z6+3*z5-6*z4+z3+3*z2)
174 & +f2*y3*(z6+3*z5-z3)
175 & +(2*f4-f3)*y2*(3*z6+z5-z2)
176 & +2*f4*y3*(-z6-3*z5+z3)
177 & +(f5-f2)*y2*(2*z6-2*z4+z3)
178 & +f5*y3*(2*z6+6*z4-2*z3-3*z2)
179 & +f6*y2*(-2*z5-6*z4+3*z3+2*z2)
180 & +(f6-f3)*y3*(-2*z5+2*z4-z2) )*xs144)**2
182 w5(ielem)=((f1*y2*(-z6+2*z5+3*z4-2*z3-2*z2)
183 & +f2*y3*(z6+6*z5-3*z4-z3)
184 & +f3*y2*(-3*z6-2*z5+z4+2*z2)
185 & +f4*y2*(4*z6+4*z5-z3-4*z2)
186 & +f4*y3*(-2*z6-6*z5+2*z3+3*z2)
187 & +2*(f5-f2)*y2*(2*z6-2*z4+z3)
188 & +(2*f5-f1)*y3*(z6+3*z4-z3-3*z2)
189 & +f6*y2*(-4*z5-4*z4+3*z3+4*z2)
190 & +(f6-f3)*y3*(-2*z5+2*z4-z2) )*xs144)**2
192 w6(ielem)=((f1*y3*(-2*z6+z5-3*z4+2*z3+2*z2)
193 & +f2*y3*(2*z6+3*z5-z4-2*z3)
194 & +f3*y2*(-6*z6-z5+3*z4+z2)
195 & +f4*y2*(6*z6+2*z5-3*z3-2*z2)
196 & +f4*y3*(-4*z6-4*z5+4*z3+z2)
197 & +(f5-f2)*y2*(2*z6-2*z4+z3)
198 & +f5*y3*(4*z6+4*z4-4*z3-3*z2)
199 & +(2*f6-f1)*y2*(-z5-3*z4+3*z3+z2)
200 & +2*(f6-f3)*y3*(-2*z5+2*z4-z2))*xs144)**2
204 w1(ielem)=w1(ielem)+(((2*f1-f6)*x2*(-z5-3*z4+3*z3+z2)
205 & +2*f1*x3*(z6+3*z4-z3-3*z2)
206 & +f2*x3*(-2*z6-3*z5-3*z4+2*z3)
207 & +f3*x2*(3*z6+2*z5+3*z4-2*z2)
208 & +f4*x2*(-3*z6-z5-3*z3+z2)
209 & +f4*x3*(z6+3*z5-z3+3*z2)
210 & +(f5-f2)*x2*(-z6+z4-2*z3)
211 & +f5*x3*(-z6-3*z4+z3+3*z2)
212 & +(f6-f3)*x3*(z5-z4+2*z2))*xs144)**2
214 w2(ielem)=w2(ielem)+((f1*x2*(-z6-4*z5-3*z4+4*z3+4*z2)
215 & +f1*x3*(2*z6+3*z5+3*z4-2*z3-6*z2)
216 & +(2*f2-f4)*x3*(-z6-3*z5+z3)
217 & +f3*x2*(3*z6+4*z5+z4-4*z2)
218 & +f4*x2*(-2*z6-2*z5-z3+2*z2)
219 & +2*(f5-f2)*x2*(-z6+z4-2*z3)
220 & +f5*x3*(-z6-3*z4+z3+6*z2)
221 & +f6*x2*(2*z5+2*z4-3*z3-2*z2)
222 & +(f6-f3)*x3*(z5-z4+2*z2))*xs144)**2
224 w3(ielem)=w3(ielem)+((f1*x2*(-3*z6-2*z5-3*z4+6*z3+2*z2)
225 & +f1*x3*(4*z6+z5+3*z4-4*z3-4*z2)
226 & +f2*x3*(-4*z6-3*z5-z4+4*z3)
227 & +(2*f3-f4)*x2*(3*z6+z5-z2)
228 & +f4*x3*(2*z6+2*z5-2*z3+z2)
229 & +(f5-f2)*x2*(-z6+z4-2*z3)
230 & +f5*x3*(-2*z6-2*z4+2*z3+3*z2)
231 & +f6*x2*(z5+3*z4-6*z3-z2)
232 & +2*(f6-f3)*x3*(z5-z4+2*z2))*xs144)**2
234 w4(ielem)=w4(ielem)+((f1*x2*(3*z6-z5-6*z4+3*z3+z2)
235 & +f1*x3*(z6-3*z5+6*z4-z3-3*z2)
236 & +(2*f4-f3)*x2*(-3*z6-z5+z2)
237 & +(2*f4-f2)*x3*(z6+3*z5-z3)
238 & +(f5-f2)*x2*(-2*z6+2*z4-z3)
239 & +f5*x3*(-2*z6-6*z4+2*z3+3*z2)
240 & +f6*x2*(2*z5+6*z4-3*z3-2*z2)
241 & +(f6-f3)*x3*(2*z5-2*z4+z2))*xs144)**2
243 w5(ielem)=w5(ielem)+((f1*x2*(z6-2*z5-3*z4+2*z3+2*z2)
244 & +f2*x3*(-z6-6*z5+3*z4+z3)
245 & +f3*x2*(3*z6+2*z5-z4-2*z2)
246 & +f4*x2*(-4*z6-4*z5+z3+4*z2)
247 & +f4*x3*(2*z6+6*z5-2*z3-3*z2)
248 & +2*(f5-f2)*x2*(-2*z6+2*z4-z3)
249 & +(2*f5-f1)*x3*(-z6-3*z4+z3+3*z2)
250 & +f6*x2*(4*z5+4*z4-3*z3-4*z2)
251 & +(f6-f3)*x3*(2*z5-2*z4+z2))*xs144)**2
253 w6(ielem)=w6(ielem)+((f1*x3*(2*z6-z5+3*z4-2*z3-2*z2)
254 & +f2*x3*(-2*z6-3*z5+z4+2*z3)
255 & +f3*x2*(6*z6+z5-3*z4-z2)
256 & +f4*x2*(-6*z6-2*z5+3*z3+2*z2)
257 & +f4*x3*(4*z6+4*z5-4*z3-z2)
258 & +(f5-f2)*x2*(-2*z6+2*z4-z3)
259 & +f5*x3*(-4*z6-4*z4+4*z3+3*z2)
260 & +(2*f6-f1)*x2*(z5+3*z4-3*z3-z2)
261 & +2*(f6-f3)*x3*(2*z5-2*z4+z2))*xs144)**2
263 diff = (f4+f5+f6)-(f1+f2+f3)
264 coef=xs24*surfac(ielem)
266 w1(ielem)=w1(ielem)+((f4-f1+diff)*coef)**2
267 w2(ielem)=w2(ielem)+((f5-f2+diff)*coef)**2
268 w3(ielem)=w3(ielem)+((f6-f3+diff)*coef)**2
269 w4(ielem)=w4(ielem)+((f4-f1+diff)*coef)**2
270 w5(ielem)=w5(ielem)+((f5-f2+diff)*coef)**2
271 w6(ielem)=w6(ielem)+((f6-f3+diff)*coef)**2
273 w1(ielem)=w1(ielem)/(coef*(sht+h1))
274 w2(ielem)=w2(ielem)/(coef*(sht+h2))
275 w3(ielem)=w3(ielem)/(coef*(sht+h3))
276 w4(ielem)=w4(ielem)/(coef*(sht+h1))
277 w5(ielem)=w5(ielem)/(coef*(sht+h2))
278 w6(ielem)=w6(ielem)/(coef*(sht+h3))
286 WRITE(
lu,102) ielmf,sf%NAME
287 102
FORMAT(1x,
'VC01PP (BIEF) :',/,
288 & 1x,
'DISCRETISATION OF F : ',1i6,
' NOT IMPLEMENTED',/,
289 & 1x,
'REAL NAME OF F: ',a6)
subroutine vc21pp(XMUL, SF, F, X, Y, Z, SURFAC, IKLE1, IKLE2, IKLE3, IKLE4, IKLE5, IKLE6, NELEM, NELMAX, W1, W2, W3, W4, W5, W6)