OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s10coork.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!|| s10coork ../engine/source/elements/solid/solide10/s10coork.F
25!||--- called by ------------------------------------------------------
26!|| s10ke3 ../engine/source/elements/solid/solide10/s10ke3.F
27!||====================================================================
28 SUBROUTINE s10coork(
29 1 X, IXS, IXS10, XX,
30 2 YY, ZZ, OFFG, OFF,
31 3 SAV, NC, NGL, MXT,
32 4 NGEO, K11, K12, K13,
33 5 K14, K15, K16, K17,
34 6 K18, K19, K10, K22,
35 7 K23, K24, K25, K26,
36 8 K27, K28, K29, K20,
37 9 K33, K34, K35, K36,
38 A K37, K38, K39, K30,
39 B K44, K45, K46, K47,
40 C K48, K49, K40, K55,
41 D K56, K57, K58, K59,
42 E K50, K66, K67, K68,
43 F K69, K60, K77, K78,
44 G K79, K70, K88, K89,
45 H K80, K99, K90, K00,
46 I NEL, ISMSTR)
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C G l o b a l P a r a m e t e r s
53C-----------------------------------------------
54#include "mvsiz_p.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "scr18_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 INTEGER, INTENT(IN) :: ISMSTR
63 INTEGER NEL
64C REAL
65 my_real
66 . X(3,*),
67 . XX(MVSIZ,10), YY(MVSIZ,10), ZZ(MVSIZ,10),
68 . OFFG(*), OFF(*)
69 DOUBLE PRECISION
70 . SAV(NEL,30)
71 my_real
72 . K11(9,*) ,K12(9,*) ,K13(9,*) ,K14(9,*) ,K15(9,*) ,
73 . K16(9,*) ,K17(9,*) ,K18(9,*) ,K19(9,*) ,K10(9,*) ,
74 . K22(9,*) ,K23(9,*) ,K24(9,*) ,K25(9,*) ,K26(9,*) ,
75 . K27(9,*) ,K28(9,*) ,K29(9,*) ,K20(9,*) ,K33(9,*) ,
76 . K34(9,*) ,K35(9,*) ,K36(9,*) ,K37(9,*) ,K38(9,*) ,
77 . K39(9,*) ,K30(9,*) ,K44(9,*) ,K45(9,*) ,K46(9,*) ,
78 . K47(9,*) ,K48(9,*) ,K49(9,*) ,K40(9,*) ,K55(9,*) ,
79 . K56(9,*) ,K57(9,*) ,K58(9,*) ,K59(9,*) ,K50(9,*) ,
80 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k69(9,*) ,k60(9,*) ,
81 . k77(9,*) ,k78(9,*) ,k79(9,*) ,k70(9,*) ,k88(9,*) ,
82 . k89(9,*) ,k80(9,*) ,k99(9,*) ,k90(9,*) ,k00(9,*)
83 INTEGER NC(MVSIZ,10),MXT(*), NGL(*),NGEO(*)
84 INTEGER IXS(NIXS,*), IXS10(6,*)
85C-----------------------------------------------
86C L o c a l V a r i a b l e s
87C-----------------------------------------------
88 INTEGER I, IPERM1(10),IPERM2(10),N,N1,N2,NN,IUN,J,MXT_1
89C REAL
90 DATA iperm1/0,0,0,0,1,2,3,1,2,3/
91 DATA iperm2/0,0,0,0,2,3,1,4,4,4/
92C-----------------------------------------------
93 iun=1
94C
95 mxt_1 = ixs(1,1)
96 DO i=1,nel
97 ngeo(i)=ixs(10,i)
98 ngl(i)=ixs(11,i)
99 mxt(i)=mxt_1
100 nc(i,1)=ixs(2,i)
101 nc(i,2)=ixs(4,i)
102 nc(i,3)=ixs(7,i)
103 nc(i,4)=ixs(6,i)
104 nc(i,5) =ixs10(1,i)
105 nc(i,6) =ixs10(2,i)
106 nc(i,7) =ixs10(3,i)
107 nc(i,8) =ixs10(4,i)
108 nc(i,9) =ixs10(5,i)
109 nc(i,10)=ixs10(6,i)
110 ENDDO
111C----------------------------
112C NODAL COORDINATES |
113C----------------------------
114 DO n=1,10
115 DO i=1,nel
116 nn = max(iun,nc(i,n))
117 xx(i,n)=x(1,nn)
118 yy(i,n)=x(2,nn)
119 zz(i,n)=x(3,nn)
120 off(i) = min(one,abs(offg(i)))
121 ENDDO
122 ENDDO
123C-----------
124 IF(ismstr==1.OR.(ismstr==2.AND.idtmin(1)==3))THEN
125 DO n=1,10
126 DO i=1,nel
127 IF(abs(offg(i))>one)THEN
128 xx(i,n)=sav(i,n)
129 yy(i,n)=sav(i,n+10)
130 zz(i,n)=sav(i,n+20)
131 off(i) = abs(offg(i))-one
132 ELSE
133 off(i) = offg(i)
134 ENDIF
135 ENDDO
136 ENDDO
137C
138 ENDIF
139C
140 DO n=5,10
141 n1=iperm1(n)
142 n2=iperm2(n)
143 DO i=1,nel
144 IF(nc(i,n)==0)THEN
145 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
146 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
147 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
148 ENDIF
149 ENDDO
150 ENDDO
151C-----------
152 DO j=1,9
153 DO i=1,nel
154 k11(j,i)=zero
155 k12(j,i)=zero
156 k13(j,i)=zero
157 k14(j,i)=zero
158 k15(j,i)=zero
159 k16(j,i)=zero
160 k17(j,i)=zero
161 k18(j,i)=zero
162 k19(j,i)=zero
163 k10(j,i)=zero
164 k22(j,i)=zero
165 k23(j,i)=zero
166 k24(j,i)=zero
167 k25(j,i)=zero
168 k26(j,i)=zero
169 k27(j,i)=zero
170 k28(j,i)=zero
171 k29(j,i)=zero
172 k20(j,i)=zero
173 k33(j,i)=zero
174 k34(j,i)=zero
175 k35(j,i)=zero
176 k36(j,i)=zero
177 k37(j,i)=zero
178 k38(j,i)=zero
179 k39(j,i)=zero
180 k30(j,i)=zero
181 k44(j,i)=zero
182 k45(j,i)=zero
183 k46(j,i)=zero
184 k47(j,i)=zero
185 k48(j,i)=zero
186 k49(j,i)=zero
187 k40(j,i)=zero
188 k55(j,i)=zero
189 k56(j,i)=zero
190 k57(j,i)=zero
191 k58(j,i)=zero
192 k59(j,i)=zero
193 k50(j,i)=zero
194 k66(j,i)=zero
195 k67(j,i)=zero
196 k68(j,i)=zero
197 k69(j,i)=zero
198 k60(j,i)=zero
199 k77(j,i)=zero
200 k78(j,i)=zero
201 k79(j,i)=zero
202 k70(j,i)=zero
203 k88(j,i)=zero
204 k89(j,i)=zero
205 k80(j,i)=zero
206 k99(j,i)=zero
207 k90(j,i)=zero
208 k00(j,i)=zero
209 ENDDO
210 ENDDO
211C-----------
212 RETURN
213 END
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine s10coork(x, ixs, ixs10, xx, yy, zz, offg, off, sav, nc, ngl, mxt, ngeo, k11, k12, k13, k14, k15, k16, k17, k18, k19, k10, k22, k23, k24, k25, k26, k27, k28, k29, k20, k33, k34, k35, k36, k37, k38, k39, k30, k44, k45, k46, k47, k48, k49, k40, k55, k56, k57, k58, k59, k50, k66, k67, k68, k69, k60, k77, k78, k79, k70, k88, k89, k80, k99, k90, k00, nel, ismstr)
Definition s10coork.F:47