OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s6rcoork.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "scr18_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s6rcoork (x, ixs, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, offg, off, sav, r11, r12, r13, r21, r22, r23, r31, r32, r33, nc1, nc2, nc3, nc4, nc5, nc6, ngl, mxt, ngeo, k11, k12, k13, k14, k15, k16, k22, k23, k24, k25, k26, k33, k34, k35, k36, k44, k45, k46, k55, k56, k66, nel, ismstr)

Function/Subroutine Documentation

◆ s6rcoork()

subroutine s6rcoork ( x,
integer, dimension(nixs,*) ixs,
x1,
x2,
x3,
x4,
x5,
x6,
y1,
y2,
y3,
y4,
y5,
y6,
z1,
z2,
z3,
z4,
z5,
z6,
offg,
off,
double precision, dimension(nel,15) sav,
r11,
r12,
r13,
r21,
r22,
r23,
r31,
r32,
r33,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
k11,
k12,
k13,
k14,
k15,
k16,
k22,
k23,
k24,
k25,
k26,
k33,
k34,
k35,
k36,
k44,
k45,
k46,
k55,
k56,
k66,
integer nel,
integer, intent(in) ismstr )

Definition at line 31 of file s6rcoork.F.

48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C G l o b a l P a r a m e t e r s
54C-----------------------------------------------
55#include "mvsiz_p.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "scr18_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER, INTENT(IN) :: ISMSTR
64 INTEGER NEL
65C REAL
67 . x(3,*),
68 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*),
69 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*),
70 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*),
71 . offg(*), off(*),
72 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
73 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
74 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
75 double precision
76 . sav(nel,15)
78 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
79 . k16(9,*) ,k22(9,*) ,k23(9,*) ,k24(9,*) ,k25(9,*) ,
80 . k26(9,*) ,k33(9,*) ,k34(9,*) ,k35(9,*) ,k36(9,*) ,
81 . k44(9,*) ,k45(9,*) ,k46(9,*) ,k55(9,*) ,k56(9,*) ,
82 . k66(9,*)
83 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
84 . NC5(*), NC6(*), MXT(*), NGL(*),NGEO(*)
85 INTEGER IXS(NIXS,*)
86C-----------------------------------------------
87C L o c a l V a r i a b l e s
88C-----------------------------------------------
89 INTEGER I,J
90C REAL
92 . xl,yl,zl
94 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
95 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
96 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
97C-----------------------------------------------
98C
99 DO i=1,nel
100 ngeo(i)=ixs(10,i)
101 ngl(i)=ixs(11,i)
102 mxt(i)=ixs(1,i)
103 nc1(i)=ixs(2,i)
104 nc2(i)=ixs(3,i)
105 nc3(i)=ixs(4,i)
106 nc4(i)=ixs(6,i)
107 nc5(i)=ixs(7,i)
108 nc6(i)=ixs(8,i)
109 ENDDO
110C----------------------------
111C NODAL COORDINATES |
112C----------------------------
113 DO i=1,nel
114 x1(i)=x(1,nc1(i))
115 y1(i)=x(2,nc1(i))
116 z1(i)=x(3,nc1(i))
117 x2(i)=x(1,nc2(i))
118 y2(i)=x(2,nc2(i))
119 z2(i)=x(3,nc2(i))
120 x3(i)=x(1,nc3(i))
121 y3(i)=x(2,nc3(i))
122 z3(i)=x(3,nc3(i))
123 x4(i)=x(1,nc4(i))
124 y4(i)=x(2,nc4(i))
125 z4(i)=x(3,nc4(i))
126 x5(i)=x(1,nc5(i))
127 y5(i)=x(2,nc5(i))
128 z5(i)=x(3,nc5(i))
129 x6(i)=x(1,nc6(i))
130 y6(i)=x(2,nc6(i))
131 z6(i)=x(3,nc6(i))
132 off(i) = min(one,abs(offg(i)))
133 ENDDO
134C-----------
135C REPERE CONVECTE (ITERATIONS).
136C-----------
137 DO i=1,nel
138 xl=one_over_6*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i))
139 yl=one_over_6*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i))
140 zl=one_over_6*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i))
141 x1(i)=x1(i)-xl
142 y1(i)=y1(i)-yl
143 z1(i)=z1(i)-zl
144 x2(i)=x2(i)-xl
145 y2(i)=y2(i)-yl
146 z2(i)=z2(i)-zl
147 x3(i)=x3(i)-xl
148 y3(i)=y3(i)-yl
149 z3(i)=z3(i)-zl
150 x4(i)=x4(i)-xl
151 y4(i)=y4(i)-yl
152 z4(i)=z4(i)-zl
153 x5(i)=x5(i)-xl
154 y5(i)=y5(i)-yl
155 z5(i)=z5(i)-zl
156 x6(i)=x6(i)-xl
157 y6(i)=y6(i)-yl
158 z6(i)=z6(i)-zl
159 ENDDO
160 CALL s6cortho3(
161 1 x1, x2, x3, x4,
162 2 x5, x6, y1, y2,
163 3 y3, y4, y5, y6,
164 4 z1, z2, z3, z4,
165 5 z5, z6, r11, r12,
166 6 r13, r21, r22, r23,
167 7 r31, r32, r33, rx,
168 8 ry, rz, sx, sy,
169 9 sz, tx, ty, tz,
170 a nel)
171C-----------
172C PASSAGE AU REPERE CONVECTE.
173C-----------
174 IF((ismstr==1.OR.ismstr==3).OR.
175 . (ismstr==2.AND.idtmin(1)==3))THEN
176 DO i=1,nel
177 IF(offg(i)==two)THEN
178 x1(i)=sav(i,1)
179 y1(i)=sav(i,2)
180 z1(i)=sav(i,3)
181 x2(i)=sav(i,4)
182 y2(i)=sav(i,5)
183 z2(i)=sav(i,6)
184 x3(i)=sav(i,7)
185 y3(i)=sav(i,8)
186 z3(i)=sav(i,9)
187 x4(i)=sav(i,10)
188 y4(i)=sav(i,11)
189 z4(i)=sav(i,12)
190 x5(i)=sav(i,13)
191 y5(i)=sav(i,14)
192 z5(i)=sav(i,15)
193 x6(i)=zero
194 y6(i)=zero
195 z6(i)=zero
196 off(i) = one
197 xl=one_over_6*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i))
198 yl=one_over_6*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i))
199 zl=one_over_6*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i))
200 x1(i)=x1(i)-xl
201 y1(i)=y1(i)-yl
202 z1(i)=z1(i)-zl
203 x2(i)=x2(i)-xl
204 y2(i)=y2(i)-yl
205 z2(i)=z2(i)-zl
206 x3(i)=x3(i)-xl
207 y3(i)=y3(i)-yl
208 z3(i)=z3(i)-zl
209 x4(i)=x4(i)-xl
210 y4(i)=y4(i)-yl
211 z4(i)=z4(i)-zl
212 x5(i)=x5(i)-xl
213 y5(i)=y5(i)-yl
214 z5(i)=z5(i)-zl
215 x6(i)=x6(i)-xl
216 y6(i)=y6(i)-yl
217 z6(i)=z6(i)-zl
218 ELSE
219 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
220 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
221 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
222 x1(i)=xl
223 y1(i)=yl
224 z1(i)=zl
225 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
226 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
227 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
228 x2(i)=xl
229 y2(i)=yl
230 z2(i)=zl
231 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
232 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
233 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
234 x3(i)=xl
235 y3(i)=yl
236 z3(i)=zl
237 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
238 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
239 x4(i)=xl
240 y4(i)=yl
241 z4(i)=-z1(i)
242 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
243 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
244 x5(i)=xl
245 y5(i)=yl
246 z5(i)=-z2(i)
247 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
248 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
249 x6(i)=xl
250 y6(i)=yl
251 z6(i)=-z3(i)
252C SAV dans rep. local.
253C SAV(I,1)=X1(I)-X6(I)
254C SAV(I,2)=Y1(I)-Y6(I)
255C SAV(I,3)=Z1(I)-Z6(I)
256C SAV(I,4)=X2(I)-X6(I)
257C SAV(I,5)=Y2(I)-Y6(I)
258C SAV(I,6)=Z2(I)-Z6(I)
259C SAV(I,7)=X3(I)-X6(I)
260C SAV(I,8)=Y3(I)-Y6(I)
261C SAV(I,9)=Z3(I)-Z6(I)
262C SAV(I,10)=X4(I)-X6(I)
263C SAV(I,11)=Y4(I)-Y6(I)
264C SAV(I,12)=Z4(I)-Z6(I)
265C SAV(I,13)=X5(I)-X6(I)
266C SAV(I,14)=Y5(I)-Y6(I)
267C SAV(I,15)=Z5(I)-Z6(I)
268 off(i) = offg(i)
269 ENDIF
270 ENDDO
271C
272 ELSE
273 CALL vrrota3(
274 1 r11, r12, r13, r21,
275 2 r22, r23, r31, r32,
276 3 r33, x1, y1, z1,
277 4 nel)
278 CALL vrrota3(
279 1 r11, r12, r13, r21,
280 2 r22, r23, r31, r32,
281 3 r33, x2, y2, z2,
282 4 nel)
283 CALL vrrota3(
284 1 r11, r12, r13, r21,
285 2 r22, r23, r31, r32,
286 3 r33, x3, y3, z3,
287 4 nel)
288 DO i=1,nel
289 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
290 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
291 x4(i)=xl
292 y4(i)=yl
293 z4(i)=-z1(i)
294 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
295 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
296 x5(i)=xl
297 y5(i)=yl
298 z5(i)=-z2(i)
299 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
300 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
301 x6(i)=xl
302 y6(i)=yl
303 z6(i)=-z3(i)
304 off(i) = min(one,offg(i))
305 ENDDO
306C
307 ENDIF
308C-----------
309 DO j=1,9
310 DO i=1,nel
311 k11(j,i)=zero
312 k12(j,i)=zero
313 k13(j,i)=zero
314 k14(j,i)=zero
315 k15(j,i)=zero
316 k16(j,i)=zero
317 k22(j,i)=zero
318 k23(j,i)=zero
319 k24(j,i)=zero
320 k25(j,i)=zero
321 k26(j,i)=zero
322 k33(j,i)=zero
323 k34(j,i)=zero
324 k35(j,i)=zero
325 k36(j,i)=zero
326 k44(j,i)=zero
327 k45(j,i)=zero
328 k46(j,i)=zero
329 k55(j,i)=zero
330 k56(j,i)=zero
331 k66(j,i)=zero
332 ENDDO
333 ENDDO
334C-----------
335 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
subroutine s6cortho3(x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)
Definition s6cortho3.F:34
subroutine vrrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, y1, z1, nel)
Definition vrrota3.F:35