OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8zderim3.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!|| s8zderim3 ../engine/source/elements/solid/solide8z/s8zderim3.F
25!||--- called by ------------------------------------------------------
26!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.f
27!||====================================================================
28 SUBROUTINE s8zderim3(
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 PX1, PX2, PX3, PX4,
39 B PX5, PX6, PX7, PX8,
40 C PY1, PY2, PY3, PY4,
41 D PY5, PY6, PY7, PY8,
42 E PZ1, PZ2, PZ3, PZ4,
43 F PZ5, PZ6, PZ7, PZ8,
44 G PXY1, PXY2, PXY3, PXY4,
45 H PXY5, PXY6, PXY7, PXY8,
46 I PYX1, PYX2, PYX3, PYX4,
47 J PYX5, PYX6, PYX7, PYX8,
48 K PXZ1, PXZ2, PXZ3, PXZ4,
49 L PXZ5, PXZ6, PXZ7, PXZ8,
50 M PZX1, PZX2, PZX3, PZX4,
51 N PZX5, PZX6, PZX7, PZX8,
52 O PYZ1, PYZ2, PYZ3, PYZ4,
53 P PYZ5, PYZ6, PYZ7, PYZ8,
54 Q PZY1, PZY2, PZY3, PZY4,
55 R PZY5, PZY6, PZY7, PZY8,
56 S BXY1, BXY2, BXY3, BXY4,
57 T BXY5, BXY6, BXY7, BXY8,
58 U BYX1, BYX2, BYX3, BYX4,
59 V BYX5, BYX6, BYX7, BYX8,
60 W BXZ1, BXZ2, BXZ3, BXZ4,
61 X BXZ5, BXZ6, BXZ7, BXZ8,
62 Y BZX1, BZX2, BZX3, BZX4,
63 Z BZX5, BZX6, BZX7, BZX8,
64 1 BYZ1, BYZ2, BYZ3, BYZ4,
65 2 BYZ5, BYZ6, BYZ7, BYZ8,
66 3 BZY1, BZY2, BZY3, BZY4,
67 4 BZY5, BZY6, BZY7, BZY8,
68 5 CJ1, CJ2, CJ3, CJ4,
69 6 CJ5, CJ6, CJ7, CJ8,
70 7 CJ9, HX, HY, HZ,
71 8 JAC1, JAC2, JAC3, JAC4,
72 9 JAC5, JAC6, JACI1, JACI2,
73 A JACI3, JACI4, JACI5, JACI6,
74 B JACI7, JACI8, JACI9, SMAX,
75 C DELTAX, NU, ICP, IDEG,
76 D VOLDP, NEL, MTN, ISMSTR,
77 E JHBE)
78C-----------------------------------------------
79C I m p l i c i t T y p e s
80C-----------------------------------------------
81#include "implicit_f.inc"
82#include "comlock.inc"
83C-----------------------------------------------
84C G l o b a l P a r a m e t e r s
85C-----------------------------------------------
86#include "mvsiz_p.inc"
87C-----------------------------------------------
88C C o m m o n B l o c k s
89C-----------------------------------------------
90#include "scr17_c.inc"
91#include "impl1_c.inc"
92C-----------------------------------------------
93C D u m m y A r g u m e n t s
94C-----------------------------------------------
95 INTEGER, INTENT(IN) :: NEL
96 INTEGER, INTENT(IN) :: MTN
97 INTEGER, INTENT(IN) :: ISMSTR
98 INTEGER, INTENT(IN) :: JHBE
99 INTEGER ICP,IDEG(*)
100C REAL
101 my_real
102 . OFF(*),OFFG(*),VOL(*),KSI,ETA,ZETA,WI,
103 . PXC1(*), PXC2(*), PXC3(*), PXC4(*),
104 . PYC1(*), PYC2(*), PYC3(*), PYC4(*),
105 . PZC1(*), PZC2(*), PZC3(*), PZC4(*),
106 . PX1H1(*), PX1H2(*), PX1H3(*),PX1H4(*),
107 . PX2H1(*), PX2H2(*), PX2H3(*),PX2H4(*),
108 . PX3H1(*), PX3H2(*), PX3H3(*),PX3H4(*),
109 . PX4H1(*), PX4H2(*), PX4H3(*),PX4H4(*),
110 . PX1(*), PX2(*), PX3(*), PX4(*),
111 . PX5(*), PX6(*), PX7(*), PX8(*),
112 . PY1(*), PY2(*), PY3(*), PY4(*),
113 . PY5(*), PY6(*), PY7(*), PY8(*),
114 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
115 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
116 . PXY1(*),PXY2(*),PXY3(*),PXY4(*),
117 . PXY5(*),PXY6(*),PXY7(*),PXY8(*),
118 . PYX1(*),PYX2(*),PYX3(*),PYX4(*),
119 . PYX5(*),PYX6(*),PYX7(*),PYX8(*),
120 . PXZ1(*),PXZ2(*),PXZ3(*),PXZ4(*),
121 . PXZ5(*),PXZ6(*),PXZ7(*),PXZ8(*),
122 . PZX1(*),PZX2(*),PZX3(*),PZX4(*),
123 . PZX5(*),PZX6(*),PZX7(*),PZX8(*),
124 . PYZ1(*),PYZ2(*),PYZ3(*),PYZ4(*),
125 . PYZ5(*),PYZ6(*),PYZ7(*),PYZ8(*),
126 . PZY1(*),PZY2(*),PZY3(*),PZY4(*),
127 . PZY5(*),PZY6(*),PZY7(*),PZY8(*),
128 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
129 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
130 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
131 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
132 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
133 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
134 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
135 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
136 . BYZ1(*),BYZ2(*),BYZ3(*),BYZ4(*),
137 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
138 . BZY1(*),BZY2(*),BZY3(*),BZY4(*),
139 . BZY5(*),BZY6(*),BZY7(*),BZY8(*),
140 . CJ1(*),CJ2(*),CJ3(*),
141 . CJ4(*),CJ5(*),CJ6(*),
142 . CJ7(*),CJ8(*),CJ9(*),
143 . HX(MVSIZ,4), HY(MVSIZ,4), HZ(MVSIZ,4),
144 . jac1(*),jac2(*),jac3(*),
145 . jac4(*),jac5(*),jac6(*),
146 . jaci1(mvsiz), jaci2(mvsiz), jaci3(mvsiz),
147 . jaci4(mvsiz), jaci5(mvsiz), jaci6(mvsiz),
148 . jaci7(mvsiz), jaci8(mvsiz), jaci9(mvsiz),
149 . smax(*),deltax(*),nu(*)
150 DOUBLE PRECISION
151 . VOLDP(MVSIZ)
152C-----------------------------------------------
153C L o c a l V a r i a b l e s
154C-----------------------------------------------
155 INTEGER NGL(*), I, J ,ICOR,ep
156C REAL
157C 12
158 my_real
159 . NU1(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
167C-----------------------------------------------
168C------repeating but no memory
169 DO I=1,nel
170 jac1(i)=cj1(i)+hx(i,3)*eta+(hx(i,2)+hx(i,4)*eta)*zeta
171 jac2(i)=cj2(i)+hy(i,3)*eta+(hy(i,2)+hy(i,4)*eta)*zeta
172 jac3(i)=cj3(i)+hz(i,3)*eta+(hz(i,2)+hz(i,4)*eta)*zeta
173C
174 jac4(i)=cj4(i)+hx(i,1)*zeta+(hx(i,3)+hx(i,4)*zeta)*ksi
175 jac5(i)=cj5(i)+hy(i,1)*zeta+(hy(i,3)+hy(i,4)*zeta)*ksi
176 jac6(i)=cj6(i)+hz(i,1)*zeta+(hz(i,3)+hz(i,4)*zeta)*ksi
177 ENDDO
178C------ICP= 0 : Bindeman&Belytschko assumed strain
179C------ICP= 1 : fast assumed volumic strain for the laws(elastoplastic)P=f(rho,rho0)
180C------ICP= 11 : EAD nominal assumed strain for the incmpressible laws(hyperelastic)P/=f(rho,rho0)
181C
182 DO i=1,nel
183 nu1(i) = nu(i)/(one - nu(i))
184 off(i) = offg(i)
185 ENDDO
186 f1 = eta*zeta
187 f2 = ksi*zeta
188 f3 = ksi*eta
189 DO i=1,nel
190 d1x(i)=jaci3(i)*eta +jaci2(i)*zeta
191 d2x(i)=jaci1(i)*zeta +jaci3(i)*ksi
192 d3x(i)=jaci2(i)*ksi +jaci1(i)*eta
193 d4x(i)=jaci1(i)*f1+jaci2(i)*f2+jaci3(i)*f3
194C
195 d1y(i)=jaci6(i)*eta +jaci5(i)*zeta
196 d2y(i)=jaci4(i)*zeta +jaci6(i)*ksi
197 d3y(i)=jaci5(i)*ksi +jaci4(i)*eta
198 d4y(i)=jaci4(i)*f1+jaci5(i)*f2+jaci6(i)*f3
199C
200 d1z(i)=jaci9(i)*eta +jaci8(i)*zeta
201 d2z(i)=jaci7(i)*zeta +jaci9(i)*ksi
202 d3z(i)=jaci8(i)*ksi +jaci7(i)*eta
203 d4z(i)=jaci7(i)*f1+jaci8(i)*f2+jaci9(i)*f3
204 ENDDO
205C-------Node 1,7-----
206 DO i=1,nel
207 xg1(i) = px1h1(i)*d1x(i)
208 xg2(i) = px1h2(i)*d2x(i)
209 xg3(i) = px1h3(i)*d3x(i)
210 xg4(i) = px1h4(i)*d4x(i)
211 yg1(i) = px1h1(i)*d1y(i)
212 yg2(i) = px1h2(i)*d2y(i)
213 yg3(i) = px1h3(i)*d3y(i)
214 yg4(i) = px1h4(i)*d4y(i)
215 zg1(i) = px1h1(i)*d1z(i)
216 zg2(i) = px1h2(i)*d2z(i)
217 zg3(i) = px1h3(i)*d3z(i)
218 zg4(i) = px1h4(i)*d4z(i)
219 ENDDO
220C
221 DO i=1,nel
222 xs =d1x(i)+d2x(i)+d3x(i)
223 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc1(i)
224 px1(i)=xs-xas
225 px7(i)=xs+xas
226 ys =d1y(i)+d2y(i)+d3y(i)
227 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc1(i)
228 py1(i)=ys-yas
229 py7(i)=ys+yas
230 zs =d1z(i)+d2z(i)+d3z(i)
231 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc1(i)
232 pz1(i)=zs-zas
233 pz7(i)=zs+zas
234C
235 ys =d1y(i)+d2y(i)
236 yas =yg1(i)+yg2(i)-pyc1(i)
237 pxy1(i)=ys-yas
238 pxy7(i)=ys+yas
239 xs =d1x(i)+d2x(i)
240 xas =xg1(i)+xg2(i)-pxc1(i)
241 pyx1(i)=xs-xas
242 pyx7(i)=xs+xas
243 zs =d1z(i)+d3z(i)
244 zas =zg1(i)+zg3(i)-pzc1(i)
245 pxz1(i)=zs-zas
246 pxz7(i)=zs+zas
247 xs =d1x(i)+d3x(i)
248 xas =xg1(i)+xg3(i)-pxc1(i)
249 pzx1(i)=xs-xas
250 pzx7(i)=xs+xas
251 zs =d2z(i)+d3z(i)
252 zas =zg2(i)+zg3(i)-pzc1(i)
253 pyz1(i)=zs-zas
254 pyz7(i)=zs+zas
255 ys =d2y(i)+d3y(i)
256 yas =yg2(i)+yg3(i)-pyc1(i)
257 pzy1(i)=ys-yas
258 pzy7(i)=ys+yas
259 ENDDO
260C
261 IF (icp /= 1 .AND. icp /= 11) THEN
262 DO i=1,nel
263 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
264 xas =-nu1(i)*xg3(i)+cas
265 bxy1(i)=-xas
266 bxy7(i)=xas
267 xas =-nu1(i)*xg2(i)+cas
268 bxz1(i)=-xas
269 bxz7(i)=xas
270 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
271 yas =-nu1(i)*yg3(i)+cas
272 byx1(i)=-yas
273 byx7(i)=yas
274 yas =-nu1(i)*yg1(i)+cas
275 byz1(i)=-yas
276 byz7(i)=yas
277 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
278 zas =-nu1(i)*zg2(i)+cas
279 bzx1(i)=-zas
280 bzx7(i)=zas
281 zas =-nu1(i)*zg1(i)+cas
282 bzy1(i)=-zas
283 bzy7(i)=zas
284 ENDDO
285 ENDIF
286C-------Node 2,8-----
287 DO i=1,nel
288 xg1(i) = px2h1(i)*d1x(i)
289 xg2(i) = px2h2(i)*d2x(i)
290 xg3(i) = px2h3(i)*d3x(i)
291 xg4(i) = px2h4(i)*d4x(i)
292 yg1(i) = px2h1(i)*d1y(i)
293 yg2(i) = px2h2(i)*d2y(i)
294 yg3(i) = px2h3(i)*d3y(i)
295 yg4(i) = px2h4(i)*d4y(i)
296 zg1(i) = px2h1(i)*d1z(i)
297 zg2(i) = px2h2(i)*d2z(i)
298 zg3(i) = px2h3(i)*d3z(i)
299 zg4(i) = px2h4(i)*d4z(i)
300 ENDDO
301C
302 DO i=1,nel
303 xs =d1x(i)-d2x(i)-d3x(i)
304 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc2(i)
305 px2(i)=xs-xas
306 px8(i)=xs+xas
307 ys =d1y(i)-d2y(i)-d3y(i)
308 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc2(i)
309 py2(i)=ys-yas
310 py8(i)=ys+yas
311 zs =d1z(i)-d2z(i)-d3z(i)
312 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc2(i)
313 pz2(i)=zs-zas
314 pz8(i)=zs+zas
315C
316 ys =d1y(i)-d2y(i)
317 yas =yg1(i)+yg2(i)-pyc2(i)
318 pxy2(i)=ys-yas
319 pxy8(i)=ys+yas
320 xs =d1x(i)-d2x(i)
321 xas =xg1(i)+xg2(i)-pxc2(i)
322 pyx2(i)=xs-xas
323 pyx8(i)=xs+xas
324 zs =d1z(i)-d3z(i)
325 zas =zg1(i)+zg3(i)-pzc2(i)
326 pxz2(i)=zs-zas
327 pxz8(i)=zs+zas
328 xs =d1x(i)-d3x(i)
329 xas =xg1(i)+xg3(i)-pxc2(i)
330 pzx2(i)=xs-xas
331 pzx8(i)=xs+xas
332 zs =-d2z(i)-d3z(i)
333 zas =zg2(i)+zg3(i)-pzc2(i)
334 pyz2(i)=zs-zas
335 pyz8(i)=zs+zas
336 ys =-d2y(i)-d3y(i)
337 yas =yg2(i)+yg3(i)-pyc2(i)
338 pzy2(i)=ys-yas
339 pzy8(i)=ys+yas
340 ENDDO
341C
342 IF (icp /= 1 .AND. icp /= 11) THEN
343 DO i=1,nel
344 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
345 xas =-nu1(i)*xg3(i)+cas
346 bxy2(i)=-xas
347 bxy8(i)=xas
348 xas =-nu1(i)*xg2(i)+cas
349 bxz2(i)=-xas
350 bxz8(i)=xas
351 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
352 yas =-nu1(i)*yg3(i)+cas
353 byx2(i)=-yas
354 byx8(i)=yas
355 yas =-nu1(i)*yg1(i)+cas
356 byz2(i)=-yas
357 byz8(i)=yas
358 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
359 zas =-nu1(i)*zg2(i)+cas
360 bzx2(i)=-zas
361 bzx8(i)=zas
362 zas =-nu1(i)*zg1(i)+cas
363 bzy2(i)=-zas
364 bzy8(i)=zas
365 ENDDO
366 ENDIF
367C
368C-------Node 3,5-----
369 DO i=1,nel
370 xg1(i) = px3h1(i)*d1x(i)
371 xg2(i) = px3h2(i)*d2x(i)
372 xg3(i) = px3h3(i)*d3x(i)
373 xg4(i) = px3h4(i)*d4x(i)
374 yg1(i) = px3h1(i)*d1y(i)
375 yg2(i) = px3h2(i)*d2y(i)
376 yg3(i) = px3h3(i)*d3y(i)
377 yg4(i) = px3h4(i)*d4y(i)
378 zg1(i) = px3h1(i)*d1z(i)
379 zg2(i) = px3h2(i)*d2z(i)
380 zg3(i) = px3h3(i)*d3z(i)
381 zg4(i) = px3h4(i)*d4z(i)
382 ENDDO
383C
384 DO i=1,nel
385 xs =-d1x(i)-d2x(i)+d3x(i)
386 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc3(i)
387 px3(i)=xs-xas
388 px5(i)=xs+xas
389 ys =-d1y(i)-d2y(i)+d3y(i)
390 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc3(i)
391 py3(i)=ys-yas
392 py5(i)=ys+yas
393 zs =-d1z(i)-d2z(i)+d3z(i)
394 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc3(i)
395 pz3(i)=zs-zas
396 pz5(i)=zs+zas
397C
398 ys =-d1y(i)-d2y(i)
399 yas =yg1(i)+yg2(i)-pyc3(i)
400 pxy3(i)=ys-yas
401 pxy5(i)=ys+yas
402 xs =-d1x(i)-d2x(i)
403 xas =xg1(i)+xg2(i)-pxc3(i)
404 pyx3(i)=xs-xas
405 pyx5(i)=xs+xas
406 zs =-d1z(i)+d3z(i)
407 zas =zg1(i)+zg3(i)-pzc3(i)
408 pxz3(i)=zs-zas
409 pxz5(i)=zs+zas
410 xs =-d1x(i)+d3x(i)
411 xas =xg1(i)+xg3(i)-pxc3(i)
412 pzx3(i)=xs-xas
413 pzx5(i)=xs+xas
414 zs =-d2z(i)+d3z(i)
415 zas =zg2(i)+zg3(i)-pzc3(i)
416 pyz3(i)=zs-zas
417 pyz5(i)=zs+zas
418 ys =-d2y(i)+d3y(i)
419 yas =yg2(i)+yg3(i)-pyc3(i)
420 pzy3(i)=ys-yas
421 pzy5(i)=ys+yas
422 ENDDO
423C
424 IF (icp /= 1 .AND. icp /= 11) THEN
425 DO i=1,nel
426 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
427 xas =-nu1(i)*xg3(i)+cas
428 bxy3(i)=-xas
429 bxy5(i)=xas
430 xas =-nu1(i)*xg2(i)+cas
431 bxz3(i)=-xas
432 bxz5(i)=xas
433 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
434 yas =-nu1(i)*yg3(i)+cas
435 byx3(i)=-yas
436 byx5(i)=yas
437 yas =-nu1(i)*yg1(i)+cas
438 byz3(i)=-yas
439 byz5(i)=yas
440 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
441 zas =-nu1(i)*zg2(i)+cas
442 bzx3(i)=-zas
443 bzx5(i)=zas
444 zas =-nu1(i)*zg1(i)+cas
445 bzy3(i)=-zas
446 bzy5(i)=zas
447 ENDDO
448 ENDIF
449C-------Node 4,6-----
450 DO i=1,nel
451 xg1(i) = px4h1(i)*d1x(i)
452 xg2(i) = px4h2(i)*d2x(i)
453 xg3(i) = px4h3(i)*d3x(i)
454 xg4(i) = px4h4(i)*d4x(i)
455 yg1(i) = px4h1(i)*d1y(i)
456 yg2(i) = px4h2(i)*d2y(i)
457 yg3(i) = px4h3(i)*d3y(i)
458 yg4(i) = px4h4(i)*d4y(i)
459 zg1(i) = px4h1(i)*d1z(i)
460 zg2(i) = px4h2(i)*d2z(i)
461 zg3(i) = px4h3(i)*d3z(i)
462 zg4(i) = px4h4(i)*d4z(i)
463 ENDDO
464C
465 DO i=1,nel
466 xs =-d1x(i)+d2x(i)-d3x(i)
467 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc4(i)
468 px4(i)=xs-xas
469 px6(i)=xs+xas
470 ys =-d1y(i)+d2y(i)-d3y(i)
471 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc4(i)
472 py4(i)=ys-yas
473 py6(i)=ys+yas
474 zs =-d1z(i)+d2z(i)-d3z(i)
475 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc4(i)
476 pz4(i)=zs-zas
477 pz6(i)=zs+zas
478C
479 ys =-d1y(i)+d2y(i)
480 yas =yg1(i)+yg2(i)-pyc4(i)
481 pxy4(i)=ys-yas
482 pxy6(i)=ys+yas
483 xs =-d1x(i)+d2x(i)
484 xas =xg1(i)+xg2(i)-pxc4(i)
485 pyx4(i)=xs-xas
486 pyx6(i)=xs+xas
487 zs =-d1z(i)-d3z(i)
488 zas =zg1(i)+zg3(i)-pzc4(i)
489 pxz4(i)=zs-zas
490 pxz6(i)=zs+zas
491 xs =-d1x(i)-d3x(i)
492 xas =xg1(i)+xg3(i)-pxc4(i)
493 pzx4(i)=xs-xas
494 pzx6(i)=xs+xas
495 zs =d2z(i)-d3z(i)
496 zas =zg2(i)+zg3(i)-pzc4(i)
497 pyz4(i)=zs-zas
498 pyz6(i)=zs+zas
499 ys =d2y(i)-d3y(i)
500 yas =yg2(i)+yg3(i)-pyc4(i)
501 pzy4(i)=ys-yas
502 pzy6(i)=ys+yas
503 ENDDO
504C
505 IF (icp /= 1 .AND. icp /= 11) THEN
506 DO i=1,nel
507 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
508 xas =-nu1(i)*xg3(i)+cas
509 bxy4(i)=-xas
510 bxy6(i)=xas
511 xas =-nu1(i)*xg2(i)+cas
512 bxz4(i)=-xas
513 bxz6(i)=xas
514 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
515 yas =-nu1(i)*yg3(i)+cas
516 byx4(i)=-yas
517 byx6(i)=yas
518 yas =-nu1(i)*yg1(i)+cas
519 byz4(i)=-yas
520 byz6(i)=yas
521 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
522 zas =-nu1(i)*zg2(i)+cas
523 bzx4(i)=-zas
524 bzx6(i)=zas
525 zas =-nu1(i)*zg1(i)+cas
526 bzy4(i)=-zas
527 bzy6(i)=zas
528 ENDDO
529C
530 DO i=1,nel
531 cs =-nu(i)*d1x(i)
532 xs =-nu1(i)*d3x(i)
533 bxy1(i)=bxy1(i)+cs+xs
534 bxy2(i)=bxy2(i)+cs-xs
535 bxy3(i)=bxy3(i)-cs+xs
536 bxy4(i)=bxy4(i)-cs-xs
537 bxy5(i)=bxy5(i)-cs+xs
538 bxy6(i)=bxy6(i)-cs-xs
539 bxy7(i)=bxy7(i)+cs+xs
540 bxy8(i)=bxy8(i)+cs-xs
541 xs =-nu1(i)*d2x(i)
542 bxz1(i)=bxz1(i)+cs+xs
543 bxz2(i)=bxz2(i)+cs-xs
544 bxz3(i)=bxz3(i)-cs-xs
545 bxz4(i)=bxz4(i)-cs+xs
546 bxz5(i)=bxz5(i)-cs-xs
547 bxz6(i)=bxz6(i)-cs+xs
548 bxz7(i)=bxz7(i)+cs+xs
549 bxz8(i)=bxz8(i)+cs-xs
550 ENDDO
551 DO i=1,nel
552 cs =-nu(i)*d2y(i)
553 ys =-nu1(i)*d3y(i)
554 byx1(i)=byx1(i)+cs+ys
555 byx2(i)=byx2(i)-cs-ys
556 byx3(i)=byx3(i)-cs+ys
557 byx4(i)=byx4(i)+cs-ys
558 byx5(i)=byx5(i)-cs+ys
559 byx6(i)=byx6(i)+cs-ys
560 byx7(i)=byx7(i)+cs+ys
561 byx8(i)=byx8(i)-cs-ys
562 ys =-nu1(i)*d1y(i)
563 byz1(i)=byz1(i)+cs+ys
564 byz2(i)=byz2(i)-cs+ys
565 byz3(i)=byz3(i)-cs-ys
566 byz4(i)=byz4(i)+cs-ys
567 byz5(i)=byz5(i)-cs-ys
568 byz6(i)=byz6(i)+cs-ys
569 byz7(i)=byz7(i)+cs+ys
570 byz8(i)=byz8(i)-cs+ys
571 ENDDO
572 DO i=1,nel
573 cs =-nu(i)*d3z(i)
574 zs =-nu1(i)*d2z(i)
575 bzx1(i)=bzx1(i)+cs+zs
576 bzx2(i)=bzx2(i)-cs-zs
577 bzx3(i)=bzx3(i)+cs-zs
578 bzx4(i)=bzx4(i)-cs+zs
579 bzx5(i)=bzx5(i)+cs-zs
580 bzx6(i)=bzx6(i)-cs+zs
581 bzx7(i)=bzx7(i)+cs+zs
582 bzx8(i)=bzx8(i)-cs-zs
583 zs =-nu1(i)*d1z(i)
584 bzy1(i)=bzy1(i)+cs+zs
585 bzy2(i)=bzy2(i)-cs+zs
586 bzy3(i)=bzy3(i)+cs-zs
587 bzy4(i)=bzy4(i)-cs-zs
588 bzy5(i)=bzy5(i)+cs-zs
589 bzy6(i)=bzy6(i)-cs-zs
590 bzy7(i)=bzy7(i)+cs+zs
591 bzy8(i)=bzy8(i)-cs+zs
592 ENDDO
593 ENDIF
594 DO i=1,nel
595 off(i) = offg(i)
596 vol(i) = voldp(i)
597 ENDDO
598 IF (idts6==0) THEN
599 DO i=1,nel
600 deltax(i)=min(deltax(i),hundred28*vol(i)*smax(i)/wi)
601 ENDDO
602 ELSE
603 DO i=1,nel
604 IF (ideg(i)==0) deltax(i)=min(deltax(i),hundred28*vol(i)*smax(i)/wi)
605 ENDDO
606 END IF
607C
608 IF ((impl_s >0.AND.jhbe /= 14.AND.jhbe < 20).OR.
609 . ((ismstr==10.OR.ismstr==12).AND.
610 . (icp==1.OR.icp==11.OR.mtn==99.OR.mtn==1).AND.jhbe==14)) THEN
611 DO i=1,nel
612 pxy1(i)=py1(i)
613 pxy2(i)=py2(i)
614 pxy3(i)=py3(i)
615 pxy4(i)=py4(i)
616 pxy5(i)=py5(i)
617 pxy6(i)=py6(i)
618 pxy7(i)=py7(i)
619 pxy8(i)=py8(i)
620C
621 pyx1(i)=px1(i)
622 pyx2(i)=px2(i)
623 pyx3(i)=px3(i)
624 pyx4(i)=px4(i)
625 pyx5(i)=px5(i)
626 pyx6(i)=px6(i)
627 pyx7(i)=px7(i)
628 pyx8(i)=px8(i)
629 ENDDO
630 DO i=1,nel
631 pyz1(i)=pz1(i)
632 pyz2(i)=pz2(i)
633 pyz3(i)=pz3(i)
634 pyz4(i)=pz4(i)
635 pyz5(i)=pz5(i)
636 pyz6(i)=pz6(i)
637 pyz7(i)=pz7(i)
638 pyz8(i)=pz8(i)
639C
640 pzy1(i)=py1(i)
641 pzy2(i)=py2(i)
642 pzy3(i)=py3(i)
643 pzy4(i)=py4(i)
644 pzy5(i)=py5(i)
645 pzy6(i)=py6(i)
646 pzy7(i)=py7(i)
647 pzy8(i)=py8(i)
648 ENDDO
649 DO i=1,nel
650 pxz1(i)=pz1(i)
651 pxz2(i)=pz2(i)
652 pxz3(i)=pz3(i)
653 pxz4(i)=pz4(i)
654 pxz5(i)=pz5(i)
655 pxz6(i)=pz6(i)
656 pxz7(i)=pz7(i)
657 pxz8(i)=pz8(i)
658C
659 pzx1(i)=px1(i)
660 pzx2(i)=px2(i)
661 pzx3(i)=px3(i)
662 pzx4(i)=px4(i)
663 pzx5(i)=px5(i)
664 pzx6(i)=px6(i)
665 pzx7(i)=px7(i)
666 pzx8(i)=px8(i)
667 ENDDO
668 ENDIF
669 IF ((ismstr==10.OR.ismstr==12).AND.mtn==1.AND.jhbe==14.AND.
670 . (icp/=1.AND.icp/=11)) THEN
671 DO i=1,nel
672 bxy1(i)=zero
673 bxz1(i)=zero
674 byx1(i)=zero
675 byz1(i)=zero
676 bzx1(i)=zero
677 bzy1(i)=zero
678 bxy2(i)=zero
679 bxz2(i)=zero
680 byx2(i)=zero
681 byz2(i)=zero
682 bzx2(i)=zero
683 bzy2(i)=zero
684 bxy3(i)=zero
685 bxz3(i)=zero
686 byx3(i)=zero
687 byz3(i)=zero
688 bzx3(i)=zero
689 bzy3(i)=zero
690 bxy4(i)=zero
691 bxz4(i)=zero
692 byx4(i)=zero
693 byz4(i)=zero
694 bzx4(i)=zero
695 bzy4(i)=zero
696 bxy5(i)=zero
697 bxz5(i)=zero
698 byx5(i)=zero
699 byz5(i)=zero
700 bzx5(i)=zero
701 bzy5(i)=zero
702 bxy6(i)=zero
703 bxz6(i)=zero
704 byx6(i)=zero
705 byz6(i)=zero
706 bzx6(i)=zero
707 bzy6(i)=zero
708 bxy7(i)=zero
709 bxz7(i)=zero
710 byx7(i)=zero
711 byz7(i)=zero
712 bzx7(i)=zero
713 bzy7(i)=zero
714 bxy8(i)=zero
715 bxz8(i)=zero
716 byx8(i)=zero
717 byz8(i)=zero
718 bzx8(i)=zero
719 bzy8(i)=zero
720 ENDDO
721 ENDIF
722C-----------for the imcompressible laws
723C-------|BXX BYX BZX |
724C-------|BXY BYY BZY | same than H8A
725C-------|BXZ BYZ BZZ |
726 IF (icp==11) THEN
727 DO i=1,nel
728 bxhi=third*(px1(i)-pxc1(i))
729 byhi=third*(py1(i)-pyc1(i))
730 bzhi=third*(pz1(i)-pzc1(i))
731 px1(i)=pxc1(i)+two*bxhi
732 py1(i)=pyc1(i)+two*byhi
733 pz1(i)=pzc1(i)+two*bzhi
734 bxy1(i)=-bxhi
735 bxz1(i)=-bxhi
736 byx1(i)=-byhi
737 byz1(i)=-byhi
738 bzx1(i)=-bzhi
739 bzy1(i)=-bzhi
740 ENDDO
741 DO i=1,nel
742 bxhi=third*(px2(i)-pxc2(i))
743 byhi=third*(py2(i)-pyc2(i))
744 bzhi=third*(pz2(i)-pzc2(i))
745 px2(i)=pxc2(i)+two*bxhi
746 py2(i)=pyc2(i)+two*byhi
747 pz2(i)=pzc2(i)+two*bzhi
748 bxy2(i)=-bxhi
749 bxz2(i)=-bxhi
750 byx2(i)=-byhi
751 byz2(i)=-byhi
752 bzx2(i)=-bzhi
753 bzy2(i)=-bzhi
754 ENDDO
755 DO i=1,nel
756 bxhi=third*(px3(i)-pxc3(i))
757 byhi=third*(py3(i)-pyc3(i))
758 bzhi=third*(pz3(i)-pzc3(i))
759 px3(i)=pxc3(i)+two*bxhi
760 py3(i)=pyc3(i)+two*byhi
761 pz3(i)=pzc3(i)+two*bzhi
762 bxy3(i)=-bxhi
763 bxz3(i)=-bxhi
764 byx3(i)=-byhi
765 byz3(i)=-byhi
766 bzx3(i)=-bzhi
767 bzy3(i)=-bzhi
768 ENDDO
769 DO i=1,nel
770 bxhi=third*(px4(i)-pxc4(i))
771 byhi=third*(py4(i)-pyc4(i))
772 bzhi=third*(pz4(i)-pzc4(i))
773 px4(i)=pxc4(i)+two*bxhi
774 py4(i)=pyc4(i)+two*byhi
775 pz4(i)=pzc4(i)+two*bzhi
776 bxy4(i)=-bxhi
777 bxz4(i)=-bxhi
778 byx4(i)=-byhi
779 byz4(i)=-byhi
780 bzx4(i)=-bzhi
781 bzy4(i)=-bzhi
782 ENDDO
783 DO i=1,nel
784 bxhi=third*(px5(i)+pxc3(i))
785 byhi=third*(py5(i)+pyc3(i))
786 bzhi=third*(pz5(i)+pzc3(i))
787 px5(i)=-pxc3(i)+two*bxhi
788 py5(i)=-pyc3(i)+two*byhi
789 pz5(i)=-pzc3(i)+two*bzhi
790 bxy5(i)=-bxhi
791 bxz5(i)=-bxhi
792 byx5(i)=-byhi
793 byz5(i)=-byhi
794 bzx5(i)=-bzhi
795 bzy5(i)=-bzhi
796 ENDDO
797 DO i=1,nel
798 bxhi=third*(px6(i)+pxc4(i))
799 byhi=third*(py6(i)+pyc4(i))
800 bzhi=third*(pz6(i)+pzc4(i))
801 px6(i)=-pxc4(i)+two*bxhi
802 py6(i)=-pyc4(i)+two*byhi
803 pz6(i)=-pzc4(i)+two*bzhi
804 bxy6(i)=-bxhi
805 bxz6(i)=-bxhi
806 byx6(i)=-byhi
807 byz6(i)=-byhi
808 bzx6(i)=-bzhi
809 bzy6(i)=-bzhi
810 ENDDO
811 DO i=1,nel
812 bxhi=third*(px7(i)+pxc1(i))
813 byhi=third*(py7(i)+pyc1(i))
814 bzhi=third*(pz7(i)+pzc1(i))
815 px7(i)=-pxc1(i)+two*bxhi
816 py7(i)=-pyc1(i)+two*byhi
817 pz7(i)=-pzc1(i)+two*bzhi
818 bxy7(i)=-bxhi
819 bxz7(i)=-bxhi
820 byx7(i)=-byhi
821 byz7(i)=-byhi
822 bzx7(i)=-bzhi
823 bzy7(i)=-bzhi
824 ENDDO
825 DO i=1,nel
826 bxhi=third*(px8(i)+pxc2(i))
827 byhi=third*(py8(i)+pyc2(i))
828 bzhi=third*(pz8(i)+pzc2(i))
829 px8(i)=-pxc2(i)+two*bxhi
830 py8(i)=-pyc2(i)+two*byhi
831 pz8(i)=-pzc2(i)+two*bzhi
832 bxy8(i)=-bxhi
833 bxz8(i)=-bxhi
834 byx8(i)=-byhi
835 byz8(i)=-byhi
836 bzx8(i)=-bzhi
837 bzy8(i)=-bzhi
838 ENDDO
839 ENDIF
840C
841 RETURN
842 END
#define min(a, b)
Definition macros.h:20
subroutine s8zderim3(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, 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, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, smax, deltax, nu, icp, ideg, voldp, nel, mtn, ismstr, jhbe)
Definition s8zderim3.F:78
subroutine s8zforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, jfac, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8zforc3.F:123