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

Go to the source code of this file.

Functions/Subroutines

subroutine s8scoork_imp (x, ixs, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, offg, off, sav, r, v1, v2, v3, v4, v5, v6, v7, v8, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, k11, k12, k13, k14, k15, k16, k17, k18, k22, k23, k24, k25, k26, k27, k28, k33, k34, k35, k36, k37, k38, k44, k45, k46, k47, k48, k55, k56, k57, k58, k66, k67, k68, k77, k78, k88, khbe, gama0, gama, nel, trm, kl)

Function/Subroutine Documentation

◆ s8scoork_imp()

subroutine s8scoork_imp ( x,
integer, dimension(nixs,*) ixs,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
y1,
y2,
y3,
y4,
y5,
y6,
y7,
y8,
z1,
z2,
z3,
z4,
z5,
z6,
z7,
z8,
offg,
off,
sav,
r,
double precision, dimension(mvsiz,9) v1,
double precision, dimension(mvsiz,9) v2,
double precision, dimension(mvsiz,9) v3,
double precision, dimension(mvsiz,9) v4,
double precision, dimension(mvsiz,9) v5,
double precision, dimension(mvsiz,9) v6,
double precision, dimension(mvsiz,9) v7,
double precision, dimension(mvsiz,9) v8,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) nc7,
integer, dimension(*) nc8,
integer, dimension(*) ngl,
integer, dimension(*) mxt,
integer, dimension(*) ngeo,
k11,
k12,
k13,
k14,
k15,
k16,
k17,
k18,
k22,
k23,
k24,
k25,
k26,
k27,
k28,
k33,
k34,
k35,
k36,
k37,
k38,
k44,
k45,
k46,
k47,
k48,
k55,
k56,
k57,
k58,
k66,
k67,
k68,
k77,
k78,
k88,
integer khbe,
gama0,
gama,
integer nel,
double precision, dimension(nel,24,24) trm,
double precision, dimension(576,nel) kl )

Definition at line 30 of file srcoork_imp.F.

