99
100
101
102 USE timer_mod
103 USE output_mod, only : output_
104 USE mmain_mod
106 USE mat_elem_mod
110 USE elbufdef_mod
112 use glob_therm_mod
113 USE sensor_mod
114 use element_mod , only : nixs
115
116
117
118#include "implicit_f.inc"
119
120
121
122#include "mvsiz_p.inc"
123
124
125
126#include "com01_c.inc"
127#include "com04_c.inc"
128#include "com08_c.inc"
129#include "scr07_c.inc"
130#include "vect01_c.inc"
131#include "parit_c.inc"
132#include "param_c.inc"
133#include "timeri_c.inc"
134#include "impl1_c.inc"
135#include "scr17_c.inc"
136
137
138
139 TYPE(TIMER_) , INTENT(INOUT) :: TIMERS
140 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
141 INTEGER, INTENT(IN) :: SNPC
142 INTEGER, INTENT(IN) :: STF
143 INTEGER, INTENT(IN) :: SBUFMAT
144 INTEGER, INTENT(IN) :: NSVOIS
145 INTEGER, INTENT(IN) :: IDTMINS
146 INTEGER ,INTENT(IN) ::
147 integer,dimension(102) :: IDTMIN
148 INTEGER ,INTENT(IN) :: MAXFUNC
149 INTEGER, INTENT(IN) :: USERL_AVAIL
150
151 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
152 . IADS(8,*),IPARTS(*), IPM(NPROPMI,*),GRTH(*),IGRTH(*),IGEO(*),
153 . IOUTPRT
154
155 INTEGER NELTST,ITYPTST,,NEL,ICP,
156 . NVC ,ITASK, ISTRAIN, IEXPAN,NG,H3D_STRAIN
157
158 double precision
159 . xdp(3,*)
161 . dt2t
162
164 . pm(npropm,*), geo(*), x(*), a(*), v(*), ms(*), w(*),
165 . flux(6,*),flu1(*), veul(*), fv(*), tf(*),
166 . partsav(*),stifn(*), fsky(*),eani(*),bufmat(*),
167 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
168 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
169 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
170 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
171 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
172 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
173 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
174 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
175 . temp(*),fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
176 . condn(*),condnsky(*),d(*)
177 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
178 TYPE(TTABLE) TABLE(*)
179 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
180 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
181 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
182 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
183 TYPE (DT_), INTENT(IN) :: DT
184 type (glob_therm_) ,intent(inout) :: glob_therm
185 type (sensors_),INTENT(INOUT) :: SENSORS
186
187
188
189 INTEGER NF1, IFLAG, I,
190 . ILAY,IP,IR,IS,IT,NPTR,NPTS,NPTT,j
191 INTEGER IBID, IBIDV(1), IFVM22
192 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ)
194 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
195 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
196 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
197 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
198 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
199 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
200 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
201 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
202 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
203 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
204 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
205 . ajp1(mvsiz,8) , ajp2(mvsiz,8) , ajp3(mvsiz,8) ,
206 . ajp4(mvsiz,8) , ajp5(mvsiz,8) , ajp6(mvsiz,8) ,
207 . ajp7(mvsiz,8) , ajp8(mvsiz,8) , ajp9(mvsiz,8) ,
208 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
209 . fac(mvsiz) ,pr(8,8),ps(8,8),pt(8,8)
210
211
213 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
214 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz),
215 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
216 . conde(mvsiz), conden(mvsiz),divde(mvsiz)
217
219 . muvoid(mvsiz)
220 INTEGER IOFFS
222 . offs(mvsiz),dsv(mvsiz),sdv(mvsiz)
223 INTEGER SZ_R1_FREE
224
225
226 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
227 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
228
229 DOUBLE PRECISION
230 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
231 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
232 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
233 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
234 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
235 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
236 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8)
237
239 . off(mvsiz) ,offg(mvsiz) , rhoo(mvsiz),
240 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
241 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
242 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
243 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
244 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
245 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
246 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
247 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
248 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
249 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
250 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
251 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
252 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
253 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
254 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
255 .
256 .
257 .
258 .
259 .
260 .
261 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
262 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
263 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
264 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
265 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
267 . dxy(mvsiz),dyx(mvsiz),
268 . dyz(mvsiz),dzy(mvsiz),
269 . dzx(mvsiz),dxz(mvsiz)
271 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
272 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
273 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
275 . wi,smax(mvsiz),volg(mvsiz),pp(mvsiz),bid(mvsiz)
277 . sigy(mvsiz), et(mvsiz), nu(mvsiz),
278 . r1_free(mvsiz),r3_free(mvsiz)
280 .
281 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
282 INTEGER NNPT,IDEG(MVSIZ)
283 parameter(nnpt = 8)
285 . mfxx(mvsiz,nnpt),mfxy(mvsiz,nnpt),mfyx(mvsiz,nnpt),
286 . mfyy(mvsiz,nnpt),mfyz(mvsiz,nnpt),mfzy(mvsiz,nnpt),
287 . mfzz(mvsiz,nnpt),mfzx(mvsiz,nnpt),mfxz(mvsiz,nnpt),
288 .
289 .
290 . jfac(mvsiz,nnpt)
291
292 TYPE(G_BUFEL_) ,POINTER :: GBUF
293 TYPE(L_BUFEL_) ,POINTER :: LBUF
294
296 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
297 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
298 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
299 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
300 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
301 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
302 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
303 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
304 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
305 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
306 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
307 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
308 . bxx1(mvsiz),bxx2(mvsiz),bxx3(mvsiz),bxx4(mvsiz),
309 . bxx5(mvsiz),bxx6(mvsiz),bxx7(mvsiz),bxx8(mvsiz
310 . byy1(mvsiz),byy2(mvsiz),byy3(mvsiz),byy4(mvsiz),
311 . byy5(mvsiz),byy6(mvsiz),byy7(mvsiz),byy8(mvsiz),
312 . bzz1(mvsiz),bzz2(mvsiz),bzz3(mvsiz),bzz4(mvsiz),
313 . bzz5(mvsiz),bzz6(mvsiz),bzz7(mvsiz),bzz8(mvsiz)
314
315 INTEGER NNEGA, INDEX(MVSIZ), ISELECT
317 .
318 .
319 .
320 .
321 .
322 .
323 .
324 .
325 .
326 .
327 .
328 .
329 . aji1(mvsiz,nnpt) , aji2(mvsiz,nnpt) , aji3(mvsiz,nnpt) ,
330 . aji4(mvsiz,nnpt) , aji5(mvsiz,nnpt) , aji6(mvsiz,nnpt) ,
331 . aji7(mvsiz,nnpt) , aji8(mvsiz,nnpt) , aji9(mvsiz,nnpt),
332 . px1(mvsiz,nnpt),px2(mvsiz,nnpt),px3(mvsiz,nnpt),px4(mvsiz,nnpt),
333 . px5(mvsiz,nnpt),px6(mvsiz,nnpt),px7(mvsiz,nnpt),px8(mvsiz,nnpt),
334 . py1(mvsiz,nnpt),py2(mvsiz,nnpt),py3(mvsiz,nnpt),py4(mvsiz,nnpt),
335 . py5(mvsiz,nnpt),py6(mvsiz,nnpt),py7(mvsiz,nnpt),py8(mvsiz,nnpt),
336 . pz1(mvsiz,nnpt),pz2(mvsiz,nnpt),pz3(mvsiz,nnpt),pz4(mvsiz,nnpt),
337 . pz5(mvsiz,nnpt),pz6(mvsiz,nnpt),pz7(mvsiz,nnpt),pz8(mvsiz,nnpt),
338 .
339 .
340 .
341 .
342 .
343 .
344 .
345 .
346 .
347 .
348 .
349 .
350 . px1h1(mvsiz), px1h2(mvsiz), px1h3(mvsiz), px1h4(mvsiz),
351 . px2h1(mvsiz), px2h2(mvsiz), px2h3(mvsiz), px2h4(mvsiz),
352 . px3h1(mvsiz), px3h2(mvsiz), px3h3(mvsiz), px3h4(mvsiz),
353 . px4h1(mvsiz), px4h2(mvsiz), px4h3(mvsiz), px4h4(mvsiz),
354 . jr_1(mvsiz),js_1(mvsiz),jt_1(mvsiz),
355 . bb(6,24,mvsiz),amu(mvsiz)
356 double precision
357 . volp(mvsiz,nnpt)
358
359
360
362 . DIMENSION(:,:), ALLOCATABLE :: var_reg
363 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8), IMAT
365 . DIMENSION(:), POINTER :: dnl
367 . h(8),ps2(8),pr2(8),pt2(8), zr,zs,zt
368
369 double precision
370 . ulx1(mvsiz), ulx2(mvsiz), ulx3(mvsiz), ulx4(mvsiz),
371 . ulx5(mvsiz), ulx6(mvsiz), ulx7(mvsiz), ulx8(mvsiz),
372 . uly1(mvsiz), uly2(mvsiz), uly3(mvsiz), uly4(mvsiz),
373 . uly5(mvsiz), uly6(mvsiz), uly7(mvsiz), uly8(mvsiz),
374 . ulz1(mvsiz), ulz2(mvsiz), ulz3(mvsiz), ulz4(mvsiz),
375 . ulz5(mvsiz), ulz6(mvsiz), ulz7(mvsiz), ulz8(mvsiz),
376 . dn_x(mvsiz,8),dn_y(mvsiz,8),dn_z(mvsiz,8) ,
377 . trm(nel,24,24),dn_r(8),dn_s(8),dn_t(8),invj(9,mvsiz)
379 . a11(mvsiz), a12(mvsiz), a13(mvsiz),
380 . a21(mvsiz), a22(mvsiz), a23(mvsiz),
381 . a31(mvsiz), a32(mvsiz), a33(mvsiz)
382 INTEGER SZ_IX
383C
385 . w_gauss(9,9),a_gauss(9,9)
386 DATA w_gauss /
387 1 2. ,0. ,0. ,
388 1 0. ,0. ,0. ,
389 1 0. ,0. ,0. ,
390 2 1. ,1. ,0. ,
391 2 0. ,0. ,0. ,
392 2 0. ,0. ,0. ,
393 3 0.555555555555556,0.888888888888889,0.555555555555556,
394 3 0. ,0. ,0. ,
395 3 0. ,0. ,0. ,
396 4 0.347854845137454,0.652145154862546,0.652145154862546,
397 4 0.347854845137454,0. ,0. ,
398 4 0. ,0. ,0. ,
399 5 0.236926885056189,0.478628670499366,0.568888888888889,
400 5 0.478628670499366,0.236926885056189,0. ,
401 5 0. ,0. ,0. ,
402 6 0.171324492379170,0.360761573048139,0.467913934572691,
403 6 0.467913934572691,0.360761573048139,0.171324492379170,
404 6 0. ,0. ,0. ,
405 7 0.129484966168870,0.279705391489277,0.381830050505119,
406 7 0.417959183673469,0.381830050505119,0.279705391489277,
407 7 0.129484966168870,0. ,0. ,
408 8 0.101228536290376,0.222381034453374,0.313706645877887,
409 8 0.362683783378362,0.362683783378362,0.313706645877887,
410 8 0.222381034453374,0.101228536290376,0. ,
411 9 0.081274388361574,0.180648160694857,0.260610696402935,
412 9 0.312347077040003,0.330239355001260,0.312347077040003,
413 9 0.260610696402935,0.180648160694857,0.081274388361574/
414 DATA a_gauss /
415 1 0. ,0. ,0. ,
416 1 0. ,0. ,0. ,
417 1 0. ,0. ,0. ,
418 2 -.577350269189626,0.577350269189626,0. ,
419 2 0. ,0. ,0. ,
420 2 0. ,0. ,0. ,
421 3 -.774596669241483,0. ,0.774596669241483,
422 3 0. ,0. ,0. ,
423 3 0. ,0. ,0. ,
424 4 -.861136311594053,-.339981043584856,0.339981043584856,
425 4 0.861136311594053,0. ,0. ,
426 4 0. ,0. ,0. ,
427 5 -.906179845938664,-.538469310105683,0. ,
428 5 0.538469310105683,0.906179845938664,0. ,
429 5 0. ,0. ,0. ,
430 6 -.932469514203152,-.661209386466265,-.238619186083197,
431 6 0.238619186083197,0.661209386466265,0.932469514203152,
432 6 0. ,0. ,0. ,
433 7 -.949107912342759,-.741531185599394,-.405845151377397,
434 7 0. ,0.405845151377397,0.741531185599394,
435 7 0.949107912342759,0. ,0. ,
436 8 -.960289856497536,-.796666477413627,-.525532409916329,
437 8 -.183434642495650,0.183434642495650,0.525532409916329,
438 8 0.796666477413627,0.960289856497536,0. ,
439 9 -.968160239507626,-.836031107326636,-.613371432700590,
440 9 -.324253423403809,0. ,0.324253423403809,
441 9 0.613371432700590,0.836031107326636,0.968160239507626/
442
443
444 INTEGER IBOLTP,NBPRELD
446 . DIMENSION(:), POINTER :: bpreld
447
448
449
450 nptr = elbuf_tab(ng)%NPTR
451 npts = elbuf_tab(ng)%NPTS
452 nptt = elbuf_tab(ng)%NPTT
453 gbuf => elbuf_tab(ng)%GBUF
454
455 iboltp = iparg(72,ng)
456 inloc = iparg(78,ng)
457 ALLOCATE(var_reg(nel,nptr*npts*nptt))
458 nbpreld = gbuf%G_BPRELD
459 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
460 tempel(:) = zero
461 bid(:) = zero
462 sz_r1_free=mvsiz
463 sz_ix=numelq+numels+nsvois
464
465 ilay = 1
466 ibid = 0
467 ibidv = 0
468 nf1=nft+1
469
470 iselect=0
471
472
473
474
476 . x1, x2, x3, x4, x5, x6, x7, x8,
477 . y1, y2, y3, y4, y5, y6, y7, y8,
478 . z1, z2, z3, z4, z5, z6, z7, z8,
479 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
480 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
481 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
482 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo, gbuf%COR_FR,
483 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
484 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
485 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
486 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
487 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
488 . xdp, x0 , y0 , z0 , nel, trm, gbuf%COR_XR,
489 . ulx1 ,ulx2 ,ulx3 ,ulx4 ,ulx5 ,ulx6 ,ulx7 ,ulx8 ,
490 . uly1 ,uly2 ,uly3 ,uly4 ,uly5 ,uly6 ,uly7 ,uly8 ,
491 . ulz1 ,ulz2 ,ulz3 ,ulz4 ,ulz5 ,ulz6 ,ulz7 ,ulz8 ,
492 . xgxa ,xgya ,xgza, xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng))
493
494
495
496
497
498 ioffs=0
499 DO i=1,nel
500 offs(i)=ep20
501 deltax(i)=ep30
502 ideg(i)=0
503 ENDDO
504 IF(jthe < 0) them(1:nel,1:8) =zero
505
507
508
509
510 IF (ismstr/=11) THEN
512 1 offg, volg, ngl, xd1,
513 2 xd2, xd3, xd4, xd5,
514 3 xd6, xd7, xd8, yd1,
515 4 yd2, yd3, yd4, yd5,
516 5 yd6, yd7, yd8, zd1,
517 6 zd2, zd3, zd4, zd5,
518 7 zd6, zd7, zd8, pxc1,
519 8 pxc2, pxc3, pxc4, pyc1,
520 9 pyc2, pyc3, pyc4, pzc1,
521 a pzc2, pzc3, pzc4, px1h1,
522 b px1h2, px1h3, px1h4, px2h1,
523 c px2h2, px2h3, px2h4, px3h1,
524 d px3h2, px3h3, px3h4, px4h1,
525 e px4h2, px4h3, px4h4, hx,
526 f hy, hz, jr_1, js_1,
527 g jt_1, ajc1, ajc2, ajc3,
528 h ajc4, ajc5, ajc6, ajc7,
529 i ajc8, ajc9, smax, gbuf%SMSTR,
530 j gbuf%OFF, nel, ismstr, jlag)
532 1 hx, hy, hz, ajc1,
533 2 ajc2, ajc3, ajc4, ajc5,
534 3 ajc6, ajc7, ajc8, ajc9,
535 4 ajp1, ajp2, ajp3, ajp4,
536 5 ajp5, ajp6, ajp7, ajp8,
537 6 ajp9, nel)
538 IF (idts6>0) THEN
540 1 volg, deltax, x1, x2,
541 2 x3, x4, x5, x6,
542 3 x7, x8, y1, y2,
543 4 y3, y4, y5, y6,
544 5 y7, y8, z1, z2,
545 6 z3, z4, z5, z6,
546 7 z7, z8, ixs(1,nf1),ideg,
547 8 nel)
548 END IF
549 END IF
550
551 nnega = 0
552
553
554 DO ir=1,nptr
555 DO is=1,npts
556 DO it=1,nptt
557 ip = ir + ( (is-1) + (it-1)*npts )*nptr
558 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
559
561 1 gbuf%OFF, volp(1,ip),ngl, wi,
562 2 ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),ajp4(1,ip),
563 3 ajp5(1,ip),ajp6(1,ip),ajp7(1,ip),ajp8(1,ip),
564 4 ajp9(1,ip),aji1(1,ip),aji2(1,ip),aji3(1,ip),
565 5 aji4(1,ip),aji5(1,ip),aji6(1,ip),aji7(1,ip),
566 6 aji8(1,ip),aji9(1,ip),nnega, index,
567 7 ip, nel)
568 ENDDO
569 ENDDO
570 ENDDO
571
572 IF (nnega>0) THEN
574 1 volg, ngl, xd1, xd2,
575 2 xd3, xd4, xd5, xd6,
576 3 xd7, xd8, yd1, yd2,
577 4 yd3, yd4, yd5, yd6,
578 5 yd7, yd8, zd1, zd2,
579 6 zd3, zd4, zd5, zd6,
580 7 zd7, zd8, pxc1, pxc2,
581 8 pxc3, pxc4, pyc1, pyc2,
582 9 pyc3, pyc4, pzc1, pzc2,
583 a pzc3, pzc4, hx, hy,
584 b hz, ajc1, ajc2, ajc3,
585 c ajc4, ajc5, ajc6, ajc7,
586 d ajc8, ajc9, smax, gbuf%SMSTR,
587 e gbuf%OFF, nnega, index, nel,
588 f ismstr)
589 DO ir=1,nptr
590 DO is=1,npts
591 DO it=1,nptt
592 ip = ir + ( (is-1) + (it-1)*npts )*nptr
593 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
594
596 . a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
597 . hx, hy, hz,
598 . ajc1,ajc2,ajc3,
599 . ajc4,ajc5,ajc6,
600 . ajc7,ajc8,ajc9,
601 . ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),
602 . ajp4(1,ip),ajp5(1,ip),ajp6(1,ip),
603 . ajp7(1,ip),ajp8(1,ip),ajp9(1,ip),
604 . aji1(1,ip),aji2(1,ip),aji3(1,ip),
605 . aji4(1,ip),aji5(1,ip),aji6(1,ip),
606 . aji7(1,ip),aji8(1,ip),aji9(1,ip),nnega,index)
607 ENDDO
608 ENDDO
609 ENDDO
610 IF (ineg_v ==0) THEN
611
612 CALL ancmsg(msgid=280,anmode=aninfo)
613 mstop = 1
614 END IF
615 END IF
616
617
618
619
620
621 IF (icp==1.OR.icp==2) THEN
623 1 pxc1, pxc2, pxc3, pxc4,
624 2 pyc1, pyc2, pyc3, pyc4,
625 3 pzc1, pzc2, pzc3, pzc4,
626 4 vx1, vx2, vx3, vx4,
627 5 vx5, vx6, vx7, vx8,
628 6 vy1, vy2, vy3, vy4,
629 7 vy5, vy6, vy7, vy8,
630 8 vz1, vz2, vz3, vz4,
631 9 vz5, vz6, vz7, vz8,
632 a dsv, nel)
633
635 1 ixs(1,nf1),ideg, nel)
636 IF (icp==1.AND.mtn==28) THEN
637 DO i=1,nel
638 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
639 ENDDO
640 END IF
641 ENDIF
642
643
644
646 1 f11, f21, f31, f12,
647 2 f22, f32, f13, f23,
648 3 f33, f14, f24, f34,
649 4 f15, f25, f35, f16,
650 5 f26, f36, f17, f27,
651 6 f37, f18, f28, f38,
652 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
653 8 gbuf%PLA, gbuf%EPSD, stin, pp,
654 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
655 a nel, conden)
656
657
658
659 IF(jthe < 0 ) THEN
660 DO i=1,nel
661 IF(gbuf%OFF(i) == zero) cycle
662 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
663 . + temp(nc3(i)) + temp(nc4(i))
664 . + temp(nc5(i)) + temp(nc6(i))
665 . + temp(nc7(i)) + temp(nc8(i)))
666 gbuf%TEMP(i) = tempel(i)
667 ENDDO
668 ENDIF
669
670
671
672 IF (inloc > 0) THEN
673 l_nloc = nloc_dmg%L_NLOC
674 dnl => nloc_dmg%DNL(1:l_nloc)
675 DO ir=1,nptr
676 DO is=1,npts
677 DO it=1,nptt
678 zr = a_gauss(ir,nptr)
679 zs = a_gauss(is,npts)
680 zt = a_gauss(it,nptt)
681 ip = ir + ( (is-1) + (it-1)*npts )*nptr
682 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
683 DO i=1,nel
684 inod(1) = nloc_dmg%IDXI(nc1(i))
685 inod(2) = nloc_dmg%IDXI(nc2(i))
686 inod(3) = nloc_dmg%IDXI(nc3(i))
687 inod(4) = nloc_dmg%IDXI(nc4(i))
688 inod(5) = nloc_dmg%IDXI(nc5(i))
689 inod(6) = nloc_dmg%IDXI(nc6(i))
690 inod(7) = nloc_dmg%IDXI(nc7(i))
691 inod(8) = nloc_dmg%IDXI(nc8(i))
692 DO j = 1, 8
693 ipos(j) = nloc_dmg%POSI(inod(j))
694 ENDDO
695 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
696 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
697 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
698 ENDDO
699 ENDDO
700 ENDDO
701 ENDDO
702 ENDIF
703
704 DO ir=1,nptr
705 DO is=1,npts
706 DO it=1,nptt
707
708 ip = ir + ( (is-1) + (it-1)*npts )*nptr
709
711 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
712 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
713 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
714 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
715 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
716 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
717 7 aji1(1,ip),aji2(1,ip),aji3(1,ip),aji4(1,ip),
718 8 aji5(1,ip),aji6(1,ip),aji7(1,ip),aji8(1,ip),
719 9 aji9(1,ip),pr(1,ip), ps(1,ip), pt(1,ip),
720 a nel)
721 ENDDO
722 ENDDO
723 ENDDO
724
725 DO is=1,npts
726 DO ir=1,nptr
727 DO it=1,nptt
728 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
729
730 IF (ioffs == 1)THEN
731 DO i=1,nel
732 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
733 ENDDO
734 END IF
735
736 ip = ir + ( (is-1) + (it-1)*npts )*nptr
737 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
738
740 1 offg, off, voln, a_gauss(ir,nptr),
741 2 a_gauss(is,npts),a_gauss(it,nptt),wi, px1(1,ip),
742 3 px2(1,ip), px3(1,ip), px4(1,ip), px5(1,ip),
743 4 px6(1,ip), px7(1,ip), px8(1,ip), py1(1,ip),
744 5 py2(1,ip), py3(1,ip), py4(1,ip), py5(1,ip),
745 6 py6(1,ip), py7(1,ip), py8(1,ip), pz1(1,ip),
746 7 pz2(1,ip), pz3(1,ip), pz4(1,ip), pz5(1,ip),
747 8 pz6(1,ip), pz7(1,ip), pz8(1,ip), pxc1,
748 9 pxc2, pxc3, pxc4, pyc1,
749 a pyc2, pyc3, pyc4, pzc1,
750 b pzc2, pzc3, pzc4, bxy1,
751 c bxy2, bxy3, bxy4, bxy5,
752 d bxy6, bxy7, bxy8, byx1,
753 e byx2, byx3, byx4, byx5,
754 f byx6, byx7, byx8, bxz1,
755 g bxz2, bxz3, bxz4, bxz5,
756 h bxz6, bxz7, bxz8, bzx1,
757 i bzx2, bzx3, bzx4, bzx5,
758 j bzx6, bzx7, bzx8, byz1,
759 k byz2, byz3, byz4, byz5,
760 l byz6, byz7, byz8, bzy1,
761 m bzy2, bzy3, bzy4, bzy5,
762 n bzy6, bzy7, bzy8, bxx1,
763 o bxx2, bxx3, bxx4, bxx5,
764 p bxx6, bxx7, bxx8, byy1,
765 q byy2, byy3, byy4, byy5,
766 r byy6, byy7, byy8, bzz1,
767 s bzz2, bzz3, bzz4, bzz5,
768 t bzz6, bzz7, bzz8, ajp4(1,ip),
769 u ajp5(1,ip), ajp6(1,ip), ajp7(1,ip), ajp8(1,ip),
770 v ajp9(1,ip), aj1, aj2, aj3,
771 w aj4, aj5, aj6, smax,
772 x deltax, icp, ideg, nu,
773 y volp(1,ip), nel)
774
776 1 offg, off, volp(1,ip), ngl,
777 2 a_gauss(it,nptt),a_gauss(ir,nptr),a_gauss(is,npts),wi,
778 3 xd1, xd2, xd3, xd4,
779 4 xd5, xd6, xd7, xd8,
780 5 yd1, yd2, yd3, yd4,
781 6 yd5, yd6, yd7, yd8,
782 7 zd1, zd2, zd3, zd4,
783 8 zd5, zd6, zd7, zd8,
784 9 a11, a12, a13, a21,
785 a a22, a23, a31, a32,
786 b a33, dn_r, dn_s, dn_t,
787 c invj, dn_x, dn_y, dn_z,
788 d voln, nel)
790 1 ulx1, ulx2, ulx3, ulx4,
791 2 ulx5, ulx6, ulx7, ulx8,
792 3 uly1, uly2, uly3, uly4,
793 4 uly5, uly6, uly7, uly8,
794 5 ulz1, ulz2, ulz3, ulz4,
795 6 ulz5, ulz6, ulz7, ulz8,
796 7 xd1, xd2, xd3, xd4,
797 8 xd5, xd6, xd7, xd8,
798 9 yd1, yd2, yd3, yd4,
799 a yd5, yd6, yd7, yd8,
800 b zd1, zd2, zd3, zd4,
801 c zd5, zd6, zd7, zd8,
802 d invj, a_gauss(it,nptt),a_gauss(ir,nptr),a_gauss(is,npts),
803 e a11, a12, a13, a21,
804 f a22, a23, a31, a32,
805 g a33, dn_r, dn_s, dn_t,
806 h bb, dxx, dxy, dxz,
807 i dyx, dyy, dyz, dzx,
808 j dzy, dzz, d4, d5,
809 k d6, wxx, wyy, wzz,
810 l lbuf%VOL, off, lbuf%EINT, gbuf%OFF,
811 m dsv, icp, fac, sdv,
812 n iselect, ideg, nel, ismstr)
813
814 DO i=1,nel
815 rhoo(i) = lbuf%RHO(i)
816 ENDDO
817 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+sdv(1:nel)
819 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
820 2 divde, flux(1,nf1),flu1(nf1), voln,
821 3 dvol, ngl, mxt, off,
822 4 0, gbuf%TAG22, volp(1,ip), lbuf%VOL0DP,
823 5 amu, gbuf%OFF, nel, mtn,
824 6 jale, ismstr, jeul, jlag)
825
826
827
828
829 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
830 . gbuf%OFF,off,nel)
831
832
833
834
835
836
837
838 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
839
840
841 CALL mmain(timers,output,
842 1 elbuf_tab, ng, pm, geo,
843 2 ale_connect, ixs, iparg,
844 3 v, tf, npf, bufmat,
845 4 sti, x, dt2t, neltst,
846 5 ityptst, offset, nel, w,
847 6 off, ngeo, mxt, ngl,
848 7 voln, vd2, dvol, deltax,
849 8 vis, qvis, cxx, s1,
850 9 s2, s3, s4, s5,
851 a s6, dxx, dyy, dzz,
852 b d4, d5, d6, wxx,
853 c wyy, wzz, aj1, aj2,
854 d aj3, aj4, aj5, aj6,
855 e vdx, vdy, vdz, muvoid,
856 f ssp_eq, aire, sigy, et,
857 g r1_free, lbuf%PLA, r3_free, amu,
858 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
859 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
860 j mfzz(1,ip), ipm, gama, bid,
861 k bid, bid, bid, bid,
862 l bid, bid, istrain, tempel,
863 m die, iexpan, ilay, mssa,
864 n dmels, ir, is, it,
865 o table, bid, bid, bid,
866 p bid, iparg(1,ng), igeo, conde,
867 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
868 r h3d_strain, jplasol, jsph, sz_r1_free,
869 s snpc, stf, sbufmat, glob_therm,
870 * svis, sz_ix, iresp,
871 t n2d, th_strain, ngroup, tt,
872 . dt1, ntable, numelq, nummat,
873 . numgeo, numnod, numels,
874 . idel7nok, idtmin, maxfunc,
875 . imon_mat, userl_avail, impl_s,
876 . idyna, dt, bid ,sensors)
877
878 IF (istrain == 1)THEN
880 1 dxx, dyy, dzz, d4,
881 2 d5, d6, lbuf%STRA,wxx,
882 3 wyy, wzz, off, nel,
883 4 jcvt)
884 ENDIF
885 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
886
887
888
890 1 lbuf%SIG, f11, f21, f31,
891 2 f12, f22, f32, f13,
892 3 f23, f33, f14, f24,
893 4 f34, f15, f25, f35,
894 5 f16, f26, f36, f17,
895 6 f27, f37, f18, f28,
896 7 f38, dn_x, dn_y, dn_z,
897 8 bb, voln, qvis, icp,
898 9 jfac(1,ip),nel, iselect, ideg,
899 a ismstr, svis)
901 1 lbuf%SIG, voln, qvis, pp,
902 2 lbuf%EINT, lbuf%RHO, lbuf%QVIS, lbuf%PLA,
903 3 lbuf%EPSD, gbuf%EPSD, gbuf%SIG, gbuf%EINT,
904 4 gbuf%RHO, gbuf%QVIS, gbuf%PLA, volg,
905 5 sti, stin, icp, off,
906 6 lbuf%VOL, gbuf%VOL, gbuf%G_PLA, gbuf%G_EPSD,
907 7 lbuf%EINTTH,gbuf%EINTTH,iexpan, nel,
908 8 conde, conden,svis,glob_therm%NODADT_THERM,
909 9 gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
910
911
912
913 IF (inloc > 0) THEN
914 imat = mxt(1)
915 zr = a_gauss(ir,nptr)
916 zs = a_gauss(is,npts)
917 zt = a_gauss(it,nptt)
918 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
920 1 nloc_dmg, var_reg(1,ip),nel, gbuf%OFF,
921 2 voln, nc1, nc2, nc3,
922 3 nc4, nc5, nc6, nc7,
923 4 nc8, px1, px2, px3,
924 5 px4, px5, px6, px7,
925 6 px8, py1, py2, py3,
926 7 py4, py5, py6, py7,
927 8 py8, pz1, pz2, pz3,
928 9 pz4, pz5, pz6, pz7,
929 a pz8, imat, h, wi,
930 b ip, itask, dt2t, gbuf%VOL,
931 c nft)
932 ENDIF
933 DO i=1,nel
934 offg(i)=
min(offg(i),off(i))
935 IF (lbuf%OFF(i)>one .AND. gbuf%OFF(i) == one) THEN
936 offs(i)=
min(lbuf%OFF(i),offs(i))
937 ioffs =1
938 END IF
939 ENDDO
940
941
942
943
944 ENDDO
945 ENDDO
946 ENDDO
947
948
949 IF (ioffs == 1) THEN
950 DO i=1,nel
951 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
952 END DO
953
954 DO ir=1,nptr
955 DO is=1,npts
956 DO it=1,nptt
957 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
958 ip = ir + ( (is-1) + (it-1)*npts )*nptr
959 DO i=1,nel
960 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
961 END DO
962 END DO
963 END DO
964 END DO
965 END IF
966 IF(icp==1.AND.ismstr/=10.AND.ismstr/=12) THEN
968 1 pxc1, pxc2, pxc3, pxc4,
969 2 pyc1, pyc2, pyc3, pyc4,
970 3 pzc1, pzc2, pzc3, pzc4,
971 4 f11, f21, f31, f12,
972 5 f22, f32, f13, f23,
973 6 f33, f14, f24, f34,
974 7 f15, f25, f35, f16,
975 8 f26, f36, f17, f27,
976 9 f37, f18, f28, f38,
977 a volg, pp, ideg, nel)
978 ENDIF
979
980
981
983 1 gbuf%OFF,offg, nel, ismstr)
984 IF (ismstr==11.OR.(jcvt == 0 .AND. ismstr>0)) THEN
986 1 pxc1, pxc2, pxc3, pxc4,
987 2 pyc1, pyc2, pyc3, pyc4,
988 3 pzc1, pzc2, pzc3, pzc4,
989 4 vx1, vx2, vx3, vx4,
990 5 vx5, vx6, vx7, vx8,
991 6 vy1, vy2, vy3, vy4,
992 7 vy5, vy6, vy7, vy8,
993 8 vz1, vz2, vz3, vz4,
994 9 vz5, vz6, vz7, vz8,
995 a wxx0, wyy0, wzz0, nel)
997 1 gbuf%SMSTR,offg, wxx0, wyy0,
998 2 wzz0, r11, r12, r13,
999 3 r21, r22, r23, r31,
1000 4 r32, r33, nel, ismstr,
1001 5 jcvt)
1002 END IF
1003 IF (inconv==1.AND.tt>zero ) THEN
1005 1 gbuf%OFF, gbuf%COR_XR,x1, x2,
1006 2 x3, x4, x5, x6,
1007 3 x7, x8, y1, y2,
1008 4 y3, y4, y5, y6,
1009 5 y7, y8, z1, z2,
1010 6 z3, z4, z5, z6,
1011 7 z7, z8, gbuf%COR_FR,nel)
1012 END IF
1013
1014
1015
1016
1017 iflag=mod(ncycle,ncpri)
1018 IF(ioutprt>0)THEN
1019 IF(jcvt == 0) THEN
1020 ifvm22 = 0
1021 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1022 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1023 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1024 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1025 . volg,iparts,gresav,grth,igrth,gbuf%OFF,
1026 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1027 . x1, x2, x3, x4, x5, x6, x7, x8,
1028 . y1, y2, y3, y4, y5, y6, y7, y8,
1029 . z1, z2, z3, z4, z5, z6, z7, z8,
1030 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1031 ELSE
1032 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1033 . vgxa, vgya, vgza, vga2, volg,iparts,
1034 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1035 . gbuf%FILL, xgxa, xgya, xgza,
1036 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1037 . nel,gbuf%G_WPLA,gbuf%WPLA)
1038 ENDIF
1039 ENDIF
1040
1041
1042
1044 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
1045 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
1046 . nel )
1047
1049 1 gbuf%FILL,stin, f11, f21,
1050 2 f31, f12, f22, f32,
1051 3 f13, f23, f33, f14,
1052 4 f24, f34, f15, f25,
1053 5 f35, f16, f26, f36,
1054 6 f17, f27, f37, f18,
1055 7 f28, f38, nel)
1056
1057 IF(iparit == 0)THEN
1059 1 gbuf%OFF,a, nc1, nc2,
1060 2 nc3, nc4, nc5, nc6,
1061 3 nc7, nc8, stifn, stin,
1062 4 f11, f21, f31, f12,
1063 5 f22, f32, f13, f23,
1064 6 f33, f14, f24, f34,
1065 7 f15, f25, f35, f16,
1066 8 f26, f36, f17, f27,
1067 9 f37, f18, f28, f38,
1068 a nvc, bid, bid, bid,
1069 b bid, bid, bid, bid,
1070 c bid, bid, bid, bid,
1071 d bid, bid, bid, bid,
1072 e bid, bid, bid, bid,
1073 f bid, bid, bid, bid,
1074 g bid, bid, bid, bid,
1075 h them, fthe, condn, conden,
1076 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1077 ELSE
1079 1 gbuf%OFF,stin, fsky, fsky,
1080 2 iads, f11, f21, f31,
1081 3 f12, f22, f32, f13,
1082 4 f23, f33, f14, f24,
1083 5 f34, f15, f25, f35,
1084 6 f16, f26, f36, f17,
1085 7 f27, f37, f18, f28,
1086 8 f38, nc1, nc2, nc3,
1087 9 nc4, nc5, nc6, nc7,
1088 a nc8, bid, bid, bid,
1089 b bid, bid, bid, bid,
1090 c bid, bid, bid, bid,
1091 d bid, bid, bid, bid,
1092 e bid, bid, bid, bid,
1093 f bid, bid, bid, bid,
1094 g bid, bid, bid, bid,
1095 h them, fthesky, condnsky,conden,
1096 i nel, nft, jthe, isrot,
1097 j ipartsph,glob_therm%NODADT_THERM)
1098 ENDIF
1099
1100 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1101 RETURN
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine degenes8(ixs, idege, nel)
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
subroutine s8edefoc3(pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dvca, nel)
subroutine s8edefw3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, wxx, wyy, wzz, nel)
subroutine s8ederi_2(offg, off, vol, ksi, eta, zeta, wi, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, 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, bxx1, bxx2, bxx3, bxx4, bxx5, bxx6, bxx7, bxx8, byy1, byy2, byy3, byy4, byy5, byy6, byy7, byy8, bzz1, bzz2, bzz3, bzz4, bzz5, bzz6, bzz7, bzz8, aj4, aj5, aj6, aj7, aj8, aj9, rx, ry, rz, sx, sy, sz, smax, deltax, icp, ideg, nu, volp, nel)
subroutine s8ederic3(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, jr_1, js_1, jt_1, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, smax, sav, offg, nel, ismstr, jlag)
subroutine s8edericm3(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, hx, hy, hz, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, smax, sav, offg, nnega, index, nel, ismstr)
subroutine s8ederig3(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, aji1, aji2, aji3, aji4, aji5, aji6, aji7, aji8, aji9, pr, ps, pt, nel)
subroutine s8ederipr3(offg, voldp, ngl, wi, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, aji1, aji2, aji3, aji4, aji5, aji6, aji7, aji8, aji9, nnega, index, ipt, nel)
subroutine s8efmoy3(sigor, vol, qvis, pp, eint, rho, q, defp, epsd, epsdm, sigm, eintm, rhom, qm, defpm, volg, sti, stin, icp, off, vol0, vol0g, g_pla, g_epsd, eintth, eintthm, iexpan, nel, conde, conden, svis, nodadt_therm, g_wpla, l_wpla, g_wpla_flag)
subroutine s8eprst_ini(pr, ps, pt)
subroutine s8sbdefo3(ulx1, ulx2, ulx3, ulx4, ulx5, ulx6, ulx7, ulx8, uly1, uly2, uly3, uly4, uly5, uly6, uly7, uly8, ulz1, ulz2, ulz3, ulz4, ulz5, ulz6, ulz7, ulz8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, invj, ksi, eta, zeta, a11, a12, a13, a21, a22, a23, a31, a32, a33, dn_r, dn_s, dn_t, bb, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, volo, off, eint, offs, dsv, icp, fac, sdv, i_sh, idege, nel, ismstr)
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)
subroutine s8sfint3(sig, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, dn_x, dn_y, dn_z, bb, vol, qvis, icp, jfac, nel, i_sh, idege, ismstr, svis)
subroutine s8sfint3_crimp(trm, qf, r, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
subroutine s8xref_imp(offg, xref, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, r, nel)
subroutine s8zderims3(voldp, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index)
subroutine s8zfint_reg(nloc_dmg, var_reg, nel, offg, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, imat, h, wi, ip, itask, dt2t, vol0, nft)
subroutine s8zfintp3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, pp, idege, nel)
subroutine s8zzero3(fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, fx5, fy5, fz5, fx6, fy6, fz6, fx7, fy7, fz7, fx8, fy8, fz8, sigm, eintm, rhom, qm, defpm, epsdm, stin, pp, g_pla, g_epsd, iexpan, eintthm, nel, conden)
subroutine sbilan(partsav, eint, rho, rk, vol, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, mom, nel, ifvm22, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, itask, iparg, sensors, g_wpla, wpla)
subroutine scumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthe, condn, conde, nel, jthe, isrot, ipartsph, nodadt_therm)
subroutine scumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthesky, condnsky, conde, nel, nft, jthe, isrot, ipartsph, nodadt_therm)
subroutine sdlen_dege(volg, lat, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, ixs, idege, nel)
subroutine sfillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
subroutine smallb3(offg, off, nel, ismstr)
subroutine smallg3(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr, jcvt)
subroutine srbilan(partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, sensors, nel, g_wpla, wpla)
subroutine srcoor3_imp(x, ixs, v, w, gama0, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vd2, vis, offg, off, sav, rho, rhoo, r, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, ioutprt, vgax, vgay, vgaz, vga2, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, x0, y0, z0, nel, trm, xref, ulx1, ulx2, ulx3, ulx4, ulx5, ulx6, ulx7, ulx8, uly1, uly2, uly3, uly4, uly5, uly6, uly7, uly8, ulz1, ulz2, ulz3, ulz4, ulz5, ulz6, ulz7, ulz8, xgax, xgay, xgaz, xgxa2, xgya2, xgza2, xgxya, xgyza, xgzxa, iparg)
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
subroutine basis8(r, s, t, h, pr, ps, pt)
subroutine s8ejacip3(hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9)
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
subroutine startime(event, itask)
subroutine stoptime(event, itask)