OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8ejacit3.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!|| s8ejacit3 ../engine/source/elements/solid/solide8e/s8ejacit3.F
25!||--- called by ------------------------------------------------------
26!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
27!||====================================================================
28 SUBROUTINE s8ejacit3(
29 1 VOLDP, KSI, ETA, ZETA,
30 2 WI, AJP1, AJP2, AJP3,
31 3 AJP4, AJP5, AJP6, AJP7,
32 4 AJP8, AJP9, AJI1, AJI2,
33 5 AJI3, AJI4, AJI5, AJI6,
34 6 AJI7, AJI8, AJI9, JAC_I,
35 7 NEL, ISMSTR)
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40#include "comlock.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(IN) :: NEL
52 INTEGER, INTENT(IN) :: ISMSTR
53C REAL
54 my_real
55 . KSI,ETA,ZETA,WI,
56 . AJP1(*),AJP2(*),AJP3(*),
57 . AJP4(*),AJP5(*),AJP6(*),
58 . ajp7(*),ajp8(*),ajp9(*),
59 . aji1(mvsiz), aji2(mvsiz), aji3(mvsiz),
60 . aji4(mvsiz), aji5(mvsiz), aji6(mvsiz),
61 . aji7(mvsiz), aji8(mvsiz), aji9(mvsiz),
62 . jac_i(10,mvsiz)
63 DOUBLE PRECISION
64 . VOLDP(MVSIZ)
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER I, J ,ICOR
69C REAL
70C 12
71 my_real
72 . det(mvsiz) ,dett(mvsiz) ,
73 . aj1(mvsiz),aj2(mvsiz),aj3(mvsiz),
74 . aj4(mvsiz),aj5(mvsiz),aj6(mvsiz),
75 . aj7(mvsiz),aj8(mvsiz),aj9(mvsiz),
76 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
77 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
78 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
79 . aj12(mvsiz), aj45(mvsiz), aj78(mvsiz)
80 DOUBLE PRECISION
81 . DETDP
82C-----------------------------------------------
83 IF (ISMSTR==11) then
84 aj1(1:nel)=ajp1(1:nel)
85 aj2(1:nel)=ajp2(1:nel)
86 aj3(1:nel)=ajp3(1:nel)
87 aj4(1:nel)=ajp4(1:nel)
88 aj5(1:nel)=ajp5(1:nel)
89 aj6(1:nel)=ajp6(1:nel)
90 aj7(1:nel)=ajp7(1:nel)
91 aj8(1:nel)=ajp8(1:nel)
92 aj9(1:nel)=ajp9(1:nel)
93
94C JACOBIAN
95C
96 DO i=1,nel
97 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
98 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
99 jac_38_29(i)=(-aj2(i)*aj9(i)+aj3(i)*aj8(i))
100 jac_19_37(i)=( aj1(i)*aj9(i)-aj3(i)*aj7(i))
101 jac_27_18(i)=(-aj1(i)*aj8(i)+aj2(i)*aj7(i))
102 jac_26_35(i)=( aj2(i)*aj6(i)-aj3(i)*aj5(i))
103 jac_34_16(i)=(-aj1(i)*aj6(i)+aj3(i)*aj4(i))
104 jac_15_24(i)=( aj1(i)*aj5(i)-aj2(i)*aj4(i))
105 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i)
106 ENDDO
107C
108 DO i=1,nel
109 detdp=one_over_512*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
110 det(i) = detdp
111 voldp(i)= wi*detdp
112 dett(i)=one_over_512/det(i)
113 ENDDO
114C
115 DO i=1,nel
116 aji1(i)=dett(i)*jac_59_68(i)
117 aji4(i)=dett(i)*jac_67_49(i)
118 aji7(i)=dett(i)*jac_48_57(i)
119 aji2(i)=dett(i)*jac_38_29(i)
120 aji5(i)=dett(i)*jac_19_37(i)
121 aji8(i)=dett(i)*jac_27_18(i)
122 aji3(i)=dett(i)*jac_26_35(i)
123 aji6(i)=dett(i)*jac_34_16(i)
124 aji9(i)=dett(i)*jac_15_24(i)
125 ENDDO
126C---------don't forget this for Ismstr11 and R,S,T
127c DO I=1,NEL
128c IF (IDEG(I)==0) DELTAX(I)=MIN(DELTAX(I),HUNDRED28*DET(I)*SMAX(I))
129c ENDDO
130C------ ISMSTR =10
131 ELSE
132 DO i=1,nel
133 aji1(i)=jac_i(1,i)
134 aji4(i)=jac_i(4,i)
135 aji7(i)=jac_i(7,i)
136 aji2(i)=jac_i(2,i)
137 aji5(i)=jac_i(5,i)
138 aji8(i)=jac_i(8,i)
139 aji3(i)=jac_i(3,i)
140 aji6(i)=jac_i(6,i)
141 aji9(i)=jac_i(9,i)
142 voldp(i) =jac_i(10,i)
143 END DO
144 END IF !(ISMSTR==11)
145C
146 RETURN
147 END
subroutine s8ejacit3(voldp, ksi, eta, zeta, wi, ajp1, ajp2, ajp3, ajp4, ajp5, ajp6, ajp7, ajp8, ajp9, aji1, aji2, aji3, aji4, aji5, aji6, aji7, aji8, aji9, jac_i, nel, ismstr)
Definition s8ejacit3.F:36