OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8sav12.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!|| s8sav12 ../engine/source/elements/solid/solide/s8sav12.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
28!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
29!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
30!||====================================================================
31 SUBROUTINE s8sav12(
32 1 OFFG, OFFG0, SAV, X,
33 2 XDP, NC1, NC2, NC3,
34 3 NC4, NC5, NC6, NC7,
35 4 NC8, NEL, JCVT)
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47#include "scr05_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(IN) :: JCVT
52 INTEGER NEL
53C REAL
54 INTEGER
55 . nc1(*),nc2(*),nc3(*),nc4(*),nc5(*),nc6(*),nc7(*),nc8(*)
57 . offg(*),offg0(*),x(3,*)
58 DOUBLE PRECISION
59 . XDP(3,*)
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I ,IH
64 DOUBLE PRECISION
65 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
66 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
67 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
68 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
69 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
70 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz), sav(nel,21)
71C=======================================================================
72C-----Always in global system and fixed then (not like Ismstr=11
73C-----for JCVT>0 Fixed SAV is rotated w/ local system not like Ismstr=1
74 ih=0
75 DO i=1,nel
76 IF(offg(i)/=offg0(i).AND.abs(offg(i)) > one ) ih=1
77 END DO
78 IF (ih==0) RETURN
79C
80 IF(iresp==1)THEN
81 DO i=1,nel
82 xd1(i)=xdp(1,nc1(i))
83 yd1(i)=xdp(2,nc1(i))
84 zd1(i)=xdp(3,nc1(i))
85 xd2(i)=xdp(1,nc2(i))
86 yd2(i)=xdp(2,nc2(i))
87 zd2(i)=xdp(3,nc2(i))
88 xd3(i)=xdp(1,nc3(i))
89 yd3(i)=xdp(2,nc3(i))
90 zd3(i)=xdp(3,nc3(i))
91 xd4(i)=xdp(1,nc4(i))
92 yd4(i)=xdp(2,nc4(i))
93 zd4(i)=xdp(3,nc4(i))
94 xd5(i)=xdp(1,nc5(i))
95 yd5(i)=xdp(2,nc5(i))
96 zd5(i)=xdp(3,nc5(i))
97 xd6(i)=xdp(1,nc6(i))
98 yd6(i)=xdp(2,nc6(i))
99 zd6(i)=xdp(3,nc6(i))
100 xd7(i)=xdp(1,nc7(i))
101 yd7(i)=xdp(2,nc7(i))
102 zd7(i)=xdp(3,nc7(i))
103 xd8(i)=xdp(1,nc8(i))
104 yd8(i)=xdp(2,nc8(i))
105 zd8(i)=xdp(3,nc8(i))
106 ENDDO
107 ELSE
108 DO i=1,nel
109 xd1(i)=x(1,nc1(i))
110 yd1(i)=x(2,nc1(i))
111 zd1(i)=x(3,nc1(i))
112 xd2(i)=x(1,nc2(i))
113 yd2(i)=x(2,nc2(i))
114 zd2(i)=x(3,nc2(i))
115 xd3(i)=x(1,nc3(i))
116 yd3(i)=x(2,nc3(i))
117 zd3(i)=x(3,nc3(i))
118 xd4(i)=x(1,nc4(i))
119 yd4(i)=x(2,nc4(i))
120 zd4(i)=x(3,nc4(i))
121 xd5(i)=x(1,nc5(i))
122 yd5(i)=x(2,nc5(i))
123 zd5(i)=x(3,nc5(i))
124 xd6(i)=x(1,nc6(i))
125 yd6(i)=x(2,nc6(i))
126 zd6(i)=x(3,nc6(i))
127 xd7(i)=x(1,nc7(i))
128 yd7(i)=x(2,nc7(i))
129 zd7(i)=x(3,nc7(i))
130 xd8(i)=x(1,nc8(i))
131 yd8(i)=x(2,nc8(i))
132 zd8(i)=x(3,nc8(i))
133 ENDDO
134 ENDIF
135C -----attention, format is different to Ismstr=10,11
136 DO i=1,nel
137 IF(offg(i)/=offg0(i).AND.abs(offg(i)) > one )THEN
138 sav(i,1)=xd1(i)-xd8(i)
139 sav(i,2)=yd1(i)-yd8(i)
140 sav(i,3)=zd1(i)-zd8(i)
141 sav(i,4)=xd2(i)-xd8(i)
142 sav(i,5)=yd2(i)-yd8(i)
143 sav(i,6)=zd2(i)-zd8(i)
144 sav(i,7)=xd3(i)-xd8(i)
145 sav(i,8)=yd3(i)-yd8(i)
146 sav(i,9)=zd3(i)-zd8(i)
147 sav(i,10)=xd4(i)-xd8(i)
148 sav(i,11)=yd4(i)-yd8(i)
149 sav(i,12)=zd4(i)-zd8(i)
150 sav(i,13)=xd5(i)-xd8(i)
151 sav(i,14)=yd5(i)-yd8(i)
152 sav(i,15)=zd5(i)-zd8(i)
153 sav(i,16)=xd6(i)-xd8(i)
154 sav(i,17)=yd6(i)-yd8(i)
155 sav(i,18)=zd6(i)-zd8(i)
156 sav(i,19)=xd7(i)-xd8(i)
157 sav(i,20)=yd7(i)-yd8(i)
158 sav(i,21)=zd7(i)-zd8(i)
159 ENDIF
160 ENDDO
161C-----------
162 RETURN
163 END
#define my_real
Definition cppsort.cpp:32
subroutine s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
Definition s8sav12.F:36