OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8ederi_bij.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!|| s8ederi_bij ../engine/source/elements/solid/solide8e/s8ederi_bij.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!||====================================================================
28 SUBROUTINE s8ederi_bij(
29 1 PX1, PX2, PX3, PX4,
30 2 PX5, PX6, PX7, PX8,
31 3 PY1, PY2, PY3, PY4,
32 4 PY5, PY6, PY7, PY8,
33 5 PZ1, PZ2, PZ3, PZ4,
34 6 PZ5, PZ6, PZ7, PZ8,
35 7 PXC1, PXC2, PXC3, PXC4,
36 8 PYC1, PYC2, PYC3, PYC4,
37 9 PZC1, PZC2, PZC3, PZC4,
38 A PXY1, PXY2, PXY3, PXY4,
39 B PXY5, PXY6, PXY7, PXY8,
40 C PYX1, PYX2, PYX3, PYX4,
41 D PYX5, PYX6, PYX7, PYX8,
42 E PXZ1, PXZ2, PXZ3, PXZ4,
43 F PXZ5, PXZ6, PXZ7, PXZ8,
44 G PZX1, PZX2, PZX3, PZX4,
45 H PZX5, PZX6, PZX7, PZX8,
46 I PYZ1, PYZ2, PYZ3, PYZ4,
47 J PYZ5, PYZ6, PYZ7, PYZ8,
48 K PZY1, PZY2, PZY3, PZY4,
49 L PZY5, PZY6, PZY7, PZY8,
50 M BXY1, BXY2, BXY3, BXY4,
51 N BXY5, BXY6, BXY7, BXY8,
52 O BYX1, BYX2, BYX3, BYX4,
53 P BYX5, BYX6, BYX7, BYX8,
54 Q BXZ1, BXZ2, BXZ3, BXZ4,
55 R BXZ5, BXZ6, BXZ7, BXZ8,
56 S BZX1, BZX2, BZX3, BZX4,
57 T BZX5, BZX6, BZX7, BZX8,
58 U BYZ1, BYZ2, BYZ3, BYZ4,
59 V BYZ5, BYZ6, BYZ7, BYZ8,
60 W BZY1, BZY2, BZY3, BZY4,
61 X BZY5, BZY6, BZY7, BZY8,
62 Y NU, NU1, NEL)
63C-----------------------------------------------
64C I m p l i c i t T y p e s
65C-----------------------------------------------
66#include "implicit_f.inc"
67C-----------------------------------------------
68C C o m m o n B l o c k s
69C-----------------------------------------------
70C-----------------------------------------------
71C D u m m y A r g u m e n t s
72C-----------------------------------------------
73 INTEGER, INTENT(IN) :: NEL
74C REAL
75 my_real
76 . PX1(*), PX2(*), PX3(*), PX4(*),
77 . PX5(*), PX6(*), PX7(*), PX8(*),
78 . PY1(*), PY2(*), PY3(*), PY4(*),
79 . PY5(*), PY6(*), PY7(*), PY8(*),
80 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
81 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
82 . PXY1(*),PXY2(*),PXY3(*),PXY4(*),
83 . PXY5(*),PXY6(*),PXY7(*),PXY8(*),
84 . PYX1(*),PYX2(*),PYX3(*),PYX4(*),
85 . PYX5(*),PYX6(*),PYX7(*),PYX8(*),
86 . PXZ1(*),PXZ2(*),PXZ3(*),PXZ4(*),
87 . PXZ5(*),PXZ6(*),PXZ7(*),PXZ8(*),
88 . PZX1(*),PZX2(*),PZX3(*),PZX4(*),
89 . PZX5(*),PZX6(*),PZX7(*),PZX8(*),
90 . PYZ1(*),PYZ2(*),PYZ3(*),PYZ4(*),
91 . PYZ5(*),PYZ6(*),PYZ7(*),PYZ8(*),
92 . PZY1(*),PZY2(*),PZY3(*),PZY4(*),
93 . PZY5(*),PZY6(*),PZY7(*),PZY8(*),
94 . PXC1(*), PXC2(*), PXC3(*), PXC4(*),
95 . PYC1(*), PYC2(*), PYC3(*), PYC4(*),
96 . PZC1(*), PZC2(*), PZC3(*), PZC4(*),
97 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
98 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
99 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
100 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
101 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
102 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
103 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
104 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
105 . BYZ1(*),BYZ2(*),BYZ3(*),BYZ4(*),
106 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
107 . bzy1(*),bzy2(*),bzy3(*),bzy4(*),
108 . bzy5(*),bzy6(*),bzy7(*),bzy8(*),
109 . nu(*) ,nu1(*)
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER I, J ,ICOR
114C REAL
115C 12
116 my_real
117 . X1,X3,Y1,Y2,Z2,Z3,X24,Y34,Z14
118C-----------------------------------------------
119C---PX_I=X1234_I+PXC_I; PYX_I=X23_I+PXC_I; PZX_I=X12_I+PXC_I
120C-----X2_I=0->X1_I = X12_I ; X3_I = X23_I X24_I =X1234_I-X1_I-X3_I
121C-----verifie valeur de X4_I otherwise to be calculated
122C---PY_I=Y1234_I+PYC_I; PXY_I=Y23_I+PYC_I; PZY_I=Y13_I+PYC_I
123C-----Y3_I=0->Y1_I = Y13_I ; Y2_I = Y23_I Y34_I =Y1234_I-Y1_I-Y2_I
124C---PZ_I=Z1234_I+PZC_I; PXZ_I=Z12_I+PZC_I; PYZ_I=Z13_I+PZC_I
125C-----Z1_I=0->Z2_I = Z12_I ; Z3_I = Z13_I Z14_I =Z1234_I-Z2_I-Z3_I
126C-------|0 BYX BZX |
127C-------|BXY 0 BZY | same than H8A
128C-------|BXZ BYZ 0 |
129C-BXY_I=-nu1*X1_I-nu*X24_I
130C-BXZ_I=-nu1*X3_I-nu*X24_I
131C-BYX_I=-nu1*Y1_I-nu*Y34_I
132C-BYZ_I=-nu1*Y2_I-nu*Y34_I
133C-BZX_I=-nu1*Z2_I-nu*Z14_I
134C-BZY_I=-nu1*Z3_I-nu*Z14_I
135 DO I=1,nel
136 x1 = pzx1(i)-pxc1(i)
137 x3 = pyx1(i)-pxc1(i)
138 y1 = pzy1(i)-pyc1(i)
139 y2 = pxy1(i)-pyc1(i)
140 z2 = pxz1(i)-pzc1(i)
141 z3 = pyz1(i)-pzc1(i)
142 x24= nu(i)*(px1(i)-pxc1(i)-x1-x3)
143 y34= nu(i)*(py1(i)-pyc1(i)-y1-y2)
144 z14= nu(i)*(pz1(i)-pzc1(i)-z2-z3)
145 bxy1(i)=-nu1(i)*x1-x24
146 bxz1(i)=-nu1(i)*x3-x24
147 byx1(i)=-nu1(i)*y1-y34
148 byz1(i)=-nu1(i)*y2-y34
149 bzx1(i)=-nu1(i)*z3-z14
150 bzy1(i)=-nu1(i)*z2-z14
151 ENDDO
152C
153 DO i=1,nel
154 x1 = pzx2(i)-pxc2(i)
155 x3 = pyx2(i)-pxc2(i)
156 y1 = pzy2(i)-pyc2(i)
157 y2 = pxy2(i)-pyc2(i)
158 z2 = pxz2(i)-pzc2(i)
159 z3 = pyz2(i)-pzc2(i)
160 x24= nu(i)*(px2(i)-pxc2(i)-x1-x3)
161 y34= nu(i)*(py2(i)-pyc2(i)-y1-y2)
162 z14= nu(i)*(pz2(i)-pzc2(i)-z2-z3)
163 bxy2(i)=-nu1(i)*x1-x24
164 bxz2(i)=-nu1(i)*x3-x24
165 byx2(i)=-nu1(i)*y1-y34
166 byz2(i)=-nu1(i)*y2-y34
167 bzx2(i)=-nu1(i)*z3-z14
168 bzy2(i)=-nu1(i)*z2-z14
169 ENDDO
170C
171 DO i=1,nel
172 x1 = pzx3(i)-pxc3(i)
173 x3 = pyx3(i)-pxc3(i)
174 y1 = pzy3(i)-pyc3(i)
175 y2 = pxy3(i)-pyc3(i)
176 z2 = pxz3(i)-pzc3(i)
177 z3 = pyz3(i)-pzc3(i)
178 x24= nu(i)*(px3(i)-pxc3(i)-x1-x3)
179 y34= nu(i)*(py3(i)-pyc3(i)-y1-y2)
180 z14= nu(i)*(pz3(i)-pzc3(i)-z2-z3)
181 bxy3(i)=-nu1(i)*x1-x24
182 bxz3(i)=-nu1(i)*x3-x24
183 byx3(i)=-nu1(i)*y1-y34
184 byz3(i)=-nu1(i)*y2-y34
185 bzx3(i)=-nu1(i)*z3-z14
186 bzy3(i)=-nu1(i)*z2-z14
187 ENDDO
188C
189 DO i=1,nel
190 x1 = pzx4(i)-pxc4(i)
191 x3 = pyx4(i)-pxc4(i)
192 y1 = pzy4(i)-pyc4(i)
193 y2 = pxy4(i)-pyc4(i)
194 z2 = pxz4(i)-pzc4(i)
195 z3 = pyz4(i)-pzc4(i)
196 x24= nu(i)*(px4(i)-pxc4(i)-x1-x3)
197 y34= nu(i)*(py4(i)-pyc4(i)-y1-y2)
198 z14= nu(i)*(pz4(i)-pzc4(i)-z2-z3)
199 bxy4(i)=-nu1(i)*x1-x24
200 bxz4(i)=-nu1(i)*x3-x24
201 byx4(i)=-nu1(i)*y1-y34
202 byz4(i)=-nu1(i)*y2-y34
203 bzx4(i)=-nu1(i)*z3-z14
204 bzy4(i)=-nu1(i)*z2-z14
205 ENDDO
206C
207 DO i=1,nel
208 x1 = pzx5(i)+pxc3(i)
209 x3 = pyx5(i)+pxc3(i)
210 y1 = pzy5(i)+pyc3(i)
211 y2 = pxy5(i)+pyc3(i)
212 z2 = pxz5(i)+pzc3(i)
213 z3 = pyz5(i)+pzc3(i)
214 x24= nu(i)*(px5(i)+pxc3(i)-x1-x3)
215 y34= nu(i)*(py5(i)+pyc3(i)-y1-y2)
216 z14= nu(i)*(pz5(i)+pzc3(i)-z2-z3)
217 bxy5(i)=-nu1(i)*x1-x24
218 bxz5(i)=-nu1(i)*x3-x24
219 byx5(i)=-nu1(i)*y1-y34
220 byz5(i)=-nu1(i)*y2-y34
221 bzx5(i)=-nu1(i)*z3-z14
222 bzy5(i)=-nu1(i)*z2-z14
223 ENDDO
224C
225 DO i=1,nel
226 x1 = pzx6(i)+pxc4(i)
227 x3 = pyx6(i)+pxc4(i)
228 y1 = pzy6(i)+pyc4(i)
229 y2 = pxy6(i)+pyc4(i)
230 z2 = pxz6(i)+pzc4(i)
231 z3 = pyz6(i)+pzc4(i)
232 x24= nu(i)*(px6(i)+pxc4(i)-x1-x3)
233 y34= nu(i)*(py6(i)+pyc4(i)-y1-y2)
234 z14= nu(i)*(pz6(i)+pzc4(i)-z2-z3)
235 bxy6(i)=-nu1(i)*x1-x24
236 bxz6(i)=-nu1(i)*x3-x24
237 byx6(i)=-nu1(i)*y1-y34
238 byz6(i)=-nu1(i)*y2-y34
239 bzx6(i)=-nu1(i)*z3-z14
240 bzy6(i)=-nu1(i)*z2-z14
241 ENDDO
242C
243 DO i=1,nel
244 x1 = pzx7(i)+pxc1(i)
245 x3 = pyx7(i)+pxc1(i)
246 y1 = pzy7(i)+pyc1(i)
247 y2 = pxy7(i)+pyc1(i)
248 z2 = pxz7(i)+pzc1(i)
249 z3 = pyz7(i)+pzc1(i)
250 x24= nu(i)*(px7(i)+pxc1(i)-x1-x3)
251 y34= nu(i)*(py7(i)+pyc1(i)-y1-y2)
252 z14= nu(i)*(pz7(i)+pzc1(i)-z2-z3)
253 bxy7(i)=-nu1(i)*x1-x24
254 bxz7(i)=-nu1(i)*x3-x24
255 byx7(i)=-nu1(i)*y1-y34
256 byz7(i)=-nu1(i)*y2-y34
257 bzx7(i)=-nu1(i)*z3-z14
258 bzy7(i)=-nu1(i)*z2-z14
259 ENDDO
260C
261 DO i=1,nel
262 x1 = pzx8(i)+pxc2(i)
263 x3 = pyx8(i)+pxc2(i)
264 y1 = pzy8(i)+pyc2(i)
265 y2 = pxy8(i)+pyc2(i)
266 z2 = pxz8(i)+pzc2(i)
267 z3 = pyz8(i)+pzc2(i)
268 x24= nu(i)*(px8(i)+pxc2(i)-x1-x3)
269 y34= nu(i)*(py8(i)+pyc2(i)-y1-y2)
270 z14= nu(i)*(pz8(i)+pzc2(i)-z2-z3)
271 bxy8(i)=-nu1(i)*x1-x24
272 bxz8(i)=-nu1(i)*x3-x24
273 byx8(i)=-nu1(i)*y1-y34
274 byz8(i)=-nu1(i)*y2-y34
275 bzx8(i)=-nu1(i)*z3-z14
276 bzy8(i)=-nu1(i)*z2-z14
277 ENDDO
278C
279 RETURN
280 END
subroutine s8ederi_bij(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, 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, nu, nu1, nel)
Definition s8ederi_bij.F:63