OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8cke3.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!|| s8cke3 ../engine/source/elements/thickshell/solide8c/s8cke3.F
25!||--- called by ------------------------------------------------------
26!|| imp_glob_k ../engine/source/implicit/imp_glob_k.F
27!|| imp_glob_k0 ../engine/source/implicit/imp_glob_k.F
28!||--- calls -----------------------------------------------------
29!|| assem_s8 ../engine/source/implicit/assem_s8.F
30!|| mmat_h1 ../engine/source/elements/solid/solide8z/mmat_h1.F
31!|| mmats ../engine/source/elements/solid/solide8z/mmats.f
32!|| mmstifs ../engine/source/elements/solid/solide8z/mmstifs.F
33!|| s8eoff ../engine/source/elements/solid/solide8/s8eoff.F
34!|| s8zcumg3 ../engine/source/elements/solid/solide8z/s8zcumg3.F
35!|| s8zderi3 ../engine/source/elements/solid/solide8z/s8zderi3.F
36!|| s8zderict3 ../engine/source/elements/solid/solide8z/s8zderict3.F
37!|| s8zkgei3 ../engine/source/elements/solid/solide8z/s8zkgei3.F
38!|| s8zkgeo3 ../engine/source/elements/solid/solide8z/s8zkgeo3.F
39!|| s8zlke3 ../engine/source/elements/solid/solide8z/s8zlke3.F
40!|| s8zlkep3 ../engine/source/elements/solid/solide8z/s8zlkep3.F
41!|| s8zsigp3 ../engine/source/elements/solid/solide8z/s8zsigp3.F
42!|| srcoork ../engine/source/elements/solid/solide8z/srcoork.F
43!||--- uses -----------------------------------------------------
44!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
45!|| element_mod ../common_source/modules/elements/element_mod.F90
46!||====================================================================
47 SUBROUTINE s8cke3(
48 1 PM, GEO, IXS, X,
49 2 ELBUF_STR,NEL, ICP, ICSIG,
50 3 ETAG, IDDL, NDOF, K_DIAG,
51 4 K_LT, IADK, JDIK, IPM,
52 5 IGEO, IKGEO, BUFMAT, NFT,
53 6 MTN, JHBE, JCVT, IGTYP,
54 7 ISORTH, IREP, ISMSTR)
55C-----------------------------------------------
56C M o d u l e s
57C-----------------------------------------------
58 USE elbufdef_mod
59 use element_mod , only : nixs
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C G l o b a l P a r a m e t e r s
66C-----------------------------------------------
67#include "mvsiz_p.inc"
68C-----------------------------------------------
69C C o m m o n B l o c k s
70C-----------------------------------------------
71#include "com04_c.inc"
72#include "param_c.inc"
73C-----------------------------------------------
74C D u m m y A r g u m e n t s
75C-----------------------------------------------
76 INTEGER, INTENT(IN) :: IREP
77 INTEGER, INTENT(IN) :: ISMSTR
78 INTEGER, INTENT(IN) :: NFT
79 INTEGER, INTENT(IN) :: MTN
80 INTEGER, INTENT(IN) :: JHBE
81 INTEGER, INTENT(IN) :: JCVT
82 INTEGER, INTENT(IN) :: IGTYP
83 INTEGER, INTENT(IN) :: ISORTH
84 INTEGER NEL ,ICP, ICSIG,IKGEO
85 INTEGER NDOF(*) ,IADK(*) ,JDIK(*),
86 . ixs(nixs,*),ipm(npropmi,*),igeo(npropgi,*),etag(*),iddl(*)
87C
89 . pm(npropm,*), geo(npropg,*), x(*),
90 . k11(9,mvsiz) , k12(9,mvsiz) ,k13(9,mvsiz) ,k14(9,mvsiz) ,
91 . k15(9,mvsiz) , k16(9,mvsiz) ,k17(9,mvsiz) ,k18(9,mvsiz) ,
92 . k22(9,mvsiz) ,k23(9,mvsiz) ,k24(9,mvsiz) ,k25(9,mvsiz) ,
93 . k26(9,mvsiz) ,k27(9,mvsiz) ,k28(9,mvsiz) ,k33(9,mvsiz) ,
94 . k34(9,mvsiz) ,k35(9,mvsiz) ,k36(9,mvsiz) ,k37(9,mvsiz) ,
95 . k38(9,mvsiz) ,k44(9,mvsiz) ,k45(9,mvsiz) ,k46(9,mvsiz) ,
96 . k47(9,mvsiz) ,k48(9,mvsiz) ,k55(9,mvsiz) ,k56(9,mvsiz) ,
97 . k57(9,mvsiz) ,k58(9,mvsiz) ,k66(9,mvsiz) ,k67(9,mvsiz) ,
98 . k68(9,mvsiz) ,k77(9,mvsiz) ,k78(9,mvsiz) ,k88(9,mvsiz) ,
99 . offg(mvsiz) ,bufmat(*) ,k_diag(*) ,k_lt(*)
100 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
101C-----------------------------------------------
102C L o c a l V a r i a b l e s
103C-----------------------------------------------
104 INTEGER NF1, I, IKORTH, IADBUF, IPREDU
105 INTEGER IR, IS, IT, IL, IP, ICPG, PID,
106 . NPTR,NPTS,NPTT,NLAY,IAD0,NPPT,MX
107 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IDEG(MVSIZ)
108 my_real
109 . VOLN(MVSIZ), DELTAX(MVSIZ),
110 . AJC1(MVSIZ) , AJC2(MVSIZ) , AJC3(MVSIZ) ,
111 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
112 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
113 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
114 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz)
115C----------------
116 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
117 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
118 my_real
119 . OFF(MVSIZ) ,
120 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
121 . X5(MVSIZ), X6(MVSIZ), X7(MVSIZ), X8(MVSIZ),
122 . Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
123 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
124 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
125 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
126 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
127 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
128 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
129 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
130 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
131 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
132 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
133 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
134 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
135 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
136 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
137 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
138 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
139 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
140 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
141 . pyz5(mvsiz),pyz6(mvsiz),pyz7(mvsiz),pyz8(mvsiz),
142 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
143 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
144 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
145 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
146 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
147 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
148 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
149 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
150 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
151 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
152 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
153 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
154 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
155 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
156 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
157 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
158 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
159 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
160 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
161 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
162 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
163 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4)
164 my_real
165 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
166 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
167 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
168 my_real
169 . bid,wi,smax(mvsiz),volg(mvsiz),nu(mvsiz),
170 . nu1(mvsiz),gama(mvsiz,6)
171 TYPE(g_bufel_) ,POINTER :: GBUF
172 TYPE(L_BUFEL_) ,POINTER :: LBUF
173 my_real
174 . W_GAUSS(9,9),A_GAUSS(9,9)
175 DATA w_gauss /
176 1 2. ,0. ,0. ,
177 1 0. ,0. ,0. ,
178 1 0. ,0. ,0. ,
179 2 1. ,1. ,0. ,
180 2 0. ,0. ,0. ,
181 2 0. ,0. ,0. ,
182 3 0.555555555555556,0.888888888888889,0.555555555555556,
183 3 0. ,0. ,0. ,
184 3 0. ,0. ,0. ,
185 4 0.347854845137454,0.652145154862546,0.652145154862546,
186 4 0.347854845137454,0. ,0. ,
187 4 0. ,0. ,0. ,
188 5 0.236926885056189,0.478628670499366,0.568888888888889,
189 5 0.478628670499366,0.236926885056189,0. ,
190 5 0. ,0. ,0. ,
191 6 0.171324492379170,0.360761573048139,0.467913934572691,
192 6 0.467913934572691,0.360761573048139,0.171324492379170,
193 6 0. ,0. ,0. ,
194 7 0.129484966168870,0.279705391489277,0.381830050505119,
195 7 0.417959183673469,0.381830050505119,0.279705391489277,
196 7 0.129484966168870,0. ,0. ,
197 8 0.101228536290376,0.222381034453374,0.313706645877887,
198 8 0.362683783378362,0.362683783378362,0.313706645877887,
199 8 0.222381034453374,0.101228536290376,0. ,
200 9 0.081274388361574,0.180648160694857,0.260610696402935,
201 9 0.312347077040003,0.330239355001260,0.312347077040003,
202 9 0.260610696402935,0.180648160694857,0.081274388361574/
203 DATA a_gauss /
204 1 0. ,0. ,0. ,
205 1 0. ,0. ,0. ,
206 1 0. ,0. ,0. ,
207 2 -.577350269189626,0.577350269189626,0. ,
208 2 0. ,0. ,0. ,
209 2 0. ,0. ,0. ,
210 3 -.774596669241483,0. ,0.774596669241483,
211 3 0. ,0. ,0. ,
212 3 0. ,0. ,0. ,
213 4 -.861136311594053,-.339981043584856,0.339981043584856,
214 4 0.861136311594053,0. ,0. ,
215 4 0. ,0. ,0. ,
216 5 -.906179845938664,-.538469310105683,0. ,
217 5 0.538469310105683,0.906179845938664,0. ,
218 5 0. ,0. ,0. ,
219 6 -.932469514203152,-.661209386466265,-.238619186083197,
220 6 0.238619186083197,0.661209386466265,0.932469514203152,
221 6 0. ,0. ,0. ,
222 7 -.949107912342759,-.741531185599394,-.405845151377397,
223 7 0. ,0.405845151377397,0.741531185599394,
224 7 0.949107912342759,0. ,0. ,
225 8 -.960289856497536,-.796666477413627,-.525532409916329,
226 8 -.183434642495650,0.183434642495650,0.525532409916329,
227 8 0.796666477413627,0.960289856497536,0. ,
228 9 -.968160239507626,-.836031107326636,-.613371432700590,
229 9 -.324253423403809,0. ,0.324253423403809,
230 9 0.613371432700590,0.836031107326636,0.968160239507626/
231
232 my_real
233 . hh(2,mvsiz),fac(mvsiz),c1,e0(mvsiz),dd(9,mvsiz),gg(mvsiz),
234 . dm(9,mvsiz),gm(9,mvsiz),dgm(9,mvsiz),dg(9,mvsiz),
235 . g33(9,mvsiz),hh1(2,mvsiz)
236C----HH(1,):lamda,HH(2,):G; HH1 :effective lamda,g for Icpre=1
237 DOUBLE PRECISION
238 . VOLDP(MVSIZ)
239C-----------------------------------------------
240C S o u r c e L i n e s
241C-----------------------------------------------
242 gbuf => elbuf_str%GBUF
243 nlay = elbuf_str%NLAY
244 nptr = elbuf_str%NPTR
245 npts = elbuf_str%NPTS
246 nptt = elbuf_str%NPTT
247 iad0 = 1
248 IF (isorth > 0) iad0 = 1 + 6*nel
249 IF (igtyp == 21.OR.igtyp == 22) THEN
250 ikorth=2
251 ELSEIF (isorth>0) THEN
252 ikorth=1
253 ELSE
254 ikorth=0
255 ENDIF
256C-----------
257 nf1=nft+1
258C-----------
259 CALL srcoork(
260 1 x, ixs(1,nf1),x1, x2,
261 2 x3, x4, x5, x6,
262 3 x7, x8, y1, y2,
263 4 y3, y4, y5, y6,
264 5 y7, y8, z1, z2,
265 6 z3, z4, z5, z6,
266 7 z7, z8, gbuf%OFF, offg,
267 8 gbuf%SMSTR,r11, r12, r13,
268 9 r21, r22, r23, r31,
269 a r32, r33, nc1, nc2,
270 b nc3, nc4, nc5, nc6,
271 c nc7, nc8, ngl, mxt,
272 d ngeo, k11, k12, k13,
273 e k14, k15, k16, k17,
274 f k18, k22, k23, k24,
275 g k25, k26, k27, k28,
276 h k33, k34, k35, k36,
277 i k37, k38, k44, k45,
278 j k46, k47, k48, k55,
279 k k56, k57, k58, k66,
280 l k67, k68, k77, k78,
281 m k88, jhbe, gbuf%GAMA, gama,
282 n nel, ismstr, jhbe, jcvt,
283 o irep, igtyp, isorth)
284C
285 pid=ngeo(1)
286C IGTYP=NINT(GEO(12,PID))
287C CALL GET_GAMA(MTN,NEL,NBGAMA,JCVT,PM,IXS(1,NF1),IGTYP)
288 mx = mxt(1)
289 DO i=1,nel
290 nu(i)=min(half,pm(21,mx))
291 c1 =pm(32,mx)
292 e0(i) =three*(one-two*nu(1))*c1
293 deltax(i)=ep30
294 ideg(i)=0
295 ENDDO
296 IF (jhbe/=14.AND.jhbe<20) THEN
297 DO i=1,nel
298 nu(i)=zero
299 ENDDO
300 ENDIF
301 icpg = icp
302 IF (jhbe/=14.AND.jhbe/=17.AND.jhbe/=24) THEN
303 icpg = 1
304 ENDIF
305c
306 CALL s8zderict3(
307 1 offg, volg, ngl, x1,
308 2 x2, x3, x4, x5,
309 3 x6, x7, x8, y1,
310 4 y2, y3, y4, y5,
311 5 y6, y7, y8, z1,
312 6 z2, z3, z4, z5,
313 7 z6, z7, z8, pxc1,
314 8 pxc2, pxc3, pxc4, pyc1,
315 9 pyc2, pyc3, pyc4, pzc1,
316 a pzc2, pzc3, pzc4, px1h1,
317 b px1h2, px1h3, px1h4, px2h1,
318 c px2h2, px2h3, px2h4, px3h1,
319 d px3h2, px3h3, px3h4, px4h1,
320 e px4h2, px4h3, px4h4, hx,
321 f hy, hz, ajc1, ajc2,
322 g ajc3, ajc4, ajc5, ajc6,
323 h ajc7, ajc8, ajc9, smax,
324 i nel)
325 IF (icpg==2) THEN
326 CALL s8zsigp3(1 ,nel ,gbuf%SIG,e0 ,gbuf%PLA,
327 2 fac ,gbuf%G_PLA,nel )
328 DO i=1,nel
329 nu1(i)=nu(i)+(half-nu(i))*fac(i)
330 ENDDO
331 ELSE
332 DO i=1,nel
333 nu1(i)=nu(i)
334 ENDDO
335 ENDIF
336 IF (mtn>=28) THEN
337 iadbuf = ipm(7,mxt(1))
338 ELSE
339 iadbuf = 1
340 ENDIF
341 nppt = npts*nptt*nptr*nlay
342 CALL mmats(1 ,nel ,pm ,mxt ,hh ,
343 . mtn ,ikorth ,ipm ,igeo ,gama ,
344 . bufmat(iadbuf) ,dm ,dgm ,gm ,
345 . jhbe ,gbuf%SIG ,bid ,nppt ,nel )
346 CALL mmat_h1(
347 1 hh, hh1, fac, icpg,
348 2 ipredu, nel, mtn, ismstr,
349 3 jhbe)
350
351C-----------Matrix B----------
352C-----------Begin integrating points-----
353 it = 1
354 DO ir=1,nptr
355 DO is=1,npts
356 DO il=1,nlay
357 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
358C-----------
359 ip = ir + ( (is-1) + (il-1)*npts )*nptr
360 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(il,nptt)
361C
362 CALL s8zderi3(
363 1 offg, off, voln, ngl,
364 2 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(il,nptt),wi,
365 3 pxc1, pxc2, pxc3, pxc4,
366 4 pyc1, pyc2, pyc3, pyc4,
367 5 pzc1, pzc2, pzc3, pzc4,
368 6 px1h1, px1h2, px1h3, px1h4,
369 7 px2h1, px2h2, px2h3, px2h4,
370 8 px3h1, px3h2, px3h3, px3h4,
371 9 px4h1, px4h2, px4h3, px4h4,
372 a hx, hy, hz, px1,
373 b px2, px3, px4, px5,
374 c px6, px7, px8, py1,
375 d py2, py3, py4, py5,
376 e py6, py7, py8, pz1,
377 f pz2, pz3, pz4, pz5,
378 g pz6, pz7, pz8, pxy1,
379 h pxy2, pxy3, pxy4, pxy5,
380 i pxy6, pxy7, pxy8, pyx1,
381 j pyx2, pyx3, pyx4, pyx5,
382 k pyx6, pyx7, pyx8, pxz1,
383 l pxz2, pxz3, pxz4, pxz5,
384 m pxz6, pxz7, pxz8, pzx1,
385 n pzx2, pzx3, pzx4, pzx5,
386 o pzx6, pzx7, pzx8, pyz1,
387 p pyz2, pyz3, pyz4, pyz5,
388 q pyz6, pyz7, pyz8, pzy1,
389 r pzy2, pzy3, pzy4, pzy5,
390 s pzy6, pzy7, pzy8, bxy1,
391 t bxy2, bxy3, bxy4, bxy5,
392 u bxy6, bxy7, bxy8, byx1,
393 v byx2, byx3, byx4, byx5,
394 w byx6, byx7, byx8, bxz1,
395 x bxz2, bxz3, bxz4, bxz5,
396 y bxz6, bxz7, bxz8, bzx1,
397 z bzx2, bzx3, bzx4, bzx5,
398 1 bzx6, bzx7, bzx8, byz1,
399 2 byz2, byz3, byz4, byz5,
400 3 byz6, byz7, byz8, bzy1,
401 4 bzy2, bzy3, bzy4, bzy5,
402 5 bzy6, bzy7, bzy8, ajc1,
403 6 ajc2, ajc3, ajc4, ajc5,
404 7 ajc6, ajc7, ajc8, ajc9,
405 8 aj1, aj2, aj3, aj4,
406 9 aj5, aj6, smax, deltax,
407 a nu1, icpg, ideg, voldp,
408 b nel, mtn, ismstr, jhbe)
409 CALL mmstifs(
410 1 pm, mxt, hh1, voln,
411 2 icsig, dd, gg, dg,
412 3 g33, dm, gm, dgm,
413 4 ikorth, lbuf%SIG,ir, is,
414 5 il, nel, jhbe, mtn)
415C----------- check mpt are the same between ke and forc3----
416 CALL s8zlke3(
417 1 px1, px2, px3, px4,
418 2 py1, py2, py3, py4,
419 3 pz1, pz2, pz3, pz4,
420 4 px5, px6, px7, px8,
421 5 py5, py6, py7, py8,
422 6 pz5, pz6, pz7, pz8,
423 7 pxy1, pxy2, pxy3, pxy4,
424 8 pxy5, pxy6, pxy7, pxy8,
425 9 pyx1, pyx2, pyx3, pyx4,
426 a pyx5, pyx6, pyx7, pyx8,
427 b pxz1, pxz2, pxz3, pxz4,
428 c pxz5, pxz6, pxz7, pxz8,
429 d pzx1, pzx2, pzx3, pzx4,
430 e pzx5, pzx6, pzx7, pzx8,
431 f pyz1, pyz2, pyz3, pyz4,
432 g pyz5, pyz6, pyz7, pyz8,
433 h pzy1, pzy2, pzy3, pzy4,
434 i pzy5, pzy6, pzy7, pzy8,
435 j bxy1, bxy2, bxy3, bxy4,
436 k bxy5, bxy6, bxy7, bxy8,
437 l byx1, byx2, byx3, byx4,
438 m byx5, byx6, byx7, byx8,
439 n bxz1, bxz2, bxz3, bxz4,
440 o bxz5, bxz6, bxz7, bxz8,
441 p bzx1, bzx2, bzx3, bzx4,
442 q bzx5, bzx6, bzx7, bzx8,
443 r byz1, byz2, byz3, byz4,
444 s byz5, byz6, byz7, byz8,
445 t bzy1, bzy2, bzy3, bzy4,
446 u bzy5, bzy6, bzy7, bzy8,
447 v k11, k12, k13, k14,
448 w k15, k16, k17, k18,
449 x k22, k23, k24, k25,
450 y k26, k27, k28, k33,
451 z k34, k35, k36, k37,
452 1 k38, k44, k45, k46,
453 2 k47, k48, k55, k56,
454 3 k57, k58, k66, k67,
455 4 k68, k77, k78, k88,
456 5 dd, gg, icpg, offg,
457 6 ikorth, dg, g33, nel)
458 IF (ikgeo<0.AND.jhbe==14) THEN
459 CALL s8zkgei3(
460 1 lbuf%SIG,voln, px1, px2,
461 2 px3, px4, py1, py2,
462 3 py3, py4, pz1, pz2,
463 4 pz3, pz4, px5, px6,
464 5 px7, px8, py5, py6,
465 6 py7, py8, pz5, pz6,
466 7 pz7, pz8, k11, k12,
467 8 k13, k14, k15, k16,
468 9 k17, k18, k22, k23,
469 a k24, k25, k26, k27,
470 b k28, k33, k34, k35,
471 c k36, k37, k38, k44,
472 d k45, k46, k47, k48,
473 e k55, k56, k57, k58,
474 f k66, k67, k68, k77,
475 g k78, k88, nel)
476 ENDIF
477 ENDDO
478 ENDDO
479 ENDDO
480C-------------
481 IF (ipredu > 0) THEN
482 CALL s8zlkep3(
483 1 pxc1, pxc2, pxc3, pxc4,
484 2 pyc1, pyc2, pyc3, pyc4,
485 3 pzc1, pzc2, pzc3, pzc4,
486 4 k11, k12, k13, k14,
487 5 k15, k16, k17, k18,
488 6 k22, k23, k24, k25,
489 7 k26, k27, k28, k33,
490 8 k34, k35, k36, k37,
491 9 k38, k44, k45, k46,
492 a k47, k48, k55, k56,
493 b k57, k58, k66, k67,
494 c k68, k77, k78, k88,
495 d hh, volg, fac, icpg,
496 e nel)
497 END IF
498C------due to the generic form, only the mean geometrical stiffness is considered
499 IF (ikgeo>0) THEN
500 CALL s8zkgeo3(
501 1 gbuf%SIG,volg, pxc1, pxc2,
502 2 pxc3, pxc4, pyc1, pyc2,
503 3 pyc3, pyc4, pzc1, pzc2,
504 4 pzc3, pzc4, k11, k12,
505 5 k13, k14, k15, k16,
506 6 k17, k18, k22, k23,
507 7 k24, k25, k26, k27,
508 8 k28, k33, k34, k35,
509 9 k36, k37, k38, k44,
510 a k45, k46, k47, k48,
511 b k55, k56, k57, k58,
512 c k66, k67, k68, k77,
513 d k78, k88, nel)
514 ENDIF
515C----------------------------
516C CONVECTE --> GLOBAL.
517C----------------------------
518 CALL s8zcumg3(
519 1 r11, r21, r31, r12,
520 2 r22, r32, r13, r23,
521 3 r33, k11, k12, k13,
522 4 k14, k15, k16, k17,
523 5 k18, k22, k23, k24,
524 6 k25, k26, k27, k28,
525 7 k33, k34, k35, k36,
526 8 k37, k38, k44, k45,
527 9 k46, k47, k48, k55,
528 a k56, k57, k58, k66,
529 b k67, k68, k77, k78,
530 c k88, nel)
531
532 IF (neig>0) CALL s8eoff(
533 1 1, nel, ixs(1,nf1), etag, offg)
534 CALL assem_s8(
535 1 ixs(1,nf1),nel ,iddl ,ndof ,k_diag,
536 2 k_lt ,iadk ,jdik ,k11 ,k12 ,
537 3 k13 ,k14 ,k15 ,k16 ,k17 ,
538 4 k18 ,k22 ,k23 ,k24 ,k25 ,
539 5 k26 ,k27 ,k28 ,k33 ,k34 ,
540 6 k35 ,k36 ,k37 ,k38 ,k44 ,
541 7 k45 ,k46 ,k47 ,k48 ,k55 ,
542 8 k56 ,k57 ,k58 ,k66 ,k67 ,
543 9 k68 ,k77 ,k78 ,k88 ,offg )
544C-----------
545 RETURN
546 END
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:45
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
subroutine mmat_h1(hh, hh1, fac, icp, ipredu, nel, mtn, ismstr, jhbe)
Definition mmat_h1.F:34
subroutine mmats(jft, jlt, pm, mat, hh, mtn, iorth, ipm, igeo, gama, uparam, cc, cg, g33, jhbe, sig, eps, nppt, nel)
Definition mmats.F:45
subroutine mmstifs(pm, mat, hh, vol, icsig, dd, gg, dg, g33, dm, gm, dgm, iorth, sig, ir, is, it, nel, jhbe, mtn)
Definition mmstifs.F:44
subroutine s8cke3(pm, geo, ixs, x, elbuf_str, nel, icp, icsig, etag, iddl, ndof, k_diag, k_lt, iadk, jdik, ipm, igeo, ikgeo, bufmat, nft, mtn, jhbe, jcvt, igtyp, isorth, irep, ismstr)
Definition s8cke3.F:55
subroutine s8eoff(jft, jlt, ixs, etag, off)
Definition s8eoff.F:35
subroutine s8zcumg3(r11, r21, r31, r12, r22, r32, r13, r23, r33, 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, nel)
Definition s8zcumg3.F:44
subroutine s8zderict3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, nel)
Definition s8zderict3.F:55
subroutine s8zkgei3(sig, vol, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, 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, nel)
Definition s8zkgei3.F:48
subroutine s8zkgeo3(sig, vol, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, 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, nel)
Definition s8zkgeo3.F:45
subroutine s8zlke3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, 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, dd, gg, icp, off, iksup, dg, g33, nel)
Definition s8zlke3.F:77
subroutine s8zlkep3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, 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, hh, vol, fac, icp, nel)
Definition s8zlkep3.F:46
subroutine s8zsigp3(lft, llt, sig, e0, defp, fac, g_pla, nel)
Definition s8zsigp3.F:37
subroutine srcoork(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, r11, r12, r13, r21, r22, r23, r31, r32, r33, 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, ismstr, jhbe, jcvt, irep, igtyp, isorth)
Definition srcoork.F:62
subroutine s8zderi3(vol, veul, geo, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, smax, deltax, ngl, voldp)
Definition s8zderi3.F:40