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