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

Go to the source code of this file.

Functions/Subroutines

subroutine s8ske3 (pm, geo, ixs, x, elbuf_str, nel, icp, icsig, etag, iddl, ndof, k_diag, k_lt, iadk, jdik, mpt, ipm, igeo, ikgeo, bufmat, nft, mtn, jhbe, jcvt, igtyp, isorth)

Function/Subroutine Documentation

◆ s8ske3()

subroutine s8ske3 ( pm,
geo,
integer, dimension(nixs,*) ixs,
x,
type (elbuf_struct_), target elbuf_str,
integer nel,
integer icp,
integer icsig,
integer, dimension(*) etag,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
integer mpt,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
integer ikgeo,
bufmat,
integer, intent(in) nft,
integer, intent(in) mtn,
integer, intent(in) jhbe,
integer, intent(in) jcvt,
integer, intent(in) igtyp,
integer, intent(in) isorth )

Definition at line 39 of file s8ske3.F.

47C-----------------------------------------------
48C M o d u l e s
49C-----------------------------------------------
50 USE elbufdef_mod
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C G l o b a l P a r a m e t e r s
57C-----------------------------------------------
58#include "mvsiz_p.inc"
59C-----------------------------------------------
60C C o m m o n B l o c k s
61C-----------------------------------------------
62#include "com04_c.inc"
63#include "param_c.inc"
64C-----------------------------------------------
65C D u m m y A r g u m e n t s
66C-----------------------------------------------
67 INTEGER, INTENT(IN) :: NFT
68 INTEGER, INTENT(IN) :: MTN
69 INTEGER, INTENT(IN) :: JHBE
70 INTEGER, INTENT(IN) :: JCVT
71 INTEGER, INTENT(IN) :: IGTYP
72 INTEGER, INTENT(IN) :: ISORTH
73 INTEGER NEL ,ICP, ICSIG,IKGEO,MPT
74 INTEGER NDOF(*) ,IADK(*) ,JDIK(*),
75 . IXS(NIXS,*),IPM(NPROPMI,*),IGEO(NPROPGI,*),ETAG(*),IDDL(*)
76C
78 . pm(npropm,*), geo(npropg,*), x(*),
79 . k11(9,mvsiz) , k12(9,mvsiz) ,k13(9,mvsiz) ,k14(9,mvsiz) ,
80 . k15(9,mvsiz) , k16(9,mvsiz) ,k17(9,mvsiz) ,k18(9,mvsiz) ,
81 . k22(9,mvsiz) ,k23(9,mvsiz) ,k24(9,mvsiz) ,k25(9,mvsiz) ,
82 . k26(9,mvsiz) ,k27(9,mvsiz) ,k28(9,mvsiz) ,k33(9,mvsiz) ,
83 . k34(9,mvsiz) ,k35(9,mvsiz) ,k36(9,mvsiz) ,k37(9,mvsiz) ,
84 . k38(9,mvsiz) ,k44(9,mvsiz) ,k45(9,mvsiz) ,k46(9,mvsiz) ,
85 . k47(9,mvsiz) ,k48(9,mvsiz) ,k55(9,mvsiz) ,k56(9,mvsiz) ,
86 . k57(9,mvsiz) ,k58(9,mvsiz) ,k66(9,mvsiz) ,k67(9,mvsiz) ,
87 . k68(9,mvsiz) ,k77(9,mvsiz) ,k78(9,mvsiz) ,k88(9,mvsiz) ,
88 . offg(mvsiz) ,bufmat(*) ,k_diag(*) ,k_lt(*)
89 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
90C-----------------------------------------------
91C L o c a l V a r i a b l e s
92C-----------------------------------------------
93 INTEGER LCO,NF1,IFLAG,NB3S,I,J,IKSUP,IKORTH,IADBUF,IPREDU,
94 . IR, IS, IT,IL,IP,ICR,ICS,ICT,ICPG,NPTR,NPTS,NPTT,NLAY,NPPT,
95 . IAD0,PID , L, M, N,IJ,JJ,K
96 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IDEG(MVSIZ)
98 . voln(mvsiz), deltax(mvsiz),
99 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
100 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
101 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
102 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
103 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
104 . aj7(mvsiz) , aj8(mvsiz) , aj9(mvsiz)
105C----------------
106 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
107 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
108 my_real
109 . off(mvsiz) , rhoo(mvsiz),
110 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
111 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
112 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
113 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
114 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
115 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz), r
116c
117 my_real
118! . R11(MVSIZ),R12(MVSIZ),R13(MVSIZ),
119! . R21(MVSIZ),R22(MVSIZ),R23(MVSIZ),
120! . R31(MVSIZ),R32(MVSIZ),R33(MVSIZ),
121 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
122 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
123 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz)
124 my_real
125 . bid,wi,smax(mvsiz),volg(mvsiz),pp(mvsiz),usb(mvsiz),!NU(MVSIZ),
126 . volm(mvsiz),sigm(mvsiz),nu1(mvsiz),gama(mvsiz,6)
127 double precision
128 . kl(24,24,nel),ktemp(24,24),ks(24,24,nel), trm(nel,24,24),
129 . dn_x(mvsiz,8),dn_y(mvsiz,8),dn_z(mvsiz,8),
130 . dn_r(8),dn_s(8),dn_t(8),invj(9,mvsiz),
131 . v1(mvsiz,9), v2(mvsiz,9), v3(mvsiz,9), v4(mvsiz,9),
132 . v5(mvsiz,9), v6(mvsiz,9), v7(mvsiz,9), v8(mvsiz,9)
133 TYPE(G_BUFEL_) ,POINTER :: GBUF
134 TYPE(L_BUFEL_) ,POINTER :: LBUF
135
136 my_real
137 . w_gauss(9,9),a_gauss(9,9)
138 DATA w_gauss /
139 1 2. ,0. ,0. ,
140 1 0. ,0. ,0. ,
141 1 0. ,0. ,0. ,
142 2 1. ,1. ,0. ,
143 2 0. ,0. ,0. ,
144 2 0. ,0. ,0. ,
145 3 0.555555555555556,0.888888888888889,0.555555555555556,
146 3 0. ,0. ,0. ,
147 3 0. ,0. ,0. ,
148 4 0.347854845137454,0.652145154862546,0.652145154862546,
149 4 0.347854845137454,0. ,0. ,
150 4 0. ,0. ,0. ,
151 5 0.236926885056189,0.478628670499366,0.568888888888889,
152 5 0.478628670499366,0.236926885056189,0. ,
153 5 0. ,0. ,0. ,
154 6 0.171324492379170,0.360761573048139,0.467913934572691,
155 6 0.467913934572691,0.360761573048139,0.171324492379170,
156 6 0. ,0. ,0. ,
157 7 0.129484966168870,0.279705391489277,0.381830050505119,
158 7 0.417959183673469,0.381830050505119,0.279705391489277,
159 7 0.129484966168870,0. ,0. ,
160 8 0.101228536290376,0.222381034453374,0.313706645877887,
161 8 0.362683783378362,0.362683783378362,0.313706645877887,
162 8 0.222381034453374,0.101228536290376,0. ,
163 9 0.081274388361574,0.180648160694857,0.260610696402935,
164 9 0.312347077040003,0.330239355001260,0.312347077040003,
165 9 0.260610696402935,0.180648160694857,0.081274388361574/
166 DATA a_gauss /
167 1 0. ,0. ,0. ,
168 1 0. ,0. ,0. ,
169 1 0. ,0. ,0. ,
170 2 -.577350269189626,0.577350269189626,0. ,
171 2 0. ,0. ,0. ,
172 2 0. ,0. ,0. ,
173 3 -.774596669241483,0. ,0.774596669241483,
174 3 0. ,0. ,0. ,
175 3 0. ,0. ,0. ,
176 4 -.861136311594053,-.339981043584856,0.339981043584856,
177 4 0.861136311594053,0. ,0. ,
178 4 0. ,0. ,0. ,
179 5 -.906179845938664,-.538469310105683,0. ,
180 5 0.538469310105683,0.906179845938664,0. ,
181 5 0. ,0. ,0. ,
182 6 -.932469514203152,-.661209386466265,-.238619186083197,
183 6 0.238619186083197,0.661209386466265,0.932469514203152,
184 6 0. ,0. ,0. ,
185 7 -.949107912342759,-.741531185599394,-.405845151377397,
186 7 0. ,0.405845151377397,0.741531185599394,
187 7 0.949107912342759,0. ,0. ,
188 8 -.960289856497536,-.796666477413627,-.525532409916329,
189 8 -.183434642495650,0.183434642495650,0.525532409916329,
190 8 0.796666477413627,0.960289856497536,0. ,
191 9 -.968160239507626,-.836031107326636,-.613371432700590,
192 9 -.324253423403809,0. ,0.324253423403809,
193 9 0.613371432700590,0.836031107326636,0.968160239507626/
194
195 my_real
196 . hh(2,mvsiz),fac(mvsiz),c1,e0(mvsiz),dd(9,mvsiz),!GG(MVSIZ),
197 . dm(9,mvsiz),gm(9,mvsiz),dgm(9,mvsiz),dg(9,mvsiz),
198 . g33(9,mvsiz),hh1(2,mvsiz),lamda,nu,gg
199 my_real
200 . a11(mvsiz), a12(mvsiz), a13(mvsiz),
201 . a21(mvsiz), a22(mvsiz), a23(mvsiz),
202 . a31(mvsiz), a32(mvsiz), a33(mvsiz)
203
204C----HH(1,):lamda,HH(2,):G; HH1 :effective lamda,g for Icpre=1
205C-----------------------------------------------
206C S o u r c e L i n e s
207C-----------------------------------------------
208 gbuf => elbuf_str%GBUF
209 nlay = elbuf_str%NLAY
210 IF (mpt == 222) THEN
211 nptr = 2
212 npts = 2
213 nptt = 2
214 ELSE
215 nptr = elbuf_str%NPTR
216 npts = elbuf_str%NPTS
217 nptt = elbuf_str%NPTT
218 ENDIF
219 iad0 = 1
220 IF (isorth > 0) iad0 = 1 + 6*nel
221 IF (igtyp == 21.OR.igtyp == 22) THEN
222 ikorth=2
223 ELSEIF (isorth>0) THEN
224 ikorth=1
225 ELSE
226 ikorth=0
227 ENDIF
228C-----------
229 nf1=nft+1
230C-----------
231 CALL s8scoork_imp(x,ixs(1,nf1),
232 . x1, x2, x3, x4, x5, x6, x7, x8,
233 . y1, y2, y3, y4, y5, y6, y7, y8,
234 . z1, z2, z3, z4, z5, z6, z7, z8,
235 . gbuf%OFF,offg,gbuf%SMSTR, gbuf%COR_FR,
236! . R11, R12, R13, R21, R22, R23, R31, R32, R33,
237 . v1,v2,v3,v4,v5,v6,v7,v8,
238 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
239 . k11,k12,k13,k14,k15,k16,k17,k18,k22,k23,
240 . k24,k25,k26,k27,k28,k33,k34,k35,k36,k37,
241 . k38,k44,k45,k46,k47,k48,k55,k56,k57,k58,
242 . k66,k67,k68,k77,k78,k88,jhbe,gbuf%GAMA,gama,
243 . nel,trm,kl) !,TRM
244C
245 pid=ngeo(1)
246C IGTYP=NINT(GEO(12,PID))
247C CALL GET_GAMA(MTN,NEL,NBGAMA,JCVT,PM,IXS(1,NF1),IGTYP)
248 DO i=1,nel
249 nu =pm(21,mxt(i))
250 c1 =three*pm(32,mxt(i))/(one+nu)
251 lamda=c1*nu
252 gg =c1*(one-two*nu)
253 hh(1,i)=lamda
254 hh(2,i)=gg*half
255 ENDDO
256 icpg = icp
257 IF (jhbe/=14.AND.jhbe/=17.AND.jhbe/=24) THEN
258 icpg = 1
259 ENDIF
260c
261
262C-----------Matrix B----------
263C-----------Begin integrating points-----
264 il = 1
265! DO IR=1,NPTR
266! DO IS=1,NPTS
267 DO is=1,npts
268 DO ir=1,nptr
269 DO it=1,nptt
270 IF (jhbe == 14.OR.jhbe == 12.OR.jhbe == 17) THEN
271 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
272 ELSE
273 lbuf => elbuf_str%BUFLY(il)%LBUF(1,1,1)
274 ENDIF
275C-----------
276 ip = ir + ( (is-1) + (it-1)*npts )*nptr
277 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
278C
279! used for full integration
280! CALL S8SDERI3(OFFG,OFF,VOLN,NGL,
281! . A_GAUSS(IR,NPTR),A_GAUSS(IS,NPTS),A_GAUSS(IT,NPTT),WI,
282! . X1,X2,X3,X4,X5,X6,X7,X8,
283! . Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,
284! . Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,
285! . DN_X,DN_Y,DN_Z,VOLM)
286! used for ANS formulation
287 CALL s8sderi3(
288 1 offg, off, voln, ngl,
289 2 a_gauss(it,nptt),a_gauss(ir,nptr),a_gauss(is,npts),wi,
290 3 x1, x2, x3, x4,
291 4 x5, x6, x7, x8,
292 5 y1, y2, y3, y4,
293 6 y5, y6, y7, y8,
294 7 z1, z2, z3, z4,
295 8 z5, z6, z7, z8,
296 9 a11, a12, a13, a21,
297 a a22, a23, a31, a32,
298 b a33, dn_r, dn_s, dn_t,
299 c invj, dn_x, dn_y, dn_z,
300 d volm, nel)
301 CALL s8slke3(
302 1 kl, hh, voln, !DN_X,
303 2 dn_y, dn_z, a_gauss(it,nptt),a_gauss(ir,nptr),
304 3 a_gauss(is,npts),dn_r, dn_s, dn_t,
305 4 invj, x1, x2, x3,
306 5 x4, x5, x6, x7,
307 6 x8, y1, y2, y3,
308 7 y4, y5, y6, y7,
309 8 y8, z1, z2, z3,
310 9 z4, z5, z6, z7,
311 a z8, a11, a12, a13,
312 b a21, a22, a23, a31,
313 c a32, a33, nel)
314 ENDDO
315 ENDDO
316 ENDDO
317
318 CALL transk(
319 1 kl, trm, nel)
320C-------------
321 CALL s8sksig(x,ixs(1,nf1),nel,
322 . gbuf%COR_NF,ks,v1,v2,v3,v4,v5,v6,v7,v8,
323 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8)
324 DO k=1,nel
325 DO j=1,24
326 DO i=1,24
327 kl(i,j,k)=kl(i,j,k)+ks(i,j,k)
328 ENDDO
329 ENDDO
330 ENDDO
331C----------------------------
332C CONVECTE --> GLOBAL.
333C----------------------------
334 IF (neig>0) CALL s8eoff(
335 1 1, nel, ixs(1,nf1), etag, offg)
336
337 DO k=1,nel
338 DO j=1,3
339 jj=3*(j-1)
340 DO i=1,3
341 ij= i+jj
342 k11(ij,k)=kl(i,j,k)
343 k22(ij,k)=kl(i+3,j+3,k)
344 k33(ij,k)=kl(i+6,j+6,k)
345 k44(ij,k)=kl(i+9,j+9,k)
346 k55(ij,k)=kl(i+12,j+12,k)
347 k66(ij,k)=kl(i+15,j+15,k)
348 k77(ij,k)=kl(i+18,j+18,k)
349 k88(ij,k)=kl(i+21,j+21,k)
350 k12(ij,k)=kl(i,j+3,k)
351 k13(ij,k)=kl(i,j+6,k)
352 k14(ij,k)=kl(i,j+9,k)
353 k15(ij,k)=kl(i,j+12,k)
354 k16(ij,k)=kl(i,j+15,k)
355 k17(ij,k)=kl(i,j+18,k)
356 k18(ij,k)=kl(i,j+21,k)
357 k23(ij,k)=kl(i+3,j+6,k)
358 k24(ij,k)=kl(i+3,j+9,k)
359 k25(ij,k)=kl(i+3,j+12,k)
360 k26(ij,k)=kl(i+3,j+15,k)
361 k27(ij,k)=kl(i+3,j+18,k)
362 k28(ij,k)=kl(i+3,j+21,k)
363 k34(ij,k)=kl(i+6,j+9,k)
364 k35(ij,k)=kl(i+6,j+12,k)
365 k36(ij,k)=kl(i+6,j+15,k)
366 k37(ij,k)=kl(i+6,j+18,k)
367 k38(ij,k)=kl(i+6,j+21,k)
368 k45(ij,k)=kl(i+9,j+12,k)
369 k46(ij,k)=kl(i+9,j+15,k)
370 k47(ij,k)=kl(i+9,j+18,k)
371 k48(ij,k)=kl(i+9,j+21,k)
372 k56(ij,k)=kl(i+12,j+15,k)
373 k57(ij,k)=kl(i+12,j+18,k)
374 k58(ij,k)=kl(i+12,j+21,k)
375 k67(ij,k)=kl(i+15,j+18,k)
376 k68(ij,k)=kl(i+15,j+21,k)
377 k78(ij,k)=kl(i+18,j+21,k)
378 ENDDO
379 ENDDO
380 ENDDO
381
382 CALL assem_s8(
383 1 ixs(1,nf1),nel ,iddl ,ndof ,k_diag,
384 2 k_lt ,iadk ,jdik ,k11 ,k12 ,
385 3 k13 ,k14 ,k15 ,k16 ,k17 ,
386 4 k18 ,k22 ,k23 ,k24 ,k25 ,
387 5 k26 ,k27 ,k28 ,k33 ,k34 ,
388 6 k35 ,k36 ,k37 ,k38 ,k44 ,
389 7 k45 ,k46 ,k47 ,k48 ,k55 ,
390 8 k56 ,k57 ,k58 ,k66 ,k67 ,
391 9 k68 ,k77 ,k78 ,k88 ,offg )
392C
393 RETURN
subroutine assem_s8(ixs, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, 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, off)
Definition assem_s8.F:43
#define my_real
Definition cppsort.cpp:32
subroutine s8eoff(jft, jlt, ixs, etag, off)
Definition s8eoff.F:33
subroutine s8sderi3(offg, off, voldp, ngl, ksi, eta, zeta, wi, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, a11, a12, a13, a21, a22, a23, a31, a32, a33, dn_r, dn_s, dn_t, invj, dn_x, dn_y, dn_z, voln, nel)
Definition s8sderi3.F:43
subroutine s8sksig(x, ixs, nel, qf, ks, v1, v2, v3, v4, v5, v6, v7, v8, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
Definition s8sksig.F:30
subroutine s8slke3(kl, hh, vol, dn_y, dn_z, ksi, eta, zeta, dn_r, dn_s, dn_t, invj, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, a11, a12, a13, a21, a22, a23, a31, a32, a33, nel)
Definition s8slke3.F:44
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)
Definition srcoork_imp.F:42
subroutine transk(kl, trm, nel)
Definition transk.F:31