OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8ejacip3.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!|| s8ejacip3 ../engine/source/elements/solid/solide8e/s8ejacip3.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!|| s8sforc3 ../engine/source/elements/solid/solide8s/s8sforc3.F
28!||====================================================================
29 SUBROUTINE s8ejacip3(
30 1 HX, HY, HZ, CJ1,
31 2 CJ2, CJ3, CJ4, CJ5,
32 3 CJ6, CJ7, CJ8, CJ9,
33 4 AJ1, AJ2, AJ3, AJ4,
34 5 AJ5, AJ6, AJ7, AJ8,
35 6 AJ9, NEL)
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-----------------------------------------------
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: NEL
51C REAL
52 my_real
53 . HX(MVSIZ,4), HY(MVSIZ,4), HZ(MVSIZ,4),
54 . CJ1(*),CJ2(*),CJ3(*),
55 . CJ4(*),CJ5(*),CJ6(*),
56 . cj7(*),cj8(*),cj9(*),
57 . aj1(mvsiz,8),aj2(mvsiz,8),aj3(mvsiz,8),
58 . aj4(mvsiz,8),aj5(mvsiz,8),aj6(mvsiz,8),
59 . aj7(mvsiz,8),aj8(mvsiz,8),aj9(mvsiz,8)
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I, J ,IP
64C REAL
65C 12
66 my_real
67 . HX1PG(MVSIZ), HX2PG(MVSIZ), HX3PG(MVSIZ),HX4PG2(MVSIZ),
68 . HY1PG(MVSIZ), HY2PG(MVSIZ), HY3PG(MVSIZ),HY4PG2(MVSIZ),
69 . hz1pg(mvsiz), hz2pg(mvsiz), hz3pg(mvsiz),hz4pg2(mvsiz),
70 . pg2,pg
71 parameter(pg=.577350269189625d0)
72C-----------------------------------------------
73 pg2=pg*pg
74C
75 DO i=1,nel
76 hx1pg(i)=hx(i,1)*pg
77 hx2pg(i)=hx(i,2)*pg
78 hx3pg(i)=hx(i,3)*pg
79 hx4pg2(i)=hx(i,4)*pg2
80 hy1pg(i)=hy(i,1)*pg
81 hy2pg(i)=hy(i,2)*pg
82 hy3pg(i)=hy(i,3)*pg
83 hy4pg2(i)=hy(i,4)*pg2
84 hz1pg(i)=hz(i,1)*pg
85 hz2pg(i)=hz(i,2)*pg
86 hz3pg(i)=hz(i,3)*pg
87 hz4pg2(i)=hz(i,4)*pg2
88 ENDDO
89 ip=1
90C - - -
91 DO i=1,nel
92 aj1(i,ip)=cj1(i)-hx3pg(i)-hx2pg(i)+hx4pg2(i)
93 aj2(i,ip)=cj2(i)-hy3pg(i)-hy2pg(i)+hy4pg2(i)
94 aj3(i,ip)=cj3(i)-hz3pg(i)-hz2pg(i)+hz4pg2(i)
95C
96 aj4(i,ip)=cj4(i)-hx1pg(i)-hx3pg(i)+hx4pg2(i)
97 aj5(i,ip)=cj5(i)-hy1pg(i)-hy3pg(i)+hy4pg2(i)
98 aj6(i,ip)=cj6(i)-hz1pg(i)-hz3pg(i)+hz4pg2(i)
99C
100 aj7(i,ip)=cj7(i)-hx2pg(i)-hx1pg(i)+hx4pg2(i)
101 aj8(i,ip)=cj8(i)-hy2pg(i)-hy1pg(i)+hy4pg2(i)
102 aj9(i,ip)=cj9(i)-hz2pg(i)-hz1pg(i)+hz4pg2(i)
103 ENDDO
104 ip=2
105C + - -
106 DO i=1,nel
107 aj1(i,ip)=cj1(i)-hx3pg(i)-hx2pg(i)+hx4pg2(i)
108 aj2(i,ip)=cj2(i)-hy3pg(i)-hy2pg(i)+hy4pg2(i)
109 aj3(i,ip)=cj3(i)-hz3pg(i)-hz2pg(i)+hz4pg2(i)
110C
111 aj4(i,ip)=cj4(i)-hx1pg(i)+hx3pg(i)-hx4pg2(i)
112 aj5(i,ip)=cj5(i)-hy1pg(i)+hy3pg(i)-hy4pg2(i)
113 aj6(i,ip)=cj6(i)-hz1pg(i)+hz3pg(i)-hz4pg2(i)
114C
115 aj7(i,ip)=cj7(i)+hx2pg(i)-hx1pg(i)-hx4pg2(i)
116 aj8(i,ip)=cj8(i)+hy2pg(i)-hy1pg(i)-hy4pg2(i)
117 aj9(i,ip)=cj9(i)+hz2pg(i)-hz1pg(i)-hz4pg2(i)
118 ENDDO
119 ip=3
120C - + -
121 DO i=1,nel
122 aj1(i,ip)=cj1(i)+hx3pg(i)-hx2pg(i)-hx4pg2(i)
123 aj2(i,ip)=cj2(i)+hy3pg(i)-hy2pg(i)-hy4pg2(i)
124 aj3(i,ip)=cj3(i)+hz3pg(i)-hz2pg(i)-hz4pg2(i)
125C
126 aj4(i,ip)=cj4(i)-hx1pg(i)-hx3pg(i)+hx4pg2(i)
127 aj5(i,ip)=cj5(i)-hy1pg(i)-hy3pg(i)+hy4pg2(i)
128 aj6(i,ip)=cj6(i)-hz1pg(i)-hz3pg(i)+hz4pg2(i)
129C
130 aj7(i,ip)=cj7(i)-hx2pg(i)+hx1pg(i)-hx4pg2(i)
131 aj8(i,ip)=cj8(i)-hy2pg(i)+hy1pg(i)-hy4pg2(i)
132 aj9(i,ip)=cj9(i)-hz2pg(i)+hz1pg(i)-hz4pg2(i)
133 ENDDO
134 ip=4
135C + + -
136 DO i=1,nel
137 aj1(i,ip)=cj1(i)+hx3pg(i)-hx2pg(i)-hx4pg2(i)
138 aj2(i,ip)=cj2(i)+hy3pg(i)-hy2pg(i)-hy4pg2(i)
139 aj3(i,ip)=cj3(i)+hz3pg(i)-hz2pg(i)-hz4pg2(i)
140C
141 aj4(i,ip)=cj4(i)-hx1pg(i)+hx3pg(i)-hx4pg2(i)
142 aj5(i,ip)=cj5(i)-hy1pg(i)+hy3pg(i)-hy4pg2(i)
143 aj6(i,ip)=cj6(i)-hz1pg(i)+hz3pg(i)-hz4pg2(i)
144C
145 aj7(i,ip)=cj7(i)+hx2pg(i)+hx1pg(i)+hx4pg2(i)
146 aj8(i,ip)=cj8(i)+hy2pg(i)+hy1pg(i)+hy4pg2(i)
147 aj9(i,ip)=cj9(i)+hz2pg(i)+hz1pg(i)+hz4pg2(i)
148 ENDDO
149 ip=5
150C - - +
151 DO i=1,nel
152 aj1(i,ip)=cj1(i)-hx3pg(i)+hx2pg(i)-hx4pg2(i)
153 aj2(i,ip)=cj2(i)-hy3pg(i)+hy2pg(i)-hy4pg2(i)
154 aj3(i,ip)=cj3(i)-hz3pg(i)+hz2pg(i)-hz4pg2(i)
155C
156 aj4(i,ip)=cj4(i)+hx1pg(i)-hx3pg(i)-hx4pg2(i)
157 aj5(i,ip)=cj5(i)+hy1pg(i)-hy3pg(i)-hy4pg2(i)
158 aj6(i,ip)=cj6(i)+hz1pg(i)-hz3pg(i)-hz4pg2(i)
159C
160 aj7(i,ip)=cj7(i)-hx2pg(i)-hx1pg(i)+hx4pg2(i)
161 aj8(i,ip)=cj8(i)-hy2pg(i)-hy1pg(i)+hy4pg2(i)
162 aj9(i,ip)=cj9(i)-hz2pg(i)-hz1pg(i)+hz4pg2(i)
163 ENDDO
164 ip=6
165C + - +
166 DO i=1,nel
167 aj1(i,ip)=cj1(i)-hx3pg(i)+hx2pg(i)-hx4pg2(i)
168 aj2(i,ip)=cj2(i)-hy3pg(i)+hy2pg(i)-hy4pg2(i)
169 aj3(i,ip)=cj3(i)-hz3pg(i)+hz2pg(i)-hz4pg2(i)
170C
171 aj4(i,ip)=cj4(i)+hx1pg(i)+hx3pg(i)+hx4pg2(i)
172 aj5(i,ip)=cj5(i)+hy1pg(i)+hy3pg(i)+hy4pg2(i)
173 aj6(i,ip)=cj6(i)+hz1pg(i)+hz3pg(i)+hz4pg2(i)
174C
175 aj7(i,ip)=cj7(i)+hx2pg(i)-hx1pg(i)-hx4pg2(i)
176 aj8(i,ip)=cj8(i)+hy2pg(i)-hy1pg(i)-hy4pg2(i)
177 aj9(i,ip)=cj9(i)+hz2pg(i)-hz1pg(i)-hz4pg2(i)
178 ENDDO
179 ip=7
180C - + +
181 DO i=1,nel
182 aj1(i,ip)=cj1(i)+hx3pg(i)+hx2pg(i)+hx4pg2(i)
183 aj2(i,ip)=cj2(i)+hy3pg(i)+hy2pg(i)+hy4pg2(i)
184 aj3(i,ip)=cj3(i)+hz3pg(i)+hz2pg(i)+hz4pg2(i)
185C
186 aj4(i,ip)=cj4(i)+hx1pg(i)-hx3pg(i)-hx4pg2(i)
187 aj5(i,ip)=cj5(i)+hy1pg(i)-hy3pg(i)-hy4pg2(i)
188 aj6(i,ip)=cj6(i)+hz1pg(i)-hz3pg(i)-hz4pg2(i)
189C
190 aj7(i,ip)=cj7(i)-hx2pg(i)+hx1pg(i)-hx4pg2(i)
191 aj8(i,ip)=cj8(i)-hy2pg(i)+hy1pg(i)-hy4pg2(i)
192 aj9(i,ip)=cj9(i)-hz2pg(i)+hz1pg(i)-hz4pg2(i)
193 ENDDO
194 ip=8
195C + + +
196 DO i=1,nel
197 aj1(i,ip)=cj1(i)+hx3pg(i)+hx2pg(i)+hx4pg2(i)
198 aj2(i,ip)=cj2(i)+hy3pg(i)+hy2pg(i)+hy4pg2(i)
199 aj3(i,ip)=cj3(i)+hz3pg(i)+hz2pg(i)+hz4pg2(i)
200C
201 aj4(i,ip)=cj4(i)+hx1pg(i)+hx3pg(i)+hx4pg2(i)
202 aj5(i,ip)=cj5(i)+hy1pg(i)+hy3pg(i)+hy4pg2(i)
203 aj6(i,ip)=cj6(i)+hz1pg(i)+hz3pg(i)+hz4pg2(i)
204C
205 aj7(i,ip)=cj7(i)+hx2pg(i)+hx1pg(i)+hx4pg2(i)
206 aj8(i,ip)=cj8(i)+hy2pg(i)+hy1pg(i)+hy4pg2(i)
207 aj9(i,ip)=cj9(i)+hz2pg(i)+hz1pg(i)+hz4pg2(i)
208 ENDDO
209C
210 RETURN
211 END
subroutine s8ejacip3(hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, nel)
Definition s8ejacip3.F:36