OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sdlen3.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!|| sdlen3 ../engine/source/elements/solid/solide/sdlen3.f
25!||--- called by ------------------------------------------------------
26!|| s6cforc3 ../engine/source/elements/thickshell/solide6c/s6cforc3.F
27!|| scforc3 ../engine/source/elements/thickshell/solidec/scforc3.F
28!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
29!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
30!||--- calls -----------------------------------------------------
31!|| sldege ../engine/source/elements/solid/solide/sldege.F
32!|| slen ../engine/source/elements/solid/solide/slen.F
33!|| slena ../engine/source/elements/solid/solide/slena.F
34!||--- uses -----------------------------------------------------
35!|| ale_mod ../common_source/modules/ale/ale_mod.F
36!||====================================================================
37 SUBROUTINE sdlen3(
38 1 VOLN, DELTAX, X1, X2,
39 2 X3, X4, X5, X6,
40 3 X7, X8, Y1, Y2,
41 4 Y3, Y4, Y5, Y6,
42 5 Y7, Y8, Z1, Z2,
43 6 Z3, Z4, Z5, Z6,
44 7 Z7, Z8, N1X, N2X,
45 8 N3X, N4X, N5X, N6X,
46 9 N1Y, N2Y, N3Y, N4Y,
47 A N5Y, N6Y, N1Z, N2Z,
48 B N3Z, N4Z, N5Z, N6Z,
49 C NEL, MTN, JALE, JEUL)
50C-----------------------------------------------
51C M o d u l e s
52C-----------------------------------------------
53 USE ale_mod
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C G l o b a l P a r a m e t e r s
60C-----------------------------------------------
61#include "mvsiz_p.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER, INTENT(IN) :: NEL
66 INTEGER, INTENT(IN) :: MTN
67 INTEGER, INTENT(IN) :: JALE
68 INTEGER, INTENT(IN) :: JEUL
69 my_real
70 . VOLN(*),DELTAX(*),
71 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
72 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
73 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
74 . N1X(*), N2X(*), N3X(*), N4X(*), N5X(*), N6X(*),
75 . N1Y(*), N2Y(*), N3Y(*), N4Y(*), N5Y(*), N6Y(*),
76 . N1Z(*), N2Z(*), N3Z(*), N4Z(*), N5Z(*), N6Z(*)
77C-----------------------------------------------
78C C o m m o n B l o c k s
79C-----------------------------------------------
80#include "scr17_c.inc"
81C-----------------------------------------------
82C L o c a l V a r i a b l e s
83C-----------------------------------------------
84 INTEGER I, NFAC
85 my_real XIOFF(MVSIZ), AREAM(MVSIZ), ATEST(MVSIZ), AREA(MVSIZ,6)
86C-----------------------------------------------
87 DO I=1,nel
88 xioff(i) = one
89 aream(i) = em20
90 ENDDO
91
92 IF((ale%GLOBAL%ICAA==1 .OR. ale%GLOBAL%ISFINT>=2) .AND. jale+jeul/=0)THEN
93 CALL slena(
94 1 n1x, n2x, n3x, n4x,
95 2 n5x, n6x, n1y, n2y,
96 3 n3y, n4y, n5y, n6y,
97 4 n1z, n2z, n3z, n4z,
98 5 n5z, n6z, x1, x2,
99 6 x3, x4, x5, x6,
100 7 x7, x8, y1, y2,
101 8 y3, y4, y5, y6,
102 9 y7, y8, z1, z2,
103 a z3, z4, z5, z6,
104 b z7, z8, aream, nel)
105 DO i=1,nel
106 deltax(i)=two*voln(i)*xioff(i)/sqrt(aream(i))
107 ENDDO
108 ELSE
109 CALL slen(
110 1 x1, x2, x3, x4,
111 2 y1, y2, y3, y4,
112 3 z1, z2, z3, z4,
113 4 1, area, aream, nel)
114 CALL slen(
115 1 x5, x6, x7, x8,
116 2 y5, y6, y7, y8,
117 3 z5, z6, z7, z8,
118 4 2, area, aream, nel)
119 CALL slen(
120 1 x1, x2, x6, x5,
121 2 y1, y2, y6, y5,
122 3 z1, z2, z6, z5,
123 4 3, area, aream, nel)
124 CALL slen(
125 1 x2, x3, x7, x6,
126 2 y2, y3, y7, y6,
127 3 z2, z3, z7, z6,
128 4 4, area, aream, nel)
129 CALL slen(
130 1 x3, x4, x8, x7,
131 2 y3, y4, y8, y7,
132 3 z3, z4, z8, z7,
133 4 5, area, aream, nel)
134 CALL slen(
135 1 x4, x1, x5, x8,
136 2 y4, y1, y5, y8,
137 3 z4, z1, z5, z8,
138 4 6, area, aream, nel)
139 IF (idts6>0) THEN
140 CALL sldege(
141 1 x1, x2, x3, x4,
142 2 x5, x6, x7, x8,
143 3 y1, y2, y3, y4,
144 4 y5, y6, y7, y8,
145 5 z1, z2, z3, z4,
146 6 z5, z6, z7, z8,
147 7 area, aream, voln, nel)
148 ENDIF
149 IF(mtn==5.OR.mtn==41)THEN
150 DO i=1,nel
151 atest(i)=em4*aream(i)
152 ENDDO
153 DO i=1,nel
154 nfac=0
155 IF(area(i,1)<atest(i)) nfac=nfac+1
156 IF(area(i,2)<atest(i)) nfac=nfac+1
157 IF(area(i,3)<atest(i)) nfac=nfac+1
158 IF(area(i,4)<atest(i)) nfac=nfac+1
159 IF(area(i,5)<atest(i)) nfac=nfac+1
160 IF(area(i,6)<atest(i)) nfac=nfac+1
161 IF(nfac>=3) xioff(i)=ep03
162 ENDDO
163 END IF
164 DO i=1,nel
165 deltax(i)=four*voln(i)*xioff(i)/sqrt(aream(i))
166 ENDDO
167 ENDIF
168C-----------------------------------------------
169 RETURN
170 END
subroutine sdlen3(voln, deltax, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel, mtn, jale, jeul)
Definition sdlen3.F:50
type(ale_) ale
Definition ale_mod.F:249
subroutine sldege(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, area, aream, volg, nel)
Definition sldege.F:40
subroutine slena(n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, aream, nel)
Definition slena.F:41
subroutine slen(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, j, area, aream)
Definition slen.F:31