OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8upd11t12.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!|| s8upd11t12 ../engine/source/elements/solid/solide/s8upd11t12.F
25!||--- called by ------------------------------------------------------
26!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
27!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
28!||--- calls -----------------------------------------------------
29!|| s8jac_i ../engine/source/elements/solid/solide/s8jac_i.F
30!||====================================================================
31 SUBROUTINE s8upd11t12(OFFG ,OFFG0 ,X ,XDP ,
32 . NC1 ,NC2 ,NC3 ,NC4 ,NC5 ,NC6 ,NC7 ,NC8 ,
33 . JAC_1 ,SIG ,SIGL ,NEL )
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "scr05_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER :: NEL
50 INTEGER :: NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
51 my_real :: offg(*),offg0(*),x(3,*),jac_1(10,nel),sig(nel,6),sigl(nel,6)
52 DOUBLE PRECISION :: XDP(3,*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER :: I ,NCH,INDEX(MVSIZ),J
57 my_real :: JAC_I(10,MVSIZ)
58 DOUBLE PRECISION
59 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
60 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
61 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
62 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
63 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
64 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz)
65C=======================================================================
66C Ismstr=12 :always in global system and fixed then (not like Ismstr=11)
67 nch=0
68 DO i=1,nel
69 IF(offg(i)/=offg0(i).AND.abs(offg(i)) > one ) THEN
70 nch = nch +1
71 index(nch) = i
72 END IF
73 END DO
74 IF (nch==0) RETURN
75C
76 IF(iresp==1)THEN
77#include "vectorize.inc"
78 DO j=1,nch
79 i = index(j)
80 xd1(j)=xdp(1,nc1(i))
81 yd1(j)=xdp(2,nc1(i))
82 zd1(j)=xdp(3,nc1(i))
83 xd2(j)=xdp(1,nc2(i))
84 yd2(j)=xdp(2,nc2(i))
85 zd2(j)=xdp(3,nc2(i))
86 xd3(j)=xdp(1,nc3(i))
87 yd3(j)=xdp(2,nc3(i))
88 zd3(j)=xdp(3,nc3(i))
89 xd4(j)=xdp(1,nc4(i))
90 yd4(j)=xdp(2,nc4(i))
91 zd4(j)=xdp(3,nc4(i))
92 xd5(j)=xdp(1,nc5(i))
93 yd5(j)=xdp(2,nc5(i))
94 zd5(j)=xdp(3,nc5(i))
95 xd6(j)=xdp(1,nc6(i))
96 yd6(j)=xdp(2,nc6(i))
97 zd6(j)=xdp(3,nc6(i))
98 xd7(j)=xdp(1,nc7(i))
99 yd7(j)=xdp(2,nc7(i))
100 zd7(j)=xdp(3,nc7(i))
101 xd8(j)=xdp(1,nc8(i))
102 yd8(j)=xdp(2,nc8(i))
103 zd8(j)=xdp(3,nc8(i))
104 ENDDO
105 ELSE
106#include "vectorize.inc"
107 DO j=1,nch
108 i = index(j)
109 xd1(j)=x(1,nc1(i))
110 yd1(j)=x(2,nc1(i))
111 zd1(j)=x(3,nc1(i))
112 xd2(j)=x(1,nc2(i))
113 yd2(j)=x(2,nc2(i))
114 zd2(j)=x(3,nc2(i))
115 xd3(j)=x(1,nc3(i))
116 yd3(j)=x(2,nc3(i))
117 zd3(j)=x(3,nc3(i))
118 xd4(j)=x(1,nc4(i))
119 yd4(j)=x(2,nc4(i))
120 zd4(j)=x(3,nc4(i))
121 xd5(j)=x(1,nc5(i))
122 yd5(j)=x(2,nc5(i))
123 zd5(j)=x(3,nc5(i))
124 xd6(j)=x(1,nc6(i))
125 yd6(j)=x(2,nc6(i))
126 zd6(j)=x(3,nc6(i))
127 xd7(j)=x(1,nc7(i))
128 yd7(j)=x(2,nc7(i))
129 zd7(j)=x(3,nc7(i))
130 xd8(j)=x(1,nc8(i))
131 yd8(j)=x(2,nc8(i))
132 zd8(j)=x(3,nc8(i))
133 ENDDO
134 ENDIF
135C
136 CALL s8jac_i(
137 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
138 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
139 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
140 . jac_i ,nch )
141C
142#include "vectorize.inc"
143 DO j=1,nch
144 i = index(j)
145 jac_1(1:10,i) = jac_i(1:10,j)
146 sigl(i,1:6) = sig(i,1:6)
147 ENDDO
148C
149 RETURN
150 END
#define my_real
Definition cppsort.cpp:32
subroutine s8jac_i(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, jac_i, nel)
Definition s8jac_i.F:35
subroutine s8upd11t12(offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, jac_1, sig, sigl, nel)
Definition s8upd11t12.F:34