OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s4coork.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!|| s4coork ../engine/source/elements/solid/solide4/s4coork.F
25!||--- called by ------------------------------------------------------
26!|| s4ke3 ../engine/source/elements/solid/solide4/s4ke3.F
27!||--- uses -----------------------------------------------------
28!|| element_mod ../common_source/modules/elements/element_mod.F90
29!||====================================================================
30 SUBROUTINE s4coork(
31 1 X, IXS, X1, X2,
32 2 X3, X4, Y1, Y2,
33 3 Y3, Y4, Z1, Z2,
34 4 Z3, Z4, OFFG, OFF,
35 5 SAV, NC1, NC2, NC3,
36 6 NC4, NGL, MXT, NGEO,
37 7 K11, K12, K13, K14,
38 8 K22, K23, K24, K33,
39 9 K34, K44, NEL, ISMSTR)
40 use element_mod , only : nixs
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "scr18_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER, INTENT(IN) :: ISMSTR
53 INTEGER NEL
54 my_real
55 . X(3,*),
56 . X1(*), X2(*), X3(*), X4(*),
57 . Y1(*), Y2(*), Y3(*), Y4(*),
58 . Z1(*), Z2(*), Z3(*), Z4(*),
59 . OFFG(*), OFF(*)
60 DOUBLE PRECISION
61 . sav(nel,9)
62 my_real
63 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k22(9,*) ,
64 . k23(9,*) ,k24(9,*) ,k33(9,*) ,k34(9,*) ,k44(9,*)
65 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),MXT(*), NGL(*),NGEO(*)
66 INTEGER IXS(NIXS,*)
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER I,J,MXT_1
71C REAL
72C-----------------------------------------------
73C
74 mxt_1 = ixs(1,1)
75 DO i=1,nel
76 ngeo(i)=ixs(10,i)
77 ngl(i)=ixs(11,i)
78 mxt(i)=mxt_1
79 nc1(i)=ixs(2,i)
80 nc2(i)=ixs(4,i)
81 nc3(i)=ixs(7,i)
82 nc4(i)=ixs(6,i)
83 ENDDO
84C----------------------------
85C NODAL COORDINATES |
86C----------------------------
87 DO i=1,nel
88 x1(i)=x(1,nc1(i))
89 y1(i)=x(2,nc1(i))
90 z1(i)=x(3,nc1(i))
91 x2(i)=x(1,nc2(i))
92 y2(i)=x(2,nc2(i))
93 z2(i)=x(3,nc2(i))
94 x3(i)=x(1,nc3(i))
95 y3(i)=x(2,nc3(i))
96 z3(i)=x(3,nc3(i))
97 x4(i)=x(1,nc4(i))
98 y4(i)=x(2,nc4(i))
99 z4(i)=x(3,nc4(i))
100 off(i) = min(one,abs(offg(i)))
101 ENDDO
102C-----------
103 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
104 DO i=1,nel
105 IF(abs(offg(i))>one)THEN
106 x1(i)=sav(i,1)
107 y1(i)=sav(i,2)
108 z1(i)=sav(i,3)
109 x2(i)=sav(i,4)
110 y2(i)=sav(i,5)
111 z2(i)=sav(i,6)
112 x3(i)=sav(i,7)
113 y3(i)=sav(i,8)
114 z3(i)=sav(i,9)
115 x4(i)=zero
116 y4(i)=zero
117 z4(i)=zero
118 off(i) = abs(offg(i))-one
119 ELSE
120 off(i) = offg(i)
121 ENDIF
122 ENDDO
123C
124 ENDIF
125C-----------
126 DO j=1,9
127 DO i=1,nel
128 k11(j,i)=zero
129 k12(j,i)=zero
130 k13(j,i)=zero
131 k14(j,i)=zero
132 k22(j,i)=zero
133 k23(j,i)=zero
134 k24(j,i)=zero
135 k33(j,i)=zero
136 k34(j,i)=zero
137 k44(j,i)=zero
138 ENDDO
139 ENDDO
140C-----------
141 RETURN
142 END
#define min(a, b)
Definition macros.h:20
subroutine s4coork(x, ixs, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, offg, off, sav, nc1, nc2, nc3, nc4, ngl, mxt, ngeo, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, nel, ismstr)
Definition s4coork.F:40