OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8coor3.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!|| s8coor3 ../engine/source/elements/solid/solide8/s8coor3.F
25!||--- called by ------------------------------------------------------
26!|| s8forc3 ../engine/source/elements/solid/solide8/s8forc3.F
27!||====================================================================
28 SUBROUTINE s8coor3(
29 1 OFFG, OFF, X, V,
30 2 IXS, XLOC, YLOC, ZLOC,
31 3 VXLOC, VYLOC, VZLOC, MXT,
32 4 NC, NGL, PID, NEL)
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C G l o b a l P a r a m e t e r s
39C-----------------------------------------------
40#include "mvsiz_p.inc"
41C-----------------------------------------------
42C D u m m y A r g u m e n t s
43C-----------------------------------------------
44 INTEGER, INTENT(IN) :: NEL
45 INTEGER IXS(11,*)
46 my_real X(3,*),V(3,*),OFFG(*),OFF(*)
47 my_real XLOC(MVSIZ,8), YLOC(MVSIZ,8), ZLOC(MVSIZ,8), VXLOC(MVSIZ,8),VYLOC(MVSIZ,8),VZLOC(MVSIZ,8)
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER NC(8,MVSIZ), MXT(MVSIZ), PID(MVSIZ), NGL(MVSIZ), I, MXT_1
52 my_real OFF_L
53C-----------------------------------------------
54 OFF_L = zero
55 mxt_1 = ixs(1,1)
56 DO i=1,nel
57 ngl(i)=ixs(11,i)
58 mxt(i)=mxt_1
59 pid(i)=ixs(10,i)
60 nc(1,i)=ixs(2,i)
61 nc(2,i)=ixs(3,i)
62 nc(3,i)=ixs(4,i)
63 nc(4,i)=ixs(5,i)
64 nc(5,i)=ixs(6,i)
65 nc(6,i)=ixs(7,i)
66 nc(7,i)=ixs(8,i)
67 nc(8,i)=ixs(9,i)
68 ENDDO
69C
70C----------------------------
71C NODAL COORDINATES |
72C----------------------------
73 DO i=1,nel
74 xloc(i,1)=x(1,nc(1,i))
75 yloc(i,1)=x(2,nc(1,i))
76 zloc(i,1)=x(3,nc(1,i))
77 xloc(i,2)=x(1,nc(2,i))
78 yloc(i,2)=x(2,nc(2,i))
79 zloc(i,2)=x(3,nc(2,i))
80 xloc(i,3)=x(1,nc(3,i))
81 yloc(i,3)=x(2,nc(3,i))
82 zloc(i,3)=x(3,nc(3,i))
83 xloc(i,4)=x(1,nc(4,i))
84 yloc(i,4)=x(2,nc(4,i))
85 zloc(i,4)=x(3,nc(4,i))
86 xloc(i,5)=x(1,nc(5,i))
87 yloc(i,5)=x(2,nc(5,i))
88 zloc(i,5)=x(3,nc(5,i))
89 xloc(i,6)=x(1,nc(6,i))
90 yloc(i,6)=x(2,nc(6,i))
91 zloc(i,6)=x(3,nc(6,i))
92 xloc(i,7)=x(1,nc(7,i))
93 yloc(i,7)=x(2,nc(7,i))
94 zloc(i,7)=x(3,nc(7,i))
95 xloc(i,8)=x(1,nc(8,i))
96 yloc(i,8)=x(2,nc(8,i))
97 zloc(i,8)=x(3,nc(8,i))
98C
99 vxloc(i,1)=v(1,nc(1,i))
100 vyloc(i,1)=v(2,nc(1,i))
101 vzloc(i,1)=v(3,nc(1,i))
102 vxloc(i,2)=v(1,nc(2,i))
103 vyloc(i,2)=v(2,nc(2,i))
104 vzloc(i,2)=v(3,nc(2,i))
105 vxloc(i,3)=v(1,nc(3,i))
106 vyloc(i,3)=v(2,nc(3,i))
107 vzloc(i,3)=v(3,nc(3,i))
108 vxloc(i,4)=v(1,nc(4,i))
109 vyloc(i,4)=v(2,nc(4,i))
110 vzloc(i,4)=v(3,nc(4,i))
111 vxloc(i,5)=v(1,nc(5,i))
112 vyloc(i,5)=v(2,nc(5,i))
113 vzloc(i,5)=v(3,nc(5,i))
114 vxloc(i,6)=v(1,nc(6,i))
115 vyloc(i,6)=v(2,nc(6,i))
116 vzloc(i,6)=v(3,nc(6,i))
117 vxloc(i,7)=v(1,nc(7,i))
118 vyloc(i,7)=v(2,nc(7,i))
119 vzloc(i,7)=v(3,nc(7,i))
120 vxloc(i,8)=v(1,nc(8,i))
121 vyloc(i,8)=v(2,nc(8,i))
122 vzloc(i,8)=v(3,nc(8,i))
123 off(i) = min(one,abs(offg(i)))
124 off_l = min(off_l,offg(i))
125 ENDDO
126 IF(off_l<zero)THEN
127 DO i=1,nel
128 IF(offg(i)<zero)THEN
129 vxloc(i,1)=zero
130 vyloc(i,1)=zero
131 vzloc(i,1)=zero
132 vxloc(i,2)=zero
133 vyloc(i,2)=zero
134 vzloc(i,2)=zero
135 vxloc(i,3)=zero
136 vyloc(i,3)=zero
137 vzloc(i,3)=zero
138 vxloc(i,4)=zero
139 vyloc(i,4)=zero
140 vzloc(i,4)=zero
141 vxloc(i,5)=zero
142 vyloc(i,5)=zero
143 vzloc(i,5)=zero
144 vxloc(i,6)=zero
145 vyloc(i,6)=zero
146 vzloc(i,6)=zero
147 vxloc(i,7)=zero
148 vyloc(i,7)=zero
149 vzloc(i,7)=zero
150 vxloc(i,8)=zero
151 vyloc(i,8)=zero
152 vzloc(i,8)=zero
153 ENDIF
154 ENDDO
155 ENDIF
156C
157 RETURN
158 END
#define min(a, b)
Definition macros.h:20
subroutine s8coor3(offg, off, x, v, ixs, xloc, yloc, zloc, vxloc, vyloc, vzloc, mxt, nc, ngl, pid, nel)
Definition s8coor3.F:33