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