OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s10jacobt.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!|| s10jacobt ../engine/source/elements/solid/solide10/s10jacobt.F
25!||====================================================================
26 SUBROUTINE s10jacobt(
27 1 ALPH, BETA, W, PX1,
28 2 PX2, PX3, PX4, PX5,
29 3 PX6, PX7, PX8, PX9,
30 4 PX10, PY1, PY2, PY3,
31 5 PY4, PY5, PY6, PY7,
32 6 PY8, PY9, PY10, PZ1,
33 7 PZ2, PZ3, PZ4, PZ5,
34 8 PZ6, PZ7, PZ8, PZ9,
35 9 PZ10, NX1, NX2, NX3,
36 A NX4, NX5, NX6, NX7,
37 B NX8, NX9, NX10, VOL,
38 C JAC_I, NEL)
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: NEL
51 my_real
52 . PX1(MVSIZ),PX2(MVSIZ),PX3(MVSIZ),PX4(MVSIZ),PX5(MVSIZ),
53 . PX6(MVSIZ),PX7(MVSIZ),PX8(MVSIZ),PX9(MVSIZ),PX10(MVSIZ),
54 . PY1(MVSIZ),PY2(MVSIZ),PY3(MVSIZ),PY4(MVSIZ),PY5(MVSIZ),
55 . PY6(MVSIZ),PY7(MVSIZ),PY8(MVSIZ),PY9(MVSIZ),PY10(MVSIZ),
56 . PZ1(MVSIZ),PZ2(MVSIZ),PZ3(MVSIZ),PZ4(MVSIZ),PZ5(MVSIZ),
57 . PZ6(MVSIZ),PZ7(MVSIZ),PZ8(MVSIZ),PZ9(MVSIZ),PZ10(MVSIZ),
58 . NX1(MVSIZ),NX2(MVSIZ),NX3(MVSIZ),NX4(MVSIZ),NX5(MVSIZ),
59 . NX6(MVSIZ),NX7(MVSIZ),NX8(MVSIZ),NX9(MVSIZ),NX10(MVSIZ),
60 . VOL(MVSIZ),ALPH,BETA,W,JAC_I(10,MVSIZ)
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER I
68 my_real
69 . D,A4MB4,A4,B4,BB,AB,B2,
70 . DXDR,DXDS,DXDT,DYDR,DYDS,DYDT,DZDR,DZDS,DZDT
71
72 DOUBLE PRECISION
73 . AA,A4M1,B4M1
74
75 my_real
76 . DRDX, DSDX, DTDX,
77 . DRDY, DSDY, DTDY,
78 . DRDZ, DSDZ, DTDZ
79C-----------------------------------------------
80c AA = (TWO*ALPH - ONE)*ALPH
81c BB = (TWO*BETA - ONE)*BETA
82c B2 = FOUR*BETA*BETA
83c AB = FOUR*ALPH*BETA
84C-----------------------------------------------
85C
86 a4 = four * alph
87 b4 = four * beta
88 a4m1 = a4 - one
89 b4m1 = b4 - one
90 a4mb4 = a4 - b4
91 DO i=1,nel
92 drdx=jac_i(1,i)
93 dsdx=jac_i(4,i)
94 dtdx=jac_i(7,i)
95C
96 drdy=jac_i(2,i)
97 dsdy=jac_i(5,i)
98 dtdy=jac_i(8,i)
99C
100 drdz=jac_i(3,i)
101 dsdz=jac_i(6,i)
102 dtdz=jac_i(9,i)
103C
104 vol(i) = jac_i(10,i)
105C
106 px1(i) = b4m1 * drdx
107 py1(i) = b4m1 * drdy
108 pz1(i) = b4m1 * drdz
109C
110 px2(i) = b4m1 * dsdx
111 py2(i) = b4m1 * dsdy
112 pz2(i) = b4m1 * dsdz
113C
114 px3(i) = b4m1 * dtdx
115 py3(i) = b4m1 * dtdy
116 pz3(i) = b4m1 * dtdz
117C
118 px4(i) =-a4m1 * (drdx+dsdx+dtdx)
119 py4(i) =-a4m1 * (drdy+dsdy+dtdy)
120 pz4(i) =-a4m1 * (drdz+dsdz+dtdz)
121C
122 px5(i) = b4 * (drdx+dsdx)
123 py5(i) = b4 * (drdy+dsdy)
124 pz5(i) = b4 * (drdz+dsdz)
125C
126 px6(i) = b4 * (dsdx+dtdx)
127 py6(i) = b4 * (dsdy+dtdy)
128 pz6(i) = b4 * (dsdz+dtdz)
129C
130 px7(i) = b4 * (dtdx+drdx)
131 py7(i) = b4 * (dtdy+drdy)
132 pz7(i) = b4 * (dtdz+drdz)
133C
134 px8(i) = a4mb4 * drdx - px6(i)
135 py8(i) = a4mb4 * drdy - py6(i)
136 pz8(i) = a4mb4 * drdz - pz6(i)
137C
138 px9(i) = a4mb4 * dsdx - px7(i)
139 py9(i) = a4mb4 * dsdy - py7(i)
140 pz9(i) = a4mb4 * dsdz - pz7(i)
141C
142 px10(i)= a4mb4 * dtdx - px5(i)
143 py10(i)= a4mb4 * dtdy - py5(i)
144 pz10(i)= a4mb4 * dtdz - pz5(i)
145C
146 ENDDO
147C
148 RETURN
149 END
subroutine s10jacobt(alph, beta, w, px1, px2, px3, px4, px5, px6, px7, px8, px9, px10, py1, py2, py3, py4, py5, py6, py7, py8, py9, py10, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pz9, pz10, nx1, nx2, nx3, nx4, nx5, nx6, nx7, nx8, nx9, nx10, vol, jac_i, nel)
Definition s10jacobt.F:39