OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
checksvolume.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
25
26!||====================================================================
27!|| checkvolume_8n ../starter/source/elements/solid/solide/checksvolume.F
28!||--- called by ------------------------------------------------------
29!|| hm_read_solid ../starter/source/elements/reader/hm_read_solid.f
30!|| s16coor3 ../starter/source/elements/thickshell/solide16/s16coor3.F
31!|| s20coor3 ../starter/source/elements/solid/solide20/s20coor3.F
32!|| sccoor3 ../starter/source/elements/thickshell/solidec/sccoor3.F
33!|| scoor3 ../starter/source/elements/solid/solide/scoor3.f
34!|| spcoor3 ../starter/source/elements/solid/sconnect/spcoor3.F
35!|| srcoor3 ../starter/source/elements/solid/solide/srcoor3.F
36!||====================================================================
37 FUNCTION checkvolume_8n(X,IXS)
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER :: ixs(NIXS)
47 my_real :: x(3,*)
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
52 . x1, x2, x3, x4, x5, x6, x7, x8,
53 . y1, y2, y3, y4, y5, y6, y7, y8,
54 . z1, z2, z3, z4, z5, z6, z7, z8,
55 . x17, x28, x35, x46, y17, y28, y35, y46, z17, z28, z35, z46,
56 . jac1,jac2,jac3,jac4,jac5,jac6,jac7,jac8,jac9,
57 . a17,a28,b17,b28,c17,c28,
58 . jac_59_68, jac_67_49, jac_48_57
59C=======================================================================
60 checkvolume_8n = zero
61C
62 x1=x(1,ixs(2))
63 y1=x(2,ixs(2))
64 z1=x(3,ixs(2))
65 x2=x(1,ixs(3))
66 y2=x(2,ixs(3))
67 z2=x(3,ixs(3))
68 x3=x(1,ixs(4))
69 y3=x(2,ixs(4))
70 z3=x(3,ixs(4))
71 x4=x(1,ixs(5))
72 y4=x(2,ixs(5))
73 z4=x(3,ixs(5))
74 x5=x(1,ixs(6))
75 y5=x(2,ixs(6))
76 z5=x(3,ixs(6))
77 x6=x(1,ixs(7))
78 y6=x(2,ixs(7))
79 z6=x(3,ixs(7))
80 x7=x(1,ixs(8))
81 y7=x(2,ixs(8))
82 z7=x(3,ixs(8))
83 x8=x(1,ixs(9))
84 y8=x(2,ixs(9))
85 z8=x(3,ixs(9))
86C
87 x17=x7-x1
88 x28=x8-x2
89 x35=x5-x3
90 x46=x6-x4
91 y17=y7-y1
92 y28=y8-y2
93 y35=y5-y3
94 y46=y6-y4
95 z17=z7-z1
96 z28=z8-z2
97 z35=z5-z3
98 z46=z6-z4
99C
100 jac1=x17+x28-x35-x46
101 jac2=y17+y28-y35-y46
102 jac3=z17+z28-z35-z46
103 a17=x17+x46
104 a28=x28+x35
105 b17=y17+y46
106 b28=y28+y35
107 c17=z17+z46
108 c28=z28+z35
109 jac4=a17+a28
110 jac5=b17+b28
111 jac6=c17+c28
112 jac7=a17-a28
113 jac8=b17-b28
114 jac9=c17-c28
115 jac_59_68=jac5*jac9-jac6*jac8
116 jac_67_49=jac6*jac7-jac4*jac9
117 jac_48_57=jac4*jac8-jac5*jac7
118 checkvolume_8n=one_over_64*(jac1*jac_59_68+jac2*jac_67_49+jac3*jac_48_57)
119
120 RETURN
121 END
122!||====================================================================
123!|| checkvolume_6n ../starter/source/elements/solid/solide/checksvolume.F
124!||--- called by ------------------------------------------------------
125!|| hm_read_solid ../starter/source/elements/reader/hm_read_solid.f
126!|| s6ccoor3 ../starter/source/elements/thickshell/solide6c/s6ccoor3.F
127!||====================================================================
128 FUNCTION checkvolume_6n(X,IXS)
129C-----------------------------------------------
130C I m p l i c i t T y p e s
131C-----------------------------------------------
132#include "implicit_f.inc"
134C-----------------------------------------------
135C D u m m y A r g u m e n t s
136C-----------------------------------------------
137 INTEGER :: ixs(nixs)
138 my_real :: x(3,*)
139C-----------------------------------------------
140C L o c a l V a r i a b l e s
141C-----------------------------------------------
142 my_real
143 . x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,
144 . x21,x31,x41,x54,x64,y21,y31,y41,y54,y64,z21,z31,z41,z54,z64,
145 . jac1,jac2,jac3,jac4,jac5,jac6,jac7,jac8,jac9, jac_59_68,jac_67_49,jac_48_57
146C=======================================================================
147 checkvolume_6n = zero
148C
149 x1=x(1,ixs(2))
150 y1=x(2,ixs(2))
151 z1=x(3,ixs(2))
152 x2=x(1,ixs(3))
153 y2=x(2,ixs(3))
154 z2=x(3,ixs(3))
155 x3=x(1,ixs(4))
156 y3=x(2,ixs(4))
157 z3=x(3,ixs(4))
158 x4=x(1,ixs(6))
159 y4=x(2,ixs(6))
160 z4=x(3,ixs(6))
161 x5=x(1,ixs(7))
162 y5=x(2,ixs(7))
163 z5=x(3,ixs(7))
164 x6=x(1,ixs(8))
165 y6=x(2,ixs(8))
166 z6=x(3,ixs(8))
167C
168 x21=x2-x1
169 x31=x3-x1
170 x41=x4-x1
171 x54=x5-x4
172 x64=x6-x4
173 y21=y2-y1
174 y31=y3-y1
175 y41=y4-y1
176 y54=y5-y4
177 y64=y6-y4
178 z21=z2-z1
179 z31=z3-z1
180 z41=z4-z1
181 z54=z5-z4
182 z64=z6-z4
183C
184 jac1=x21+x54
185 jac2=y21+y54
186 jac3=z21+z54
187 jac4=x31+x64
188 jac5=y31+y64
189 jac6=z31+z64
190 jac7=third*(x41+x5-x2+x6-x3)
191 jac8=third*(y41+y5-y2+y6-y3)
192 jac9=third*(z41+z5-z2+z6-z3)
193C
194 jac_59_68=jac5*jac9-jac6*jac8
195 jac_67_49=jac6*jac7-jac4*jac9
196 jac_48_57=jac4*jac8-jac5*jac7
197C
198 checkvolume_6n=one_over_8*(jac1*jac_59_68+jac2*jac_67_49+jac3*jac_48_57)
199 RETURN
200 END
201!||====================================================================
202!|| checkvolume_4n ../starter/source/elements/solid/solide/checksvolume.F
203!||--- called by ------------------------------------------------------
204!|| hm_read_solid ../starter/source/elements/reader/hm_read_solid.F
205!|| s10coor3 ../starter/source/elements/solid/solide10/s10coor3.F
206!|| s10coor3_old ../starter/source/elements/solid/solide10/s10coor3.F
207!|| s4coor3 ../starter/source/elements/solid/solide4/s4coor3.F
208!|| sgsavini ../starter/source/elements/solid/solide/scoor3.F
209!|| soltosphx4 ../starter/source/elements/sph/soltosph.F
210!||====================================================================
211 FUNCTION checkvolume_4n(X,IXS)
212C-----------------------------------------------
213C I m p l i c i t T y p e s
214C-----------------------------------------------
215#include "implicit_f.inc"
217C-----------------------------------------------
218C D u m m y A r g u m e n t s
219C-----------------------------------------------
220 INTEGER :: ixs(nixs)
221 my_real :: x(3,*)
222C-----------------------------------------------
223C L o c a l V a r i a b l e s
224C-----------------------------------------------
225 my_real
226 . x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4,
227 . jac1 ,jac2 ,jac3 ,
228 . jac4 ,jac5 ,jac6 ,
229 . jac7 ,jac8 ,jac9 ,
230 . jac_59_68, jac_67_49, jac_48_57
231C=======================================================================
232 checkvolume_4n = zero
233C
234 x1=x(1,ixs(2))
235 y1=x(2,ixs(2))
236 z1=x(3,ixs(2))
237 x2=x(1,ixs(4))
238 y2=x(2,ixs(4))
239 z2=x(3,ixs(4))
240 x3=x(1,ixs(7))
241 y3=x(2,ixs(7))
242 z3=x(3,ixs(7))
243 x4=x(1,ixs(6))
244 y4=x(2,ixs(6))
245 z4=x(3,ixs(6))
246C
247 jac1=x1-x4
248 jac2=y1-y4
249 jac3=z1-z4
250C
251 jac4=x2-x4
252 jac5=y2-y4
253 jac6=z2-z4
254C
255 jac7=x3-x4
256 jac8=y3-y4
257 jac9=z3-z4
258C
259 jac_59_68=jac5*jac9-jac6*jac8
260 jac_67_49=jac6*jac7-jac4*jac9
261 jac_48_57=jac4*jac8-jac5*jac7
262C
263 checkvolume_4n=(jac1*jac_59_68+jac2*jac_67_49+jac3*jac_48_57)*one_over_6
264C
265 RETURN
266 END
function checkvolume_6n(x, ixs)
function checkvolume_8n(x, ixs)
function checkvolume_4n(x, ixs)
#define my_real
Definition cppsort.cpp:32
subroutine hm_read_solid(ixs, pm, itab, itabm1, ipart, iparts, isolnod, ixs10, ixs20, ixs16, igeo, lsubmodel, is_dyna, x)
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition scoor3.F:52
program starter
Definition starter.F:39