148
149
150
151 USE timer_mod
152 USE mmain_mod
153 USE output_mod, only : output_
155 USE mat_elem_mod
159 USE sensor_mod
161 USE elbufdef_mod
162 USE sdistor_ini_mod, ONLY : sdistor_ini
163 use glob_therm_mod
164 USE sz_dt1_mod, only : sz_dt1
165 use element_mod , only : nixs
166
167
168
169#include "implicit_f.inc"
170
171
172
173#include "mvsiz_p.inc"
174
175
176
177#include "com01_c.inc"
178#include "com04_c.inc"
179#include "com08_c.inc"
180#include "scr07_c.inc"
181#include "vect01_c.inc"
182#include "parit_c.inc"
183#include "param_c.inc"
184#include "timeri_c.inc"
185#include "scr17_c.inc"
186#include "scr18_c.inc"
187
188
189
190 TYPE(TIMER_) ,INTENT(INOUT) :: TIMERS
191 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
192 INTEGER, INTENT(IN) :: SNPC
193 INTEGER, INTENT(IN) :: STF
194 INTEGER, INTENT(IN) :: SBUFMAT
195 INTEGER, INTENT(IN) :: NSVOIS
196 INTEGER, INTENT(IN) :: IDTMINS
197 INTEGER ,INTENT(IN) :: IRESP
198 INTEGER ,INTENT(IN) :: MAXFUNC
199 INTEGER, INTENT(IN) :: IMPL_S
200 INTEGER, INTENT(IN) :: IDYNA
201 INTEGER, INTENT(IN) :: USERL_AVAIL
202 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
203 . IADS(8,*),IPARTS(*), IPM(NPROPMI,*),GRTH(*),IGRTH(*),IGEO(NPROPGI,*),
204 . IOUTPRT
205
206 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,
207 . NVC ,ITASK, ISTRAIN, IEXPAN,NG,H3D_STRAIN
208
209 double precision
210 . xdp(3,*)
212 . dt2t
213
215 . pm(npropm,*), geo(npropg,*), x(*), a(*), v(3,*), ms(*), w(*),
216 . flux(6,*),flu1(*), veul(*), fv(*), tf(*),
217 . partsav(*),stifn(*), fsky(*),eani(*),bufmat(*),
218 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
219 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
220 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
221 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
222 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
223 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
224 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
225 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
226 . temp(*),fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
227 . condn(*),condnsky(*),d(*)
228 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
229 TYPE(TTABLE) TABLE(*)
230 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
231 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
232 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
233 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
234 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
235 TYPE(DT_), INTENT(INOUT) :: DT
236 type (glob_therm_) ,intent(inout) :: glob_therm
237
238
239
240 INTEGER NF1, IFLAG, I,
241 . ILAY,IP,IR,IS,IT,NPTR,NPTS,NPTT,J
242 INTEGER IBID,IBIDV(1), MX, IFVM22
243 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ)
245 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
246 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
247 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
248 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
249 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
250 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
251 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
252 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
253 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
254 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
255 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
256 . ajp1(mvsiz,8) , ajp2(mvsiz,8) , ajp3(mvsiz,8) ,
257 . ajp4(mvsiz,8) , ajp5(mvsiz,8) , ajp6(mvsiz,8) ,
258 . ajp7(mvsiz,8) , ajp8(mvsiz,8) , ajp9(mvsiz,8) ,
259 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
260 . e0(mvsiz),c1,fac(mvsiz) ,pr(8,8),ps(8,8),pt(8,8)
261
262
264 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
265 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz),
266 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
267 . conde(mvsiz), conden(mvsiz)
268
270 . muvoid(mvsiz)
271 INTEGER IOFFS, ITET
272 INTEGER SZ_R1_FREE
274 . offs(mvsiz),dsv(mvsiz),sdv(mvsiz),l_max(mvsiz)
275
276
277 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
278 . NC5(), NC6(MVSIZ), (MVSIZ), NC8(MVSIZ)
279
280 DOUBLE PRECISION
281 . XD1(MVSIZ), XD2(MVSIZ), XD3(), XD4(MVSIZ),
282 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
283 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
284 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
285 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
286 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
287 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8)
288
290 . off(mvsiz) ,offg(mvsiz) , rhoo(mvsiz),
291 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
292 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
293 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
294 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
295 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
296 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
297 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
298 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
299 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
300 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
301 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
302 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
303 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
304 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
305 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
306 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
307 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
308 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
309 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
310 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
311 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
312 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
313 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),offg0(mvsiz),
314 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
315 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
316 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
318 . dxy(mvsiz),dyx(mvsiz),
319 . dyz(mvsiz),dzy(mvsiz),
320 . dzx(mvsiz),dxz(mvsiz),divde(mvsiz)
322 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
323 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
324 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
326 . wi,smax(mvsiz),volg(mvsiz),pp(mvsiz),bid(mvsiz)
328 . sigy(mvsiz), et(mvsiz), nu(mvsiz),nu1(mvsiz),
329 . r1_free(mvsiz),r3_free(mvsiz)
331 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
332 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
333 INTEGER NNPT,IDEG(MVSIZ),ISTAB(MVSIZ),ICP0
334 parameter(nnpt = 8)
336 . mfxx(mvsiz,nnpt),mfxy(mvsiz,nnpt),mfyx(mvsiz,nnpt),
337 . mfyy(mvsiz,nnpt),mfyz(mvsiz,nnpt),mfzy(mvsiz,nnpt),
338 . mfzz(mvsiz,nnpt),mfzx(mvsiz,nnpt),mfxz(mvsiz,nnpt),
339 . bxx(mvsiz,nnpt),byy(mvsiz,nnpt),bzz(mvsiz,nnpt),
340 . bxy(mvsiz,nnpt),byz(mvsiz,nnpt),bxz(mvsiz,nnpt),
341 . ni(8),detf0(mvsiz),jfac(mvsiz,nnpt)
342
343 TYPE(G_BUFEL_) ,POINTER ::
344 TYPE(L_BUFEL_) ,POINTER :: LBUF
345
347 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
348 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
349 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
350 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
351 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
352 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
353 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
354 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
355 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
356 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
357 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
358 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
359 . bxx1(mvsiz),bxx2(mvsiz),bxx3(mvsiz),bxx4(mvsiz),
360 . bxx5(mvsiz),bxx6(mvsiz),bxx7(mvsiz),bxx8(mvsiz),
361 . byy1(mvsiz),byy2(mvsiz),byy3(mvsiz),byy4(mvsiz),
362 . byy5(mvsiz),byy6(mvsiz),byy7(mvsiz),byy8(mvsiz),
363 . bzz1(mvsiz),bzz2(mvsiz),bzz3(mvsiz),bzz4(mvsiz),
364 . bzz5(mvsiz),bzz6(mvsiz),bzz7(mvsiz),bzz8(mvsiz)
365
366 INTEGER NNEGA,INDEX(MVSIZ),ISELECT,ISEL_V,ISM12_11
368 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
369 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
370 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
371 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
372 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
373 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
374 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
375 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
376 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
377 . pyz5(mvsiz),pyz6(mvsiz),pyz7(mvsiz),pyz8(mvsiz),
378 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
379 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
380 . aji1(mvsiz,nnpt) , aji2(mvsiz,nnpt) , aji3(mvsiz,nnpt) ,
381 . aji4(mvsiz,nnpt) , aji5(mvsiz,nnpt) , aji6(mvsiz,nnpt) ,
382 . aji7(mvsiz,nnpt) , aji8(mvsiz,nnpt) , aji9(mvsiz,nnpt),
383 . px1(mvsiz,nnpt),px2(mvsiz,nnpt),px3(mvsiz,nnpt),px4(mvsiz,nnpt),
384 . px5(mvsiz,nnpt),px6(mvsiz,nnpt),px7(mvsiz,nnpt),px8(mvsiz,nnpt),
385 . py1(mvsiz,nnpt),py2(mvsiz,nnpt),py3(mvsiz,nnpt),py4(mvsiz,nnpt),
386 . py5(mvsiz,nnpt),py6(mvsiz,nnpt),py7(mvsiz,nnpt),py8(mvsiz,nnpt),
387 . pz1(mvsiz,nnpt),pz2(mvsiz,nnpt),pz3(mvsiz,nnpt),pz4(mvsiz,nnpt),
388 . pz5(mvsiz,nnpt),pz6(mvsiz,nnpt),pz7(mvsiz,nnpt),pz8(mvsiz,nnpt),
389 . p0xy1(mvsiz,2),p0xy2(mvsiz,2),p0xy3(mvsiz,2),p0xy4(mvsiz,2),
390 . p0xy5(mvsiz,2),p0xy6(mvsiz,2),p0xy7(mvsiz,2),p0xy8(mvsiz,2),
391 . p0yx1(mvsiz,2),p0yx2(mvsiz,2),p0yx3(mvsiz,2),p0yx4(mvsiz,2),
392 . p0yx5(mvsiz,2),p0yx6(mvsiz,2),p0yx7(mvsiz,2),p0yx8(mvsiz,2),
393 . p0xz1(mvsiz,2),p0xz2(mvsiz,2),p0xz3(mvsiz,2),p0xz4(mvsiz,2),
394 . p0xz5(mvsiz,2),p0xz6(mvsiz,2),p0xz7(mvsiz,2),p0xz8(mvsiz,2),
395 . p0zx1(mvsiz,2),p0zx2(mvsiz,2),p0zx3(mvsiz,2),p0zx4(mvsiz,2),
396 . p0zx5(mvsiz,2),p0zx6(mvsiz,2),p0zx7(mvsiz,2),p0zx8(mvsiz,2),
397 . p0yz1(mvsiz,2),p0yz2(mvsiz,2),p0yz3(mvsiz,2),p0yz4(mvsiz,2),
398 . p0yz5(mvsiz,2),p0yz6(mvsiz,2),p0yz7(mvsiz,2),p0yz8(mvsiz,2),
399 . p0zy1(mvsiz,2),p0zy2(mvsiz,2),p0zy3(mvsiz,2),p0zy4(mvsiz,2),
400 . p0zy5(mvsiz,2),p0zy6(mvsiz,2),p0zy7(mvsiz,2),p0zy8(mvsiz,2),
401 . px1h1(mvsiz), px1h2(mvsiz), px1h3(mvsiz),px1h4(mvsiz),
402 . px2h1(mvsiz), px2h2(mvsiz), px2h3(mvsiz),px2h4(mvsiz),
403 . px3h1(mvsiz), px3h2(mvsiz), px3h3(mvsiz),px3h4(mvsiz),
404 . px4h1(mvsiz), px4h2(mvsiz), px4h3(mvsiz),px4h4(mvsiz),
405 . sigp(nel,6),amu(mvsiz),jr_1(mvsiz),js_1(mvsiz),jt_1(mvsiz),
406 . fld(mvsiz),caq,sig_a(mvsiz,3),rho0_1,cns2,nu0,fac_nu,nu_sp,
407 . sti_c(mvsiz),ll(mvsiz),fqmax,div0(mvsiz),deltaxi(mvsiz)
408 DOUBLE PRECISION
409 . VOLP(MVSIZ,NNPT)
410 INTEGER SZ_IX
411 my_real,
dimension(mvsiz) :: fheat
412
413
415 . DIMENSION(:,:), ALLOCATABLE :: var_reg
416 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8), IMAT,NN_DEL,PID
418 . DIMENSION(:), POINTER :: dnl
420 . h(8),ps2(8),pr2(8),pt2(8),zr,zs,zt
421
423 . w_gauss(9,9),a_gauss(9,9)
424 DATA w_gauss /
425 1 2. ,0. ,0. ,
426 1 0. ,0. ,0. ,
427 1 0. ,0. ,0. ,
428 2 1. ,1. ,0. ,
429 2 0. ,0. ,0. ,
430 2 0. ,0. ,0. ,
431 3 0.555555555555556,0.888888888888889,0.555555555555556,
432 3 0. ,0. ,0. ,
433 3 0. ,0. ,0. ,
434 4 0.347854845137454,0.652145154862546,0.652145154862546,
435 4 0.347854845137454,0. ,0. ,
436 4 0. ,0. ,0. ,
437 5 0.236926885056189,0.478628670499366,0.568888888888889,
438 5 0.478628670499366,0.236926885056189,0. ,
439 5 0. ,0. ,0. ,
440 6 0.171324492379170,0.360761573048139,0.467913934572691,
441 6 0.467913934572691,0.360761573048139,0.171324492379170,
442 6 0. ,0. ,0. ,
443 7 0.129484966168870,0.279705391489277,0.381830050505119,
444 7 0.417959183673469,0.381830050505119,0.279705391489277,
445 7 0.129484966168870,0. ,0. ,
446 8 0.101228536290376,0.222381034453374,0.313706645877887,
447 8 0.362683783378362,0.362683783378362,0.313706645877887,
448 8 0.222381034453374,0.101228536290376,0. ,
449 9 0.081274388361574,0.180648160694857,0.260610696402935,
450 9 0.312347077040003,0.330239355001260,0.312347077040003,
451 9 0.260610696402935,0.180648160694857,0.081274388361574/
452 DATA a_gauss /
453 1 0. ,0. ,0. ,
454 1 0. ,0. ,0. ,
455 1 0. ,0. ,0. ,
456 2 -.577350269189626,0.577350269189626,0. ,
457 2 0. ,0. ,0. ,
458 2 0. ,0. ,0. ,
459 3 -.774596669241483,0. ,0.774596669241483,
460 3 0. ,0. ,0. ,
461 3 0. ,0. ,0. ,
462 4 -.861136311594053,-.339981043584856,0.339981043584856,
463 4 0.861136311594053,0. ,0. ,
464 4 0. ,0. ,0. ,
465 5 -.906179845938664,-.538469310105683,0. ,
466 5 0.538469310105683,0.906179845938664,0. ,
467 5 0. ,0. ,0. ,
468 6 -.932469514203152,-.661209386466265,-.238619186083197,
469 6 0.238619186083197,0.661209386466265,0.932469514203152,
470 6 0. ,0. ,0. ,
471 7 -.949107912342759,-.741531185599394,-.405845151377397,
472 7 0. ,0.405845151377397,0.741531185599394,
473 7 0.949107912342759,0. ,0. ,
474 8 -.960289856497536,-.796666477413627,-.525532409916329,
475 8 -.183434642495650,0.183434642495650,0.525532409916329,
476 8 0.796666477413627,0.960289856497536,0. ,
477 9 -.968160239507626,-.836031107326636,-.613371432700590,
478 9 -.324253423403809,0. ,0.324253423403809,
479 9 0.613371432700590,0.836031107326636,0.968160239507626/
480
481
482 INTEGER IBOLTP,NBPRELD,ISCTL
484 . DIMENSION(:), POINTER :: bpreld
485
486
487
488 nptr = elbuf_tab(ng)%NPTR
489 npts = elbuf_tab(ng)%NPTS
490 nptt = elbuf_tab(ng)%NPTT
491 gbuf => elbuf_tab(ng)%GBUF
492
493 sz_r1_free=mvsiz
494 sz_ix=numelq+numels+nsvois
495 iboltp = iparg(72,ng)
496 inloc = iparg(78,ng)
497 ALLOCATE(var_reg(nel,nptr*npts*nptt))
498 nbpreld = gbuf%G_BPRELD
499 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
500 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
501
502 ilay = 1
503 ibid = 0
504 ibidv = 0
505 nf1=nft+1
506
507 isel_v=0
508
509 IF (iint==2.AND.jcvt/=0.AND.icp/=1)THEN
510 iselect=1
511
512 IF ((icp==0.OR.icp==2).AND.ismstr/=10.AND.ismstr/=12) iselect=2
513
514 IF (mtn==1.AND.(ismstr==10.OR.ismstr==12)) isel_v=1
515 ELSE
516 iselect=0
517 ENDIF
518
519
520
521
522
523 IF (jcvt == 0) THEN
524
525 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
526 2 x1, x2, x3, x4, x5, x6, x7, x8,
527 3 y1, y2, y3, y4, y5, y6, y7, y8,
528 4 z1, z2, z3, z4, z5, z6, z7, z8,
529 5 vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
530 6 vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
531 7 vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
532 8 vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
533 9 vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
534 a vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
535 b vdx,vdy,vdz,vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,
536 c gbuf%RHO,rhoo,nc1,nc2,nc3,nc4,nc5,nc6,
537 d nc7,nc8,ngl,mxt,ngeo,
538 e bid,bid,bid,bid,bid,bid,
539 f xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
540 g yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
541 h zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
542 i xdp, iparg, ng , nel)
543 ELSE
544
545 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
546 . x1, x2, x3, x4, x5, x6, x7, x8,
547 . y1, y2, y3, y4, y5, y6, y7, y8,
548 . z1, z2, z3, z4, z5, z6, z7, z8,
549 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
550 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
551 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
552 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo,
553 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
554 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
555 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
556 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
557 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
558 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
559 . xdp, x0 , y0 , z0 , nel,xgxa, xgya, xgza,
560 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
561 . gbuf%GAMA_R)
562 ENDIF
563
564 nn_del = 0
565 pid = ngeo(1)
566 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
567 . nn_del=8
568 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
569 isctl = igeo(97,pid)
570 IF (iint/=2) isctl=0
571
572
573
574 IF (ismstr >= 10.AND.ismstr <= 12) THEN
576 1 tt, 8, x, ixs(1,nf1),
577 2 x0, y0, z0, vx0,
578 3 vy0, vz0, gbuf%SMSTR,d,
579 4 gbuf%OFF, offg0, nel, xdp,
580 5 mtn, ismstr)
581
582 IF (ismstr == 11.AND.jcvt>0) THEN
584 1 r11, r12, r13, r21,
585 2 r22, r23, r31, r32,
586 3 r33, x0(1,1), x0(1,2), x0(1,3),
587 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
588 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
589 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
590 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
591 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
592 9 z0(1,8), nel)
594 1 r11, r12, r13, r21,
595 2 r22, r23, r31, r32,
596 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
597 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
598 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
599 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
600 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
601 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
602 9 vz0(1,8),nel)
603 ENDIF
604 ENDIF
605
606 ioffs=0
607 DO i=lft,llt
608 offs(i)=ep20
609 deltax(i)=ep30
610 ideg(i)=0
611 ENDDO
612 IF(jthe < 0) them(lft:llt,1:8) =zero
613
614 mx = mxt(lft)
615 nu0=pm(21,mx)
616 icp0=mat_elem%MAT_PARAM(mx)%COMPRESSIBILITY
617 IF (icp == 2) THEN
618 c1 =pm(32,mx)
619 DO i=lft,llt
621 e0(i) =three*(one-two*nu(i))*c1
622 ENDDO
623
624 sigp=zero
625 IF (gbuf%G_PLA>0) THEN
627 1 elbuf_tab(ng),sigp, nel)
628 END IF
629 CALL s8zsigp3(lft ,llt ,sigp ,e0 ,gbuf%PLA,
630 2 fac ,gbuf%G_PLA,nel )
631 IF (iselect >1) THEN
632 DO i=lft,llt
633 IF (fac(i)>zero) THEN
634 nu(i)=nu(i)+(half-nu(i))*fac(i)
635 END IF
636 ENDDO
637 END IF
638 ELSEIF (icp > 0 .OR.iselect >1.OR.isel_v>0) THEN
639 DO i=lft,llt
641 ENDDO
642 ENDIF
643 IF (iselect >1.OR.isel_v>0) THEN
644 DO i=lft,llt
645 nu1(i) = nu(i)/(one - nu(i))
646 ENDDO
647 ENDIF
648 cns2 = zero
649 IF (iint==2.AND.icp==1.AND.mtn==1.AND.
650 . (ismstr==10.OR.ismstr==12)) THEN
651 IF (ismstr==12) THEN
652 rho0_1 =pm( 1,mx)
653 cns2 = zep02
654 IF (igeo(35,ngeo(1))>0) cns2=cns2-abs(geo(17,ngeo(1)))
655 END IF
656 END IF
657
658 fac_nu = one
659 nu_sp = one
660 IF (idt1sol == 1.AND.(mtn==1.OR.icp0 ==3)) THEN
661 nu_sp=sqrt((one-nu0)/(one+nu0))
662 nu_sp =
min(one,nu_sp/zep9)
663 fac_nu=(one-two*nu0)/(one-nu0)
664 END IF
665
667
668 IF (ismstr >= 10.AND.ismstr <= 12) THEN
669 IF (ismstr == 11) THEN
671 1 offg, volg, ngl, x0(1,1),
672 2 x0(1,2), x0(1,3), x0(1,4), x0(1,5),
673 3 x0(1,6), x0(1,7), x0(1,8), y0(1,1),
674 4 y0(1,2), y0(1,3), y0(1,4), y0(1,5),
675 5 y0(1,6), y0(1,7), y0(1,8), z0(1,1),
676 6 z0(1,2), z0(1,3), z0(1,4), z0(1,5),
677 7 z0(1,6), z0(1,7), z0(1,8), pxc1,
678 8 pxc2, pxc3, pxc4, pyc1,
679 9 pyc2, pyc3, pyc4, pzc1,
680 a pzc2, pzc3, pzc4, hx,
681 b hy, hz, ajc1, ajc2,
682 c ajc3, ajc4, ajc5, ajc6,
683 d ajc7, ajc8, ajc9, smax,
684 e nel)
686 1 hx, hy, hz, ajc1,
687 2 ajc2, ajc3, ajc4, ajc5,
688 3 ajc6, ajc7, ajc8, ajc9,
689 4 ajp1, ajp2, ajp3, ajp4,
690 5 ajp5, ajp6, ajp7, ajp8,
691 6 ajp9, nel)
693 1 x0, y0, z0, x1,
694 2 x2, x3, x4, x5,
695 3 x6, x7, x8, y1,
696 4 y2, y3, y4, y5,
697 5 y6, y7, y8, z1,
698 6 z2, z3, z4, z5,
699 7 z6, z7, z8, nel)
700 IF (idts6>0) THEN
702 1 volg, deltax, x1, x2,
703 2 x3, x4, x5, x6,
704 3 x7, x8, y1, y2,
705 4 y3, y4, y5, y6,
706 5 y7, y8, z1, z2,
707 6 z3, z4, z5, z6,
708 7 z7, z8, ixs(1,nf1),ideg,
709 8 nel)
710 END IF
711
713 1 volg, deltax, smax, ideg,
714 2 nel)
715 ELSE
716 IF (ismstr == 12.AND.idtmin(1)==3.AND.jcvt == 0.AND.ism12_11==0) THEN
717
719 1 gbuf%OFF,x, xdp, nc1,
720 2 nc2, nc3, nc4, nc5,
721 3 nc6, nc7, nc8, r11,
722 4 r12, r13, r21, r22,
723 5 r23, r31, r32, r33,
724 6 nel, jhbe)
725 END IF
727 1 offg, volg, pxc1, pxc2,
728 2 pxc3, pxc4, pyc1, pyc2,
729 3 pyc3, pyc4, pzc1, pzc2,
730 4 pzc3, pzc4, gbuf%JAC_I,nel)
731
732 smax(lft:llt)=ep10
733 END IF
734
735 IF (icp ==1) THEN
737 1 detf0, pxc1, pxc2, pxc3,
738 2 pxc4, pyc1, pyc2, pyc3,
739 3 pyc4, pzc1, pzc2, pzc3,
740 4 pzc4, vx0(1,1),vx0(1,2),vx0(1,3),
741 5 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
742 6 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
743 7 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
744 8 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
745 9 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
746 a vz0(1,8),div0, nel)
747
749 1 ixs(1,nf1),ideg, nel)
750 DO i=lft,llt
751 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
752 ENDDO
753 END IF
754 IF (ismstr == 11) THEN
755
756 DO ir=1,nptr
757 DO is=1,npts
758 DO it=1,nptt
759
760 ip = ir + ( (is-1) + (it-1)*npts )*nptr
761 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
762 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
763
765 1 volp(1,ip), a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),
766 2 wi, ajp1(1,ip), ajp2(1,ip), ajp3(1,ip),
767 3 ajp4(1,ip), ajp5(1,ip), ajp6(1,ip), ajp7(1,ip),
768 4 ajp8(1,ip), ajp9(1,ip), aji1(1,ip), aji2(1,ip),
769 5 aji3(1,ip), aji4(1,ip), aji5(1,ip), aji6(1,ip),
770 6 aji7(1,ip), aji8(1,ip), aji9(1,ip), lbuf%JAC_I,
771 7 nel, ismstr)
772 ENDDO
773 ENDDO
774 ENDDO
775
776 ELSE
777 DO ir=1,nptr
778 DO is=1,npts
779 DO it=1,nptt
780
781 ip = ir + ( (is-1) + (it-1)*npts )*nptr
782 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
783 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
784
786 . px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
787 . px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
788 . py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
789 . py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
790 . pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
791 . pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
792 . lbuf%PIJ , llt )
793 volp(lft:llt,ip)=volg(lft:llt)
794 ENDDO
795 ENDDO
796 ENDDO
797
798 DO ir=1,nptr
799 DO is=1,npts
800 DO it=1,nptt
801 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
802 ip = ir + ( (is-1) + (it-1)*npts )*nptr
803 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
804
806 1 offg, off, voln, a_gauss(ir,nptr),
807 2 a_gauss(is,npts),a_gauss(it,nptt),wi, px1(1,ip),
808 3 px2(1,ip), px3(1,ip), px4(1,ip), px5(1,ip),
809 4 px6(1,ip), px7(1,ip), px8(1,ip), py1(1,ip),
810 5 py2(1,ip), py3(1,ip), py4(1,ip), py5(1,ip),
811 6 py6(1,ip), py7(1,ip), py8(1,ip), pz1(1,ip),
812 7 pz2(1,ip), pz3(1,ip), pz4(1,ip), pz5(1,ip),
813 8 pz6(1,ip), pz7(1,ip), pz8(1,ip), pxc1,
814 9 pxc2, pxc3, pxc4, pyc1,
815 a pyc2, pyc3, pyc4, pzc1,
816 b pzc2, pzc3, pzc4, bxy1,
817 c bxy2, bxy3, bxy4, bxy5,
818 d bxy6, bxy7, bxy8, byx1,
819 e byx2, byx3, byx4, byx5,
820 f byx6, byx7, byx8, bxz1,
821 g bxz2, bxz3, bxz4, bxz5,
822 h bxz6, bxz7, bxz8, bzx1,
823 i bzx2, bzx3, bzx4, bzx5,
824 j bzx6, bzx7, bzx8, byz1,
825 k byz2, byz3, byz4, byz5,
826 l byz6, byz7, byz8, bzy1,
827 m bzy2, bzy3, bzy4, bzy5,
828 n bzy6, bzy7, bzy8, bxx1,
829 o bxx2, bxx3, bxx4, bxx5,
830 p bxx6, bxx7, bxx8, byy1,
831 q byy2, byy3, byy4, byy5,
832 r byy6, byy7, byy8, bzz1,
833 s bzz2, bzz3, bzz4, bzz5,
834 t bzz6, bzz7, bzz8, ajp4(1,ip),
835 u ajp5(1,ip), ajp6(1,ip), ajp7(1,ip), ajp8(1,ip),
836 v ajp9(1,ip), aj1, aj2, aj3,
837 w aj4, aj5, aj6, smax,
838 x deltax, icp, ideg, nu,
839 y volp(1,ip), nel)
840 IF (iselect>1) THEN
842 . bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8,
843 . byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8,
844 . bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8,
845 . bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8,
846 . byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8,
847 . bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8,
848 . lbuf%PIJ,llt)
849 END IF
851 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
852 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
853 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
854 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
855 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
856 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
857 7 bxy1, bxy2, bxy3, bxy4,
858 8 bxy5, bxy6, bxy7, bxy8,
859 9 byx1, byx2, byx3, byx4,
860 a byx5, byx6, byx7, byx8,
861 b bxz1, bxz2, bxz3, bxz4,
862 c bxz5, bxz6, bxz7, bxz8,
863 d bzx1, bzx2, bzx3, bzx4,
864 e bzx5, bzx6, bzx7, bzx8,
865 f byz1, byz2, byz3, byz4,
866 g byz5, byz6, byz7, byz8,
867 h bzy1, bzy2, bzy3, bzy4,
868 i bzy5, bzy6, bzy7, bzy8,
869 j bxx1, bxx2, bxx3, bxx4,
870 k bxx5, bxx6, bxx7, bxx8,
871 l byy1, byy2, byy3, byy4,
872 m byy5, byy6, byy7, byy8,
873 n bzz1, bzz2, bzz3, bzz4,
874 o bzz5, bzz6, bzz7, bzz8,
875 p pxy1, pxy2, pxy3, pxy4,
876 q pxy5, pxy6, pxy7, pxy8,
877 r pyx1, pyx2, pyx3, pyx4,
878 s pyx5, pyx6, pyx7, pyx8,
879 t pxz1, pxz2, pxz3, pxz4,
880 u pxz5, pxz6, pxz7, pxz8,
881 v pzx1, pzx2, pzx3, pzx4,
882 w pzx5, pzx6, pzx7, pzx8,
883 x pyz1, pyz2, pyz3, pyz4,
884 y pyz5, pyz6, pyz7, pyz8,
885 z pzy1, pzy2, pzy3, pzy4,
886 1 pzy5, pzy6, pzy7, pzy8,
887 2 vx0(1,1), vx0(1,2), vx0(1,3), vx0(1,4),
888 3 vx0(1,5), vx0(1,6), vx0(1,7), vx0(1,8),
889 4 vy0(1,1), vy0(1,2), vy0(1,3), vy0(1,4),
890 5 vy0(1,5), vy0(1,6), vy0(1,7), vy0(1,8),
891 6 vz0(1,1), vz0(1,2), vz0(1,3), vz0(1,4),
892 7 vz0(1,5), vz0(1,6), vz0(1,7), vz0(1,8),
893 8 mfxx(1,ip),mfxy(1,ip),mfxz(1,ip),mfyx(1,ip),
894 9 mfyy(1,ip),mfyz(1,ip),mfzx(1,ip),mfzy(1,ip),
895 a mfzz(1,ip),icp, detf0, jfac(1,ip),
896 b nu, iselect, ideg, bxx(1,ip),
897 c byy(1,ip), bzz(1,ip), gbuf%OFF, nel,
898 d ismstr, mtn, div0 )
899
900 IF (jcvt > 0.AND.(ismstr==10.OR.ismstr==12)) THEN
901 CALL sordeft3(lft,llt,mfxx(1,ip), mfxy(1,ip), mfxz(1,ip),
902 . mfyx(1,ip), mfyy(1,ip), mfyz(1,ip),
903 . mfzx(1,ip), mfzy(1,ip), mfzz(1,ip),
904 . r11, r21, r31, r12, r22, r32, r13, r23, r33)
905 IF (iselect>1)
906 .
CALL sordeftb(lft,llt,bxx(1,ip), byy(1,ip), bzz(1,ip),
907 . r11, r21, r31, r12, r22, r32, r13, r23, r33)
908 ELSEIF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0) THEN
909 CALL sordeft12(lft,llt,mfxx(1,ip), mfxy(1,ip), mfxz(1,ip),
910 . mfyx(1,ip), mfyy(1,ip), mfyz(1,ip),
911 . mfzx(1,ip), mfzy(1,ip), mfzz(1,ip),
912 . r11, r21, r31, r12, r22, r32, r13, r23, r33,gbuf%OFF)
913 ENDIF
914
915 ENDDO
916 ENDDO
917 ENDDO
918
919 IF (iselect>0) THEN
921 1 nptr, npts, nptt, nnpt,
922 2 mfxx, mfxy, mfxz, mfyx,
923 3 mfyy, mfyz, mfzx, mfzy,
924 4 mfzz, bxx, byy, bzz,
925 5 bxy, byz, bxz, iselect,
926 6 gbuf%OFF,nel, ismstr)
927 ENDIF
928 END IF
929 ENDIF
930
931
932 IF (ismstr/=11) THEN
934 1 offg, volg, ngl, xd1,
935 2 xd2, xd3, xd4, xd5,
936 3 xd6, xd7, xd8, yd1,
937 4 yd2, yd3, yd4, yd5,
938 5 yd6, yd7, yd8, zd1,
939 6 zd2, zd3, zd4, zd5,
940 7 zd6, zd7, zd8, pxc1,
941 8 pxc2, pxc3, pxc4, pyc1,
942 9 pyc2, pyc3, pyc4, pzc1,
943 a pzc2, pzc3, pzc4, px1h1,
944 b px1h2, px1h3, px1h4, px2h1,
945 c px2h2, px2h3, px2h4, px3h1,
946 d px3h2, px3h3, px3h4, px4h1,
947 e px4h2, px4h3, px4h4, hx,
948 f hy, hz, jr_1, js_1,
949 g jt_1, ajc1, ajc2, ajc3,
950 h ajc4, ajc5, ajc6, ajc7,
951 i ajc8, ajc9, smax, gbuf%SMSTR,
952 j gbuf%OFF, nel, ismstr, jlag)
954 1 hx, hy, hz, ajc1,
955 2 ajc2, ajc3, ajc4, ajc5,
956 3 ajc6, ajc7, ajc8, ajc9,
957 4 ajp1, ajp2, ajp3, ajp4,
958 5 ajp5, ajp6, ajp7, ajp8,
959 6 ajp9, nel)
960 IF (idts6>0) THEN
962 1 volg, deltax, x1, x2,
963 2 x3, x4, x5, x6,
964 3 x7, x8, y1, y2,
965 4 y3, y4, y5, y6,
966 5 y7, y8, z1, z2,
967 6 z3, z4, z5, z6,
968 7 z7, z8, ixs(1,nf1),ideg,
969 8 nel)
970 END IF
971 END IF
972
973 nnega = 0
974
975
976 DO ir=1,nptr
977 DO is=1,npts
978 DO it=1,nptt
979 ip = ir + ( (is-1) + (it-1)*npts )*nptr
980 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
981
983 1 gbuf%OFF, volp(1,ip),ngl, wi,
984 2 ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),ajp4(1,ip),
985 3 ajp5(1,ip),ajp6(1,ip),ajp7(1,ip),ajp8(1,ip),
986 4 ajp9(1,ip),aji1(1,ip),aji2(1,ip),aji3(1,ip),
987 5 aji4(1,ip),aji5(1,ip),aji6(1,ip),aji7(1,ip),
988 6 aji8(1,ip),aji9(1,ip),nnega, index,
989 7 ip, nel)
990 ENDDO
991 ENDDO
992 ENDDO
993
994 IF (nnega>0) THEN
996 1 volg, ngl, xd1, xd2,
997 2 xd3, xd4, xd5, xd6,
998 3 xd7, xd8, yd1, yd2,
999 4 yd3, yd4, yd5, yd6,
1000 5 yd7, yd8, zd1, zd2,
1001 6 zd3, zd4, zd5, zd6,
1002 7 zd7, zd8, pxc1, pxc2,
1003 8 pxc3, pxc4, pyc1, pyc2,
1004 9 pyc3, pyc4, pzc1, pzc2,
1005 a pzc3, pzc4, hx, hy,
1006 b hz, ajc1, ajc2, ajc3,
1007 c ajc4, ajc5, ajc6, ajc7,
1008 d ajc8, ajc9, smax, gbuf%SMSTR,
1009 e gbuf%OFF, nnega, index, nel,
1010 f ismstr)
1011 DO ir=1,nptr
1012 DO is=1,npts
1013 DO it=1,nptt
1014 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1015 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
1016
1018 . a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
1019 . hx, hy, hz,
1020 . ajc1,ajc2,ajc3,
1021 . ajc4,ajc5,ajc6,
1022 . ajc7,ajc8,ajc9,
1023 . ajp1(1,ip),ajp2(1,ip),ajp3(1,ip),
1024 . ajp4(1,ip),ajp5(1,ip),ajp6(1,ip),
1025 . ajp7(1,ip),ajp8(1,ip),ajp9(1,ip),
1026 . aji1(1,ip),aji2(1,ip),aji3(1,ip),
1027 . aji4(1,ip),aji5(1,ip),aji6(1,ip),
1028 . aji7(1,ip),aji8(1,ip),aji9(1,ip),nnega,index)
1029 ENDDO
1030 ENDDO
1031 ENDDO
1032 IF (ineg_v ==0) THEN
1033
1034 CALL ancmsg(msgid=280,anmode=aninfo)
1035 mstop = 1
1036 END IF
1037 END IF
1038
1039
1040
1041
1042 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
1043 IF (jcvt /= 0.AND.isorth/=0 ) THEN
1045 1 gbuf%OFF, gbuf%SMSTR,x0, y0,
1046 2 z0, nel)
1047 ELSE
1049 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
1050 2 xd3, xd4, xd5, xd6,
1051 3 xd7, xd8, yd1, yd2,
1052 4 yd3, yd4, yd5, yd6,
1053 5 yd7, yd8, zd1, zd2,
1054 6 zd3, zd4, zd5, zd6,
1055 7 zd7, zd8, nel)
1056 END IF
1057 END IF
1058
1059 IF (icp==1.OR.icp==2) THEN
1061 1 pxc1, pxc2, pxc3, pxc4,
1062 2 pyc1, pyc2, pyc3, pyc4,
1063 3 pzc1, pzc2, pzc3, pzc4,
1064 4 vx1, vx2, vx3, vx4,
1065 5 vx5, vx6, vx7, vx8,
1066 6 vy1, vy2, vy3, vy4,
1067 7 vy5, vy6, vy7, vy8,
1068 8 vz1, vz2, vz3, vz4,
1069 9 vz5, vz6, vz7, vz8,
1070 a dsv, nel)
1071 ENDIF
1072
1073 IF ((icp==1.OR.iselect>1).AND.ismstr < 10) THEN
1075 1 ixs(1,nf1),ideg, nel)
1076 IF (iselect>1) THEN
1077 DO i=lft,llt
1078 IF (ideg(i)>2) ideg(i) = ideg(i) + 10
1079 ENDDO
1080 ELSE
1081 DO i=lft,llt
1082 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
1083 ENDDO
1084 END IF
1085 END IF
1086
1087 CALL sz_dt1(
1088 1 pxc1, pxc2, pxc3, pxc4,
1089 2 pyc1, pyc2, pyc3, pyc4,
1090 3 pzc1, pzc2, pzc3, pzc4,
1091 4 fac_nu, deltaxi, nel )
1092
1093
1094
1096 1 f11, f21, f31, f12,
1097 2 f22, f32, f13, f23,
1098 3 f33, f14, f24, f34,
1099 4 f15, f25, f35, f16,
1100 5 f26, f36, f17, f27,
1101 6 f37, f18, f28, f38,
1102 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
1103 8 gbuf%PLA, gbuf%EPSD, stin, pp,
1104 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
1105 a nel, conden)
1106
1107
1108
1109 tempel(:) = zero
1110 fheat(:) = zero
1111 IF(jthe < 0 ) THEN
1112 DO i=lft,llt
1113 IF(gbuf%OFF(i) == zero) cycle
1114 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
1115 . + temp(nc3(i)) + temp(nc4(i))
1116 . + temp(nc5(i)) + temp(nc6(i))
1117 . + temp(nc7(i)) + temp(nc8(i)))
1118 gbuf%TEMP(i) = tempel(i)
1119 ENDDO
1120 ENDIF
1121
1122
1123
1124 IF (inloc > 0) THEN
1125 l_nloc = nloc_dmg%L_NLOC
1126 dnl => nloc_dmg%DNL(1:l_nloc)
1127 DO ir=1,nptr
1128 DO is=1,npts
1129 DO it=1,nptt
1130 zr = a_gauss(ir,nptr)
1131 zs = a_gauss(is,npts)
1132 zt = a_gauss(it,nptt)
1133 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1134 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
1135 DO i=lft,llt
1136 inod(1) = nloc_dmg%IDXI(nc1(i))
1137 inod(2) = nloc_dmg%IDXI(nc2(i))
1138 inod(3) = nloc_dmg%IDXI(nc3(i))
1139 inod(4) = nloc_dmg%IDXI(nc4(i))
1140 inod(5) = nloc_dmg%IDXI(nc5(i))
1141 inod(6) = nloc_dmg%IDXI(nc6(i))
1142 inod(7) = nloc_dmg%IDXI(nc7(i))
1143 inod(8) = nloc_dmg%IDXI(nc8(i))
1144 DO j = 1, 8
1145 ipos(j) = nloc_dmg%POSI(inod(j))
1146 ENDDO
1147 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
1148 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
1149 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
1150 ENDDO
1151 ENDDO
1152 ENDDO
1153 ENDDO
1154 ENDIF
1155
1156 DO ir=1,nptr
1157 DO is=1,npts
1158 DO it=1,nptt
1159
1160 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1161
1163 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
1164 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
1165 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
1166 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
1167 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
1168 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
1169 7 aji1(1,ip),aji2(1,ip),aji3(1,ip),aji4(1,ip),
1170 8 aji5(1,ip),aji6(1,ip),aji7(1,ip),aji8(1,ip),
1171 9 aji9(1,ip),pr(1,ip), ps(1,ip), pt(1,ip),
1172 a nel)
1173 ENDDO
1174 ENDDO
1175 ENDDO
1176
1177 IF (iselect>0) THEN
1179 1 nptr, npts, nptt, nnpt,
1180 2 px1, px2, px3, px4,
1181 3 px5, px6, px7, px8,
1182 4 py1, py2, py3, py4,
1183 5 py5, py6, py7, py8,
1184 6 pz1, pz2, pz3, pz4,
1185 7 pz5, pz6, pz7, pz8,
1186 8 p0xy1, p0xy2, p0xy3, p0xy4,
1187 9 p0xy5, p0xy6, p0xy7, p0xy8,
1188 a p0yx1, p0yx2, p0yx3, p0yx4,
1189 b p0yx5, p0yx6, p0yx7, p0yx8,
1190 c p0xz1, p0xz2, p0xz3, p0xz4,
1191 d p0xz5, p0xz6, p0xz7, p0xz8,
1192 e p0zx1, p0zx2, p0zx3, p0zx4,
1193 f p0zx5, p0zx6, p0zx7, p0zx8,
1194 g p0yz1, p0yz2, p0yz3, p0yz4,
1195 h p0yz5, p0yz6, p0yz7, p0yz8,
1196 i p0zy1, p0zy2, p0zy3, p0zy4,
1197 j p0zy5, p0zy6, p0zy7, p0zy8,
1198 k nel)
1199 END IF
1200
1201 DO ir=1,nptr
1202 DO is=1,npts
1203 DO it=1,nptt
1204 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1205
1206 IF (ioffs == 1)THEN
1207 DO i=lft,llt
1208 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
1209 ENDDO
1210 END IF
1211
1212 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1213 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
1214
1216 1 offg, off, voln, a_gauss(ir,nptr),
1217 2 a_gauss(is,npts),a_gauss(it,nptt),wi, px1(1,ip),
1218 3 px2(1,ip), px3(1,ip), px4(1,ip), px5(1,ip),
1219 4 px6(1,ip), px7(1,ip), px8(1,ip), py1(1,ip),
1220 5 py2(1,ip), py3(1,ip), py4(1,ip), py5(1,ip),
1221 6 py6(1,ip), py7(1,ip), py8(1,ip), pz1(1,ip),
1222 7 pz2(1,ip), pz3(1,ip), pz4(1,ip), pz5(1,ip),
1223 8 pz6(1,ip), pz7(1,ip), pz8(1,ip), pxc1,
1224 9 pxc2, pxc3, pxc4, pyc1,
1225 a pyc2, pyc3, pyc4, pzc1,
1226 b pzc2, pzc3, pzc4, bxy1,
1227 c bxy2, bxy3, bxy4, bxy5,
1228 d bxy6, bxy7, bxy8, byx1,
1229 e byx2, byx3, byx4, byx5,
1230 f byx6, byx7, byx8, bxz1,
1231 g bxz2, bxz3, bxz4, bxz5,
1232 h bxz6, bxz7, bxz8, bzx1,
1233 i bzx2, bzx3, bzx4, bzx5,
1234 j bzx6, bzx7, bzx8, byz1,
1235 k byz2, byz3, byz4, byz5,
1236 l byz6, byz7, byz8, bzy1,
1237 m bzy2, bzy3, bzy4, bzy5,
1238 n bzy6, bzy7, bzy8, bxx1,
1239 o bxx2, bxx3, bxx4, bxx5,
1240 p bxx6, bxx7, bxx8, byy1,
1241 q byy2, byy3, byy4, byy5,
1242 r byy6, byy7, byy8, bzz1,
1243 s bzz2, bzz3, bzz4, bzz5,
1244 t bzz6, bzz7, bzz8, ajp4(1,ip),
1245 u ajp5(1,ip), ajp6(1,ip), ajp7(1,ip), ajp8(1,ip),
1246 v ajp9(1,ip), aj1, aj2, aj3,
1247 w aj4, aj5, aj6, smax,
1248 x deltax, icp, ideg, nu,
1249 y volp(1,ip), nel)
1250 IF (iselect>0) THEN
1252 1 pxy1, pxy2, pxy3, pxy4,
1253 2 pxy5, pxy6, pxy7, pxy8,
1254 3 pyx1, pyx2, pyx3, pyx4,
1255 4 pyx5, pyx6, pyx7, pyx8,
1256 5 pxz1, pxz2, pxz3, pxz4,
1257 6 pxz5, pxz6, pxz7, pxz8,
1258 7 pzx1, pzx2, pzx3, pzx4,
1259 8 pzx5, pzx6, pzx7, pzx8,
1260 9 pyz1, pyz2, pyz3, pyz4,
1261 a pyz5, pyz6, pyz7, pyz8,
1262 b pzy1, pzy2, pzy3, pzy4,
1263 c pzy5, pzy6, pzy7, pzy8,
1264 d p0xy1(1,ir),p0xy2(1,ir),p0xy3(1,ir),p0xy4(1,ir),
1265 e p0xy5(1,ir),p0xy6(1,ir),p0xy7(1,ir),p0xy8(1,ir),
1266 f p0yx1(1,ir),p0yx2(1,ir),p0yx3(1,ir),p0yx4(1,ir),
1267 g p0yx5(1,ir),p0yx6(1,ir),p0yx7(1,ir),p0yx8(1,ir),
1268 h p0xz1(1,it),p0xz2(1,it),p0xz3(1,it),p0xz4(1,it),
1269 i p0xz5(1,it),p0xz6(1,it),p0xz7(1,it),p0xz8(1,it),
1270 j p0zx1(1,it),p0zx2(1,it),p0zx3(1,it),p0zx4(1,it),
1271 k p0zx5(1,it),p0zx6(1,it),p0zx7(1,it),p0zx8(1,it),
1272 l p0yz1(1,is),p0yz2(1,is),p0yz3(1,is),p0yz4(1,is),
1273 m p0yz5(1,is),p0yz6(1,is),p0yz7(1,is),p0yz8(1,is),
1274 n p0zy1(1,is),p0zy2(1,is),p0zy3(1,is),p0zy4(1,is),
1275 o p0zy5(1,is),p0zy6(1,is),p0zy7(1,is),p0zy8(1,is),
1276 p nel)
1277 IF (iselect>1.OR.isel_v>0)
1279 1 px1(1,ip),px2(1,ip),px3(1,ip),px4(1,ip),
1280 2 px5(1,ip),px6(1,ip),px7(1,ip),px8(1,ip),
1281 3 py1(1,ip),py2(1,ip),py3(1,ip),py4(1,ip),
1282 4 py5(1,ip),py6(1,ip),py7(1,ip),py8(1,ip),
1283 5 pz1(1,ip),pz2(1,ip),pz3(1,ip),pz4(1,ip),
1284 6 pz5(1,ip),pz6(1,ip),pz7(1,ip),pz8(1,ip),
1285 7 pxc1, pxc2, pxc3, pxc4,
1286 8 pyc1, pyc2, pyc3, pyc4,
1287 9 pzc1, pzc2, pzc3, pzc4,
1288 a pxy1, pxy2, pxy3, pxy4,
1289 b pxy5, pxy6, pxy7, pxy8,
1290 c pyx1, pyx2, pyx3, pyx4,
1291 d pyx5, pyx6, pyx7, pyx8,
1292 e pxz1, pxz2, pxz3, pxz4,
1293 f pxz5, pxz6, pxz7, pxz8,
1294 g pzx1, pzx2, pzx3, pzx4,
1295 h pzx5, pzx6, pzx7, pzx8,
1296 i pyz1, pyz2, pyz3, pyz4,
1297 j pyz5, pyz6, pyz7, pyz8,
1298 k pzy1, pzy2, pzy3, pzy4,
1299 l pzy5, pzy6, pzy7, pzy8,
1300 m bxy1, bxy2, bxy3, bxy4,
1301 n bxy5, bxy6, bxy7, bxy8,
1302 o byx1, byx2, byx3, byx4,
1303 p byx5, byx6, byx7, byx8,
1304 q bxz1, bxz2, bxz3, bxz4,
1305 r bxz5, bxz6, bxz7, bxz8,
1306 s bzx1, bzx2, bzx3, bzx4,
1307 t bzx5, bzx6, bzx7, bzx8,
1308 u byz1, byz2, byz3, byz4,
1309 v byz5, byz6, byz7, byz8,
1310 w bzy1, bzy2, bzy3, bzy4,
1311 x bzy5, bzy6, bzy7, bzy8,
1312 y nu, nu1, nel)
1313
1314 IF (ismstr==10.OR.ismstr==12) THEN
1316 1 gbuf%ETOTSH,bxx(1,ip), byy(1,ip), bzz(1,ip),
1317 2 bxy(1,ip), byz(1,ip), bxz(1,ip), nel)
1318 END IF
1319
1320 END IF
1321 IF (ismstr==11) THEN
1323 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
1324 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
1325 3 py1(1,ip), py2(1,ip), py3
1326 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
1327 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
1328 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
1329 7 bxy1, bxy2, bxy3, bxy4,
1330 8 bxy5, bxy6, bxy7, bxy8,
1331 9 byx1, byx2, byx3, byx4,
1332 a byx5, byx6, byx7, byx8,
1333 b bxz1, bxz2, bxz3, bxz4,
1334 c bxz5, bxz6, bxz7, bxz8,
1335 d bzx1, bzx2, bzx3, bzx4,
1336 e bzx5, bzx6, bzx7, bzx8,
1337 f byz1, byz2, byz3, byz4,
1338 g byz5, byz6, byz7, byz8,
1339 h bzy1, bzy2, bzy3, bzy4,
1340 i bzy5, bzy6, bzy7, bzy8,
1341 j bxx1, bxx2, bxx3, bxx4,
1342 k bxx5, bxx6, bxx7, bxx8,
1343 l byy1, byy2, byy3, byy4,
1344 m byy5, byy6, byy7, byy8,
1345 n bzz1, bzz2, bzz3, bzz4,
1346 o bzz5, bzz6, bzz7, bzz8,
1347 p pxy1, pxy2, pxy3, pxy4,
1348 q pxy5, pxy6, pxy7, pxy8,
1349 r pyx1, pyx2, pyx3, pyx4,
1350 s pyx5, pyx6, pyx7, pyx8,
1351 t pxz1, pxz2, pxz3, pxz4,
1352 u pxz5, pxz6, pxz7, pxz8,
1353 v pzx1, pzx2, pzx3, pzx4,
1354 w pzx5, pzx6, pzx7, pzx8,
1355 x pyz1, pyz2, pyz3, pyz4,
1356 y pyz5, pyz6, pyz7, pyz8,
1357 z pzy1, pzy2, pzy3, pzy4,
1358 1 pzy5, pzy6, pzy7, pzy8,
1359 2 vx0(1,1), vx0(1,2), vx0(1,3), vx0(1,4),
1360 3 vx0(1,5), vx0(1,6), vx0(1,7), vx0(1,8),
1361 4 vy0(1,1), vy0(1,2), vy0(1,3), vy0(1,4),
1362 5 vy0(1,5), vy0(1,6), vy0(1,7), vy0(1,8),
1363 6 vz0(1,1), vz0(1,2), vz0(1,3), vz0(1,4),
1364 7 vz0(1,5), vz0(1,6), vz0(1,7), vz0(1,8),
1365 8 mfxx(1,ip),mfxy(1,ip),mfxz(1,ip),mfyx(1,ip),
1366 9 mfyy(1,ip),mfyz(1,ip),mfzx(1,ip),mfzy(1,ip),
1367 a mfzz(1,ip),icp, detf0, jfac(1,ip),
1368 b nu, iselect, ideg, bxx(1,ip),
1369 c byy(1,ip), bzz(1,ip), gbuf%OFF, nel,
1370 d ismstr, mtn, div0 )
1371 ELSEIF (ismstr==12) THEN
1373 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
1374 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
1375 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
1376 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
1377 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
1378 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
1379 7 bxy1, bxy2, bxy3, bxy4,
1380 8 bxy5, bxy6, bxy7, bxy8,
1381 9 byx1, byx2, byx3, byx4,
1382 a byx5, byx6, byx7, byx8,
1383 b bxz1, bxz2, bxz3, bxz4,
1384 c bxz5, bxz6, bxz7, bxz8,
1385 d bzx1, bzx2, bzx3, bzx4,
1386 e bzx5, bzx6, bzx7, bzx8,
1387 f byz1, byz2, byz3, byz4,
1388 g byz5, byz6, byz7, byz8,
1389 h bzy1, bzy2, bzy3, bzy4,
1390 i bzy5, bzy6, bzy7, bzy8,
1391 j bxx1, bxx2, bxx3, bxx4,
1392 k bxx5, bxx6, bxx7, bxx8,
1393 l byy1, byy2, byy3, byy4,
1394 m byy5, byy6, byy7, byy8,
1395 n bzz1, bzz2, bzz3, bzz4,
1396 o bzz5, bzz6, bzz7, bzz8,
1397 p pxy1, pxy2, pxy3, pxy4,
1398 q pxy5, pxy6, pxy7, pxy8,
1399 r pyx1, pyx2, pyx3, pyx4,
1400 s pyx5, pyx6, pyx7, pyx8,
1401 t pxz1, pxz2, pxz3, pxz4,
1402 u pxz5, pxz6, pxz7, pxz8,
1403 v pzx1, pzx2, pzx3, pzx4,
1404 w pzx5, pzx6, pzx7, pzx8,
1405 x pyz1, pyz2, pyz3, pyz4,
1406 y pyz5, pyz6, pyz7, pyz8,
1407 z pzy1, pzy2, pzy3, pzy4,
1408 1 pzy5, pzy6, pzy7, pzy8,
1409 2 vx0(1,1), vx0(1,2), vx0(1,3), vx0(1,4),
1410 3 vx0(1,5), vx0(1,6), vx0(1,7), vx0(1,8),
1411 4 vy0(1,1), vy0(1,2), vy0(1,3), vy0(1,4),
1412 5 vy0(1,5), vy0(1,6), vy0(1,7), vy0(1,8),
1413 6 vz0(1,1), vz0(1,2), vz0(1,3), vz0(1,4),
1414 7 vz0(1,5), vz0(1,6), vz0(1,7), vz0(1,8),
1415 8 r11, r12, r13, r21,
1416 9 r22, r23, r31, r32,
1417 a r33, mfxx(1,ip),mfxy(1,ip),mfxz(1,ip),
1418 b mfyx(1,ip),mfyy(1,ip),mfyz(1,ip),mfzx(1,ip),
1419 c mfzy(1,ip),mfzz(1,ip),icp, detf0,
1420 d jfac(1,ip),nu, ideg, gbuf%OFF,
1421 e isel_v, iselect, nel, ismstr,
1422 f jcvt, mtn, div0 )
1423 END IF
1425 1 px1(1,ip), px2(1,ip), px3(1,ip), px4(1,ip),
1426 2 px5(1,ip), px6(1,ip), px7(1,ip), px8(1,ip),
1427 3 py1(1,ip), py2(1,ip), py3(1,ip), py4(1,ip),
1428 4 py5(1,ip), py6(1,ip), py7(1,ip), py8(1,ip),
1429 5 pz1(1,ip), pz2(1,ip), pz3(1,ip), pz4(1,ip),
1430 6 pz5(1,ip), pz6(1,ip), pz7(1,ip), pz8(1,ip),
1431 7 bxy1, bxy2, bxy3, bxy4,
1432 8 bxy5, bxy6, bxy7, bxy8,
1433 9 byx1, byx2, byx3, byx4,
1434 a byx5, byx6, byx7, byx8,
1435 b bxz1, bxz2, bxz3, bxz4,
1436 c bxz5, bxz6, bxz7, bxz8,
1437 d bzx1, bzx2, bzx3, bzx4,
1438 e bzx5, bzx6, bzx7, bzx8,
1439 f byz1, byz2, byz3, byz4,
1440 g byz5, byz6, byz7, byz8,
1441 h bzy1, bzy2, bzy3, bzy4,
1442 i bzy5, bzy6, bzy7, bzy8,
1443 j bxx1, bxx2, bxx3, bxx4,
1444 k bxx5, bxx6, bxx7, bxx8,
1445 l byy1, byy2, byy3, byy4,
1446 m byy5, byy6, byy7, byy8,
1447 n bzz1, bzz2, bzz3, bzz4,
1448 o bzz5, bzz6, bzz7, bzz8,
1449 p pxy1, pxy2, pxy3, pxy4,
1450 q pxy5, pxy6, pxy7, pxy8,
1451 r pyx1, pyx2, pyx3, pyx4,
1452 s pyx5, pyx6, pyx7, pyx8,
1453 t pxz1, pxz2, pxz3, pxz4,
1454 u pxz5, pxz6, pxz7, pxz8,
1455 v pzx1, pzx2, pzx3, pzx4,
1456 w pzx5, pzx6, pzx7, pzx8,
1457 x pyz1, pyz2, pyz3, pyz4,
1458 y pyz5, pyz6, pyz7, pyz8,
1459 z pzy1, pzy2, pzy3, pzy4,
1460 1 pzy5, pzy6, pzy7, pzy8,
1461 2 vx1, vx2, vx3, vx4,
1462 3 vx5, vx6, vx7, vx8,
1463 4 vy1, vy2, vy3, vy4,
1464 5 vy5, vy6, vy7, vy8,
1465 6 vz1, vz2, vz3, vz4,
1466 7 vz5, vz6, vz7, vz8,
1467 8 dxx, dxy, dxz, dyx,
1468 9 dyy, dyz, dzx, dzy,
1469 a dzz, d4, d5, d6,
1470 b wxx, wyy, wzz, lbuf%VOL,
1471 c off, lbuf%EINT, gbuf%OFF, dsv,
1472 d icp, fac, sdv, iselect,
1473 e ideg, lbuf%VOL0DP,nel, ismstr,
1474 f jcvt)
1475
1476 IF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0.AND.jcvt==0) THEN
1477 CALL sordef12(lft,llt,dxx, dyy, dzz,
1478 . d4, d5, d6,
1479 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
1480 ENDIF
1481 DO i=lft,llt
1482 rhoo(i) = lbuf%RHO(i)
1483 ENDDO
1484 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+sdv(1:nel)
1486 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
1487 2 divde, flux(1,nf1),flu1(nf1), voln,
1488 3 dvol, ngl, mxt, off,
1489 4 0, gbuf%TAG22, volp(1,ip), lbuf%VOL0DP,
1490 5 amu, gbuf%OFF, nel, mtn,
1491 6 jale, ismstr, jeul, jlag)
1492
1493 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0.AND.jcvt==0) THEN
1495 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
1496!
1497
1498
1499
1500 ENDIF
1501 IF (jcvt == 0) THEN
1503 1 lbuf%SIG,s1, s2, s3,
1504 2 s4, s5, s6, wxx,
1505 3 wyy, wzz, nel, mtn,
1506 4 ismstr)
1507
1508
1509
1510
1511
1512
1513
1514 ELSE
1515
1516
1517
1518 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
1519 . gbuf%OFF,off,nel)
1520 ENDIF
1521
1522
1523
1524 IF (jthe < 0 ) THEN
1526 . lft,llt,ni,
1527 . a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),
1528 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
1529 . temp,tempel)
1530 ENDIF
1531 deltaxi(1:nel) = deltax(1:nel)
1532 IF (fac_nu<one) deltaxi(1:nel) =
max(deltaxi(1:nel),nu_sp*deltax(1:nel))
1533
1534
1535
1536
1537 IF ((itask==0).AND.(imon_mat==1))
CALL startime(timers,35)
1538
1539 IF(iboltp /= 0)
CALL boltst(
1540 . ip, bpreld, lbuf%SIG,tt ,
1541 . nel ,npt ,sensors%NSENSOR,sensors%SENSOR_TAB,
1542 . iparg(67,ng),iparg(68,ng))
1543
1544 CALL mmain(timers, output,
1545 1 elbuf_tab, ng, pm, geo,
1546 2 ale_connect, ixs, iparg,
1547 3 v, tf, npf, bufmat,
1548 4 sti, x, dt2t, neltst,
1549 5 ityptst, offset, nel, w,
1550 6 off, ngeo, mxt, ngl,
1551 7 voln, vd2, dvol, deltaxi,
1552 8 vis, qvis, cxx, s1,
1553 9 s2, s3, s4, s5,
1554 a s6, dxx, dyy, dzz,
1555 b d4, d5, d6, wxx,
1556 c wyy, wzz, aj1, aj2,
1557 d aj3, aj4, aj5, aj6,
1558 e vdx, vdy, vdz, muvoid,
1559 f ssp_eq, aire, sigy, et,
1560 g r1_free, lbuf%PLA, r3_free, amu,
1561 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
1562 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
1563 j mfzz(1,ip), ipm, gama, bid,
1564 k bid, bid, bid, bid,
1565 l bid, bid, istrain, tempel,
1566 m die, iexpan, ilay, mssa,
1567 n dmels, ir, is, it,
1568 o table, bid, bid, bid,
1569 p bid, iparg(1,ng), igeo, conde,
1570 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
1571 r h3d_strain, jplasol, jsph, sz_r1_free,
1572 t snpc, stf, sbufmat, glob_therm,
1573 u svis, sz_ix, iresp,
1574 . n2d, th_strain, ngroup, tt,
1575 * dt1, ntable, numelq, nummat,
1576 . numgeo, numnod, numels,
1577 . idel7nok, idtmin, maxfunc,
1578 . imon_mat, userl_avail, impl_s,
1579 . idyna, dt, fheat ,sensors)
1580
1581 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1582 IF (ism12_11==0.AND.jcvt==0) THEN
1584 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1585
1586
1587
1588
1589 IF (istrain == 1) THEN
1590 CALL sordef12(lft,llt,dxx, dxy, dxz,
1591 . d4, d5, d6,
1592 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1593 ENDIF
1594 END IF
1595 ENDIF
1596 IF (istrain == 1)THEN
1598 1 dxx, dyy, dzz, d4,
1599 2 d5, d6, lbuf%STRA,wxx,
1600 3 wyy, wzz, off, nel,
1601 4 jcvt)
1602 ENDIF
1603 IF ((itask==0).AND.(imon_mat==1))
CALL stoptime(timers,35)
1604 IF (isel_v>0) THEN
1605 mx = mxt(lft)
1607 1 pm(32,mx),pm(22,mx),off, bxy1,
1608 2 bxy2, bxy3, bxy4, bxy5,
1609 3 bxy6, bxy7, bxy8, byx1,
1610 4 byx2, byx3, byx4, byx5,
1611 5 byx6, byx7, byx8, bxz1,
1612 6 bxz2, bxz3, bxz4, bxz5,
1613 7 bxz6, bxz7, bxz8, bzx1,
1614 8 bzx2, bzx3, bzx4, bzx5,
1615 9 bzx6, bzx7, bzx8, byz1,
1616 a byz2, byz3, byz4, byz5,
1617 b byz6, byz7, byz8, bzy1,
1618 c bzy2, bzy3, bzy4, bzy5,
1619 d bzy6, bzy7, bzy8, vx1,
1620 e vx2, vx3, vx4, vx5,
1621 f vx6, vx7, vx8, vy1,
1622 g vy2, vy3, vy4, vy5,
1623 h vy6, vy7, vy8, vz1,
1624 i vz2, vz3, vz4, vz5,
1625 j vz6, vz7, vz8, lbuf%PIJ,
1626 k sig_a, lbuf%EINT,voln, dxx,
1627 l dyy, dzz, lbuf%SIG, s1,
1628 m s2, s3, llt, gbuf%OFF)
1629 END IF
1630 IF (cns2 > zero)
1631 .
CALL nsvis_sm12(gbuf%OFF ,cns2,cxx ,voln ,dxx ,
1632 . dyy ,dzz ,d4 ,d5 ,d6 ,
1633 . lbuf%VOL,rho0_1,sti ,nel ,svis )
1634
1635
1636
1638 1 lbuf%SIG, px1(1,ip), px2(1,ip), px3(1,ip),
1639 2 px4(1,ip), py1(1,ip), py2(1,ip), py3(1,ip),
1640 3 py4(1,ip), pz1(1,ip), pz2(1,ip), pz3(1,ip),
1641 4 pz4(1,ip), px5(1,ip), px6(1,ip), px7(1,ip),
1642 5 px8(1,ip), py5(1,ip), py6(1,ip), py7(1,ip),
1643 6 py8(1,ip), pz5(1,ip), pz6(1,ip), pz7(1,ip),
1644 7 pz8(1,ip), bxy1, bxy2, bxy3,
1645 8 bxy4, bxy5, bxy6, bxy7,
1646 9 bxy8, byx1, byx2, byx3,
1647 a byx4, byx5, byx6, byx7,
1648 b byx8, bxz1, bxz2, bxz3,
1649 c bxz4, bxz5, bxz6, bxz7,
1650 d bxz8, bzx1, bzx2, bzx3,
1651 e bzx4, bzx5, bzx6, bzx7,
1652 f bzx8, byz1, byz2, byz3,
1653 g byz4, byz5, byz6, byz7,
1654 h byz8, bzy1, bzy2, bzy3,
1655 i bzy4, bzy5, bzy6, bzy7,
1656 j bzy8, bxx1, bxx2, bxx3,
1657 k bxx4, bxx5, bxx6, bxx7,
1658 l bxx8, byy1, byy2, byy3,
1659 m byy4, byy5, byy6, byy7,
1660 n byy8, bzz1, bzz2, bzz3,
1661 o bzz4, bzz5, bzz6, bzz7,
1662 p bzz8, pxy1, pxy2, pxy3,
1663 q pxy4, pxy5, pxy6, pxy7,
1664 r pxy8, pyx1, pyx2, pyx3,
1665 s pyx4, pyx5, pyx6, pyx7,
1666 t pyx8, pxz1, pxz2, pxz3,
1667 u pxz4, pxz5, pxz6, pxz7,
1668 v pxz8, pzx1, pzx2, pzx3,
1669 w pzx4, pzx5, pzx6, pzx7,
1670 x pzx8, pyz1, pyz2, pyz3,
1671 y pyz4, pyz5, pyz6, pyz7,
1672 z pyz8, pzy1, pzy2, pzy3,
1673 1 pzy4, pzy5, pzy6, pzy7,
1674 2 pzy8, f11, f21, f31,
1675 3 f12, f22, f32, f13,
1676 4 f23, f33, f14, f24,
1677 5 f34, f15, f25, f35,
1678 6 f16, f26, f36, f17,
1679 7 f27, f37, f18, f28,
1680 8 f38, voln, qvis, icp,
1681 9 jfac(1,ip),nel, iselect, ideg,
1682 a sig_a, isel_v, ismstr, svis)
1684 1 lbuf%SIG, voln, qvis, pp,
1685 2 lbuf%EINT, lbuf%RHO, lbuf%QVIS, lbuf%PLA,
1686 3 lbuf%EPSD, gbuf%EPSD, gbuf%SIG, gbuf%EINT,
1687 4 gbuf%RHO, gbuf%QVIS, gbuf%PLA, volg,
1688 5 sti, stin, icp, off,
1689 6 lbuf%VOL, gbuf%VOL, gbuf%G_PLA, gbuf%G_EPSD,
1690 7 lbuf%EINTTH,gbuf%EINTTH,iexpan, nel,
1691 8 conde, conden,svis,glob_therm%NODADT_THERM,
1692 9 gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
1693
1694
1695
1696 IF (inloc > 0) THEN
1697 imat = mxt(lft)
1698 zr = a_gauss(ir,nptr)
1699 zs = a_gauss(is,npts)
1700 zt = a_gauss(it,nptt)
1701 CALL basis8 (zr,zs,zt,h,pr2,ps2,pt2)
1703 1 nloc_dmg, var_reg(1,ip),nel, gbuf%OFF,
1704 2 voln, nc1, nc2, nc3,
1705 3 nc4, nc5, nc6, nc7,
1706 4 nc8, px1(1,ip), px2(1,ip), px3(1,ip),
1707 5 px4(1,ip), px5(1,ip), px6(1,ip), px7(1,ip),
1708 6 px8(1,ip), py1(1,ip), py2(1,ip), py3(1,ip),
1709 7 py4(1,ip), py5(1,ip), py6(1,ip), py7(1,ip),
1710 8 py8(1,ip), pz1(1,ip), pz2(1,ip), pz3(1,ip),
1711 9 pz4(1,ip), pz5(1,ip), pz6(1,ip), pz7(1,ip),
1712 a pz8(1,ip), imat, h, wi,
1713 b ip, itask, dt2t, gbuf%VOL,
1714 c nft)
1715 ENDIF
1716
1717 DO i=lft,llt
1718 offg(i)=
min(offg(i),off(i))
1719 IF (lbuf%OFF(i)>one .AND. gbuf%OFF(i) == one) THEN
1720 offs(i)=
min(lbuf%OFF(i),offs(i))
1721 ioffs =1
1722 END IF
1723 ENDDO
1724
1725
1726
1727
1728 IF (jthe < 0) THEN
1729 imat = mxt(1)
1730 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1731 CALL s8etherm(mat_elem%MAT_PARAM(imat),
1732 1 voln, ni,
1733 2 nc1, nc2, nc3, nc4,
1734 3 nc5, nc6, nc7, nc8,
1735 4 px1(1,ip),px2(1,ip),px3(1,ip),px4(1,ip),
1736 5 py1(1,ip),py2(1,ip),py3(1,ip),py4(1,ip),
1737 6 pz1(1,ip),pz2(1,ip),pz3(1,ip),pz4(1,ip),
1738 7 px5(1,ip),px6(1,ip),px7(1,ip),px8(1,ip),
1739 8 py5(1,ip),py6(1,ip),py7(1,ip),py8(1,ip),
1740 9 pz5(1,ip),pz6(1,ip),pz7(1,ip),pz8(1,ip),
1741 a dt1, temp, tempel, fheat,
1742 b them, gbuf%OFF, lbuf%OFF, partsav,
1743 c iparts, lbuf%VOL, nel,glob_therm%THEACCFACT)
1744 ELSE
1745 CALL s8etherm(mat_elem%MAT_PARAM(imat),
1746 1 voln, ni,
1747 2 nc1, nc2, nc3, nc4,
1748 3 nc5, nc6, nc7, nc8,
1749 4 px1(1,ip),px2(1,ip),px3(1,ip),px4(1,ip),
1750 5 py1(1,ip),py2(1,ip),py3(1,ip),py4(1,ip),
1751 6 pz1(1,ip),pz2(1,ip),pz3(1,ip),pz4(1,ip),
1752 7 px5(1,ip),px6(1,ip),px7(1,ip),px8(1,ip),
1753 8 py5(1,ip),py6(1,ip),py7(1,ip),py8(1,ip),
1754 9 pz5(1,ip),pz6(1,ip),pz7(1,ip),pz8(1,ip),
1755 a dt1, temp, tempel, die,
1756 b them, gbuf%OFF, lbuf%OFF, partsav,
1757 c iparts, lbuf%VOL, nel,glob_therm%THEACCFACT)
1758 END IF
1759
1760 ENDIF
1761 ENDDO
1762 ENDDO
1763 ENDDO
1764
1765
1766 IF (ioffs == 1) THEN
1767 DO i=lft,llt
1768 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
1769 END DO
1770
1771 DO ir=1,nptr
1772 DO is=1,npts
1773 DO it=1,nptt
1774 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1775 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1776 DO i=lft,llt
1777 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
1778 END DO
1779 END DO
1780 END DO
1781 END DO
1782 END IF
1783 IF(icp==1.AND.ismstr/=10.AND.ismstr/=12) THEN
1785 1 pxc1, pxc2, pxc3, pxc4,
1786 2 pyc1, pyc2, pyc3, pyc4,
1787 3 pzc1, pzc2, pzc3, pzc4,
1788 4 f11, f21, f31, f12,
1789 5 f22, f32, f13, f23,
1790 6 f33, f14, f24, f34,
1791 7 f15, f25, f35, f16,
1792 8 f26, f36, f17, f27,
1793 9 f37, f18, f28, f38,
1794 a volg, pp, ideg, nel)
1795 ENDIF
1796 itet = 0
1797 IF (nn_del >0) THEN
1799 1 x1, x2, x3, x4,
1800 2 x5, x6, x7, x8,
1801 3 y1, y2, y3, y4,
1802 4 y5, y6, y7, y8,
1803 5 z1, z2, z3, z4,
1804 6 z5, z6, z7, z8,
1805 7 nel)
1806 CALL sgeodel3(ngl,gbuf%OFF,volg,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok)
1807 END IF
1808
1809
1810
1811 CALL smallb3(gbuf%OFF,offg,nel,ismstr)
1812 CALL smallgeo3(ngl, gbuf%OFF ,volg ,deltax, gbuf%VOL ,itet, nel, ismstr,dt )
1813 IF (ismstr==11.OR.ismstr==12.OR.(jcvt == 0 .AND. ismstr>0)) THEN
1815 1 pxc1, pxc2, pxc3, pxc4,
1816 2 pyc1, pyc2, pyc3, pyc4,
1817 3 pzc1, pzc2, pzc3, pzc4,
1818 4 vx1, vx2, vx3, vx4,
1819 5 vx5, vx6, vx7, vx8,
1820 6 vy1, vy2, vy3, vy4,
1821 7 vy5, vy6, vy7, vy8,
1822 8 vz1, vz2, vz3, vz4,
1823 9 vz5, vz6, vz7, vz8,
1824 a wxx0, wyy0, wzz0, nel)
1826 1 gbuf%SMSTR,gbuf%OFF, wxx0, wyy0,
1827 2 wzz0, r11, r12, r13,
1828 3 r21, r22, r23, r31,
1829 4 r32, r33, nel, ismstr,
1830 5 jcvt)
1831 END IF
1832 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1833 ioffs =0
1834 DO i=lft,llt
1835 IF(gbuf%OFF(i)/=offg0(i).AND.abs(gbuf%OFF(i)) > one ) ioffs=1
1836 ENDDO
1837 IF (ioffs == 1) THEN
1839 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1840 2 xdp, nc1, nc2, nc3,
1841 3 nc4, nc5, nc6, nc7,
1842 4 nc8, nel, jcvt)
1843 IF (ism12_11>0 .AND. isorth == 0) THEN
1844 CALL s8fupd11t12(elbuf_tab(ng),gbuf%OFF,offg0 ,x ,xdp ,
1845 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8, nel )
1846 END IF
1847 DO ir=1,nptr
1848 DO is=1,npts
1849 DO it=1,nptt
1850 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1851 DO i=lft,llt
1852 IF (abs(gbuf%OFF(i)) > one) lbuf%OFF(i)=gbuf%OFF(i)
1853 END DO
1854 END DO
1855 END DO
1856 END DO
1857 END IF
1858 END IF
1859 IF(iint==2.AND.mtn==1.AND.ismstr/=1.AND.ismstr/=11) THEN
1860 DO i=lft,llt
1861 caq=gbuf%RHO(i)*volg(i)**third
1862 fld(i)=fourth*em02*caq*cxx(i)*offg(i)
1863 IF (ismstr==12.AND.gbuf%OFF(i) > one) fld(i)=zero
1864 ENDDO
1866 1 vz1, vz2, vz3, vz4,
1867 2 vz5, vz6, vz7, vz8,
1868 3 vx1, vx2, vx3, vx4,
1869 4 vx5, vx6, vx7, vx8,
1870 5 vy1, vy2, vy3, vy4,
1871 6 vy5, vy6, vy7, vy8,
1872 7 f31, f11, f21, f32,
1873 8 f12, f22, f33, f13,
1874 9 f23, f34, f14, f24,
1875 a f35, f15, f25, f36,
1876 b f16, f26, f37, f17,
1877 c f27, f38, f18, f28,
1878 d px1h1, px1h2, px1h3, px1h4,
1879 e px2h1, px2h2, px2h3, px2h4,
1880 f px3h1, px3h2, px3h3, px3h4,
1881 g px4h1, px4h2, px4h3, px4h4,
1882 h jt_1, jr_1, js_1, nu0,
1883 i fld, nel)
1884 ENDIF
1885
1886
1887
1888 iflag=mod(ncycle,ncpri)
1889 IF(ioutprt>0)THEN
1890 IF(jcvt == 0) THEN
1891 ifvm22 = 0
1892 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1893 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1894 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1895 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1896 . volg,iparts,gresav,grth,igrth,gbuf%OFF,
1897 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1898 . x1, x2, x3, x4, x5, x6, x7, x8,
1899 . y1, y2, y3, y4, y5, y6, y7, y8,
1900 . z1, z2, z3, z4, z5, z6, z7, z8,
1901 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1902 ELSE
1903 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1904 . vgxa, vgya, vgza, vga2, volg,iparts,
1905 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1906 . gbuf%FILL,xgxa, xgya, xgza,
1907 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1908 . nel,gbuf%G_WPLA,gbuf%WPLA)
1909 ENDIF
1910 ENDIF
1911
1912
1913
1914 IF (jcvt /= 0) THEN
1916 1 r11, r21, r31, r12,
1917 2 r22, r32, r13, r23,
1918 3 r33, f11, f12, f13,
1919 4 f14, f15, f16, f17,
1920 5 f18, f21, f22, f23,
1921 6 f24, f25, f26, f27,
1922 7 f28, f31, f32, f33,
1923 8 f34, f35, f36, f37,
1924 9 f38, nel)
1925 ENDIF
1926
1927
1928
1929 IF (isctl > 0) THEN
1930 CALL sdistor_ini(
1931 1 nel ,sti_c ,npropm ,nummat ,
1932 2 ismstr ,mxt ,istab ,pm ,
1933 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
1934 4 gbuf%OFF ,ll ,voln ,fld ,
1935 5 cns2 ,fqmax )
1936
1938 . nc1, nc2, nc3, nc4,
1939 . nc5, nc6, nc7, nc8,
1940 . x1, x2, x3, x4,
1941 . x5, x6, x7, x8,
1942 . y1, y2, y3, y4,
1943 . y5, y6, y7, y8,
1944 . z1, z2, z3, z4,
1945 . z5, z6, z7, z8,
1946 . x, xdp, numnod, nel )
1947
1948 IF (jcvt > 0) THEN
1949 DO i=1,nel
1950 vx1(i)=v(1,nc1(i))
1951 vy1(i)=v(2,nc1(i))
1952 vz1(i)=v(3,nc1(i))
1953 vx2(i)=v(1,nc2(i))
1954 vy2(i)=v(2,nc2(i))
1955 vz2(i)=v(3,nc2(i))
1956 vx3(i)=v(1,nc3(i))
1957 vy3(i)=v(2,nc3(i))
1958 vz3(i)=v(3,nc3(i))
1959 vx4(i)=v(1,nc4(i))
1960 vy4(i)=v(2,nc4(i))
1961 vz4(i)=v(3,nc4(i))
1962 vx5(i)=v(1,nc5(i))
1963 vy5(i)=v(2,nc5(i))
1964 vz5(i)=v(3,nc5(i))
1965 vx6(i)=v(1,nc6(i))
1966 vy6(i)=v(2,nc6(i))
1967 vz6(i)=v(3,nc6(i))
1968 vx7(i)=v(1,nc7(i))
1969 vy7(i)=v(2,nc7(i))
1970 vz7(i)=v(3,nc7(i))
1971 vx8(i)=v(1,nc8(i))
1972 vy8(i)=v(2,nc8(i))
1973 vz8(i)=v(3,nc8(i))
1974 ENDDO
1975 END IF
1977 . x1, x2, x3, x4,
1978 . x5, x6, x7, x8,
1979 . y1, y2, y3, y4,
1980 . y5, y6, y7, y8,
1981 . z1, z2, z3, z4,
1982 . z5, z6, z7, z8,
1983 . vx1, vx2, vx3, vx4,
1984 . vx5, vx6, vx7, vx8,
1985 . vy1, vy2, vy3, vy4,
1986 . vy5, vy6, vy7, vy8,
1987 . vz1, vz2, vz3, vz4,
1988 . vz5, vz6, vz7, vz8,
1989 . f11, f12, f13, f14,
1990 . f15, f16, f17, f18,
1991 . f21, f22, f23, f24,
1992 . f25, f26, f27, f28,
1993 . f31, f32, f33, f34,
1994 . f35, f36, f37, f38,
1995 . sti, sti_c, fld , cns2,
1996 . ll , istab, fqmax, nel,
1997 . gbuf%EINT_DISTOR, dt1)
1998 ENDIF
1999
2001 1 gbuf%FILL,stin, f11, f21,
2002 2 f31, f12, f22, f32,
2003 3 f13, f23, f33, f14,
2004 4 f24, f34, f15, f25,
2005 5 f35, f16, f26, f36,
2006 6 f17, f27, f37, f18,
2007 7 f28, f38, nel)
2008
2009 IF(iparit == 0)THEN
2011 1 gbuf%OFF,a, nc1, nc2,
2012 2 nc3, nc4, nc5, nc6,
2013 3 nc7, nc8, stifn, stin,
2014 4 f11, f21, f31, f12,
2015 5 f22, f32, f13, f23,
2016 6 f33, f14, f24, f34,
2017 7 f15, f25, f35, f16,
2018 8 f26, f36, f17, f27,
2019 9 f37, f18, f28, f38,
2020 a nvc, bid, bid, bid,
2021 b bid, bid, bid, bid,
2022 c bid, bid, bid, bid,
2023 d bid, bid, bid, bid,
2024 e bid, bid, bid, bid,
2025 f bid, bid, bid, bid,
2026 g bid, bid, bid, bid,
2027 h them, fthe, condn, conden,
2028 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
2029 ELSE
2031 1 gbuf%OFF,stin, fsky, fsky,
2032 2 iads, f11, f21, f31,
2033 3 f12, f22, f32, f13,
2034 4 f23, f33, f14, f24,
2035 5 f34, f15, f25, f35,
2036 6 f16, f26, f36, f17,
2037 7 f27, f37, f18, f28,
2038 8 f38, nc1, nc2, nc3,
2039 9 nc4, nc5, nc6, nc7,
2040 a nc8, bid, bid, bid,
2041 b bid, bid, bid, bid,
2042 c bid, bid, bid, bid,
2043 d bid, bid, bid, bid,
2044 e bid, bid, bid, bid,
2045 f bid, bid, bid, bid,
2046 g bid, bid, bid, bid,
2047 h them, fthesky, condnsky,conden,
2048 i nel, nft, jthe, isrot,
2049 j ipartsph,glob_therm%NODADT_THERM)
2050 ENDIF
2051
2052 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
2053 RETURN
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab, fun_id, sens_id)
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine degenes8(ixs, idege, nel)
subroutine jacob_f0(det0, 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, div0, 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 nsvis_sm12(offg, mu, ssp, vol, d1, d2, d3, d4, d5, d6, vol0, rho0, sti, nel, svis)
subroutine s8e_sigp(elbuf_tab, sigp, nel)
subroutine s8e_sig_a(c1, g, off, 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, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, pij, sig_a, eint, vol, d1, d2, d3, sig, s1, s2, s3, nel, offg)
subroutine s8edefo3(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, 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, 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, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, 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, vol0dp, nel, ismstr, jcvt)
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 s8edefot12(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, 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, 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, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, r11, r12, r13, r21, r22, r23, r31, r32, r33, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, icp, det0, jfac, nu, idege, offg, isel_v, i_sh, nel, ismstr, jcvt, mtn, div0)
subroutine s8edefot3(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, 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, 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, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, icp, det0, jfac, nu, i_sh, idege, dxx_a, dyy_a, dzz_a, offg, nel, ismstr, mtn, div0)
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 s8ederict3(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, hx, hy, hz, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, smax, nel)
subroutine s8edericto3(off, det, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, nel)
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 s8efint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, 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, 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, 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, qvis, icp, jfac, nel, i_sh, idege, sig_a, isel_v, ismstr, svis)
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 s8egetbij(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, pij, nel)
subroutine s8ejacit3(voldp, ksi, eta, zeta, wi, ajp1, ajp2, ajp3, ajp4, ajp5, ajp6, ajp7, ajp8, ajp9, aji1, aji2, aji3, aji4, aji5, aji6, aji7, aji8, aji9, jac_i, nel, ismstr)
subroutine s8eprst_ini(pr, ps, pt)
subroutine s8eselecsht(nptr, npts, nptt, nnpt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, bxx, byy, bzz, bxy, byz, bxz, i_sh, offg, nel, ismstr)
subroutine s8etherm(mat_param, vol, ni, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, dt1, tempnc, tel, heat, fphi, offg, off, partsav, iparts, vol0, nel, theaccfact)
subroutine s8etotsh10(mb, bxx, byy, bzz, bxy, byz, bxz, nel)
subroutine s8evis3(vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, jr_1, js_1, jt_1, nu, fcl, nel)
subroutine s8for_distor(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, f11, f12, f13, f14, f15, f16, f17, f18, f21, f22, f23, f24, f25, f26, f27, f28, f31, f32, f33, f34, f35, f36, f37, f38, sti, sti_c, fld, mu, ll, istab, fqmax, nel, e_distor, dt1)
subroutine s8fupd11t12(elbuf_tab, offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel)
subroutine s8get_x3(nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, x, xdp, numnod, nel)
subroutine s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
subroutine s8sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
subroutine s8savsr3(offg, sav, xd, yd, zd, 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 s8zsigp3(lft, llt, sig, e0, defp, fac, g_pla, nel)
subroutine s8ztempel(lft, llt, ni, ksi, eta, zeta, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, temp, tempel)
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 scoor_cp2sp(x0, y0, z0, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
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 sdlen_sm11(volg, deltax, smax, idege, nel)
subroutine sdlenmax(lm_max, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, 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 sgcoor3(time, npe, x, ixs, x0, y0, z0, vx0, vy0, vz0, sav, d, off, off0, nel, xdp, mtn, ismstr)
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
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 smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
subroutine sordef12(jft, jlt, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine sordeft12(jft, jlt, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine sordeftb(jft, jlt, mxx, myy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
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 srcoor12(off, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, jhbe)
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
subroutine sroto12_sig(jft, jlt, sig, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
subroutine srrotadp(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
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 s8egetpij(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pij, nel)
subroutine s8eselecsh(nptr, npts, nptt, nnpt, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, p0xy1, p0xy2, p0xy3, p0xy4, p0xy5, p0xy6, p0xy7, p0xy8, p0yx1, p0yx2, p0yx3, p0yx4, p0yx5, p0yx6, p0yx7, p0yx8, p0xz1, p0xz2, p0xz3, p0xz4, p0xz5, p0xz6, p0xz7, p0xz8, p0zx1, p0zx2, p0zx3, p0zx4, p0zx5, p0zx6, p0zx7, p0zx8, p0yz1, p0yz2, p0yz3, p0yz4, p0yz5, p0yz6, p0yz7, p0yz8, p0zy1, p0zy2, p0zy3, p0zy4, p0zy5, p0zy6, p0zy7, p0zy8)
subroutine s8ederish2(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, p0xy1, p0xy2, p0xy3, p0xy4, p0xy5, p0xy6, p0xy7, p0xy8, p0yx1, p0yx2, p0yx3, p0yx4, p0yx5, p0yx6, p0yx7, p0yx8, p0xz1, p0xz2, p0xz3, p0xz4, p0xz5, p0xz6, p0xz7, p0xz8, p0zx1, p0zx2, p0zx3, p0zx4, p0zx5, p0zx6, p0zx7, p0zx8, p0yz1, p0yz2, p0yz3, p0yz4, p0yz5, p0yz6, p0yz7, p0yz8, p0zy1, p0zy2, p0zy3, p0zy4, p0zy5, p0zy6, p0zy7, p0zy8)
subroutine s8ejacip3(hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9)
subroutine s8ederi_bij(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, 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, nu)
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
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)