OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8zderims3.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!|| s8zderims3 ../engine/source/elements/solid/solide8z/s8zderims3.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!|| s8sforc3 ../engine/source/elements/solid/solide8s/s8sforc3.F
28!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
29!||====================================================================
30 SUBROUTINE s8zderims3(VOLDP,
31 . KSI,ETA,ZETA,WI,
32 . HX, HY, HZ,
33 . CJ1,CJ2,CJ3,
34 . CJ4,CJ5,CJ6,
35 . CJ7,CJ8,CJ9,
36 . JAC1,JAC2,JAC3,
37 . JAC4,JAC5,JAC6,
38 . JAC7,JAC8,JAC9,
39 . JACI1,JACI2,JACI3,
40 . JACI4,JACI5,JACI6,
41 . JACI7,JACI8,JACI9,NNEGA,INDEX)
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46#include "comlock.inc"
47C-----------------------------------------------
48C G l o b a l P a r a m e t e r s
49C-----------------------------------------------
50#include "mvsiz_p.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER NNEGA,INDEX(MVSIZ)
55C REAL
56 my_real
57 . KSI,ETA,ZETA,WI,
58 . HX(MVSIZ,4), HY(MVSIZ,4), HZ(MVSIZ,4),
59 . CJ1(*),CJ2(*),CJ3(*),
60 . CJ4(*),CJ5(*),CJ6(*),
61 . CJ7(*),CJ8(*),CJ9(*),
62 . JAC1(*),JAC2(*),JAC3(*),
63 . JAC4(*),JAC5(*),JAC6(*),
64 . JAC7(*),JAC8(*),JAC9(*),
65 . jaci1(*),jaci2(*),jaci3(*),
66 . jaci4(*),jaci5(*),jaci6(*),
67 . jaci7(*),jaci8(*),jaci9(*)
68 DOUBLE PRECISION
69 . VOLDP(*)
70C-----------------------------------------------
71C L o c a l V a r i a b l e s
72C-----------------------------------------------
73 INTEGER I, J ,ICOR,ep
74C REAL
75C 12
76 my_real
77 . DET ,DETT ,
78 . JAC_59_68, JAC_67_49, JAC_48_57,
79 . jac_38_29, jac_19_37, jac_27_18,
80 . jac_26_35, jac_34_16, jac_15_24
81 DOUBLE PRECISION
82 . DETDP
83C-----------------------------------------------
84#include "vectorize.inc"
85 DO j=1,nnega
86 i = index(j)
87 jac1(i)=cj1(i)+hx(i,3)*eta+(hx(i,2)+hx(i,4)*eta)*zeta
88 jac2(i)=cj2(i)+hy(i,3)*eta+(hy(i,2)+hy(i,4)*eta)*zeta
89 jac3(i)=cj3(i)+hz(i,3)*eta+(hz(i,2)+hz(i,4)*eta)*zeta
90C
91 jac4(i)=cj4(i)+hx(i,1)*zeta+(hx(i,3)+hx(i,4)*zeta)*ksi
92 jac5(i)=cj5(i)+hy(i,1)*zeta+(hy(i,3)+hy(i,4)*zeta)*ksi
93 jac6(i)=cj6(i)+hz(i,1)*zeta+(hz(i,3)+hz(i,4)*zeta)*ksi
94C
95 jac7(i)=cj7(i)+hx(i,2)*ksi+(hx(i,1)+hx(i,4)*ksi)*eta
96 jac8(i)=cj8(i)+hy(i,2)*ksi+(hy(i,1)+hy(i,4)*ksi)*eta
97 jac9(i)=cj9(i)+hz(i,2)*ksi+(hz(i,1)+hz(i,4)*ksi)*eta
98C
99C JACOBIAN
100C
101 jac_59_68=jac5(i)*jac9(i)-jac6(i)*jac8(i)
102 jac_67_49=jac6(i)*jac7(i)-jac4(i)*jac9(i)
103 jac_38_29=(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
104 jac_19_37=( jac1(i)*jac9(i)-jac3(i)*jac7(i))
105 jac_27_18=(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
106 jac_26_35=( jac2(i)*jac6(i)-jac3(i)*jac5(i))
107 jac_34_16=(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
108 jac_15_24=( jac1(i)*jac5(i)-jac2(i)*jac4(i))
109 jac_48_57=jac4(i)*jac8(i)-jac5(i)*jac7(i)
110 detdp=one_over_512*(jac1(i)*jac_59_68+jac2(i)*jac_67_49+jac3(i)*jac_48_57)
111 det = detdp
112 voldp(i)= wi*detdp
113 dett=one_over_512/det
114 jaci1(i)=dett*jac_59_68
115 jaci4(i)=dett*jac_67_49
116 jaci7(i)=dett*jac_48_57
117 jaci2(i)=dett*jac_38_29
118 jaci5(i)=dett*jac_19_37
119 jaci8(i)=dett*jac_27_18
120 jaci3(i)=dett*jac_26_35
121 jaci6(i)=dett*jac_34_16
122 jaci9(i)=dett*jac_15_24
123 ENDDO
124C
125 RETURN
126 END
subroutine s8zderims3(voldp, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index)
Definition s8zderims3.F:42