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