OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8zderit3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| s8zderit3 ../engine/source/elements/solid/solide8z/s8zderit3.F
25!||--- called by ------------------------------------------------------
26!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
27!||====================================================================
28 SUBROUTINE s8zderit3(
29 1 OFFG, OFF, VOL, NGL,
30 2 KSI, ETA, ZETA, WI,
31 3 PXC1, PXC2, PXC3, PXC4,
32 4 PYC1, PYC2, PYC3, PYC4,
33 5 PZC1, PZC2, PZC3, PZC4,
34 6 PX1H1, PX1H2, PX1H3, PX1H4,
35 7 PX2H1, PX2H2, PX2H3, PX2H4,
36 8 PX3H1, PX3H2, PX3H3, PX3H4,
37 9 PX4H1, PX4H2, PX4H3, PX4H4,
38 A HX, HY, HZ, PX1,
39 B PX2, PX3, PX4, PX5,
40 C PX6, PX7, PX8, PY1,
41 D PY2, PY3, PY4, PY5,
42 E PY6, PY7, PY8, PZ1,
43 F PZ2, PZ3, PZ4, PZ5,
44 G PZ6, PZ7, PZ8, PXY1,
45 H PXY2, PXY3, PXY4, PXY5,
46 I PXY6, PXY7, PXY8, PYX1,
47 J PYX2, PYX3, PYX4, PYX5,
48 K PYX6, PYX7, PYX8, PXZ1,
49 L PXZ2, PXZ3, PXZ4, PXZ5,
50 M PXZ6, PXZ7, PXZ8, PZX1,
51 N PZX2, PZX3, PZX4, PZX5,
52 O PZX6, PZX7, PZX8, PYZ1,
53 P PYZ2, PYZ3, PYZ4, PYZ5,
54 Q PYZ6, PYZ7, PYZ8, PZY1,
55 R PZY2, PZY3, PZY4, PZY5,
56 S PZY6, PZY7, PZY8, BXY1,
57 T BXY2, BXY3, BXY4, BXY5,
58 U BXY6, BXY7, BXY8, BYX1,
59 V BYX2, BYX3, BYX4, BYX5,
60 W BYX6, BYX7, BYX8, BXZ1,
61 X BXZ2, BXZ3, BXZ4, BXZ5,
62 Y BXZ6, BXZ7, BXZ8, BZX1,
63 Z BZX2, BZX3, BZX4, BZX5,
64 1 BZX6, BZX7, BZX8, BYZ1,
65 2 BYZ2, BYZ3, BYZ4, BYZ5,
66 3 BYZ6, BYZ7, BYZ8, BZY1,
67 4 BZY2, BZY3, BZY4, BZY5,
68 5 BZY6, BZY7, BZY8, CJ1,
69 6 CJ2, CJ3, CJ4, CJ5,
70 7 CJ6, CJ7, CJ8, CJ9,
71 8 JAC4, JAC5, JAC6, JAC7,
72 9 JAC8, JAC9, SMAX, DELTAX,
73 A NU, ICP, IDEG, JAC_I,
74 B NEL, MTN, ISMSTR, JHBE)
75C-----------------------------------------------
76C I m p l i c i t T y p e s
77C-----------------------------------------------
78#include "implicit_f.inc"
79#include "comlock.inc"
80C-----------------------------------------------
81C G l o b a l P a r a m e t e r s
82C-----------------------------------------------
83#include "mvsiz_p.inc"
84C-----------------------------------------------
85C C o m m o n B l o c k s
86C-----------------------------------------------
87#include "scr17_c.inc"
88#include "impl1_c.inc"
89C-----------------------------------------------
90C D u m m y A r g u m e n t s
91C-----------------------------------------------
92 INTEGER, INTENT(IN) :: NEL
93 INTEGER, INTENT(IN) :: MTN
94 INTEGER, INTENT(IN) :: ISMSTR
95 INTEGER, INTENT(IN) :: JHBE
96 INTEGER ICP,IDEG(*)
97C REAL
98 my_real
99 . OFF(*),OFFG(*),VOL(*),KSI,ETA,ZETA,WI,
100 . PXC1(*), PXC2(*), PXC3(*), PXC4(*),
101 . PYC1(*), PYC2(*), PYC3(*), PYC4(*),
102 . PZC1(*), PZC2(*), PZC3(*), PZC4(*),
103 . PX1H1(*), PX1H2(*), PX1H3(*),PX1H4(*),
104 . PX2H1(*), PX2H2(*), PX2H3(*),PX2H4(*),
105 . PX3H1(*), PX3H2(*), PX3H3(*),PX3H4(*),
106 . PX4H1(*), PX4H2(*), PX4H3(*),PX4H4(*),
107 . HX(MVSIZ,4), HY(MVSIZ,4), HZ(MVSIZ,4),
108 . PX1(*), PX2(*), PX3(*), PX4(*),
109 . PX5(*), PX6(*), PX7(*), PX8(*),
110 . PY1(*), PY2(*), PY3(*), PY4(*),
111 . PY5(*), PY6(*), PY7(*), PY8(*),
112 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
113 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
114 . PXY1(*),PXY2(*),PXY3(*),PXY4(*),
115 . PXY5(*),PXY6(*),PXY7(*),PXY8(*),
116 . PYX1(*),PYX2(*),PYX3(*),PYX4(*),
117 . PYX5(*),PYX6(*),PYX7(*),PYX8(*),
118 . PXZ1(*),PXZ2(*),PXZ3(*),PXZ4(*),
119 . PXZ5(*),PXZ6(*),PXZ7(*),PXZ8(*),
120 . PZX1(*),PZX2(*),PZX3(*),PZX4(*),
121 . PZX5(*),PZX6(*),PZX7(*),PZX8(*),
122 . PYZ1(*),PYZ2(*),PYZ3(*),PYZ4(*),
123 . PYZ5(*),PYZ6(*),PYZ7(*),PYZ8(*),
124 . PZY1(*),PZY2(*),PZY3(*),PZY4(*),
125 . PZY5(*),PZY6(*),PZY7(*),PZY8(*),
126 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
127 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
128 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
129 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
130 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
131 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
132 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
133 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
134 . BYZ1(*),BYZ2(*),BYZ3(*),BYZ4(*),
135 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
136 . BZY1(*),BZY2(*),BZY3(*),BZY4(*),
137 . BZY5(*),BZY6(*),BZY7(*),BZY8(*),
138 . cj1(*),cj2(*),cj3(*),
139 . cj4(*),cj5(*),cj6(*),
140 . cj7(*),cj8(*),cj9(*),
141 . jac4(*),jac5(*),jac6(*),
142 . jac7(*),jac8(*),jac9(*),
143 . smax(*),deltax(*),nu(*),jac_i(10,mvsiz)
144C-----------------------------------------------
145C L o c a l V a r i a b l e s
146C-----------------------------------------------
147 INTEGER NGL(*), I, J ,ICOR,ep
148C REAL
149C 12
150 my_real
151 . DET(MVSIZ) ,DETT , NU1(MVSIZ),
152 . JAC1,JAC2,JAC3,
153 . JACI1(MVSIZ), JACI2(MVSIZ), JACI3(MVSIZ),
154 . JACI4(MVSIZ), JACI5(MVSIZ), JACI6(MVSIZ),
155 . JACI7(MVSIZ), JACI8(MVSIZ), JACI9(MVSIZ),
156 . JAC_59_68, JAC_67_49, JAC_48_57,
157 . JAC_38_29, JAC_19_37, JAC_27_18,
158 . JAC_26_35, JAC_34_16, JAC_15_24,
159 . JACI12(MVSIZ), JACI45(MVSIZ), JACI78(MVSIZ),
160 . D1X(MVSIZ) , D2X(MVSIZ) , D3X(MVSIZ) , D4X(MVSIZ) ,
161 . D1Y(MVSIZ) , D2Y(MVSIZ) , D3Y(MVSIZ) , D4Y(MVSIZ) ,
162 . D1Z(MVSIZ) , D2Z(MVSIZ) , D3Z(MVSIZ) , D4Z(MVSIZ) ,
163 . XG1(MVSIZ), XG2(MVSIZ), XG3(MVSIZ), XG4(MVSIZ),
164 . YG1(MVSIZ), YG2(MVSIZ), YG3(MVSIZ), YG4(MVSIZ),
165 . ZG1(MVSIZ), ZG2(MVSIZ), ZG3(MVSIZ), ZG4(MVSIZ),
166 . F1,F2,F3,XS,XAS,YS,YAS,ZS,ZAS,CS,CAS ,BXHI,BYHI,BZHI,x,y,z
167C-----------------------------------------------
168C------ICP= 0 : Bindeman&Belytschko assumed strain
169C------ICP= 1 : fast assumed volumic strain for the laws(elastoplastic)P=f(rho,rho0)
170C------ICP= 11 : EAD nominal assumed strain for the incmpressible laws(hyperelastic)P/=f(rho,rho0)
171 IF (ISMSTR==11) then
172 DO i=1,nel
173 jac1=cj1(i)+hx(i,3)*eta+(hx(i,2)+hx(i,4)*eta)*zeta
174 jac2=cj2(i)+hy(i,3)*eta+(hy(i,2)+hy(i,4)*eta)*zeta
175 jac3=cj3(i)+hz(i,3)*eta+(hz(i,2)+hz(i,4)*eta)*zeta
176C
177 jac4(i)=cj4(i)+hx(i,1)*zeta+(hx(i,3)+hx(i,4)*zeta)*ksi
178 jac5(i)=cj5(i)+hy(i,1)*zeta+(hy(i,3)+hy(i,4)*zeta)*ksi
179 jac6(i)=cj6(i)+hz(i,1)*zeta+(hz(i,3)+hz(i,4)*zeta)*ksi
180C
181 jac7(i)=cj7(i)+hx(i,2)*ksi+(hx(i,1)+hx(i,4)*ksi)*eta
182 jac8(i)=cj8(i)+hy(i,2)*ksi+(hy(i,1)+hy(i,4)*ksi)*eta
183 jac9(i)=cj9(i)+hz(i,2)*ksi+(hz(i,1)+hz(i,4)*ksi)*eta
184C
185C JACOBIAN
186C
187 jac_59_68=jac5(i)*jac9(i)-jac6(i)*jac8(i)
188 jac_67_49=jac6(i)*jac7(i)-jac4(i)*jac9(i)
189 jac_38_29=(-jac2*jac9(i)+jac3*jac8(i))
190 jac_19_37=( jac1*jac9(i)-jac3*jac7(i))
191 jac_27_18=(-jac1*jac8(i)+jac2*jac7(i))
192 jac_26_35=( jac2*jac6(i)-jac3*jac5(i))
193 jac_34_16=(-jac1*jac6(i)+jac3*jac4(i))
194 jac_15_24=( jac1*jac5(i)-jac2*jac4(i))
195 jac_48_57=jac4(i)*jac8(i)-jac5(i)*jac7(i)
196C
197 det(i)=one_over_512*(jac1*jac_59_68+jac2*jac_67_49+jac3*jac_48_57)
198 vol(i)= wi*det(i)
199 dett=one_over_512/det(i)
200 jaci1(i)=dett*jac_59_68
201 jaci4(i)=dett*jac_67_49
202 jaci7(i)=dett*jac_48_57
203 jaci2(i)=dett*jac_38_29
204 jaci5(i)=dett*jac_19_37
205 jaci8(i)=dett*jac_27_18
206 jaci3(i)=dett*jac_26_35
207 jaci6(i)=dett*jac_34_16
208 jaci9(i)=dett*jac_15_24
209 ENDDO
210C
211 IF (idts6==0) THEN
212 DO i=1,nel
213 deltax(i)=min(deltax(i),hundred28*det(i)*smax(i))
214 ENDDO
215 ELSE
216 DO i=1,nel
217 IF (ideg(i)==0) deltax(i)=min(deltax(i),hundred28*det(i)*smax(i))
218 ENDDO
219 END IF
220C------ISMSTR = 10
221 ELSE
222 DO i=1,nel
223 jaci1(i)=jac_i(1,i)
224 jaci4(i)=jac_i(4,i)
225 jaci7(i)=jac_i(7,i)
226 jaci2(i)=jac_i(2,i)
227 jaci5(i)=jac_i(5,i)
228 jaci8(i)=jac_i(8,i)
229 jaci3(i)=jac_i(3,i)
230 jaci6(i)=jac_i(6,i)
231 jaci9(i)=jac_i(9,i)
232 vol(i) =jac_i(10,i)
233 ENDDO
234 END IF !(ISMSTR==11) THEN
235C
236 DO i=1,nel
237 nu1(i) = nu(i)/(one - nu(i))
238 ENDDO
239 f1 = eta*zeta
240 f2 = ksi*zeta
241 f3 = ksi*eta
242 DO i=1,nel
243 d1x(i)=jaci3(i)*eta +jaci2(i)*zeta
244 d2x(i)=jaci1(i)*zeta +jaci3(i)*ksi
245 d3x(i)=jaci2(i)*ksi +jaci1(i)*eta
246 d4x(i)=jaci1(i)*f1+jaci2(i)*f2+jaci3(i)*f3
247C
248 d1y(i)=jaci6(i)*eta +jaci5(i)*zeta
249 d2y(i)=jaci4(i)*zeta +jaci6(i)*ksi
250 d3y(i)=jaci5(i)*ksi +jaci4(i)*eta
251 d4y(i)=jaci4(i)*f1+jaci5(i)*f2+jaci6(i)*f3
252C
253 d1z(i)=jaci9(i)*eta +jaci8(i)*zeta
254 d2z(i)=jaci7(i)*zeta +jaci9(i)*ksi
255 d3z(i)=jaci8(i)*ksi +jaci7(i)*eta
256 d4z(i)=jaci7(i)*f1+jaci8(i)*f2+jaci9(i)*f3
257 ENDDO
258C-------Node 1,7-----
259 DO i=1,nel
260 xg1(i) = px1h1(i)*d1x(i)
261 xg2(i) = px1h2(i)*d2x(i)
262 xg3(i) = px1h3(i)*d3x(i)
263 xg4(i) = px1h4(i)*d4x(i)
264 yg1(i) = px1h1(i)*d1y(i)
265 yg2(i) = px1h2(i)*d2y(i)
266 yg3(i) = px1h3(i)*d3y(i)
267 yg4(i) = px1h4(i)*d4y(i)
268 zg1(i) = px1h1(i)*d1z(i)
269 zg2(i) = px1h2(i)*d2z(i)
270 zg3(i) = px1h3(i)*d3z(i)
271 zg4(i) = px1h4(i)*d4z(i)
272 ENDDO
273C
274 DO i=1,nel
275 xs =d1x(i)+d2x(i)+d3x(i)
276 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc1(i)
277 px1(i)=xs-xas
278 px7(i)=xs+xas
279 ys =d1y(i)+d2y(i)+d3y(i)
280 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc1(i)
281 py1(i)=ys-yas
282 py7(i)=ys+yas
283 zs =d1z(i)+d2z(i)+d3z(i)
284 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc1(i)
285 pz1(i)=zs-zas
286 pz7(i)=zs+zas
287C
288 ys =d1y(i)+d2y(i)
289 yas =yg1(i)+yg2(i)-pyc1(i)
290 pxy1(i)=ys-yas
291 pxy7(i)=ys+yas
292 xs =d1x(i)+d2x(i)
293 xas =xg1(i)+xg2(i)-pxc1(i)
294 pyx1(i)=xs-xas
295 pyx7(i)=xs+xas
296 zs =d1z(i)+d3z(i)
297 zas =zg1(i)+zg3(i)-pzc1(i)
298 pxz1(i)=zs-zas
299 pxz7(i)=zs+zas
300 xs =d1x(i)+d3x(i)
301 xas =xg1(i)+xg3(i)-pxc1(i)
302 pzx1(i)=xs-xas
303 pzx7(i)=xs+xas
304 zs =d2z(i)+d3z(i)
305 zas =zg2(i)+zg3(i)-pzc1(i)
306 pyz1(i)=zs-zas
307 pyz7(i)=zs+zas
308 ys =d2y(i)+d3y(i)
309 yas =yg2(i)+yg3(i)-pyc1(i)
310 pzy1(i)=ys-yas
311 pzy7(i)=ys+yas
312 ENDDO
313C
314 IF (icp /= 1 .AND. icp /= 11) THEN
315 DO i=1,nel
316 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
317 xas =-nu1(i)*xg3(i)+cas
318 bxy1(i)=-xas
319 bxy7(i)=xas
320 xas =-nu1(i)*xg2(i)+cas
321 bxz1(i)=-xas
322 bxz7(i)=xas
323 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
324 yas =-nu1(i)*yg3(i)+cas
325 byx1(i)=-yas
326 byx7(i)=yas
327 yas =-nu1(i)*yg1(i)+cas
328 byz1(i)=-yas
329 byz7(i)=yas
330 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
331 zas =-nu1(i)*zg2(i)+cas
332 bzx1(i)=-zas
333 bzx7(i)=zas
334 zas =-nu1(i)*zg1(i)+cas
335 bzy1(i)=-zas
336 bzy7(i)=zas
337 ENDDO
338 ENDIF
339C-------Node 2,8-----
340 DO i=1,nel
341 xg1(i) = px2h1(i)*d1x(i)
342 xg2(i) = px2h2(i)*d2x(i)
343 xg3(i) = px2h3(i)*d3x(i)
344 xg4(i) = px2h4(i)*d4x(i)
345 yg1(i) = px2h1(i)*d1y(i)
346 yg2(i) = px2h2(i)*d2y(i)
347 yg3(i) = px2h3(i)*d3y(i)
348 yg4(i) = px2h4(i)*d4y(i)
349 zg1(i) = px2h1(i)*d1z(i)
350 zg2(i) = px2h2(i)*d2z(i)
351 zg3(i) = px2h3(i)*d3z(i)
352 zg4(i) = px2h4(i)*d4z(i)
353 ENDDO
354C
355 DO i=1,nel
356 xs =d1x(i)-d2x(i)-d3x(i)
357 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc2(i)
358 px2(i)=xs-xas
359 px8(i)=xs+xas
360 ys =d1y(i)-d2y(i)-d3y(i)
361 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc2(i)
362 py2(i)=ys-yas
363 py8(i)=ys+yas
364 zs =d1z(i)-d2z(i)-d3z(i)
365 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc2(i)
366 pz2(i)=zs-zas
367 pz8(i)=zs+zas
368C
369 ys =d1y(i)-d2y(i)
370 yas =yg1(i)+yg2(i)-pyc2(i)
371 pxy2(i)=ys-yas
372 pxy8(i)=ys+yas
373 xs =d1x(i)-d2x(i)
374 xas =xg1(i)+xg2(i)-pxc2(i)
375 pyx2(i)=xs-xas
376 pyx8(i)=xs+xas
377 zs =d1z(i)-d3z(i)
378 zas =zg1(i)+zg3(i)-pzc2(i)
379 pxz2(i)=zs-zas
380 pxz8(i)=zs+zas
381 xs =d1x(i)-d3x(i)
382 xas =xg1(i)+xg3(i)-pxc2(i)
383 pzx2(i)=xs-xas
384 pzx8(i)=xs+xas
385 zs =-d2z(i)-d3z(i)
386 zas =zg2(i)+zg3(i)-pzc2(i)
387 pyz2(i)=zs-zas
388 pyz8(i)=zs+zas
389 ys =-d2y(i)-d3y(i)
390 yas =yg2(i)+yg3(i)-pyc2(i)
391 pzy2(i)=ys-yas
392 pzy8(i)=ys+yas
393 ENDDO
394C
395 IF (icp /= 1 .AND. icp /= 11) THEN
396 DO i=1,nel
397 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
398 xas =-nu1(i)*xg3(i)+cas
399 bxy2(i)=-xas
400 bxy8(i)=xas
401 xas =-nu1(i)*xg2(i)+cas
402 bxz2(i)=-xas
403 bxz8(i)=xas
404 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
405 yas =-nu1(i)*yg3(i)+cas
406 byx2(i)=-yas
407 byx8(i)=yas
408 yas =-nu1(i)*yg1(i)+cas
409 byz2(i)=-yas
410 byz8(i)=yas
411 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
412 zas =-nu1(i)*zg2(i)+cas
413 bzx2(i)=-zas
414 bzx8(i)=zas
415 zas =-nu1(i)*zg1(i)+cas
416 bzy2(i)=-zas
417 bzy8(i)=zas
418 ENDDO
419 ENDIF
420C
421C-------Node 3,5-----
422 DO i=1,nel
423 xg1(i) = px3h1(i)*d1x(i)
424 xg2(i) = px3h2(i)*d2x(i)
425 xg3(i) = px3h3(i)*d3x(i)
426 xg4(i) = px3h4(i)*d4x(i)
427 yg1(i) = px3h1(i)*d1y(i)
428 yg2(i) = px3h2(i)*d2y(i)
429 yg3(i) = px3h3(i)*d3y(i)
430 yg4(i) = px3h4(i)*d4y(i)
431 zg1(i) = px3h1(i)*d1z(i)
432 zg2(i) = px3h2(i)*d2z(i)
433 zg3(i) = px3h3(i)*d3z(i)
434 zg4(i) = px3h4(i)*d4z(i)
435 ENDDO
436C
437 DO i=1,nel
438 xs =-d1x(i)-d2x(i)+d3x(i)
439 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc3(i)
440 px3(i)=xs-xas
441 px5(i)=xs+xas
442 ys =-d1y(i)-d2y(i)+d3y(i)
443 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc3(i)
444 py3(i)=ys-yas
445 py5(i)=ys+yas
446 zs =-d1z(i)-d2z(i)+d3z(i)
447 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc3(i)
448 pz3(i)=zs-zas
449 pz5(i)=zs+zas
450C
451 ys =-d1y(i)-d2y(i)
452 yas =yg1(i)+yg2(i)-pyc3(i)
453 pxy3(i)=ys-yas
454 pxy5(i)=ys+yas
455 xs =-d1x(i)-d2x(i)
456 xas =xg1(i)+xg2(i)-pxc3(i)
457 pyx3(i)=xs-xas
458 pyx5(i)=xs+xas
459 zs =-d1z(i)+d3z(i)
460 zas =zg1(i)+zg3(i)-pzc3(i)
461 pxz3(i)=zs-zas
462 pxz5(i)=zs+zas
463 xs =-d1x(i)+d3x(i)
464 xas =xg1(i)+xg3(i)-pxc3(i)
465 pzx3(i)=xs-xas
466 pzx5(i)=xs+xas
467 zs =-d2z(i)+d3z(i)
468 zas =zg2(i)+zg3(i)-pzc3(i)
469 pyz3(i)=zs-zas
470 pyz5(i)=zs+zas
471 ys =-d2y(i)+d3y(i)
472 yas =yg2(i)+yg3(i)-pyc3(i)
473 pzy3(i)=ys-yas
474 pzy5(i)=ys+yas
475 ENDDO
476C
477 IF (icp /= 1 .AND. icp /= 11) THEN
478 DO i=1,nel
479 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
480 xas =-nu1(i)*xg3(i)+cas
481 bxy3(i)=-xas
482 bxy5(i)=xas
483 xas =-nu1(i)*xg2(i)+cas
484 bxz3(i)=-xas
485 bxz5(i)=xas
486 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
487 yas =-nu1(i)*yg3(i)+cas
488 byx3(i)=-yas
489 byx5(i)=yas
490 yas =-nu1(i)*yg1(i)+cas
491 byz3(i)=-yas
492 byz5(i)=yas
493 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
494 zas =-nu1(i)*zg2(i)+cas
495 bzx3(i)=-zas
496 bzx5(i)=zas
497 zas =-nu1(i)*zg1(i)+cas
498 bzy3(i)=-zas
499 bzy5(i)=zas
500 ENDDO
501 ENDIF
502C-------Node 4,6-----
503 DO i=1,nel
504 xg1(i) = px4h1(i)*d1x(i)
505 xg2(i) = px4h2(i)*d2x(i)
506 xg3(i) = px4h3(i)*d3x(i)
507 xg4(i) = px4h4(i)*d4x(i)
508 yg1(i) = px4h1(i)*d1y(i)
509 yg2(i) = px4h2(i)*d2y(i)
510 yg3(i) = px4h3(i)*d3y(i)
511 yg4(i) = px4h4(i)*d4y(i)
512 zg1(i) = px4h1(i)*d1z(i)
513 zg2(i) = px4h2(i)*d2z(i)
514 zg3(i) = px4h3(i)*d3z(i)
515 zg4(i) = px4h4(i)*d4z(i)
516 ENDDO
517C
518 DO i=1,nel
519 xs =-d1x(i)+d2x(i)-d3x(i)
520 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc4(i)
521 px4(i)=xs-xas
522 px6(i)=xs+xas
523 ys =-d1y(i)+d2y(i)-d3y(i)
524 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc4(i)
525 py4(i)=ys-yas
526 py6(i)=ys+yas
527 zs =-d1z(i)+d2z(i)-d3z(i)
528 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc4(i)
529 pz4(i)=zs-zas
530 pz6(i)=zs+zas
531C
532 ys =-d1y(i)+d2y(i)
533 yas =yg1(i)+yg2(i)-pyc4(i)
534 pxy4(i)=ys-yas
535 pxy6(i)=ys+yas
536 xs =-d1x(i)+d2x(i)
537 xas =xg1(i)+xg2(i)-pxc4(i)
538 pyx4(i)=xs-xas
539 pyx6(i)=xs+xas
540 zs =-d1z(i)-d3z(i)
541 zas =zg1(i)+zg3(i)-pzc4(i)
542 pxz4(i)=zs-zas
543 pxz6(i)=zs+zas
544 xs =-d1x(i)-d3x(i)
545 xas =xg1(i)+xg3(i)-pxc4(i)
546 pzx4(i)=xs-xas
547 pzx6(i)=xs+xas
548 zs =d2z(i)-d3z(i)
549 zas =zg2(i)+zg3(i)-pzc4(i)
550 pyz4(i)=zs-zas
551 pyz6(i)=zs+zas
552 ys =d2y(i)-d3y(i)
553 yas =yg2(i)+yg3(i)-pyc4(i)
554 pzy4(i)=ys-yas
555 pzy6(i)=ys+yas
556 ENDDO
557C
558 IF (icp /= 1 .AND. icp /= 11) THEN
559 DO i=1,nel
560 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
561 xas =-nu1(i)*xg3(i)+cas
562 bxy4(i)=-xas
563 bxy6(i)=xas
564 xas =-nu1(i)*xg2(i)+cas
565 bxz4(i)=-xas
566 bxz6(i)=xas
567 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
568 yas =-nu1(i)*yg3(i)+cas
569 byx4(i)=-yas
570 byx6(i)=yas
571 yas =-nu1(i)*yg1(i)+cas
572 byz4(i)=-yas
573 byz6(i)=yas
574 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
575 zas =-nu1(i)*zg2(i)+cas
576 bzx4(i)=-zas
577 bzx6(i)=zas
578 zas =-nu1(i)*zg1(i)+cas
579 bzy4(i)=-zas
580 bzy6(i)=zas
581 ENDDO
582C
583 DO i=1,nel
584 cs =-nu(i)*d1x(i)
585 xs =-nu1(i)*d3x(i)
586 bxy1(i)=bxy1(i)+cs+xs
587 bxy2(i)=bxy2(i)+cs-xs
588 bxy3(i)=bxy3(i)-cs+xs
589 bxy4(i)=bxy4(i)-cs-xs
590 bxy5(i)=bxy5(i)-cs+xs
591 bxy6(i)=bxy6(i)-cs-xs
592 bxy7(i)=bxy7(i)+cs+xs
593 bxy8(i)=bxy8(i)+cs-xs
594 xs =-nu1(i)*d2x(i)
595 bxz1(i)=bxz1(i)+cs+xs
596 bxz2(i)=bxz2(i)+cs-xs
597 bxz3(i)=bxz3(i)-cs-xs
598 bxz4(i)=bxz4(i)-cs+xs
599 bxz5(i)=bxz5(i)-cs-xs
600 bxz6(i)=bxz6(i)-cs+xs
601 bxz7(i)=bxz7(i)+cs+xs
602 bxz8(i)=bxz8(i)+cs-xs
603 ENDDO
604 DO i=1,nel
605 cs =-nu(i)*d2y(i)
606 ys =-nu1(i)*d3y(i)
607 byx1(i)=byx1(i)+cs+ys
608 byx2(i)=byx2(i)-cs-ys
609 byx3(i)=byx3(i)-cs+ys
610 byx4(i)=byx4(i)+cs-ys
611 byx5(i)=byx5(i)-cs+ys
612 byx6(i)=byx6(i)+cs-ys
613 byx7(i)=byx7(i)+cs+ys
614 byx8(i)=byx8(i)-cs-ys
615 ys =-nu1(i)*d1y(i)
616 byz1(i)=byz1(i)+cs+ys
617 byz2(i)=byz2(i)-cs+ys
618 byz3(i)=byz3(i)-cs-ys
619 byz4(i)=byz4(i)+cs-ys
620 byz5(i)=byz5(i)-cs-ys
621 byz6(i)=byz6(i)+cs-ys
622 byz7(i)=byz7(i)+cs+ys
623 byz8(i)=byz8(i)-cs+ys
624 ENDDO
625 DO i=1,nel
626 cs =-nu(i)*d3z(i)
627 zs =-nu1(i)*d2z(i)
628 bzx1(i)=bzx1(i)+cs+zs
629 bzx2(i)=bzx2(i)-cs-zs
630 bzx3(i)=bzx3(i)+cs-zs
631 bzx4(i)=bzx4(i)-cs+zs
632 bzx5(i)=bzx5(i)+cs-zs
633 bzx6(i)=bzx6(i)-cs+zs
634 bzx7(i)=bzx7(i)+cs+zs
635 bzx8(i)=bzx8(i)-cs-zs
636 zs =-nu1(i)*d1z(i)
637 bzy1(i)=bzy1(i)+cs+zs
638 bzy2(i)=bzy2(i)-cs+zs
639 bzy3(i)=bzy3(i)+cs-zs
640 bzy4(i)=bzy4(i)-cs-zs
641 bzy5(i)=bzy5(i)+cs-zs
642 bzy6(i)=bzy6(i)-cs-zs
643 bzy7(i)=bzy7(i)+cs+zs
644 bzy8(i)=bzy8(i)-cs+zs
645 ENDDO
646 ENDIF
647C
648 IF ((impl_s >0.AND.jhbe /= 14.AND.jhbe < 20).OR.
649 . ((ismstr==10.OR.ismstr==12).AND.
650 . (icp==1.OR.icp==11.OR.mtn==99.OR.mtn==1).AND.jhbe==14)) THEN
651 DO i=1,nel
652 pxy1(i)=py1(i)
653 pxy2(i)=py2(i)
654 pxy3(i)=py3(i)
655 pxy4(i)=py4(i)
656 pxy5(i)=py5(i)
657 pxy6(i)=py6(i)
658 pxy7(i)=py7(i)
659 pxy8(i)=py8(i)
660C
661 pyx1(i)=px1(i)
662 pyx2(i)=px2(i)
663 pyx3(i)=px3(i)
664 pyx4(i)=px4(i)
665 pyx5(i)=px5(i)
666 pyx6(i)=px6(i)
667 pyx7(i)=px7(i)
668 pyx8(i)=px8(i)
669 ENDDO
670 DO i=1,nel
671 pyz1(i)=pz1(i)
672 pyz2(i)=pz2(i)
673 pyz3(i)=pz3(i)
674 pyz4(i)=pz4(i)
675 pyz5(i)=pz5(i)
676 pyz6(i)=pz6(i)
677 pyz7(i)=pz7(i)
678 pyz8(i)=pz8(i)
679C
680 pzy1(i)=py1(i)
681 pzy2(i)=py2(i)
682 pzy3(i)=py3(i)
683 pzy4(i)=py4(i)
684 pzy5(i)=py5(i)
685 pzy6(i)=py6(i)
686 pzy7(i)=py7(i)
687 pzy8(i)=py8(i)
688 ENDDO
689 DO i=1,nel
690 pxz1(i)=pz1(i)
691 pxz2(i)=pz2(i)
692 pxz3(i)=pz3(i)
693 pxz4(i)=pz4(i)
694 pxz5(i)=pz5(i)
695 pxz6(i)=pz6(i)
696 pxz7(i)=pz7(i)
697 pxz8(i)=pz8(i)
698C
699 pzx1(i)=px1(i)
700 pzx2(i)=px2(i)
701 pzx3(i)=px3(i)
702 pzx4(i)=px4(i)
703 pzx5(i)=px5(i)
704 pzx6(i)=px6(i)
705 pzx7(i)=px7(i)
706 pzx8(i)=px8(i)
707 ENDDO
708 ENDIF
709 IF ((ismstr==10.OR.ismstr==12).AND.mtn==1.AND.jhbe==14.AND.
710 . (icp/=1.AND.icp/=11)) THEN
711 DO i=1,nel
712 bxy1(i)=zero
713 bxz1(i)=zero
714 byx1(i)=zero
715 byz1(i)=zero
716 bzx1(i)=zero
717 bzy1(i)=zero
718 bxy2(i)=zero
719 bxz2(i)=zero
720 byx2(i)=zero
721 byz2(i)=zero
722 bzx2(i)=zero
723 bzy2(i)=zero
724 bxy3(i)=zero
725 bxz3(i)=zero
726 byx3(i)=zero
727 byz3(i)=zero
728 bzx3(i)=zero
729 bzy3(i)=zero
730 bxy4(i)=zero
731 bxz4(i)=zero
732 byx4(i)=zero
733 byz4(i)=zero
734 bzx4(i)=zero
735 bzy4(i)=zero
736 bxy5(i)=zero
737 bxz5(i)=zero
738 byx5(i)=zero
739 byz5(i)=zero
740 bzx5(i)=zero
741 bzy5(i)=zero
742 bxy6(i)=zero
743 bxz6(i)=zero
744 byx6(i)=zero
745 byz6(i)=zero
746 bzx6(i)=zero
747 bzy6(i)=zero
748 bxy7(i)=zero
749 bxz7(i)=zero
750 byx7(i)=zero
751 byz7(i)=zero
752 bzx7(i)=zero
753 bzy7(i)=zero
754 bxy8(i)=zero
755 bxz8(i)=zero
756 byx8(i)=zero
757 byz8(i)=zero
758 bzx8(i)=zero
759 bzy8(i)=zero
760 ENDDO
761 ENDIF
762C-----------for the imcompressible laws
763C-------|BXX BYX BZX |
764C-------|BXY BYY BZY | same than H8A
765C-------|BXZ BYZ BZZ |
766 IF (icp==11) THEN
767 DO i=1,nel
768 bxhi=third*(px1(i)-pxc1(i))
769 byhi=third*(py1(i)-pyc1(i))
770 bzhi=third*(pz1(i)-pzc1(i))
771 px1(i)=pxc1(i)+two*bxhi
772 py1(i)=pyc1(i)+two*byhi
773 pz1(i)=pzc1(i)+two*bzhi
774 bxy1(i)=-bxhi
775 bxz1(i)=-bxhi
776 byx1(i)=-byhi
777 byz1(i)=-byhi
778 bzx1(i)=-bzhi
779 bzy1(i)=-bzhi
780 ENDDO
781 DO i=1,nel
782 bxhi=third*(px2(i)-pxc2(i))
783 byhi=third*(py2(i)-pyc2(i))
784 bzhi=third*(pz2(i)-pzc2(i))
785 px2(i)=pxc2(i)+two*bxhi
786 py2(i)=pyc2(i)+two*byhi
787 pz2(i)=pzc2(i)+two*bzhi
788 bxy2(i)=-bxhi
789 bxz2(i)=-bxhi
790 byx2(i)=-byhi
791 byz2(i)=-byhi
792 bzx2(i)=-bzhi
793 bzy2(i)=-bzhi
794 ENDDO
795 DO i=1,nel
796 bxhi=third*(px3(i)-pxc3(i))
797 byhi=third*(py3(i)-pyc3(i))
798 bzhi=third*(pz3(i)-pzc3(i))
799 px3(i)=pxc3(i)+two*bxhi
800 py3(i)=pyc3(i)+two*byhi
801 pz3(i)=pzc3(i)+two*bzhi
802 bxy3(i)=-bxhi
803 bxz3(i)=-bxhi
804 byx3(i)=-byhi
805 byz3(i)=-byhi
806 bzx3(i)=-bzhi
807 bzy3(i)=-bzhi
808 ENDDO
809 DO i=1,nel
810 bxhi=third*(px4(i)-pxc4(i))
811 byhi=third*(py4(i)-pyc4(i))
812 bzhi=third*(pz4(i)-pzc4(i))
813 px4(i)=pxc4(i)+two*bxhi
814 py4(i)=pyc4(i)+two*byhi
815 pz4(i)=pzc4(i)+two*bzhi
816 bxy4(i)=-bxhi
817 bxz4(i)=-bxhi
818 byx4(i)=-byhi
819 byz4(i)=-byhi
820 bzx4(i)=-bzhi
821 bzy4(i)=-bzhi
822 ENDDO
823 DO i=1,nel
824 bxhi=third*(px5(i)+pxc3(i))
825 byhi=third*(py5(i)+pyc3(i))
826 bzhi=third*(pz5(i)+pzc3(i))
827 px5(i)=-pxc3(i)+two*bxhi
828 py5(i)=-pyc3(i)+two*byhi
829 pz5(i)=-pzc3(i)+two*bzhi
830 bxy5(i)=-bxhi
831 bxz5(i)=-bxhi
832 byx5(i)=-byhi
833 byz5(i)=-byhi
834 bzx5(i)=-bzhi
835 bzy5(i)=-bzhi
836 ENDDO
837 DO i=1,nel
838 bxhi=third*(px6(i)+pxc4(i))
839 byhi=third*(py6(i)+pyc4(i))
840 bzhi=third*(pz6(i)+pzc4(i))
841 px6(i)=-pxc4(i)+two*bxhi
842 py6(i)=-pyc4(i)+two*byhi
843 pz6(i)=-pzc4(i)+two*bzhi
844 bxy6(i)=-bxhi
845 bxz6(i)=-bxhi
846 byx6(i)=-byhi
847 byz6(i)=-byhi
848 bzx6(i)=-bzhi
849 bzy6(i)=-bzhi
850 ENDDO
851 DO i=1,nel
852 bxhi=third*(px7(i)+pxc1(i))
853 byhi=third*(py7(i)+pyc1(i))
854 bzhi=third*(pz7(i)+pzc1(i))
855 px7(i)=-pxc1(i)+two*bxhi
856 py7(i)=-pyc1(i)+two*byhi
857 pz7(i)=-pzc1(i)+two*bzhi
858 bxy7(i)=-bxhi
859 bxz7(i)=-bxhi
860 byx7(i)=-byhi
861 byz7(i)=-byhi
862 bzx7(i)=-bzhi
863 bzy7(i)=-bzhi
864 ENDDO
865 DO i=1,nel
866 bxhi=third*(px8(i)+pxc2(i))
867 byhi=third*(py8(i)+pyc2(i))
868 bzhi=third*(pz8(i)+pzc2(i))
869 px8(i)=-pxc2(i)+two*bxhi
870 py8(i)=-pyc2(i)+two*byhi
871 pz8(i)=-pzc2(i)+two*bzhi
872 bxy8(i)=-bxhi
873 bxz8(i)=-bxhi
874 byx8(i)=-byhi
875 byz8(i)=-byhi
876 bzx8(i)=-bzhi
877 bzy8(i)=-bzhi
878 ENDDO
879 ENDIF
880 END
#define min(a, b)
Definition macros.h:20
subroutine s8zderit3(offg, off, vol, ngl, ksi, eta, zeta, wi, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac4, jac5, jac6, jac7, jac8, jac9, smax, deltax, nu, icp, ideg, jac_i, nel, mtn, ismstr, jhbe)
Definition s8zderit3.F:75