42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53C-----------------------------------------------
54C D u m m y A r g u m e n t s
55C-----------------------------------------------
56 INTEGER NEL
57C REAL
59 . x(3,*),
60 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
61 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
62 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
63 . offg(*), off(*), sav(nel,21), gama0(nel,6),gama(mvsiz,6),
64 . r(3,3,mvsiz)
66 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
67 . k16(9,*) ,k17(9,*) ,k18(9,*) ,k22(9,*) ,k23(9,*) ,
68 . k24(9,*) ,k25(9,*) ,k26(9,*) ,k27(9,*) ,k28(9,*) ,
69 . k33(9,*) ,k34(9,*) ,k35(9,*) ,k36(9,*) ,k37(9,*) ,
70 . k38(9,*) ,k44(9,*) ,k45(9,*) ,k46(9,*) ,k47(9,*) ,
71 . k48(9,*) ,k55(9,*) ,k56(9,*) ,k57(9,*) ,k58(9,*) ,
72 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k77(9,*) ,k78(9,*) ,
73 . k88(9,*)
74 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
75 . NC5(*), NC6(*), NC7(*), NC8(*), MXT(*), NGL(*),NGEO(*)
76 INTEGER IXS(NIXS,*),KHBE
77 double precision
78 . trm(nel,24,24),invj(mvsiz,3,3),kl(576,nel),
79 . v1(mvsiz,9), v2(mvsiz,9), v3(mvsiz,9), v4(mvsiz,9),
80 . v5(mvsiz,9), v6(mvsiz,9), v7(mvsiz,9), v8(mvsiz,9)
81C-----------------------------------------------
82C L o c a l V a r i a b l e s
83C-----------------------------------------------
84 INTEGER I,J, MXT_1
85C REAL
87 . g11(mvsiz),g12(mvsiz),g13(mvsiz),
88 . g21(mvsiz),g22(mvsiz),g23(mvsiz),
89 . g31(mvsiz),g32(mvsiz),g33(mvsiz),
90 . t11(mvsiz),t12(mvsiz),t13(mvsiz),
91 . t21(mvsiz),t22(mvsiz),t23(mvsiz),
92 . t31(mvsiz),t32(mvsiz),t33(mvsiz)
94 . xl,yl,zl
96 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
97 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
98 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
99 DOUBLE PRECISION DX_DR,DX_DS,DX_DT,DY_DR,DY_DS,DY_DT,DZ_DR,DZ_DS,DZ_DT
100 DOUBLE PRECISION X0(8),Y0(8),Z0(8),DETM1,DETJ0
101C-----------------------------------------------
102C
103 mxt_1 = ixs(1,1)
104 DO i=1,nel
105 ngeo(i)=ixs(10,i)
106 ngl(i)=ixs(11,i)
107 mxt(i)=mxt_1
108 nc1(i)=ixs(2,i)
109 nc2(i)=ixs(3,i)
110 nc3(i)=ixs(4,i)
111 nc4(i)=ixs(5,i)
112 nc5(i)=ixs(6,i)
113 nc6(i)=ixs(7,i)
114 nc7(i)=ixs(8,i)
115 nc8(i)=ixs(9,i)
116 ENDDO
117C----------------------------
118C NODAL COORDINATES |
119C----------------------------
120 DO i=1,nel
121 x1(i)=x(1,nc1(i))
122 y1(i)=x(2,nc1(i))
123 z1(i)=x(3,nc1(i))
124 x2(i)=x(1,nc2(i))
125 y2(i)=x(2,nc2(i))
126 z2(i)=x(3,nc2(i))
127 x3(i)=x(1,nc3(i))
128 y3(i)=x(2,nc3(i))
129 z3(i)=x(3,nc3(i))
130 x4(i)=x(1,nc4(i))
131 y4(i)=x(2,nc4(i))
132 z4(i)=x(3,nc4(i))
133 x5(i)=x(1,nc5(i))
134 y5(i)=x(2,nc5(i))
135 z5(i)=x(3,nc5(i))
136 x6(i)=x(1,nc6(i))
137 y6(i)=x(2,nc6(i))
138 z6(i)=x(3,nc6(i))
139 x7(i)=x(1,nc7(i))
140 y7(i)=x(2,nc7(i))
141 z7(i)=x(3,nc7(i))
142 x8(i)=x(1,nc8(i))
143 y8(i)=x(2,nc8(i))
144 z8(i)=x(3,nc8(i))
145 ENDDO
146C-----------
147C Local system
148C-----------
149 DO i=1,nel
150 x0(1) = zero
151 y0(1) = zero
152 z0(1) = zero
153 x0(2) = sav(i,1)
154 y0(2) = sav(i,2)
155 z0(2) = sav(i,3)
156 x0(3) = sav(i,4)
157 y0(3) = sav(i,5)
158 z0(3) = sav(i,6)
159 x0(4) = sav(i,7)
160 y0(4) = sav(i,8)
161 z0(4) = sav(i,9)
162 x0(5) = sav(i,10)
163 y0(5) = sav(i,11)
164 z0(5) = sav(i,12)
165 x0(6) = sav(i,13)
166 y0(6) = sav(i,14)
167 z0(6) = sav(i,15)
168 x0(7) = sav(i,16)
169 y0(7) = sav(i,17)
170 z0(7) = sav(i,18)
171 x0(8) = sav(i,19)
172 y0(8) = sav(i,20)
173 z0(8) = sav(i,21)
174
175 dx_dr = (x0(3)+x0(4)+x0(7)+x0(8))-(x0(1)+x0(2)+x0(5)+x0(6))
176 dy_dr = (y0(3)+y0(4)+y0(7)+y0(8))-(y0(1)+y0(2)+y0(5)+y0(6))
177 dz_dr = (z0(3)+z0(4)+z0(7)+z0(8))-(z0(1)+z0(2)+z0(5)+z0(6))
178 dx_ds = (x0(5)+x0(6)+x0(7)+x0(8))-(x0(1)+x0(2)+x0(3)+x0(4))
179 dy_ds = (y0(5)+y0(6)+y0(7)+y0(8))-(y0(1)+y0(2)+y0(3)+y0(4))
180 dz_ds = (z0(5)+z0(6)+z0(7)+z0(8))-(z0(1)+z0(2)+z0(3)+z0(4))
181 dx_dt = (x0(2)+x0(3)+x0(6)+x0(7))-(x0(1)+x0(4)+x0(5)+x0(8))
182 dy_dt = (y0(2)+y0(3)+y0(6)+y0(7))-(y0(1)+y0(4)+y0(5)+y0(8))
183 dz_dt = (z0(2)+z0(3)+z0(6)+z0(7))-(z0(1)+z0(4)+z0(5)+z0(8))
184 detj0 =(dx_dr*(dy_ds*dz_dt-dz_ds*dy_dt)
185 . -dx_ds*(dy_dr*dz_dt-dy_dt*dz_dr)
186 . +dx_dt*(dy_dr*dz_ds-dy_ds*dz_dr))
187 detm1 = one/detj0
188 detm1 = eight*detm1
189 invj(i,1,1) = (dy_ds*dz_dt-dz_ds*dy_dt)*detm1
190 invj(i,2,1) = (dz_dr*dy_dt-dy_dr*dz_dt)*detm1
191 invj(i,3,1) = (dy_dr*dz_ds-dy_ds*dz_dr)*detm1
192 invj(i,1,2) = (dx_dt*dz_ds-dx_ds*dz_dt)*detm1
193 invj(i,2,2) = (dx_dr*dz_dt-dx_dt*dz_dr)*detm1
194 invj(i,3,2) = (dx_ds*dz_dr-dx_dr*dz_ds)*detm1
195 invj(i,1,3) = (dx_ds*dy_dt-dx_dt*dy_ds)*detm1
196 invj(i,2,3) = (dx_dt*dy_dr-dx_dr*dy_dt)*detm1
197 invj(i,3,3) = (dx_dr*dy_ds-dx_ds*dy_dr)*detm1
198 ENDDO
199 CALL crtrans_imp(
200 1 sav, invj, x1, x2,
201 2 x3, x4, x5, x6,
202 3 x7, x8, y1, y2,
203 4 y3, y4, y5, y6,
204 5 y7, y8, z1, z2,
205 6 z3, z4, z5, z6,
206 7 z7, z8, v1, v2,
207 8 v3, v4, v5, v6,
208 9 v7, v8, r, trm,
209 a nel)
210C-----------
211C
212C-----------
213 DO i = 1,nel
214 x1(i) = zero
215 y1(i) = zero
216 z1(i) = zero
217 x2(i) = sav(i,1)
218 y2(i) = sav(i,2)
219 z2(i) = sav(i,3)
220 x3(i) = sav(i,4)
221 y3(i) = sav(i,5)
222 z3(i) = sav(i,6)
223 x4(i) = sav(i,7)
224 y4(i) = sav(i,8)
225 z4(i) = sav(i,9)
226 x5(i) = sav(i,10)
227 y5(i) = sav(i,11)
228 z5(i) = sav(i,12)
229 x6(i) = sav(i,13)
230 y6(i) = sav(i,14)
231 z6(i) = sav(i,15)
232 x7(i) = sav(i,16)
233 y7(i) = sav(i,17)
234 z7(i) = sav(i,18)
235 x8(i) = sav(i,19)
236 y8(i) = sav(i,20)
237 z8(i) = sav(i,21)
238 ENDDO
239 DO i=1,nel
240 IF(offg(i)>one)THEN
241 off(i) = offg(i)-one
242 ENDIF
243 ENDDO
244 DO i=1,nel
245 off(i) = min(one,offg(i))
246 ENDDO
247C-----------
248 DO j=1,9
249 DO i=1,nel
250 k11(j,i)=zero
251 k12(j,i)=zero
252 k13(j,i)=zero
253 k14(j,i)=zero
254 k15(j,i)=zero
255 k16(j,i)=zero
256 k17(j,i)=zero
257 k18(j,i)=zero
258 k22(j,i)=zero
259 k23(j,i)=zero
260 k24(j,i)=zero
261 k25(j,i)=zero
262 k26(j,i)=zero
263 k27(j,i)=zero
264 k28(j,i)=zero
265 k33(j,i)=zero
266 k34(j,i)=zero
267 k35(j,i)=zero
268 k36(j,i)=zero
269 k37(j,i)=zero
270 k38(j,i)=zero
271 k44(j,i)=zero
272 k45(j,i)=zero
273 k46(j,i)=zero
274 k47(j,i)=zero
275 k48(j,i)=zero
276 k55(j,i)=zero
277 k56(j,i)=zero
278 k57(j,i)=zero
279 k58(j,i)=zero
280 k66(j,i)=zero
281 k67(j,i)=zero
282 k68(j,i)=zero
283 k77(j,i)=zero
284 k78(j,i)=zero
285 k88(j,i)=zero
286 ENDDO
287 ENDDO
288
289 DO j=1,nel
290 DO i=1,576
291 kl(i,j)=zero
292 ENDDO
293 ENDDO
294C-----------
295 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine crtrans_imp(sav, invj, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, v1, v2, v3, v4, v5, v6, v7, v8, r, trm, nel)
Definition crtrans_imp.F:41
#define min(a, b)
Definition macros.h:20