157
158
159
160 USE timer_mod
161 USE output_mod, ONLY : output_
162 USE mmain_mod
164 USE mat_elem_mod
167 USE sensor_mod
170 USE elbufdef_mod
171 USE sdistor_ini_mod, ONLY : sdistor_ini
172 use glob_therm_mod
173 use element_mod , only : nixs
174
175
176
177#include "implicit_f.inc"
178
179
180
181#include "mvsiz_p.inc"
182
183
184
185#include "vect01_c.inc"
186#include "com01_c.inc"
187#include "com04_c.inc"
188#include "com08_c.inc"
189#include "scr03_c.inc"
190#include "scr06_c.inc"
191#include "parit_c.inc"
192#include "param_c.inc"
193#include "timeri_c.inc"
194#include "inter22.inc"
195#include "scr18_c.inc"
196#include "comlock.inc"
197
198
199
200 TYPE(TIMER_) ,INTENT(INOUT) :: TIMERS
201 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
202 INTEGER, INTENT(IN) :: SNPC
203 INTEGER, INTENT(IN) :: SZ_BUFVOIS
204 INTEGER, INTENT(IN) :: NSVOIS
205 INTEGER, INTENT(IN) :: STF
206 INTEGER, INTENT(IN) :: SBUFMAT
207 INTEGER, INTENT(INOUT) :: IDEL7NOK
208 INTEGER, INTENT(IN) :: IDTMINS
209 INTEGER ,INTENT(IN) :: IRESP
210 INTEGER ,INTENT(IN) :: IDEL7NG
211 INTEGER ,INTENT(IN) :: MAXFUNC
212 INTEGER, INTENT(IN) :: IMPL_S
213 INTEGER, INTENT(IN) :: IDYNA
214 INTEGER, INTENT(IN) :: USERL_AVAIL
215 INTEGER, DIMENSION(*), INTENT(IN) :: IPARG,IPARTS,NPF,NALE
216 INTEGER,INTENT(IN) :: NG,NEL
217 INTEGER IXS(NIXS,NUMELS), IADS(8,*),IPM(NPROPMI,NUMMAT),
218 . IGEO(NPROPGI,*),GRTH(*),IGRTH(*),IPARG1(*),IFOAM(*),
219 . ICONTACT(*),ISKY(*),ITAB(*)
220 INTEGER NELTST,ITYPTST,OFFSET,NVC,ITASK,
221 . ISTRAIN, IEXPAN, NV46,IOUTPRT,H3D_STRAIN
222
223 DOUBLE PRECISION :: XDP(3,*)
224
225 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
228 . pm(npropm,nummat), geo(npropg,numgeo), x(*), a(*), v(3,*), ms(*), w(*),
229 . flux(6,*), fskym(*),
230 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
231 . partsav(*),stifn(*), fsky(*),eani(*),
232 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
233 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
234 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
235 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
236 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
237 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
238 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
239 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
240 . temp(*), fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*),
241 . phi1(*),phi2(*),vf(3,*) ,d(3,*),
242 . af(3,*), ffsky(3,*),df(3,*),wf(3,*),msf(*),afglob(3,*),
243 . por(*),voln(mvsiz), condn(*),condnsky(*)
244
246 my_real :: msnf(*),ar(*),vr(3,*),in(*),fr_wave(*),dr(3,*),qmv(12,*)
247 TYPE (TTABLE) TABLE(*)
248 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
249 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
250 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
251
252 my_real :: p(mvsiz),fskyi(lskyi,nfskyi)
253
254 INTEGER :: IGRV(*), LGRAV(*)
255 my_real :: agrav(*),skew(lskew,*)
256 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
257 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
258 TYPE (DT_), INTENT(INOUT) :: DT
259 type (glob_therm_) ,intent(inout) :: glob_therm
260
261 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
262
263
264
265 INTEGER I,NF1,IBID,IPTR,IPTS,IPTT,ILAY,ITET,IFVM_SKIP
266 INTEGER NBF1,NBF2,NBF3, IALEFVM_MAT
267 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),INOD(8)
268 my_real vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
269 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
270 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
271 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
272 . b1(mvsiz) , b2(mvsiz) , b3(mvsiz) ,
273 . b4(mvsiz) , b5(mvsiz) , b6(mvsiz) ,
274 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
275 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
276 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
277 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
278 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),
279 . aire(mvsiz),fqvis(mvsiz), fcxx(mvsiz)
280 my_real,
dimension(mvsiz) :: fheat
281
282 my_real :: sti(mvsiz), wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
284 my_real :: sigy(mvsiz),et(mvsiz),r3_free(mvsiz)
285
286
287 INTEGER NC1(), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
288 . NC5(MVSIZ), NC6(), NC7(MVSIZ), NC8(MVSIZ)
289C
290 DOUBLE PRECISION
291 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
292 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(),
293 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
294 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
295 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
296 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
297 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),VOLDP(MVSIZ)
298
300 . off(mvsiz) , rhoo(mvsiz),
301 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
302 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
303 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
304 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
305 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
306 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
307 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
308 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
309 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
310 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
311 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
312 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
313 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
314 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
315 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
316 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
317 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
318 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
319 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
320 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
321 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
322 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
323 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
324 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
325 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
326 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
327 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
328 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
329 . dxy(mvsiz),dyx(mvsiz),dyz(mvsiz),
330 . dzy(mvsiz),dzx(mvsiz),dxz(mvsiz),
331 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
332 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
333 . r31(mvsiz),r32(mvsiz),r33(mvsiz),hh(mvsiz),gama(mvsiz,6),
334 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
335 . mfxx(mvsiz),mfxy(mvsiz),mfyx(mvsiz),
336 . mfyy(mvsiz),mfyz(mvsiz),mfzy(mvsiz),
337 . mfzz(mvsiz),mfzx(mvsiz),mfxz(mvsiz),
338 . dfe(mvsiz,3),sigf(mvsiz,6),offg0(mvsiz),
339 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
340 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
341 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
342
344 . vxr(mvsiz),vyr(mvsiz),vzr(mvsiz),fr_wav(mvsiz),
345 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
346
348 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
349 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
350 . mx3(mvsiz),my3(mvsiz),mz3(mvsiz),
351 . mx4(mvsiz),my4(mvsiz),mz4(mvsiz),
352 . mx5(mvsiz),my5(mvsiz),mz5(mvsiz),
353 . mx6(mvsiz),my6(mvsiz),mz6(mvsiz),
354 . mx7(mvsiz),my7(mvsiz),mz7(mvsiz),
355 . mx8(mvsiz),my8(mvsiz),mz8(mvsiz)
356
358 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
359 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
360 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
361 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
362 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
363 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz)
364
366 . fvx1(mvsiz),fvx2(mvsiz),fvx3(mvsiz),fvx4(mvsiz),
367 . fvx5(mvsiz),fvx6(mvsiz),fvx7(mvsiz),fvx8(mvsiz),
368 . fvy1(mvsiz),fvy2(mvsiz),fvy3(mvsiz),fvy4(mvsiz),
369 . fvy5(mvsiz),fvy6(mvsiz),fvy7(mvsiz),fvy8(mvsiz),
370 . fvz1(mvsiz),fvz2(mvsiz),fvz3(mvsiz),fvz4(mvsiz),
371 . fvz5(mvsiz),fvz6(mvsiz),fvz7(mvsiz),fvz8(mvsiz),
372 . fvdx1(mvsiz),fvdx2(mvsiz),fvdx3(mvsiz),fvdx4(mvsiz),
373 . fvdx5(mvsiz),fvdx6(mvsiz),fvdx7(mvsiz),fvdx8(mvsiz),
374 . fvdy1(mvsiz),fvdy2(mvsiz),fvdy3(mvsiz),fvdy4(mvsiz),
375 . fvdy5(mvsiz),fvdy6(mvsiz),fvdy7(mvsiz),fvdy8(mvsiz),
376 . fvdz1(mvsiz),fvdz2(mvsiz),fvdz3(mvsiz),fvdz4(mvsiz),
377 . fvdz5(mvsiz),fvdz6(mvsiz),fvdz7(mvsiz),fvdz8(mvsiz),
378 . fdxx(mvsiz) ,fdxy(mvsiz) ,fdxz(mvsiz) ,fdyx(mvsiz),
379 . fdyy(mvsiz) ,fdyz(mvsiz) ,fdzx(mvsiz) ,fdzy(mvsiz),
380 . fdzz(mvsiz) ,fd4(mvsiz) ,fd5(mvsiz) ,fd6(mvsiz) ,
381 . fwxx(mvsiz) ,fwyy(mvsiz) ,fwzz(mvsiz) ,fvxr(mvsiz),
382 . fvyr(mvsiz) ,fvzr(mvsiz) ,fvoln(mvsiz),
383 . fvd2(mvsiz)
384
386 . ff11(mvsiz),ff21(mvsiz),ff31(mvsiz),
387 . ff12(mvsiz),ff22(mvsiz),ff32(mvsiz),
388 . ff13(mvsiz),ff23(mvsiz),ff33(mvsiz),
389 . ff14(mvsiz),ff24(mvsiz),ff34(mvsiz),
390 . ff15(mvsiz),ff25(mvsiz),ff35(mvsiz),
391 . ff16(mvsiz),ff26(mvsiz),ff36(mvsiz),
392 . ff17(mvsiz),ff27(mvsiz),ff37(mvsiz),
393 . ff18(mvsiz),ff28(mvsiz),ff38(mvsiz),
394 . fvdx(mvsiz),fvdy(mvsiz),fvdz(mvsiz),
395 . frho0(mvsiz),
alpha(mvsiz),
396 . fpx1h1(mvsiz),fpx1h2(mvsiz), fpx1h3(mvsiz),
397 . fpx2h1(mvsiz),fpx2h2(mvsiz), fpx2h3(mvsiz),
398 . fpx3h1(mvsiz),fpx3h2(mvsiz), fpx3h3(mvsiz),
399 . fpx4h1(mvsiz),fpx4h2(mvsiz), fpx4h3(mvsiz),
400 . fn1x(mvsiz), fn2x(mvsiz), fn3x(mvsiz),
401 . fn1y(mvsiz), fn2y(mvsiz), fn3y(mvsiz),
402 . fn1z(mvsiz), fn2z(mvsiz), fn3z(mvsiz),
403 . fn4x(mvsiz), fn5x(mvsiz), fn6x(mvsiz),
404 . fn4y(mvsiz), fn5y(mvsiz), fn6y(mvsiz),
405 . fn4z(mvsiz), fn5z(mvsiz), fn6z(mvsiz),
406 . fx1(mvsiz), fx2(mvsiz), fx3(mvsiz), fx4(mvsiz),
407 . fx5(mvsiz), fx6(mvsiz), fx7(mvsiz), fx8(mvsiz),
408 . fy1(mvsiz), fy2(mvsiz), fy3(mvsiz), fy4(mvsiz),
409 . fy5(mvsiz), fy6(mvsiz), fy7(mvsiz), fy8(mvsiz),
410 . fz1(mvsiz), fz2(mvsiz), fz3(mvsiz), fz4(mvsiz),
411 . fz5(mvsiz), fz6(mvsiz), fz7(mvsiz), fz8(mvsiz)
412
414 . fpx1(mvsiz),fpx2(mvsiz),fpx3(mvsiz),fpx4(mvsiz),
415 . fpy1(mvsiz),fpy2(mvsiz),fpy3(mvsiz),fpy4(mvsiz),
416 . fpz1(mvsiz),fpz2(mvsiz),fpz3(mvsiz),fpz4(mvsiz),
417 . fdeltax(mvsiz) ,flux0(mvsiz,6),flu01(mvsiz)
418 my_real,
DIMENSION(:),
ALLOCATABLE :: var_reg
419 my_real :: conde(mvsiz),amu(mvsiz),divde(mvsiz),l_max(mvsiz),
420 . sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
421 . cns2,fqmax
422 my_real,
DIMENSION(:),
POINTER :: eint
424 my_real :: sum_eps(9),sum_m,sum_vol
425 INTEGER :: NUM_ELEM_ALE
426
427 TYPE(G_BUFEL_) ,POINTER :: GBUF
428 TYPE(L_BUFEL_) ,POINTER :: LBUF
429 TYPE(BUF_MAT_) ,POINTER :: MBUF
430
431 INTEGER IALEFVM_FLG, IFVM22, IMAT, INLOC, L_NLOC, J, IPOS(8),PID,
432 . NN_DEL,ISCTL,ISTAB(MVSIZ)
433
434 INTEGER IBOLTP,NBPRELD,ISM12_11
435 my_real,
DIMENSION(:),
POINTER :: bpreld
436 my_real,
DIMENSION(:),
POINTER :: dnl
437 INTEGER SZ_IX
438
439
440
441 gbuf => elbuf_tab(ng)%GBUF
442 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
443 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
444 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
445 inloc = iparg(78)
446 ALLOCATE(var_reg(nel))
447 tempel(:) = zero
448 fheat(:) = zero
449
450 iboltp = iparg1(72)
451 nbpreld = gbuf%G_BPRELD
452 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
453
454 sz_ix=numelq+numels+nsvois
455
456 ibid = 0
457 nf1=nft+1
458
459 IF (jcvt == 0) THEN
460
461 ialefvm_mat = ipm(251,ixs(1,nf1))
462 IF(ialefvm_mat<=1)THEN
463
464 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
465 . x1, x2, x3, x4, x5, x6, x7, x8,
466 . y1, y2, y3, y4, y5, y6, y7, y8,
467 . z1, z2, z3, z4, z5, z6, z7, z8,
468 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
469 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
470 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
471 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
472 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
473 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
474 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,
475 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
476 . vr,vxr,vyr,vzr,fr_wave,fr_wav,
477 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
478 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
479 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
480 . xdp,iparg, ng , nel)
481 ELSE
482
484 . x1, x2, x3, x4, x5, x6, x7, x8,
485 . y1, y2, y3, y4, y5, y6, y7, y8,
486 . z1, z2, z3, z4, z5, z6, z7, z8,
487 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
488 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
489 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
490 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
491 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
492 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
493 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%RHO,
494 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
495 . xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
496 . yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
497 . zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
498 . xdp, iparg, ng , nel, gbuf%MOM,gbuf%TAG22)
499 ENDIF
500 ELSE
501
502 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
503 . x1, x2, x3, x4, x5, x6, x7, x8,
504 . y1, y2, y3, y4, y5, y6, y7, y8,
505 . z1, z2, z3, z4, z5, z6, z7, z8,
506 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
507 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
508 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
509 . vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,rhoo,
510 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
511 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
512 . ioutprt, vgxa, vgya, vgza, vga2,
513 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
514 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
515 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
516 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
517 . xgxa2,xgya2 ,xgza2 ,xgxya ,xgyza ,xgzxa,iparg1,
518 . gbuf%GAMA_R)
519 ENDIF
520
521 nn_del = 0
522 pid = ngeo(1)
523 imat = mxt(1)
524
525 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
526 . nn_del=8
527 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
528
529 isctl = igeo(97,pid)
530
531 IF ((ismstr >= 10.AND.ismstr <= 12).AND.jlag > 0) THEN
532
534 1 tt, 8, x, ixs(1,nf1),
535 2 x0, y0, z0, vx0,
536 3 vy0, vz0, gbuf%SMSTR,d,
537 4 gbuf%OFF, offg0, nel, xdp,
538 5 mtn, ismstr)
539
540 IF (ismstr == 11) THEN
541 IF (jcvt /= 0) THEN
543 1 r11, r12, r13, r21,
544 2 r22, r23, r31, r32,
545 3 r33, x0(1,1), x0(1,2), x0(1,3),
546 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
547 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
548 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
549 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
550 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
551 9 z0(1,8), nel)
553 1 r11, r12, r13, r21,
554 2 r22, r23, r31, r32,
555 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
556 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
557 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
558 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
559 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
560 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
561 9 vz0(1,8),nel)
562 ENDIF
563
565 . x0(1,1), x0(1,2), x0(1,3), x0(1,4),
566 . x0(1,5), x0(1,6), x0(1,7), x0(1,8),
567 . y0(1,1), y0(1,2), y0(1,3), y0(1,4),
568 . y0(1,5), y0(1,6), y0(1,7), y0(1,8),
569 . z0(1,1), z0(1,2), z0(1,3), z0(1,4),
570 . z0(1,5), z0(1,6), z0(1,7), z0(1,8),
571 . px1, px2, px3, px4,
572 . py1, py2, py3, py4,
573 . pz1, pz2, pz3, pz4,
574 . px1h1, px1h2, px1h3,
575 . px2h1, px2h2, px2h3,
576 . px3h1, px3h2, px3h3,
577 . px4h1, px4h2, px4h3,
578 . jac1,jac2,jac3,
579 . jac4,jac5,jac6,
580 . nel,jhbe)
581 ELSE
582 IF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt == 0.AND.ism12_11==0) THEN
583
585 1 gbuf%OFF,x, xdp, nc1,
586 2 nc2, nc3, nc4, nc5,
587 3 nc6, nc7, nc8, r11,
588 4 r12, r13, r21, r22,
589 5 r23, r31, r32, r33,
590 6 nel, jhbe)
591 END IF
592
594 . px1, px2, px3, px4,
595 . py1, py2, py3, py4,
596 . pz1, pz2, pz3, pz4,
597 . gbuf%JAC_I,nel)
598 END IF
599
601 1 px1, px2, px3, px4,
602 2 py1, py2, py3, py4,
603 3 pz1, pz2, pz3, pz4,
604 4 vx0(1,1),vx0(1,2),vx0(1,3),vx0(1,4),
605 5 vx0(1,5),vx0(1,6),vx0(1,7),vx0(1,8),
606 6 vy0(1,1),vy0(1,2),vy0(1,3),vy0(1,4),
607 7 vy0(1,5),vy0(1,6),vy0(1,7),vy0(1,8),
608 8 vz0(1,1),vz0(1,2),vz0(1,3),vz0(1,4),
609 9 vz0(1,5),vz0(1,6),vz0(1,7),vz0(1,8),
610 a mfxx, mfxy, mfxz, mfyx,
611 b mfyy, mfyz, mfzx, mfzy,
612 c mfzz, nel)
613
614 IF (jcvt /= 0 .AND.(ismstr == 10 .OR.ismstr == 12)) THEN
615 CALL sordeft3(lft,llt,mfxx, mfxy, mfxz, mfyx, mfyy, mfyz,
616 . mfzx, mfzy, mfzz,
617 . r11, r21, r31, r12, r22, r32, r13, r23, r33)
618 ELSEIF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt==0.AND.ism12_11==0) THEN
620 . mfyx, mfyy, mfyz,
621 . mfzx, mfzy, mfzz,
622 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
623 END IF
624 ENDIF
625
626 IF(jale+jlag /= 0)THEN
627
628 IF(jclose /= 0) THEN
629
631 1 geo, ngeo, x1, x2,
632 2 x3, x4, x5, x6,
633 3 x7, x8, y1, y2,
634 4 y3, y4, y5, y6,
635 5 y7, y8, z1, z2,
636 6 z3, z4, z5, z6,
637 7 z7, z8, hh, xd1,
638 8 xd2, xd3, xd4, xd5,
639 9 xd6, xd7, xd8, yd1,
640 a yd2, yd3, yd4, yd5,
641 b yd6, yd7, yd8, zd1,
642 c zd2, zd3, zd4, zd5,
643 d zd6, zd7, zd8, nel)
644 ENDIF
645
646 IF (ismstr==11) THEN
648 1 x0, y0, z0, x1,
649 2 x2, x3, x4, x5,
650 3 x6, x7, x8, y1,
651 4 y2, y3, y4, y5,
652 5 y6, y7, y8, z1,
653 6 z2, z3, z4, z5,
654 7 z6, z7, z8, nel)
655 ELSE
656
658 1 off, voln, ngl, xd1,
659 2 xd2, xd3, xd4, xd5,
660 3 xd6, xd7, xd8, yd1,
661 4 yd2, yd3, yd4, yd5,
662 5 yd6, yd7, yd8, zd1,
663 6 zd2, zd3, zd4, zd5,
664 7 zd6, zd7, zd8, px1,
665 8 px2, px3, px4, py1,
666 9 py2, py3, py4, pz1,
667 a pz2, pz3, pz4, px1h1,
668 b px1h2, px1h3, px2h1, px2h2,
669 c px2h3, px3h1, px3h2, px3h3,
670 d px4h1, px4h2, px4h3, jac1,
671 e jac2, jac3, jac4, jac5,
672 f jac6, gbuf%SMSTR,gbuf%OFF, nel,
673 g voldp, jhbe, ismstr, jlag)
674 END IF
675
677 1 voln, deltax, x1, x2,
678 2 x3, x4, x5, x6,
679 3 x7, x8, y1, y2,
680 4 y3, y4, y5, y6,
681 5 y7, y8, z1, z2,
682 6 z3, z4, z5, z6,
683 7 z7, z8, n1x, n2x,
684 8 n3x, n4x, n5x, n6x,
685 9 n1y, n2y, n3y, n4y,
686 a n5y, n6y, n1z, n2z,
687 b n3z, n4z, n5z, n6z,
688 c nel, mtn, jale, jeul)
689
690 ELSEIF(jeul /= 0)THEN
691
693 1 gbuf%VOL,veul, x1, x2,
694 2 x3, x4, x5, x6,
695 3 x7, x8, y1, y2,
696 4 y3, y4, y5, y6,
697 5 y7, y8, z1, z2,
698 6 z3, z4, z5, z6,
699 7 z7, z8, px1, px2,
700 8 px3, px4, py1, py2,
701 9 py3, py4, pz1, pz2,
702 a pz3, pz4, px5, px6,
703 b px7, px8, py5, py6,
704 c py7, py8, pz5, pz6,
705 d pz7, pz8, px1h1, px1h2,
706 e px1h3, px2h1, px2h2, px2h3,
707 f px3h1, px3h2, px3h3, px4h1,
708 g px4h2, px4h3, voln, deltax,
709 h n1x, n2x, n3x, n4x,
710 i n5x, n6x, n1y, n2y,
711 j n3y, n4y, n5y, n6y,
712 k n1z, n2z, n3z, n4z,
713 l n5z, n6z, nel, nft,
714 m jhbe)
715
716
718 1 gbuf%VOL, veul, voln, deltax,
719 2 gbuf%TAG22,ixs, lft, llt,
720 3 jale, jeul)
721 ENDIF
722
723 IF(int22>0)THEN
724
725
726 IF(i22_aleul == 1)THEN
728 1 voln, gbuf%TAG22,ixs, lft,
729 2 llt, jale, jeul)
730 ENDIF
731 ENDIF
732
733 IF(jale+jeul > 0 .AND. iparg1(64)==1)THEN
734
736 1 pm, v, veul, x,
737 2 ixs, ale_connect,dxx, dxy,
738 3 dxz, dyx, dyy, dyz,
739 4 dzx, dzy, dzz, d4,
740 5 d5, d6, wxx, wyy,
741 6 wzz, bufmat, nel, nft,
742 7 ipm, nummat, numels+nsvois )
743 ELSE
744
745 CALL sdefo3(output%DATA%FANI_CELL,
746 1 px1, px2, px3, px4,
747 2 py1, py2, py3, py4,
748 3 pz1, pz2, pz3, pz4,
749 4 px5, px6, px7, px8,
750 5 py5, py6, py7, py8,
751 6 pz5, pz6, pz7, pz8,
752 7 vx1, vx2, vx3, vx4,
753 8 vx5, vx6, vx7, vx8,
754 9 vy1, vy2, vy3, vy4,
755 a vy5, vy6, vy7, vy8,
756 b vz1, vz2, vz3, vz4,
757 c vz5, vz6, vz7, vz8,
758 d dxx, dxy, dxz, dyx,
759 e dyy, dyz, dzx, dzy,
760 f dzz, d4, d5, d6,
761 g wxx, wyy, wzz, vxr,
762 h vyr, vzr, nel,
763 i nft, ismstr, jeul, jhbe,
764 j jcvt, isrot)
765
766 IF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0.AND.jcvt==0) THEN
767 CALL sordef12(lft,llt,dxx, dyy, dzz,
768 . d4, d5, d6,
769 . r11, r21, r31, r12, r22, r32, r13, r23, r33,gbuf%OFF)
770 ENDIF
771 ENDIF
772
774 1 pm, flux(1,nf1),ale_connect,ixs,
775 2 ipm, bufmat, nel, nft,
776 3 jale, jeul , nummat, numels+nsvois)
777
778 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
779
781 1 pm, gbuf%VOL, gbuf%RHO, gbuf%EINT,
782 2 divde, flux(1,nf1),flu1(nf1), voln,
783 3 dvol, ngl, mxt, off,
784 4 iparg1(64), gbuf%TAG22, voldp, lbuf%VOL0DP,
785 5 amu, gbuf%OFF, nel, mtn,
786 6 jale, ismstr, jeul, jlag)
787
788 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0.AND.jcvt==0) THEN
790 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
791 ENDIF
792
793 IF (jcvt == 0) THEN
794
796 1 gbuf%SIG,s1, s2, s3,
797 2 s4, s5, s6, wxx,
798 3 wyy, wzz, nel, mtn,
799 4 ismstr)
800
802 1 gbuf%SMSTR,gbuf%OFF, off, wxx,
803 2 wyy, wzz, nel, ismstr,
804 3 jlag)
805 ELSE
806
807 CALL srmalla3(gbuf%SIG,s1,s2,s3,s4,s5,s6,
808 . gbuf%OFF,off,nel)
809
811 1 gbuf%SMSTR,gbuf%OFF, wxx, wyy,
812 2 wzz, r11, r12, r13,
813 3 r21, r22, r23, r31,
814 4 r32, r33, nel, ismstr)
815 ENDIF
816
817 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
818
819
820 IF (jcvt /= 0.AND.isorth/=0 ) THEN
822 1 gbuf%OFF, gbuf%SMSTR,x0, y0,
823 2 z0, nel)
824 ELSE
826 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
827 2 xd3, xd4, xd5, xd6,
828 3 xd7, xd8, yd1, yd2,
829 4 yd3, yd4, yd5, yd6,
830 5 yd7, yd8, zd1, zd2,
831 6 zd3, zd4, zd5, zd6,
832 7 zd7, zd8, nel)
833 ENDIF
834 END IF
835
836 IF (jthe < 0) THEN
837
838 DO i=1,nel
839 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
840 . + temp(nc3(i)) + temp(nc4(i))
841 . + temp(nc5(i)) + temp(nc6(i))
842 . + temp(nc7(i)) + temp(nc8(i)))
843 ENDDO
844 ENDIF
845
846
847
848
849 IF (inloc > 0) THEN
850 l_nloc = nloc_dmg%L_NLOC
851 dnl => nloc_dmg%DNL(1:l_nloc)
852 DO i=1,nel
853 inod(1) = nloc_dmg%IDXI(nc1(i))
854 inod(2) = nloc_dmg%IDXI(nc2(i))
855 inod(3) = nloc_dmg%IDXI(nc3(i))
856 inod(4) = nloc_dmg%IDXI(nc4(i))
857 inod(5) = nloc_dmg%IDXI(nc5(i))
858 inod(6) = nloc_dmg%IDXI(nc6(i))
859 inod(7) = nloc_dmg%IDXI(nc7(i))
860 inod(8) = nloc_dmg%IDXI(nc8(i))
861 DO j = 1, 8
862 ipos(j) = nloc_dmg%POSI(inod(j))
863 ENDDO
864 var_reg(i) = dnl(ipos(1)) + dnl(ipos(2)) + dnl(ipos(3)) + dnl(ipos(4))
865 . + dnl(ipos(5)) + dnl(ipos(6)) + dnl(ipos(7)) + dnl(ipos(8))
866 var_reg(i) = var_reg(i)*one_over_8
867 ENDDO
868 ENDIF
869
870
871 IF (jale == 3 .AND. jlag > 0) THEN
872
873
875 . pm ,mxt ,x ,
876 . mbuf ,nel ,
877 . ixs ,ale_connect ,vf ,afglob,
878 . wf ,dfe ,frho0 ,
alpha ,
879 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,
880 . nc7 ,nc8 ,fx1 ,fx2 ,fx3 ,fx4 ,
881 . fx5 ,fx6 ,fx7 ,fx8 ,fy1 ,fy2 ,
882 . fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
883 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,
884 . fz7 ,fz8 ,phi1 ,phi2 ,flux0 ,flu01 ,
885 . fvx1 ,fvx2 ,fvx3 ,fvx4 ,fvx5 ,fvx6 ,
886 . fvx7 ,fvx8 ,fvy1 ,fvy2 ,fvy3 ,fvy4 ,
887 . fvy5 ,fvy6 ,fvy7 ,fvy8 ,fvz1 ,fvz2 ,
888 . fvz3 ,fvz4 ,fvz5 ,fvz6 ,fvz7 ,fvz8 ,
889 . fvdx1 ,fvdx2 ,fvdx3 ,fvdx4 ,fvdx5 ,fvdx6 ,
890 . fvdx7 ,fvdx8 ,fvdy1 ,fvdy2 ,fvdy3 ,fvdy4 ,
891 . fvdy5 ,fvdy6 ,fvdy7 ,fvdy8 ,fvdz1 ,fvdz2 ,
892 . fvdz3 ,fvdz4 ,fvdz5 ,fvdz6 ,fvdz7 ,fvdz8 ,
893 . fvdx ,fvdy ,fvdz ,fvd2 ,
894 . vx1 ,vx2 ,vx3 ,vx4 ,vx5 ,vx6 ,
895 . vx7 ,vx8 ,vy1 ,vy2 ,vy3 ,vy4 ,
896 . vy5 ,vy6 ,vy7 ,vy8 ,vz1 ,vz2 ,
897 . vz3 ,vz4 ,vz5 ,vz6 ,vz7 ,vz8 ,
898 . por ,icontact ,ifoam)
899
901 1 off, fvoln, ngl, fx1,
902 2 fx2, fx3, fx4, fx5,
903 3 fx6, fx7, fx8, fy1,
904 4 fy2, fy3, fy4, fy5,
905 5 fy6, fy7, fy8, fz1,
906 6 fz2, fz3, fz4, fz5,
907 7 fz6, fz7, fz8, fpx1,
908 8 fpx2, fpx3, fpx4, fpy1,
909 9 fpy2, fpy3, fpy4, fpz1,
910 a fpz2, fpz3, fpz4, fpx1h1,
911 b fpx1h2, fpx1h3, fpx2h1, fpx2h2,
912 c fpx2h3, fpx3h1, fpx3h2, fpx3h3,
913 d fpx4h1, fpx4h2, fpx4h3, nel,
914 e jhbe)
915
917 1 fvoln, fdeltax, fx1, fx2,
918 2 fx3, fx4, fx5, fx6,
919 3 fx7, fx8, fy1, fy2,
920 4 fy3, fy4, fy5, fy6,
921 5 fy7, fy8, fz1, fz2,
922 6 fz3, fz4, fz5, fz6,
923 7 fz7, fz8, fn1x, fn2x,
924 8 fn3x, fn4x, fn5x, fn6x,
925 9 fn1y, fn2y, fn3y, fn4y,
926 a fn5y, fn6y, fn1z, fn2z,
927 b fn3z, fn4z, fn5z, fn6z,
928 c nel)
929
930
932 1 fpx1, fpx2, fpx3, fpx4,
933 2 fpy1, fpy2, fpy3, fpy4,
934 3 fpz1, fpz2, fpz3, fpz4,
935 4 fvx1, fvx2, fvx3, fvx4,
936 5 fvx5, fvx6, fvx7, fvx8,
937 6 fvy1, fvy2, fvy3, fvy4,
938 7 fvy5, fvy6, fvy7, fvy8,
939 8 fvz1, fvz2, fvz3, fvz4,
940 9 fvz5, fvz6, fvz7, fvz8,
941 a fdxx, fdxy, fdxz, fdyx,
942 b fdyy, fdyz, fdzx, fdzy,
943 c fdzz, fd4, fd5, fd6,
944 d fwxx, fwyy, fwzz, fvxr,
945 e fvyr, fvzr, fqvis, nel,
946 f jhbe, jcvt, isrot)
947
948 DO i=1,nel
949 fvoln(i) =
alpha(i)*fvoln(i)
950 dfe(i,1) = dfe(i,1)*fvoln(i)
951 dfe(i,2) = dfe(i,2)*fvoln(i)
952 dfe(i,3) = dfe(i,3)*fvoln(i)
953 ENDDO
954
955 CALL frho3(mbuf%VAR,frho0,fdxx, fdyy, fdzz,
956 . flux0,flu01,fvoln,ngl,mxt,off ,nel)
957 ENDIF
958
959 ialefvm_mat = ipm(251,ixs(1,nf1))
960 IF (ialefvm_mat > 1) THEN
961
963 1 ixs,
964 2 voln, n1x, n2x, n3x,
965 3 n4x, n5x, n6x, n1y,
966 4 n2y, n3y, n4y, n5y,
967 5 n6y, n1z, n2z, n3z,
968 6 n4z, n5z, n6z, dxx,
969 7 dyy, dzz, x, ipm,
970 8 nel)
971 ENDIF
972
973 IF ((imon_mat==1).AND. itask == 0)
CALL startime(timers,35)
974
975 ilay = 1
976 iptr = 1
977 ipts = 1
978 iptt = 1
979
980 IF(iboltp /= 0) THEN
981 IF(jcvt==0)
983 1 bpreld(3*nel+1),b1, b2, b3,
984 2 b4, b5, b6, wxx,
985 3 wyy, wzz, nel, mtn,
986 4 ismstr)
987
988 CALL boltst(iptr ,bpreld,lbuf%SIG ,tt ,nel ,
989 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB ,
990 . iparg1(67),iparg1(68))
991 END IF
992
993
994
995 CALL mmain(timers, output,
996 1 elbuf_tab, ng, pm, geo,
997 2 ale_connect, ixs, iparg,
998 3 v, tf, npf, bufmat,
999 4 sti, x, dt2t, neltst,
1000 5 ityptst, offset, nel, w,
1001 6 off, ngeo, mxt, ngl,
1002 7 voln, vd2, dvol, deltax,
1003 8 vis, qvis, cxx, s1,
1004 9 s2, s3, s4, s5,
1005 a s6, dxx, dyy, dzz,
1006 b d4, d5, d6, wxx,
1007 c wyy, wzz, jac1, jac2,
1008 d jac3, jac4, jac5, jac6,
1009 e vdx, vdy, vdz, muvoid,
1010 f ssp_eq, aire, sigy, et,
1011 g bufvois, lbuf%PLA, r3_free, amu,
1012 h mfxx, mfxy, mfxz, mfyx,
1013 i mfyy, mfyz, mfzx, mfzy,
1014 j mfzz, ipm, gama, fr_wav,
1015 k dxy, dyx, dyz, dzy,
1016 l dzx, dxz, istrain, tempel,
1017 m die, iexpan, ilay, mssa,
1018 n dmels, iptr, ipts, iptt,
1019 o table, fvd2, fdeltax, fcxx,
1020 p fqvis, iparg1, igeo, conde,
1021 q itask, nloc_dmg, var_reg, mat_elem,
1022 r h3d_strain, jplasol, jsph, sz_bufvois,
1023 t snpc, stf, sbufmat, glob_therm,
1024 . svis, sz_ix, iresp,
1025 . n2d, th_strain, ngroup, tt,
1026 . dt1, ntable, numelq, nummat,
1027 . numgeo, numnod, numels,
1028 . idel7nok, idtmin, maxfunc,
1029 . imon_mat, userl_avail, impl_s,
1030 . idyna, dt , fheat ,sensors)
1031
1032 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1033 IF (ism12_11==0.AND.jcvt==0) THEN
1035 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1036
1037 IF (istrain == 1) THEN
1038 CALL sordef12(lft,llt,dxx, dxy, dxz,
1039 . d4, d5, d6,
1040 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1041 ENDIF
1042 END IF
1043 ENDIF
1044
1045 IF (istrain == 1) THEN
1046
1048 1 dxx, dyy, dzz, d4,
1049 2 d5, d6, lbuf%STRA,wxx,
1050 3 wyy, wzz, off, nel,
1051 4 jcvt)
1052 ENDIF
1053 IF ((imon_mat==1).AND. itask == 0)
CALL stoptime(timers,35)
1054
1055 IF (nn_del >0) THEN
1057 1 x1, x2, x3, x4,
1058 2 x5, x6, x7, x8,
1059 3 y1, y2, y3, y4,
1060 4 y5, y6, y7, y8,
1061 5 z1, z2, z3, z4,
1062 6 z5, z6, z7, z8,
1063 7 nel)
1064 CALL sgeodel3(ngl,gbuf%OFF,voln,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok )
1065 END IF
1066
1068 1 gbuf%OFF,off, nel, ismstr)
1069 itet = 0
1071 1 ngl, gbuf%OFF,voln, deltax,
1072 2 gbuf%VOL,itet, nel, ismstr,dt )
1073 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1075 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1076 2 xdp, nc1, nc2, nc3,
1077 3 nc4, nc5, nc6, nc7,
1078 4 nc8, nel, jcvt)
1079 IF (ism12_11>0 .AND. isorth == 0) THEN
1081 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8 ,
1082 . gbuf%JAC_I,gbuf%SIG,lbuf%SIGL ,nel )
1083 END IF
1084 ENDIF
1085
1086 IF (jlag+jale+jeul == 0) THEN
1087
1088 IF (ioutprt>0)THEN
1089 IF (iparg1(64) == 1) THEN
1090 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
1091 ELSE
1092 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1093 ENDIF
1094
1095 IF (jcvt == 0) THEN
1096 ifvm22 = 0
1097 ialefvm_flg = ipm(251,imat)
1098 IF(ialefvm_flg>=2)ifvm22 = 1
1099 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1100 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1101 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1102 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1103 . voln,iparts,gresav,grth,igrth, gbuf%OFF,
1104 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1105 . x1, x2, x3, x4, x5, x6, x7, x8,
1106 . y1, y2, y3, y4, y5, y6, y7, y8,
1107 . z1, z2, z3, z4, z5, z6, z7, z8,
1108 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1109 ELSE
1110 CALL srbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1111 . vgxa, vgya, vgza, vga2, voln,iparts,
1112 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1113 . gbuf%FILL,xgxa, xgya, xgza,
1114 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1115 . nel,gbuf%G_WPLA,gbuf%WPLA)
1116 ENDIF
1117 ENDIF
1118 RETURN
1119 ENDIF
1120
1121
1122 IF (jale == 3 .AND. jlag == 1 .AND.
ale%GLOBAL%INCOMP == 0)
THEN
1123 IF(iparit == 0)THEN
1125 1 msf, mbuf%VAR,fvoln, nc1,
1126 2 nc2, nc3, nc4, nc5,
1127 3 nc6, nc7, nc8, msnf,
1128 4 nvc, off, nel)
1129 ELSE
1131 1 fskym, mbuf%VAR,fvoln, iads,
1132 2 off, nel, nft)
1133 ENDIF
1134 ELSEIF (jale+jeul > 0 .AND.
ale%GLOBAL%INCOMP == 0)
THEN
1135 IF(iparit == 0)THEN
1137 1 ms, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1138 2 voln, nc1, nc2, nc3,
1139 3 nc4, nc5, nc6, nc7,
1140 4 nc8, msnf, nvc, off,
1141 5 ixs, nel, jeul)
1142 ELSE
1144 1 fskym, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1145 2 voln, iads, off, ixs,
1146 3 nel, nft, jeul)
1147 ENDIF
1148 ENDIF
1149
1150 ialefvm_mat = ipm(251,ixs(1,nf1))
1151 ifvm_skip=0
1152 IF(ialefvm_mat > 1)ifvm_skip=1
1153
1154
1155
1156
1157
1158 IF(
ale%GRID%NWALE == 7 .AND. jale == 1)
THEN
1159 sum_eps(1:9) = zero
1160 sum_m = zero
1161 sum_vol = zero
1162 num_elem_ale = nel
1163 DO i=1,nel
1164 elem_mass = gbuf%RHO(i)*gbuf%VOL(i)
1165 sum_eps(1) = sum_eps(1) + elem_mass*dxx(i)
1166 sum_eps(2) = sum_eps(2) + elem_mass*dyy(i)
1167 sum_eps(3) = sum_eps(3) + elem_mass*dzz(i)
1168 sum_eps(4) = sum_eps(4) + elem_mass*dxy(i)
1169 sum_eps(5) = sum_eps(5) + elem_mass*dxz(i)
1170 sum_eps(6) = sum_eps(6) + elem_mass*dyz(i)
1171 sum_eps(7) = sum_eps(7) + elem_mass*dyx(i)
1172 sum_eps(8) = sum_eps(8) + elem_mass*dzx(i)
1173 sum_eps(9) = sum_eps(9) + elem_mass*dzy(i)
1174 sum_m = sum_m + elem_mass
1175 sum_vol = sum_vol + gbuf%VOL(i)
1176 ENDDO
1177#include "lockon.inc"
1178 ale%GRID%flow_tracking_data%EP(1) =
ale%GRID%flow_tracking_data%EP(1) + sum_eps(1)
1179 ale%GRID%flow_tracking_data%EP(2) =
ale%GRID%flow_tracking_data%EP(2) + sum_eps(2)
1180 ale%GRID%flow_tracking_data%EP(3) =
ale%GRID%flow_tracking_data%EP(3) + sum_eps(3)
1181 ale%GRID%flow_tracking_data%EP(4) =
ale%GRID%flow_tracking_data%EP(4) + sum_eps(4)
1182 ale%GRID%flow_tracking_data%EP(5) =
ale%GRID%flow_tracking_data%EP(5) + sum_eps(5)
1183 ale%GRID%flow_tracking_data%EP(6) =
ale%GRID%flow_tracking_data%EP(6) + sum_eps(6)
1184 ale%GRID%flow_tracking_data%EP(7) =
ale%GRID%flow_tracking_data%EP(7) + sum_eps(7)
1185 ale%GRID%flow_tracking_data%EP(8) =
ale%GRID%flow_tracking_data%EP(8) + sum_eps(8)
1186 ale%GRID%flow_tracking_data%EP(9) =
ale%GRID%flow_tracking_data%EP(9) + sum_eps(9)
1187 ale%GRID%flow_tracking_data%SUM_M =
ale%GRID%flow_tracking_data%SUM_M + sum_m
1188 ale%GRID%flow_tracking_data%SUM_VOL =
ale%GRID%flow_tracking_data%SUM_VOL + sum_vol
1189 ale%GRID%flow_tracking_data%NUM_ELEM_ALE =
ale%GRID%flow_tracking_data%NUM_ELEM_ALE + num_elem_ale
1190
1191#include "lockoff.inc"
1192 endif
1193
1194
1195
1196 IF (iint==3) THEN
1198 1 pm, gbuf%RHO, off, vx1,
1199 2 vx2, vx3, vx4, vx5,
1200 3 vx6, vx7, vx8, vy1,
1201 4 vy2, vy3, vy4, vy5,
1202 5 vy6, vy7, vy8, vz1,
1203 6 vz2, vz3, vz4, vz5,
1204 7 vz6, vz7, vz8, f11,
1205 8 f21, f31, f12, f22,
1206 9 f32, f13, f23, f33,
1207 a f14, f24, f34, f15,
1208 b f25, f35, f16, f26,
1209 c f36, f17, f27, f37,
1210 d f18, f28, f38, px1h1,
1211 e px1h2, px1h3, px2h1, px2h2,
1212 f px2h3, px3h1, px3h2, px3h3,
1213 g px4h1, px4h2, px4h3, voln,
1214 i gbuf%HOURG,partsav,iparts, nft,
1215 j mtn, jlag, eani , ngeo ,
1216 k ivector ,dt1 , mxt, geo,
1217 l nel, isctl, sti, cxx )
1218 ELSE
1220 1 pm, gbuf%RHO, off, vx1,
1221 2 vx2, vx3, vx4, vx5,
1222 3 vx6, vx7, vx8, vy1,
1223 4 vy2, vy3, vy4, vy5,
1224 5 vy6, vy7, vy8, vz1,
1225 6 vz2, vz3, vz4, vz5,
1226 7 vz6, vz7, vz8, f11,
1227 8 f21, f31, f12, f22,
1228 9 f32, f13, f23, f33,
1229 a f14, f24, f34, f15,
1230 b f25, f35, f16, f26,
1231 c f36, f17, f27, f37,
1232 d f18, f28, f38, px1h1,
1233 e px1h2, px1h3, px2h1, px2h2,
1234 f px2h3, px3h1, px3h2, px3h3,
1235 g px4h1, px4h2, px4h3, voln,
1236 h mxt, cxx, vis, vd2,
1237 i deltax, eani, ngeo, geo,
1238 j partsav, iparts, gbuf%OFF, gbuf%VOL,
1239 k iparg1, ifvm_skip,nel, nft,
1240 l mtn, ismstr, jlag, jhbe)
1241 END IF
1242
1243 IF (jale == 3) THEN
1245 1 pm, mbuf%VAR,off, fvx1,
1246 2 fvx2, fvx3, fvx4, fvx5,
1247 3 fvx6, fvx7, fvx8, fvy1,
1248 4 fvy2, fvy3, fvy4, fvy5,
1249 5 fvy6, fvy7, fvy8, fvz1,
1250 6 fvz2, fvz3, fvz4, fvz5,
1251 7 fvz6, fvz7, fvz8, ff11,
1252 8 ff21, ff31, ff12, ff22,
1253 9 ff32, ff13, ff23, ff33,
1254 a ff14, ff24, ff34, ff15,
1255 b ff25, ff35, ff16, ff26,
1256 c ff36, ff17, ff27, ff37,
1257 d ff18, ff28, ff38, fpx1h1,
1258 e fpx1h2, fpx1h3, fpx2h1, fpx2h2,
1259 f fpx2h3, fpx3h1, fpx3h2, fpx3h3,
1260 g fpx4h1, fpx4h2, fpx4h3, fvoln,
1261 h mxt, fcxx, vis, fvd2,
1262 i fdeltax, eani, ngeo, geo,
1263 j partsav, iparts, nel, nft,
1264 k jlag, jhbe)
1265
1266 ENDIF
1267
1268 IF (jclose /= 0)
1270 1 hh, gbuf%RHO,voln, vx1,
1271 2 vx2, vx3, vx4, vx5,
1272 3 vx6, vx7, vx8, vy1,
1273 4 vy2, vy3, vy4, vy5,
1274 5 vy6, vy7, vy8, vz1,
1275 6 vz2, vz3, vz4, vz5,
1276 7 vz6, vz7, vz8, f11,
1277 8 f21, f31, f12, f22,
1278 9 f32, f13, f23, f33,
1279 a f14, f24, f34, f15,
1280 b f25, f35, f16, f26,
1281 c f36, f17, f27, f37,
1282 d f18, f28, f38, nel)
1283
1284 ialefvm_mat = ipm(251,ixs(1,nf1))
1285 IF(ialefvm_mat <= 1)THEN
1286 IF (jale == 1 .OR. (jeul == 1.AND.integ8 == 0)) THEN
1287
1289 1 pm, gbuf%RHO, voln, x1,
1290 2 x2, x3, x4, x5,
1291 3 x6, x7, x8, y1,
1292 4 y2, y3, y4, y5,
1293 5 y6, y7, y8, z1,
1294 6 z2, z3, z4, z5,
1295 7 z6, z7, z8, vx1,
1296 8 vx2, vx3, vx4, vx5,
1297 9 vx6, vx7, vx8, vy1,
1298 a vy2, vy3, vy4, vy5,
1299 b vy6, vy7, vy8, vz1,
1300 c vz2, vz3, vz4, vz5,
1301 d vz6, vz7, vz8, f11,
1302 e f21, f31, f12, f22,
1303 f f32, f13, f23, f33,
1304 g f14, f24, f34, f15,
1305 h f25, f35, f16, f26,
1306 i f36, f17, f27, f37,
1307 j f18, f28, f38, px1,
1308 k px2, px3, px4, py1,
1309 l py2, py3, py4, pz1,
1310 m pz2, pz3, pz4, dxx,
1311 n dxy, dxz, dyx, dyy,
1312 o dyz, dzx, dzy, dzz,
1313 p vdx1, vdx2, vdx3, vdx4,
1314 q vdx5, vdx6, vdx7, vdx8,
1315 r vdy1, vdy2, vdy3, vdy4,
1316 s vdy5, vdy6, vdy7, vdy8,
1317 t vdz1, vdz2, vdz3, vdz4,
1318 u vdz5, vdz6, vdz7, vdz8,
1319 v vdx, vdy, vdz, deltax,
1320 w vis, mxt, qmv, bufmat,
1321 x iparg1, ixs, gbuf%TAG22,nc1,
1322 y nc2, nc3, nc4, nc5,
1323 z nc6, nc7, nc8, nale,
1324 1 nel, nft, mtn, ipm)
1325
1326 ELSEIF (jeul == 1 .AND. integ8 == 1) THEN
1327
1329 1 pm, gbuf%RHO, veul(lveul*nft+44),f11,
1330 2 f21, f31, f12, f22,
1331 3 f32, f13, f23, f33,
1332 4 f14, f24, f34, f15,
1333 5 f25, f35, f16, f26,
1334 6 f36, f17, f27, f37,
1335 7 f18, f28, f38, px1,
1336 8 px2, px3, px4, py1,
1337 9 py2, py3, py4, pz1,
1338 a pz2, pz3, pz4, px5,
1339 b px6, px7, px8, py5,
1340 c py6, py7, py8, pz5,
1341 d pz6, pz7, pz8, dxx,
1342 e dxy, dxz, dyx, dyy,
1343 f dyz, dzx, dzy, dzz,
1344 g vdx, vdy, vdz, mxt,
1345 h qmv, bufmat, vx1, vx2,
1346 i vx3, vx4, vx5, vx6,
1347 j vx7, vx8, vy1, vy2,
1348 k vy3, vy4, vy5, vy6,
1349 l vy7, vy8, vz1, vz2,
1350 m vz3, vz4, vz5, vz6,
1351 n vz7, vz8, iparg1, nel,
1352 o mtn, ipm)
1353 ENDIF
1354
1356 1 f32,f13,f23,f33,f14,
1357 2 f24,f34,f15,f25,f35,
1358 3 f16,f26,f36,f17,f27,
1359 4 f37,f18,f28,f38,gbuf%OFF,
1360 5 lft,llt,nel)
1361
1362 IF (jale == 3 )THEN
1364 1 pm, mbuf%VAR, fvoln, fx1,
1365 2 fx2, fx3, fx4, fx5,
1366 3 fx6, fx7, fx8, fy1,
1367 4 fy2, fy3, fy4, fy5,
1368 5 fy6, fy7, fy8, fz1,
1369 6 fz2, fz3, fz4, fz5,
1370 7 fz6, fz7, fz8, fvx1,
1371 8 fvx2, fvx3, fvx4, fvx5,
1372 9 fvx6, fvx7, fvx8, fvy1,
1373 a fvy2, fvy3, fvy4, fvy5,
1374 b fvy6, fvy7, fvy8, fvz1,
1375 c fvz2, fvz3, fvz4, fvz5,
1376 d fvz6, fvz7, fvz8, ff11,
1377 e ff21, ff31, ff12, ff22,
1378 f ff32, ff13, ff23, ff33,
1379 g ff14, ff24, ff34, ff15,
1380 h ff25, ff35, ff16, ff26,
1381 i ff36, ff17, ff27, ff37,
1382 j ff18, ff28, ff38, fpx1,
1383 k fpx2, fpx3, fpx4, fpy1,
1384 l fpy2, fpy3, fpy4, fpz1,
1385 m fpz2, fpz3, fpz4, fdxx,
1386 n fdxy, fdxz, fdyx, fdyy,
1387 o fdyz, fdzx, fdzy, fdzz,
1388 p fvdx1, fvdx2, fvdx3, fvdx4,
1389 q fvdx5, fvdx6, fvdx7, fvdx8,
1390 r fvdy1, fvdy2, fvdy3, fvdy4,
1391 s fvdy5, fvdy6, fvdy7, fvdy8,
1392 t fvdz1, fvdz2, fvdz3, fvdz4,
1393 u fvdz5, fvdz6, fvdz7, fvdz8,
1394 v fvdx, fvdy, fvdz, fdeltax,
1395 w vis, mxt, qmv, bufmat,
1396 x iparg1, ixs, gbuf%TAG22,nc1,
1397 y nc2, nc3, nc4, nc5,
1398 z nc6, nc7, nc8, nale,
1399 1 nel, nft, mtn, ipm)
1400 ENDIF
1401 ENDIF
1402
1403 IF (ioutprt>0)THEN
1404
1405 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1406 IF (jcvt == 0) THEN
1407 ifvm22 = 0
1408 ialefvm_flg = ipm(251,imat)
1409 IF(ialefvm_flg>=2)ifvm22 = 1
1410 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1411 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1412 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1413 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1414 . voln,iparts,gresav,grth,igrth,gbuf%OFF,
1415 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1416 . x1, x2, x3, x4, x5, x6, x7, x8,
1417 . y1, y2, y3, y4, y5, y6, y7, y8,
1418 . z1, z2, z3, z4, z5, z6, z7, z8,
1419 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1420 ELSE
1421 CALL srbilan(partsav,eint ,gbuf%RHO,gbuf%RK,gbuf%VOL ,
1422 . vgxa ,vgya ,vgza ,vga2 ,voln ,
1423 . iparts ,gresav ,grth ,igrth ,gbuf%OFF ,
1424 . iexpan ,gbuf%EINTTH,gbuf%FILL,xgxa, xgya, xgza,
1425 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1426 . nel,gbuf%G_WPLA,gbuf%WPLA)
1427 ENDIF
1428 ENDIF
1429
1430
1431 IF (isrot == 0)THEN
1433 1 gbuf%SIG,px1, px2, px3,
1434 2 px4, py1, py2, py3,
1435 3 py4, pz1, pz2, pz3,
1436 4 pz4, px5, px6, px7,
1437 5 px8, py5, py6, py7,
1438 6 py8, pz5, pz6, pz7,
1439 7 pz8, f11, f21, f31,
1440 8 f12, f22, f32, f13,
1441 9 f23, f33, f14, f24,
1442 a f34, f15, f25, f35,
1443 b f16, f26, f36, f17,
1444 c f27, f37, f18, f28,
1445 d f38, voln, qvis, n1x,
1446 e n2x, n3x, n4x, n5x,
1447 f n6x, n1y, n2y, n3y,
1448 g n4y, n5y, n6y, n1z,
1449 h n2z, n3z, n4z, n5z,
1450 i n6z, dfe, p, ixs,
1451 j nel, nft, jale, jeul,
1452 k svis)
1453 ELSE
1454 iisrot = 1
1456 1 gbuf%SIG, lbuf%SIGD,x, nc1,
1457 2 nc2, nc3, nc4, nc5,
1458 3 nc6, nc7, nc8, px1,
1459 4 px2, px3, px4, py1,
1460 5 py2, py3, py4, pz1,
1461 6 pz2, pz3, pz4, px5,
1462 7 px6, px7, px8, py5,
1463 8 py6, py7, py8, pz5,
1464 9 pz6, pz7, pz8, f11,
1465 a f21, f31, f12, f22,
1466 b f32, f13, f23, f33,
1467 c f14, f24, f34, f15,
1468 d f25, f35, f16, f26,
1469 e f36, f17, f27, f37,
1470 f f18, f28, f38, voln,
1471 g qvis, dr, gbuf%RHO, cxx,
1472 h mx1, my1, mz1, mx2,
1473 i my2, mz2, mx3, my3,
1474 j mz3, mx4, my4, mz4,
1475 k mx5, my5, mz5, mx6,
1476 l my6, mz6, mx7, my7,
1477 m mz7, mx8, my8, mz8,
1478 n ixs, nel, ismstr, svis)
1479 ENDIF
1480
1481 IF (jale == 3) THEN
1482
1483 nbf1 = nel*4
1484 nbf2 = nel + nbf1
1485 nbf3 = nel + nbf2
1486 DO i=1,nel
1487 sigf(i,1) = mbuf%VAR(nbf1 + i)
1488 sigf(i,2) = mbuf%VAR(nbf2 + i)
1489 sigf(i,3) = mbuf%VAR(nbf3 + i)
1490 sigf(i,4) = zero
1491 sigf(i,5) = zero
1492 sigf(i,6) = zero
1493 ENDDO
1495 1 sigf, dfe, fpx1, fpx2,
1496 2 fpx3, fpx4, fpy1, fpy2,
1497 3 fpy3, fpy4, fpz1, fpz2,
1498 4 fpz3, fpz4, ff11, ff21,
1499 5 ff31, ff12, ff22, ff32,
1500 6 ff13, ff23, ff33, ff14,
1501 7 ff24, ff34, ff15, ff25,
1502 8 ff35, ff16, ff26, ff36,
1503 9 ff17, ff27, ff37, ff18,
1504 a ff28, ff38, fvoln, fqvis,
1505 b fn1x, fn2x, fn3x, fn4x,
1506 c fn5x, fn6x, fn1y, fn2y,
1507 d fn3y, fn4y, fn5y, fn6y,
1508 e fn1z, fn2z, fn3z, fn4z,
1509 f fn5z, fn6z, llt)
1510 ENDIF
1511
1512 ialefvm_mat = ipm(251,ixs(1,nf1))
1513 IF (ialefvm_mat > 1) THEN
1514
1515
1517 1 ixs, nv46 , gbuf%SIG, ale_connect,
1518 2 n1x, n2x, n3x, n4x, n5x, n6x,
1519 4 n1y, n2y, n3y, n4y, n5y, n6y,
1520 5 n1z, n2z, n3z, n4z, n5z, n6z,
1521 7 x, ipm, nale,
1522 8 w, p, nel, wfext)
1523
1524
1526
1527
1529 IF(int22/=0)THEN
1531 ENDIF
1532
1533
1535 1 ixs, gbuf%SIG, qvis,
1536 2 n1x, n2x, n3x, n4x,
1537 3 n5x, n6x, n1y, n2y,
1538 4 n3y, n4y, n5y, n6y,
1539 5 n1z, n2z, n3z, n4z,
1540 6 n5z, n6z, x, ipm,
1541 7 gbuf%RHO, gbuf%VOL,
1542 8 nel, gbuf%MOM, lbuf%SSP, svis)
1543 IF(int22/=0)THEN
1545 1 ixs, gbuf%SIG, qvis,
1546 2 n1x, n2x, n3x, n4x, n5x, n6x,
1547 3 n1y, n2y, n3y, n4y, n5y, n6y,
1548 4 n1z, n2z, n3z, n4z, n5z, n6z,
1549 5 ipm, gbuf%RHO, gbuf%VOL, gbuf%TAG22,
1550 6 nel, gbuf%MOM, lbuf%SSP, svis)
1551 ENDIF
1552 ENDIF
1553
1554
1555
1556
1557 IF (inloc > 0) THEN
1558
1560 1 nloc_dmg ,var_reg ,nel ,off ,
1561 2 voln ,nc1 ,nc2 ,nc3 ,
1562 3 nc4 ,nc5 ,nc6
1563 4 nc8 ,px1 ,px2 ,px3 ,
1564 5 px4 ,py1 ,py2 ,py3 ,
1565 6 py4 ,pz1 ,pz2 ,pz3 ,
1566 7 pz4 ,mxt(lft) ,itask ,dt2t ,
1567 8 gbuf%VOL ,nft )
1568 ENDIF
1569
1570
1571 IF (jthe < 0) THEN
1572
1573 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1574 CALL stherm(mat_elem%MAT_PARAM(imat),
1575 1 voln, nc1, nc2, nc3, nc4,
1576 2 nc5, nc6, nc7, nc8, px1,
1577 3 px2, px3, px4, py1,
1578 4 py2, py3, py4, pz1,
1579 5 pz2, pz3, pz4, dt1,
1580 6 temp, tempel, fheat, them,
1581 7 gbuf%OFF,lbuf%OFF,partsav, iparts,
1582 8 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1583 ELSE
1584 CALL stherm(mat_elem%MAT_PARAM(imat),
1585 1 voln, nc1, nc2, nc3, nc4,
1586 2 nc5, nc6, nc7, nc8, px1,
1587 3 px2, px3, px4, py1,
1588 4 py2, py3, py4, pz1,
1589 5 pz2, pz3, pz4, dt1,
1590 6 temp, tempel, die, them,
1591 7 gbuf%OFF,lbuf%OFF,partsav, iparts,
1592 8 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1593 END IF
1594 ENDIF
1595
1596 IF (jcvt /= 0) THEN
1597
1599 1 r11, r21, r31, r12,
1600 2 r22, r32, r13, r23,
1601 3 r33, f11, f12, f13,
1602 4 f14, f15, f16, f17,
1603 5 f18, f21, f22, f23,
1604 6 f24, f25, f26, f27,
1605 7 f28, f31, f32, f33,
1606 8 f34, f35, f36, f37,
1607 9 f38, nel)
1608 IF(jale == 3) THEN
1610 1 r11, r21, r31, r12,
1611 2 r22, r32, r13, r23,
1612 3 r33, ff11, ff12, ff13,
1613 4 ff14, ff15, ff16, ff17,
1614 5 ff18, ff21, ff22, ff23,
1615 6 ff24, ff25, ff26, ff27,
1616 7 ff28, ff31, ff32, ff33,
1617 8 ff34, ff35, ff36, ff37,
1618 9 ff38, nel)
1619 ENDIF
1620 ENDIF
1621
1622
1623
1624 IF (isctl > 0) THEN
1625 CALL sdistor_ini(
1626 1 nel ,sti_c ,npropm ,nummat ,
1627 2 ismstr ,mxt ,istab ,pm ,
1628 3 gbuf%SIG ,gbuf%RHO ,cxx ,off ,
1629 4 gbuf%OFF ,ll ,voln ,fld ,
1630 5 cns2 ,fqmax )
1631
1632 IF (ismstr == 1.OR.ismstr >= 11.OR.jcvt > 0)
1634 . nc1, nc2, nc3, nc4,
1635 . nc5, nc6, nc7, nc8,
1636 . x1, x2, x3, x4,
1637 . x5, x6, x7, x8,
1638 . y1, y2, y3, y4,
1639 . y5, y6, y7, y8,
1640 . z1, z2, z3, z4,
1641 . z5, z6, z7, z8,
1642 . x, xdp, numnod, nel )
1643 IF (jcvt > 0) THEN
1644 DO i=1,nel
1645 vx1(i)=v(1,nc1(i))
1646 vy1(i)=v(2,nc1(i))
1647 vz1(i)=v(3,nc1(i))
1648 vx2(i)=v(1,nc2(i))
1649 vy2(i)=v(2,nc2(i))
1650 vz2(i)=v(3,nc2(i))
1651 vx3(i)=v(1,nc3(i))
1652 vy3(i)=v(2,nc3(i))
1653 vz3(i)=v(3,nc3(i))
1654 vx4(i)=v(1,nc4(i))
1655 vy4(i)=v(2,nc4(i))
1656 vz4(i)=v(3,nc4(i))
1657 vx5(i)=v(1,nc5(i))
1658 vy5(i)=v(2,nc5(i))
1659 vz5(i)=v(3,nc5(i))
1660 vx6(i)=v(1,nc6(i))
1661 vy6(i)=v(2,nc6(i))
1662 vz6(i)=v(3,nc6(i))
1663 vx7(i)=v(1,nc7(i))
1664 vy7(i)=v(2,nc7(i))
1665 vz7(i)=v(3,nc7(i))
1666 vx8(i)=v(1,nc8(i))
1667 vy8(i)=v(2,nc8(i))
1668 vz8(i)=v(3,nc8(i))
1669 ENDDO
1670 END IF
1672 . x1, x2, x3, x4,
1673 . x5, x6, x7, x8,
1674 . y1, y2, y3, y4,
1675 . y5, y6, y7, y8,
1676 . z1, z2, z3, z4,
1677 . z5, z6, z7, z8,
1678 . vx1, vx2, vx3, vx4,
1679 . vx5, vx6, vx7, vx8,
1680 . vy1, vy2, vy3, vy4,
1681 . vy5, vy6, vy7, vy8,
1682 . vz1, vz2, vz3, vz4,
1683 . vz5, vz6, vz7, vz8,
1684 . f11, f12, f13, f14,
1685 . f15, f16, f17, f18,
1686 . f21, f22, f23, f24,
1687 . f25, f26, f27, f28,
1688 . f31, f32, f33, f34,
1689 . f35, f36, f37, f38,
1690 . sti, sti_c, fld , cns2,
1691 . ll , istab, fqmax, nel,
1692 . gbuf%EINT_DISTOR, dt1)
1693 ENDIF
1694
1696 1 gbuf%FILL,sti, f11, f21,
1697 2 f31, f12, f22, f32,
1698 3 f13, f23, f33, f14,
1699 4 f24, f34, f15, f25,
1700 5 f35, f16, f26, f36,
1701 6 f17, f27, f37, f18,
1702 7 f28, f38, nel)
1703
1704
1705 IF(iparit == 0)THEN
1707 1 gbuf%OFF,a, nc1, nc2,
1708 2 nc3, nc4, nc5, nc6,
1709 3 nc7, nc8, stifn, sti,
1710 4 f11, f21, f31, f12,
1711 5 f22, f32, f13, f23,
1712 6 f33, f14, f24, f34,
1713 7 f15, f25, f35, f16,
1714 8 f26, f36, f17, f27,
1715 9 f37, f18, f28, f38,
1716 a nvc, ar, fr_wave, fr_wav,
1717 b mx1, my1, mz1, mx2,
1718 c my2, mz2, mx3, my3,
1719 d mz3, mx4, my4, mz4,
1720 e mx5, my5, mz5, mx6,
1721 f my6, mz6, mx7, my7,
1722 g mz7, mx8, my8, mz8,
1723 h them, fthe, condn, conde,
1724 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1725 ELSE
1727 1 gbuf%OFF,sti, fsky, fsky,
1728 2 iads, f11, f21, f31,
1729 3 f12, f22, f32, f13,
1730 4 f23, f33, f14, f24,
1731 5 f34, f15, f25, f35,
1732 6 f16, f26, f36, f17,
1733 7 f27, f37, f18, f28,
1734 8 f38, nc1, nc2, nc3,
1735 9 nc4, nc5, nc6, nc7,
1736 a nc8, ar, fr_wave, fr_wav,
1737 b mx1, my1, mz1, mx2,
1738 c my2, mz2, mx3, my3,
1739 d mz3, mx4, my4, mz4,
1740 e mx5, my5, mz5, mx6,
1741 f my6, mz6, mx7, my7,
1742 g mz7, mx8, my8, mz8,
1743 h them, fthesky, condnsky,conde,
1744 i nel, nft, jthe, isrot,
1745 j ipartsph,glob_therm%NODADT_THERM)
1746 ENDIF
1747
1748 IF(jale == 3) THEN
1749 IF(iparit == 0 ) THEN
1751 1 gbuf%OFF,af, nc1, nc2,
1752 2 nc3, nc4, nc5, nc6,
1753 3 nc7, nc8, stifn, sti,
1754 4 ff11, ff21, ff31, ff12,
1755 5 ff22, ff32, ff13, ff23,
1756 6 ff33, ff14, ff24, ff34,
1757 7 ff15, ff25, ff35, ff16,
1758 8 ff26, ff36, ff17, ff27,
1759 9 ff37, ff18, ff28, ff38,
1760 a nvc, nel)
1761
1762 ELSE
1764 1 gbuf%OFF,sti, ffsky, iads,
1765 2 ff11, ff21, ff31, ff12,
1766 3 ff22, ff32, ff13, ff23,
1767 4 ff33, ff14, ff24, ff34,
1768 5 ff15, ff25, ff35, ff16,
1769 6 ff26, ff36, ff17, ff27,
1770 7 ff37, ff18, ff28, ff38,
1771 8 nc1, nc2, nc3, nc4,
1772 9 nc5, nc6, nc7, nc8,
1773 a nel, nft)
1774 ENDIF
1775 ENDIF
1776
1777 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1778 RETURN
subroutine aleflow(pm, mat, x, mbuf, nel, ixs, ale_connect, v, a, w, dfe, frho0, alpha, 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, phi1, phi2, flux, flu1, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, lvx1, lvx2, lvx3, lvx4, lvx5, lvx6, lvx7, lvx8, lvy1, lvy2, lvy3, lvy4, lvy5, lvy6, lvy7, lvy8, lvz1, lvz2, lvz3, lvz4, lvz5, lvz6, lvz7, lvz8, por, icontact, ifoam)
subroutine alefvm_epsdot(ixs, vol, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dxx, dyy, dzz, x, ipm, nel)
subroutine alefvm_freset(iad22)
subroutine alefvm_gravity(voln, ixs, rho)
subroutine alefvm_gravity_int22(voln, ixs, rho, iad22)
subroutine alefvm_stress(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, rho, vol, nel, mom, ssp, svis)
subroutine alefvm_stress_int22(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, ipm, rho, vol, iad22, nel, mom, ssp, svis)
subroutine alefvm_tfext(ixs, nv46, sig, ale_connect, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, nale, w, p, nel, wfext)
subroutine amass3(ms, rho, volgp, tag22, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, ixs, nel, jeul)
subroutine amass3f(ms, rho, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, nel)
subroutine amass3p(fskym, rho, volgp, tag22, volu, iads, off, ixs, nel, nft, jeul)
subroutine amass3pf(fskym, rho, volu, iads, off, nel, nft)
subroutine amomt3(pm, rho, vol, 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, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, deltax, vis, mat, qmv, bufmat, iparg1, ixs, iad22, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nale, nel, nft, mtn, ipm)
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab, fun_id, sens_id)
subroutine check_off_ale(f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, off, lft, llt, nel)
subroutine deltax22(vol, veul, voln, deltax, iad22, ixs, lft, llt, jale, jeul)
subroutine emomt3b(pm, rho, volgp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx, vdy, vdz, mat, qmv, bufmat, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, iparg1, nel, mtn, ipm)
subroutine epxle3(vol, veul, 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, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, det, deltax, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel, nft, jhbe)
subroutine fcumu3(offg, f, 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, nel)
subroutine fcumu3p(offg, sti, fsky, 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, nel, nft)
subroutine fdefo3(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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, vxr, vyr, vzr, dd, nel, jhbe, jcvt, isrot)
subroutine fderi3(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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, nel, jhbe)
subroutine fdlen3(voln, deltax, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
subroutine fe_close(hh, rho, voln, 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, nel)
subroutine ffint3(sig, dfe, 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, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
subroutine fhvis3(pm, rho, off, 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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, nel, nft, jlag, jhbe)
subroutine frho3(uvar, rho0, dxx, dyy, dzz, flux, flu1, voln, ngl, mat, off, 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 s11defo3(pm, v, veul, x, ixs, ale_connect, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, bufmat, nel, nft, ipm, nummat, numels)
subroutine s11fx3(pm, flux, ale_connect, ixs, ipm, bufmat, nel, nft, jale, jeul, nummat, s_ixs)
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 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 s8upd11t12(offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, jac_1, sig, sigl, nel)
subroutine s_hg5(pm, rho, off, 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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, fhour, partsav, iparts, nft, mtn, jlag, eani, pid, ivector, dt1, mat, geo, nel, isctl, sti, cxx)
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 scoor3_fvm(x, ixs, v, w, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, vis, offg, off, rho, rhoo, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, iparg, ng, nel, mom, tag22)
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 sderit3(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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, jac1, jac2, jac3, jac4, jac5, jac6, nel, jhbe)
subroutine sderito3(off, det, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, 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 sfint3(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, 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, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dfe, pbak, ixs, nel, nft, jale, jeul, svis)
subroutine sfint3b(sig, sigd, x, 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, 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, dr, rho, cxx, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, ixs, nel, ismstr, svis)
subroutine sfint_reg(nloc_dmg, var_reg, nel, off, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, vol0, nft)
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 shvis3(pm, rho, off, 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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, offg, vol0, iparg1, ifvm_skip, nel, nft, mtn, ismstr, jlag, jhbe)
subroutine smalla3(sav, offg, off, wxx, wyy, wzz, nel, ismstr, jlag)
subroutine smallb3(offg, off, nel, ismstr)
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 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 sdefot3(nel, 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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
subroutine srmalla3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
subroutine srmalla11(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)
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 mod_close(geo, ngeo, 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 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 sdefo3(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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
subroutine sderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det, voldp, nel, jeul, nxref, imulti_fvm)
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
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 startime(event, itask)
subroutine stoptime(event, itask)
subroutine stherm(mat_param, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tempel, heat, fphi, offg, off, partsav, iparts, vol0, nel, numnod, theaccfact)
subroutine voln22(voln, iad22, ixs, lft, llt, jale, jeul)