OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sdlenmax.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!|| sdlenmax ../engine/source/elements/solid/solide/sdlenmax.F
25!||--- called by ------------------------------------------------------
26!|| s20forc3 ../engine/source/elements/solid/solide20/s20forc3.F
27!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
28!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
29!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
30!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
31!||====================================================================
32 SUBROUTINE sdlenmax(LM_MAX,
33 1 X1, X2, X3, X4,
34 2 X5, X6, X7, X8,
35 3 Y1, Y2, Y3, Y4,
36 4 Y5, Y6, Y7, Y8,
37 5 Z1, Z2, Z3, Z4,
38 6 Z5, Z6, Z7, Z8,
39 7 NEL)
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER, INTENT(IN) :: NEL
55 my_real, DIMENSION(MVSIZ) , INTENT(OUT) :: LM_MAX
56 my_real, DIMENSION(MVSIZ) , INTENT(IN) ::
57 . X1, X2, X3, X4, X5, X6, X7, X8,
58 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
59 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I, J, N
64 my_real
65 . RX, RY, RZ, SX, SY, SZ, TX, TY, TZ,NORM
66C=======================================================================
67 DO I=1,nel
68 rx = x1(i)+x2(i)+x5(i)+x6(i)-x3(i)-x4(i)-x7(i)-x8(i)
69 ry = y1(i)+y2(i)+y5(i)+y6(i)-y3(i)-y4(i)-y7(i)-y8(i)
70 rz = z1(i)+z2(i)+z5(i)+z6(i)-z3(i)-z4(i)-z7(i)-z8(i)
71 sx = x5(i)+x6(i)+x7(i)+x8(i)-x1(i)-x2(i)-x3(i)-x4(i)
72 sy = y5(i)+y6(i)+y7(i)+y8(i)-y1(i)-y2(i)-y3(i)-y4(i)
73 sz = z5(i)+z6(i)+z7(i)+z8(i)-z1(i)-z2(i)-z3(i)-z4(i)
74 tx = x3(i)+x2(i)+x7(i)+x6(i)-x1(i)-x4(i)-x5(i)-x8(i)
75 ty = y3(i)+y2(i)+y7(i)+y6(i)-y1(i)-y4(i)-y5(i)-y8(i)
76 tz = z3(i)+z2(i)+z7(i)+z6(i)-z1(i)-z4(i)-z5(i)-z8(i)
77 norm = rx*rx + ry*ry + rz*rz
78 lm_max(i) = norm
79 norm = sx*sx + sy*sy + sz*sz
80 lm_max(i) = max(lm_max(i),norm)
81 norm = tx*tx + ty*ty + tz*tz
82 lm_max(i) = max(lm_max(i),norm)
83 ENDDO
84 DO i=1,nel
85 lm_max(i) = fourth*sqrt(lm_max(i))
86 ENDDO
87C
88 RETURN
89 END
#define max(a, b)
Definition macros.h:21
subroutine sdlenmax(lm_max, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition sdlenmax.F:40