145
146
147
148 USE timer_mod
149 USE mat_elem_mod
151 USE intbufdef_mod
155 USE multi_fvm_mod
160 USE multi_fvm_mod
165 USE sensor_mod
173 USE output_mod , ONLY : output_
174 USE output_mod , ONLY : noda_surf, noda_pext, noda_pext_g, noda_surf_g
175 USE output_mod , ONLY : anim_has_noda_pext, h3d_has_noda_pext
180 USE loads_mod
181 USE ebcs_mod , only : t_ebcs_tab
183 USE elbufdef_mod
184 use fpcont2_max_output_mod
185 use fpcont2_min_output_mod
186 USE glob_therm_mod
187 use pblast_mod
189 USE nodal_arrays_mod , ONLY : nodal_arrays_
190
191
192
193#include "implicit_f.inc"
194
195
196
197#include "com01_c.inc"
198#include "com04_c.inc"
199#include "com06_c.inc"
200#include "com08_c.inc"
201#include "com09_c.inc"
202#include "com_xfem1.inc"
203#include "sphcom.inc"
204#include "scr05_c.inc"
205#include "scr07_c.inc"
206#include "scrnoi_c.inc"
207#include "scr14_c.inc"
208#include "scr16_c.inc"
209#include "scr20_c.inc"
210#include "scr23_c.inc"
211#include "param_c.inc"
212#include "scrfs_c.inc"
213#include "task_c.inc"
214#include "scr13_c.inc"
215#include "scr17_c.inc"
216#include "units_c.inc"
217#include "com10_c.inc"
218#include "spmd_c.inc"
219#include "fxbcom.inc"
220#include "filescount_c.inc"
221#include "intstamp_c.inc"
222#include "chara_c.inc"
223
224
225
226 TYPE(NODAL_ARRAYS_), INTENT(INOUT) :: NODES
227 TYPE(TIMER_), INTENT(INOUT) :: TIMERS
228 TYPE(t_ebcs_tab), TARGET, INTENT(IN) :: EBCS_TAB
229 LOGICAL LOUT
230 INTEGER, INTENT(IN) :: SFANI
231 INTEGER IPARG(*), IXS(*), IXQ(*), IXC(*), IXT(*), IXP(*),
232 . IXS10(6,*) ,IXS16(8,*) ,IXS20(12,*) ,INDX_CRK(*),
233 . IXR(*), IXTG(*), ITAB(*),ICUT(*),NSTRF(*),LPBY(*),
234 . NPRW(*),IPART(*),
235 . INOISE(*), NPBY(NNPBY,*),NEFLSW(*),NNFLSW(*),
236 . DD_IAD(NSPMD+1,*), IACCP(*), NACCP(*),
237 . IPARI(NPARI,*),WEIGHT(*),
238 . NOM_OPT(LNOPT1
239
240
241
242
243
244
245
246
247(*), SH4TRIM(*), SH3TRIM(*),
248 . IRBE2(*),IRBE3(*),LRBE2(*),LRBE3(*),
249 . FR_RBE2(*),FR_RBE3M(*)
250
251
252
253
254
255
256
257 . fsav(nthvki,*),skew(lskew,*), vr(3,*), in(*), dmas,
258 . accelm(llaccelm,*),bufsf(*),rdata(*),bufmat(*),bufgeo(*),
259 . spbuf(*),rivet(*),xframe(nxframe,*),zi_ply(*),vgaz(*)
260 my_real pm(npropm,*),d(3,numnod),v(*),w(*),elbuf(*),wa(*),x(3,*),geo(*),
261 . ms(*), a(3,*), cont(3,*),xcut(*),fint(*),eani(*),
262 . fext(3,*) ,fopt(6,*),anin(*),rwbuf(*),tani(*),
263 . ar(3,*),tf(*),fcont_max(*)
265 . dr(3,*),volmon(*),
266 . fxbrpm(*),fxbdep(*),fxbvit(*),fxbacc(*), rflow(*),
267 . fncont(3,*),ftcont(3,*),temp(*),thke(*),dxancg(3,*),
268 . err_thk_sh4(*),err_thk_sh3(*),fthreac(*),
269 . gresav(*), diag_sms(*), fncont2(3,*), xmom_sms(3,*),
270 . fcontg(*), fncontg(*), ftcontg(*),fanreac(*),pdama2(*),
271 . res_sms(*),qfricint(*), gauge(*),
272 . fcluster(*),mcluster(*),rthbuf(*),wige(*),knot(*),vsphio(*),
273 . stifn(*),stifr(*),ms_2d(*),pskids(*),knotlocpc(*),knotlocel(*),
274 . fncontp2(3,*) ,ftcontp2(3,*)
275 INTEGER FR_SEC(NSPMD+1,*),FR_RBY2(3,*),IAD_RBY2(4,*),FR_WALL(*),NODREAC(*),IAD_RBE2(4,*),INDEXCONT(*),NCONT,ITY
276 INTEGER NPC(*),MDS_MATID(*)
277 INTEGER LLOADP(*),ILOADP(SIZLOADP,*),IBCL(NIBCLD,*)
278 INTEGER TAGNCONT(NLOADP_HYD_INTER,NUMNOD),LOADP_HYD_INTER(NLOADP_HYD)
279 my_real :: loadp(lfaccld,*),forc(*)
280
281 INTEGER, DIMENSION(*), INTENT(IN) :: ISKWP
282 INTEGER, INTENT(IN) :: SZ_NPCONT2
284 my_real,
DIMENSION(3,NUMNOD),
INTENT(IN) :: x_c
285 my_real,
DIMENSION(3,SZ_NPCONT2)INTENT(INOUT)
286
287 TYPE(OUTPUT_),INTENT(INOUT) :: OUTPUT
288
289 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP)
290TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
291 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
292 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
293 TYPE (STACK_PLY) :: STACK
294 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
295 TYPE(H3D_DATABASE) :: H3D_DATA
296 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
297 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
298 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
299 TYPE (PINCH) :: PINCH_DATA
301 TYPE (DRAPEG_) :: DRAPEG
302 TYPE (SENSORS_) ,INTENT(INOUT):: SENSORS
303 TYPE (t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
304 TYPE (DYNAIN_DATABASE), INTENT(INOUT) :: DYNAIN_DATA
305 TYPE(USER_WINDOWS_),INTENT(IN) :: USER_WINDOWS
306 TYPE(DT_), INTENT(INOUT) :: DT
307 TYPE (LOADS_) , INTENT(IN) :: LOADS
308 TYPE (TTABLE),DIMENSION(NTABLE) ,INTENT(IN) :: TABLE
309 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
310 type (glob_therm_) ,intent(in) :: glob_therm
311type (PBLAST_)intent(in)
312INTEGER,INTENT(IN) :: IPARIT
313 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
314 LOGICAL :: TRIGGER_ANIM, TRIGGER_TH, TRIGGER_H3D
315
316
317
318 INTEGER N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,I,M,NEL,NFACE,
319 . K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11,K12,
320 . NEL1D,NEL2D,NEL3D, L1, IFIL, CPTFILE,IFILABF,
321 . IAD, J, THUPDT,IFLAG, IFV,ITHFLAG,NSENSOR
322 INTEGER :: IFLAG_ANIPCONT
323 INTEGER :: SN1,SN2,SN3,SN4,SN5,SN6,SN7,SN8,SN9,NELG,
324 . SKUIX, SKXUSR ,SKFACPTX,SKXEDGE,SKXFACET,SKXSOLID,SKNUMX1,
325 . SKNUMX2,SKNUMX3,SKOFFX1,SKOFFX2,SKOFFX3,SKMASS1,SKMASS2,
326 . SKMASS3,SKFUNC1,SKFUNC2,SKFUNC3,,SIG3DSOLID
327 INTEGER LENR,LENG,LENGC,LENGTG,LENGS,LENGT,LENGR,LENGP,LENGQ,LENGSPH
328 INTEGER SIZE_MES,LONG,LONG_TMP,N
329 INTEGER IFILNAM(2148),IFILNAM_TMP(
330
331
333 my_real,
DIMENSION(:),
ALLOCATABLE :: vmcdn
334 my_real,
DIMENSION(:),
ALLOCATABLE :: csefric,csefric_stamp,csefricg,csefricg_stamp
335
336 INTEGER :: LEN_TMP_NAME,LEN_TMP_NAME2
337 CHARACTER(len=100) :: TMP_NAME,TMP_NAME2
338 CHARACTER FILNAMABF*100,FILNAMABF_TMP*100
339 LOGICAL :: NEED_TO_REINIT_FSAV
340
341 IF(iplyxfem == 0 ) anim_ply = 0
342 IF(icrack3d > 0 ) anim_crk = 1
343 cptfile=0
344 nsensor = sensors%NSENSOR
345 need_to_reinit_fsav = .false.
346
347
348
349 IF(nnoise>0)THEN
351 1 bufnois,inoise,inoise(2*nnoise+1),bufnois(2),v ,
352 2 a ,ixs ,elbuf_tab ,iparg ,weight,
353 3 ixq )
354 ENDIF
355
356
357
358
359
360 IF (ns10e > 0) THEN
361 leng = 3*numnod
362 ALLOCATE(vmcdn(leng))
363 vmcdn(1:leng)=v(1:leng)
366 1 weight ,mas_nd ,kend )
368 2 dmas ,weight ,enintot ,ekintot,
369 3 a ,ar ,fxbipm ,fxbrpm ,monvol ,
370 4 xmom_sms ,sensors ,qfricint ,ipari ,
371 5 weight_md,wfexth ,iflag ,ms_2d, multi_fvm ,
372 6 mas_nd ,kend ,h3d_data,dynain_data,user_windows%USREINT,output)
373 DEALLOCATE(vmcdn)
374 ELSE
375 bid = zero
376 CALL ecrit(timers,partsav ,ms ,v ,in ,vr ,
377 2 dmas ,weight ,enintot ,ekintot,
378 3 a ,ar ,fxbipm ,fxbrpm ,monvol ,
379 4 xmom_sms ,sensors ,qfricint ,ipari ,
380 5 weight_md,wfexth ,iflag ,ms_2d
381 6 bid ,bid ,h3d_data,dynain_data,user_windows%USREINT,output)
382 ENDIF
383
384
385
386
388
389
390
391
392 IF(tt>=output%TH%THIS .AND. nsflsw/=0)
393 .
CALL fluxsw(nsflsw,neflsw, nnflsw, crflsw, flsw ,
394 . x ,v ,elbuf )
395
396
397
398 IF(nspmd>1.AND.(anim_n(2)+outp_n(2)>0).AND.
399 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.
400 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
401 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
402 . manim==12.OR.manimTHEN
403 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
404 CALL spmd_exch_adm(anin(ndma+1),iad_elem,fr_elem,lenr,weight_md)
405 ENDIF
406 IF(nspmd>1.AND.
407 . (anim_n(12)+outp_n(3)>0).AND.
408 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.
409 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
410 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
411 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15)) THEN
412 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
413 CALL spmd_exch_adm(anin(ndin+1),iad_elem,fr_elem,lenr,weight)
414 ENDIF
415
416
417
418
419 trigger_th = tt >= output%TH%THIS
420 trigger_h3d = (ilasth3d==1.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR. h3d_data%MH3D ==1 .OR.
421 . (mstop == 1 .AND. ictlstop == 0 .AND. h3d_data%IH3D/= 0) .OR.
422 . (mstop == 2 .AND. h3d_data%IH3D/= 0) .OR.
423 . (dt2<=zero .AND. h3d_data%IH3D/= 0) )
424 trigger_anim = (tt>=tanim .AND. tt<=tanim_stop).OR.
425 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
426 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15 .OR.
427 . (mstop == 1 .AND. tanim < ep30 .AND. ictlstop == 0) .OR.
428 . mstop == 2 .OR. dt2<=zero
430 . trigger_th, trigger_anim, trigger_h3d )
431
432
433
434
435 iflag_anipcont = 0
436
437 IF((h3d_data%N_SCAL_CSE_FRIC /=0).OR.(h3d_data%N_SCAL_CSE_FRICINT /=0)
438 . .AND.
439 . (tt>=tanim.OR.tt>=toutp.OR.tt>=h3d_data%TH3D .OR.
440 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
441 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
442 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
443 . h3d_data%MH3D/=0)) THEN
444
447 ELSE
448 ALLOCATE(csefric(0))
449 ENDIF
452
453 ELSE
454 ALLOCATE(csefric_stamp(0))
455 ENDIF
456 IF(h3d_data%N_SCAL_CSE_FRIC /=0) THEN
457 ALLOCATE(csefricg(numnod))
458 csefricg = zero
459 IF(nintstamp /= 0) THEN
460 ALLOCATE(csefricg_stamp(numnodg))
461 ELSE
462 ALLOCATE(csefricg_stamp(0))
463 ENDIF
464 ELSE
465 ALLOCATE(csefricg(0))
466 ALLOCATE(csefricg_stamp(0))
467 ENDIF
468 ELSE
469 ALLOCATE(csefric(0))
470 ALLOCATE(csefric_stamp(0))
471 ALLOCATE(csefricg(0))
472 ALLOCATE(csefricg_stamp(0))
473 ENDIF
474
475
476 IF(((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT /=0.OR.
477 . anim_v(27)+h3d_data%N_VECT_PCONT2 /=0..OR.
478 . h3d_data%N_SCAL_CSE_FRIC /=0.OR.h3d_data%N_SCAL_CSE_FRICINT /=0)
479 . .AND.
480 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR.
481 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
482 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
483 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
484 . h3d_data%MH3D/=0))
485 . .OR.h3d_data%N_VECT_PCONT_MAX>0
486 . .OR.h3d_data%N_VECT_PCONT2_MAX>0)THEN
487 IF(nintstamp==0)THEN
488 CALL ani_pcont(ixs ,ixc ,ixtg ,fasolfr ,x ,
489 . fncont ,ftcont,iad_elem
490 . ixq ,segquadfr,ixs10 ,fncontp2,ftcontp2
491 . h3d_data,csefric,csefricg,sz_npcont2,npcont2)
492 ELSE
493 iflag_anipcont = 1
495 . fncont
496 . nodglob ,fncontg,ftcontg,fncontp2,ftcontp2,
497 . h3d_data ,csefric_stamp,csefricg_stamp,sz_npcont2
498 END IF
499 END IF
500
501
502
503 IF(anim_v(26)+h3d_data%N_VECT_CONT_MAX /=0) THEN
505 ENDIF
506 IF(h3d_data%N_VECT_PCONT_MAX /=0) THEN
509 ENDIF
510 IF(h3d_data%N_VECT_CONT2_MAXTHEN
512 ENDIF
513 IF(h3d_data%N_VECT_CONT2_MIN /=0) THEN
515 ENDIF
516 IF(h3d_data%N_VECT_PCONT2_MAX /=0) THEN
517 CALL fpcont2_max_output(fncontp2,fncont2_max,sz_npcont2,npcont2,weight,
518 . npcont2_max,numnod)
519 CALL fpcont2_max_output(ftcontp2,ftcont2_max,sz_npcont2,npcont2,weight,
520 . npcont2_max,numnod)
521 ENDIF
522 IF(h3d_data%N_VECT_PCONT2_MIN /=0) THEN
523 CALL fpcont2_min_output(fncontp2,fncont2_min,sz_npcont2,npcont2,weight,
524 . npcont2_min,numnod)
525 CALL fpcont2_min_output(ftcontp2,ftcont2_min,sz_npcont2,npcont2,weight,
526 . npcont2_min,numnod)
527 ENDIF
528
529 IF ( trigger_anim )THEN
530 ianim=ianim+1
531
532
533
534
535
536
537
538
539
540
542 nel3d = numels + numsph + 3*numels16
543 nel2d = numelc + numeltg + numelq
544 nel1d = numelt + numelp + 2*numelr + nanim1d
545 nel =
max(nel1d,nel2d,nel3d)
546
547 nelg =
max( numelsg+3*numels16g+numsphg+27*numelig3d,
548 . numelcg+numeltgg+numelqg,
549 . numeltrg + numelpg + 2*numelrg + nanim1d)
550 sn1 =
max(3*numnod,6*nel3d+6*27*numelig3d,3*nel2d,9*nel1d,numsph)
551 sn2 = nel+3*numels16+numsph
552 sn3 = 3 * numnod + 2*numels16 + 64*numelig3d
553 IF (nspmd > 1) THEN
555 IF (
kmesh(ifv) > 1)
THEN
556 sn3 = sn3 + 3 *
fvspmd(ifv)%NNA_L
557 ENDIF
558 ENDDO
559 ENDIF
560 sn4 = npart + 1
561 sn5 = nel2d
562 sn6 = npart
563 sn7 = nelg + 1
564 n1 = 1
565 n2 = n1 +
max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
566 n3 = n2 + nel
567 n4 = n3 + 3 * numnod
568 n5 = n4 + npart + 1
569 n6 = n5 + nel2d
570 n7 = n6 + npart
571 n8 = n7 + nel + 1
572 IF ((numelx>0) .OR. (numelxg>0)) THEN
573
574 skuix = 2*maxnx
575 skxusr = 3*maxnx
576 skfacptx = npart
577 skxedge = 2*nanim1d
578 skxfacet = 4*nanim2d
579 skxsolid = 8*nanim3d
580 sknumx1 = nanim1d
581 sknumx2 = nanim2d
582 sknumx3 = nanim3d
583 skoffx1 = nanim1d
584 skoffx2 = nanim2d
585 skoffx3 = nanim3d
586 skmass1 = nanim1d
587 skmass2 = nanim2d
588 skmass3 = nanim3d
589 skfunc1 = 10*nanim1d
590 skfunc2 = 10*nanim2d
591 skfunc3 = 10*nanim3d
592 ELSE
593 skuix = 1
594 skxusr = 1
595 skfacptx = 1
596 skxedge = 1
597 skxfacet = 1
598 skxsolid = 1
599 sknumx1 = 1
600 sknumx2 = 1
601 sknumx3 = 1
602 skoffx1 = 1
603 skoffx2 = 1
604 skoffx3 = 1
605 skmass1 = 1
606 skmass2 = 1
607 skmass3 = 1
608 skfunc1 = 1
609 skfunc2 = 1
610 skfunc3 = 1
611 ENDIF
612
613 sig3dsolid = 8*27*numelig3d
614
615 sn9 = npart
616
617 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
618 k2=k1+numels
619 k3=k2+numelq
620 k4=k3+numelc
621 k5=k4+numelt
622 k6=k5+numelp
623 k7=k6+numelr
624 k8=k7+0
625 k9=k8+numeltg
626 k10=k9+numelx
627 k11=k10+numsph
628 k12=k11+numelig3d
629 l1=1+6*(numelc+numeltg)*iepsdot
630
632 1 x ,d ,v ,a ,elbuf ,
633 2 ixs ,ixq ,ixc ,ixt ,ixp ,
634 3 ixr ,ixtg ,sn1 ,sn2 ,sn3 ,
635 4 sn4 ,iparg ,pm ,geo ,ms ,
636 5 sn5 ,cont ,sn6 ,icut ,skew ,
637 6 xcut ,fint ,itab ,sn7 ,fext ,
638 7 fopt ,anin ,lpby ,npby ,nstrf ,
639 8 rwbuf ,nprw ,tani ,elbuf_tab ,mat_param,
640 a dd_iad ,weight ,eani ,ipart ,cluster ,
641 b ipart(k1) ,ipart(k2) ,ipart(k3
642 c ipart(k6) ,ipart(k7) ,ipart(k8) ,
643 d rby ,sn3 ,tani(l1
644 e bufsf ,idata ,rdata ,sn9 ,bufmat ,
645 f bufgeo ,kxx ,ixx ,ipart(k9) ,skuix ,
646 g skxusr ,skfacptx ,skxedge ,skxfacet ,skxsolid ,
647 h sknumx1 ,sknumx2 ,sknumx3 ,skoffx1 ,skoffx2 ,
648 i skoffx3 ,skmass1 ,skmass2 ,skmass3 ,skfunc1 ,
649 j skfunc2 ,skfunc3 ,kxsp ,ixsp ,nod2sp ,
650 k ipart(k10) ,spbuf ,ixs10 ,ixs20 ,ixs16 ,
651 l vr ,monvol ,volmon ,ipm ,igeo,nodglob,
652 m iad_elem ,fr_elem ,fr_sec ,fr_rby2 ,iad_rby2 ,
653 n fr_wall ,iflow ,rflow ,fncont ,ftcont ,
654 o temp ,thke ,err_thk_sh4 ,err_thk_sh3 ,diag_sms,
655 p ipari ,fncont2 ,dr ,ale_connect ,
656 q irbe2 ,irbe3 ,lrbe2 ,lrbe3 ,fr_rbe2 ,
657 r fr_rbe3m ,iad_rbe2 ,dxancg ,inod_pxfem ,iel_pxfem,
658 s zi_ply ,vgaz ,fcontg ,fncontg ,ftcontg ,
659 t fanreac ,inod_crk ,iel_crk ,elcutc ,iadc_crk ,
660 u pdama2 ,res_sms ,weight_md ,nodglobxfe ,nodedge ,
661 v fcluster ,mcluster ,xfem_tab ,w ,
662 w nv46 ,ipart(k11),kxig3d ,ixig3d ,sig3dsolid,
663 x knot ,wige ,nercvois ,nesdvois ,lercvois ,
664 y lesdvois ,crkedge ,indx_crk ,xedge4n ,xedge3n ,
665 z stack ,sph2sol ,stifn ,stifr ,igrnod ,
666 1 h3d_data ,subset ,multi_fvm ,knotlocpc ,knotlocel ,
667 2 fcont_max
668 . drape_sh4n, drape_sh3n, drapeg,output )
669
670 ENDIF
671 IF((tt>=tanim .AND. tt<=tanim_stop))tanim=tanim+dtanim
672 IF ((tstop<tanim).AND.(tanim<tstop+em06*tstop)
673 . .AND.(tstop+em06*tstop<tanim+dtanim)) THEN
674 tanim=tstop
675 END IF
676
677
678
679 IF (ilasth3d==1.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR. h3d_data%MH3D ==1 .OR.
680 . (mstop == 1 .AND. ictlstop == 0 .AND. h3d_data%IH3D/= 0) .OR.
681 . (mstop == 2 .AND. h3d_data%IH3D/= 0) .OR.
682 . (dt2<=zero .AND. h3d_data%IH3D/= 0) )THEN
683
684 h3d_data%IH3D=h3d_data%IH3D+1
685
686
687 nel3d = numels + numsph + 3*numels16
688 nel2d = numelc + numeltg + numelq
689 nel1d = numelt + numelp + 2*numelr + nanim1d
690 nel =
max(nel1d,nel2d,nel3d)
691
692 nelg =
max( numelsg+3*numels16g+numsphg+27*numelig3d,
693 . numelcg+numeltgg+numelqg,
694 . numeltrg + numelpg + 2*numelrg + nanim1d)
695 sn1 =
max(3*numnod,6*nel3d+6*27*numelig3d,3*nel2d,9*nel1d,numsph)
696 sn2 = nel+3*numels16+numsph
697 sn3 = 3 * numnod + 2*numels16 + 64*numelig3d
698 sn4 = npart + 1
699 sn5 = nel2d
700 sn6 = npart
701 sn7 = nelg + 1
702 n1 = 1
703 n2 = n1 +
max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
704 n3 = n2 + nel
705 n4 = n3 + 3 * numnod
706 n5 = n4 + npart + 1
707 n6 = n5 + nel2d
708 n7 = n6 + npart
709 n8 = n7 + nel + 1
710 IF ( (numelx>0) .OR.(numelxg>0) ) THEN
711
712 skuix = 2*maxnx
713 skxusr = 3*maxnx
714 skfacptx = npart
715 skxedge = 2*nanim1d
716 skxfacet = 4*nanim2d
717 skxsolid = 8*nanim3d
718 sknumx1 = nanim1d
719 sknumx2 = nanim2d
720 sknumx3 = nanim3d
721 skoffx1 = nanim1d
722 skoffx2 = nanim2d
723 skoffx3 = nanim3d
724 skmass1 = nanim1d
725 skmass2 = nanim2d
726 skmass3 = nanim3d
727 skfunc1 = 10*nanim1d
728 skfunc2 = 10*nanim2d
729 skfunc3 = 10*nanim3d
730 ELSE
731 skuix = 1
732 skxusr = 1
733 skfacptx = 1
734 skxedge = 1
735 skxfacet = 1
736 skxsolid = 1
737 sknumx1 = 1
738 sknumx2 = 1
739 sknumx3 = 1
740 skoffx1 = 1
741 skoffx2 = 1
742 skoffx3 = 1
743 skmass1 = 1
744 skmass2 = 1
745 skmass3 = 1
746 skfunc1 = 1
747 skfunc2 = 1
748 skfunc3 = 1
749 ENDIF
750
751 sig3dsolid = 8*27*numelig3d
752
753 sn9 = npart
754
755 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
756 k2=k1+numels
757 k3=k2+numelq
758 k4=k3+numelc
759 k5=k4+numelt
760 k6=k5+numelp
761 k7=k6+numelr
762 k8=k7+0
763 k9=k8+numeltg
764 k10=k9+numelx
765 k11=k10+numsph
766 k12=k11+numelig3d
767 l1=1+6*(numelc+numeltg)*iepsdot
768
770 1 x ,d ,v ,a ,elbuf ,
771 2 ixs ,ixq ,ixc ,ixt ,ixp ,
772 3 ixr ,ixtg ,sn1 ,sn2 ,sn3 ,
773 4
774 5 sn5 ,cont ,sn6 ,icut ,skew ,
775 6 xcut ,fint ,itab ,sn7 ,fext ,
776 7 fopt ,anin ,lpby ,npby ,nstrf ,
777 8 rwbuf ,nprw ,tani ,elbuf_tab ,mat_param,
778 a dd_iad ,weight ,eani ,ipart ,cluster ,
779 b ipart(k1) ,ipart(k2) ,ipart(k3) ,ipart
780
781 d rby ,sn3 ,tani(l1) ,nom_opt ,
782 e bufsf ,idata ,rdata ,sn9 ,bufmat ,
783 f bufgeo ,kxx
784 g skxusr ,skfacptx ,skxedge ,skxfacet ,skxsolid ,
785 h sknumx1 ,sknumx2 ,sknumx3 ,skoffx1 ,skoffx2 ,
786 i skoffx3 ,skmass1 ,skmass2 ,skmass3 ,skfunc1 ,
787 j
788 k ipart(k10) ,spbuf ,ixs10 ,ixs20 ,ixs16 ,
789 l vr ,monvol ,volmon ,ipm ,igeo,nodglob,
790 m iad_elem ,fr_elem ,fr_sec ,fr_rby2 ,iad_rby2 ,
791 n fr_wall ,iflow ,rflow ,fncont ,ftcont ,
792 o temp ,thke ,err_thk_sh4 ,err_thk_sh3 ,diag_sms,
793 p ipari ,fncont2 ,dr ,ale_connect ,
794 q irbe2 ,irbe3 ,lrbe2 ,lrbe3 ,fr_rbe2 ,
795 r fr_rbe3m ,iad_rbe2 ,dxancg ,inod_pxfem ,iel_pxfem,
796 s zi_ply ,vgaz ,fcontg ,fncontg ,ftcontg ,
797 t fanreac ,inod_crk ,iel_crk ,elcutc ,iadc_crk ,
798 u pdama2 ,res_sms ,weight_md ,nodglobxfe ,nodedge
799 v
800 w nv46 ,ipart(k11),kxig3d ,ixig3d ,sig3dsolid,
801 x knot ,wige ,nercvois ,nesdvois ,lercvois ,
802 y lesdvois ,crkedge ,indx_crk ,xedge4n ,xedge3n
803 z stack ,sph2sol ,stifn ,stifr ,igrnod ,
804 1 sh4tree ,sh3tree ,h3d_data
805 2 pskids ,tag_skins6,tf ,npc ,fcont_max ,
806 3 mds_matid ,fncontp2 ,ftcontp2 ,ibcl ,iloadp ,
807 4 lloadp ,loadp ,sensors ,tagncont ,loadp_hyd_inter,
808 5 xframe ,forc ,ar ,csefric ,csefricg ,
809 6 csefric_stamp,csefricg_stamp,table ,iframe ,loads ,
810 7 drape_sh4n, drape_sh3n, drapeg ,x_c ,glob_therm,pblast)
811 ENDIF
812 IF(ALLOCATED(csefric)) DEALLOCATE(csefric)
813 IF(ALLOCATED(csefricg)) DEALLOCATE(csefricg)
814 IF(ALLOCATED(csefric_stamp)) DEALLOCATE(csefric_stamp)
815 IF(ALLOCATED(csefricg_stamp)) DEALLOCATE(csefricg_stamp)
816
817 IF(tt>=h3d_data%TH3D) h3d_data%TH3D = h3d_data%TH3D + h3d_data%DTH3D
818 IF((tstop< h3d_data%TH3D).AND.(h3d_data%TH3D < tstop+em06*tstop) .AND.(tstop+em06*tstop< h3d_data%TH3D + h3d_data%DTH3D)) THEN
819 h3d_data%TH3D = tstop
820 END IF
821
822 IF (ispmd==0) THEN
823 leng = numnodg
824 ELSE
825 leng = 0
826 ENDIF
827
828 IF(tt>=toutp.OR.
829 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
830 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
831 . moutpt==1) THEN
832 ioutp=ioutp+1
834 2 ixs ,ixq ,ixc ,ixt ,ixp ,
835 3 ixr ,ixtg
836 4 ms ,cont ,itab ,partsav,fint ,
837 5 fext ,tani ,eani ,anin ,ipart ,
838 6 vr ,elbuf_tab ,dd_iad ,weight,
839 7 ipm ,kxsp ,spbuf ,nodglob,leng ,
840 8 fopt ,nom_opt ,npby ,fncont ,ftcont ,
841 9 geo ,thke ,stack ,drape_sh4n, drape_sh3n,
842 a drapeg,output)
843 IF(tt>=toutp)toutp=toutp+dtoutp
844 IF ((tstop<toutp).AND.(toutp<tstop+em06*tstop)
845 . .AND.(tstop+em06*tstop<toutp+dtoutp)) THEN
846 toutp=tstop
847 END IF
848 END IF
849
850
851 IF(tt>=tstat.OR.
852 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
853 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
854 . mstatt==1) THEN
855 istatf=istatf+1
856
857 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
858 k2=k1+numels
859 k3=k2+numelq
860 k4=k3+numelc
861 k5=k4+numelt
862 k6=k5+numelp
863 k7=k6+numelr
864 k8=k7+0
865 k9=k8+numeltg
866 k10=k9+numelx
867 k11=k10+numsph
868
869 IF (ispmd==0) THEN
870 lengc = numelcg
871 lengtg= numeltgg
872 lengs = numelsg
873 lengr = numelrg
874 lengp = numelpg
875 lengt = numeltrg
876 lengq = numelqg
877 lengsph = numsphg
878 ELSE
879 lengc = 0
880 lengtg= 0
881 lengs = 0
882 lengr = 0
883 lengp = 0
884 lengt = 0
885 lengq = 0
886 lengsph = 0
887 ENDIF
888
889 CALL genstat(x ,ms ,elbuf_tab, elbuf ,spbuf ,
890 2 ixs ,ixq ,ixc ,ixt ,ixp ,
891 3 ixr ,ixtg ,kxsp ,iparg ,ipm ,
892 4 igeo ,itab ,ipart ,pm ,geo ,
893 5 ipart(k1),ipart(k2),ipart(k3),ipart(k4),ipart(k5) ,
894 6 ipart(k6),ipart(k7),ipart(k8),ipart(k9),ipart(k10),
895 7 dd_iad ,weight,nodglob ,leng ,ipart_state,
896 8 lengc ,lengtg,sh4tree ,sh3tree, lengs,
897 9 sh4trim ,sh3trim,temp ,ixs10 ,thke
898 a ixs16 ,ixs20 ,icode ,lengr ,lengp
899 b lengt ,iskew
900 c multi_fvm,bufmat ,npby ,lpby ,stack ,
901 d drape_sh4n, drape_sh3n,dr,drapeg ,mat_param,
902 e ipart(k10),output,lengsph,numsphg,glob_therm%ITHERM_FE)
903 IF(tt>=tstat)tstat=tstat+dtstat
904 IF ((tstop<tstat).AND.(tstat<tstop+em06*tstop)
905 . .AND.(tstop+em06*tstop<tstat+dtstat)) THEN
906 tstat=tstop
907 END IF
908 END IF
909
910
911
912 IF(tt>=dynain_data%TDYNAIN) THEN
913 dynain_data%IDYNAINF=dynain_data%IDYNAINF+1
914
915 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
916 k2=k1+numels
917 k3=k2+numelq
918 k4=k3+numelc
919 k5=k4+numelt
920 k6=k5+numelp
921 k7=k6+numelr
922 k8=k7+0
923 k9=k8+numeltg
924 k10=k9+numelx
925 k11=k10+numsph
926
927 IF (ispmd==0) THEN
928 lengc = numelcg
929 lengtg= numeltgg
930 ELSE
931 lengc = 0
932 lengtg= 0
933 ENDIF
934
935 CALL gendynain(x ,elbuf_tab, elbuf ,ixc ,ixtg ,
936 2 iparg ,ipm , igeo ,itab ,ipart ,
937 3 pm ,geo , ipart(k3),ipart(k8),leng
938 4 lengc ,lengtg , weight ,nodglob ,thke ,
939 5 npby ,lpby , stack ,drape_sh4n ,drape_sh3n
940 6 dynain_data,drapeg ,mat_param)
941
942 IF(tt>=dynain_data%TDYNAIN)dynain_data%TDYNAIN=dynain_data%TDYNAIN
943 IF ((tstop<dynain_data%TDYNAIN).AND.(dynain_data%TDYNAIN<tstop+em06
944 . .AND.(tstop+em06*tstop<dynain_data%TDYNAIN+dynain_data%DTDYNAIN)) THEN
945 dynain_data%TDYNAIN=tstop
946 END IF
947 END IF
948
949
950
951
952 IF(nabfile /= 0) THEN
953 tabfwr0(1) = tabfwr(1)
954 tabfwr0(2) = tabfwr(2)
955 tabfwr0(3) = tabfwr(3)
956 tabfwr0(4) = tabfwr(4)
957 tabfwr0(5) = tabfwr(5)
958 tabfwr0(6) = tabfwr(6)
959 tabfwr0(7) = tabfwr(7)
960 tabfwr0(8) = tabfwr(8)
961 tabfwr0(9) = tabfwr(9)
962 tabfwr0(10) = tabfwr(10)
963 ENDIF
964 IF(ninter+nexmad/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONTTHEN
965 IF(sfani >0)
CALL anicon0(cont,numnod
966
967 IF (multi_fvm%IS_USED .AND. h3d_data%N_VECT_CONT > 0)
CALL anicon0
968 ENDIF
969 IF(nintstamp/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONTTHEN
970 CALL anicon2(fcontg,ncont,indexcont)
971 ENDIF
972 IF(ninter/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)THEN
975 ENDIF
976 IF(nintstamp/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONTTHEN
977 IF(iflag_anipcont > 0) THEN
980 ELSE
981 CALL anicon2(fncontg,ncont,indexcont)
982 CALL anicon2(ftcontg,ncont,indexcont)
983 ENDIF
984 ENDIF
985
986 IF(ninter/=0.AND.anim_v(27)+h3d_data%N_VECT_PCONT2>0)THEN
990 ENDIF
991
992 n1 = 1
993
994 n2 = 1
995
996 IF (th_vers < 40)THEN
997
998 WRITE(istdo,*)' ** ERROR : TH VERSION OLDER THAN 41 IS '
999 * 'NO MORE SUPPORTED'
1000 ELSE
1001
1002
1003 thupdt = 0
1004 IF(tt>=output%TH%THIS) THEN
1005 thupdt = 1
1006 ELSEIF(nabfile/=0)THEN
1007 IF(tt>=tabfis(1)) thupdt = 1
1008 ENDIF
1009 IF(thupdt==0)THEN
1010 DO i=1,9
1011 IF(tt>=output%TH%THIS1(i)) THEN
1012 thupdt = 1
1013 ELSEIF(nabfile/=0)THEN
1014 IF(tt>=tabfis(i+1)) thupdt = 1
1015 ENDIF
1016 ENDDO
1017 ENDIF
1018
1019 IF (ilastanim/=1.AND.ilastanim/=2) THEN
1020
1021 IF (nthgrp01(1)/=0)THEN
1022 iunit = iuhi(1)
1023 ifil = iunit
1024 IF (tt>=output%TH%THIS1(1))THEN
1025 size_mes=1
1026 ELSE
1027 size_mes=0
1028 ENDIF
1029 ithflag = 1
1030 CALL hist2(pm ,d ,x ,v ,a ,
1031 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1032 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1033 5 partsav,accelm,nsensor ,mat_param,
1034 6 weight,ipart,igrsurf,ebcs_tab,
1035 7 output%TH%ITHGRPA, output%TH%ITHBUFA, subset,geo ,
1036 8 kxx ,ixr
1037 9 kxsp ,nod2sp ,spbuf ,
1038 b ar ,vr
1039 d ixri ,rivet
1040 e iskwn ,iframe ,xframe ,ixc ,ixq ,
1041 f output%TH%DTHIS1(1),output%TH%THIS1(1), ifil, nthgrp1(1),ixtg ,
1042 g igeo ,ipm ,
1043 h ipartl,npartl, iaccp , naccp ,
1044 i iparth ,2 ,1 ,
1045 j monvol,volmon,fr_mv ,temp,inod_pxfem,
1046 k fthreac,nodreac,gresav ,gauge ,
1047 l igaup ,ngaup ,aform(1),size_mes,
1048 m rthbuf ,thke ,stack ,isphio ,vsphio,
1049 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFA,
1050 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1051
1052 IF (size_mes==1 .AND.aform(1)==3 .AND.ispmd==0 )
1054
1055
1056
1057 IF(abfile(2) /= 0) THEN
1058#ifdef DNC
1059 ifilabf = 12
1060 CALL abfhist2(pm ,d ,x ,v ,a ,
1061 2 ixs ,elbuf,wa(n2
1062 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1063 5 partsav,accelm,lout ,nsensor ,mat_param,
1064 6 ipari,weight,ipart,igrsurf,
1065 7 output%TH%ITHGRPA,output%TH%ITHBUFA,subset
1066 8 kxx ,ixr,
1067 9 kxsp ,nod2sp ,spbuf ,
1068 b npartsav,ar ,vr ,dr,
1069 d fsavd ,ixri ,rivet , ixp ,
1070 e iskwn ,iframe ,xframe,ixc ,ixq,
1071 f dtabf(2), tabfis(2),ifilabf,nthgrp1(1),ixtg,
1072 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1073 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1074 i iparth ,2 ,1 ,
1075 j 1 ,monvol ,volmon,fr_mv
1076 k fthreac,nodreac,gresav ,tabfwr(2),
1077 l 2 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1078 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1079 n output%TH%SITHBUFA)
1080 cptfile=cptfile+1
1081
1082 IF(tt>=tabfwr0(2) .AND. ispmd == 0) THEN
1083 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_a.tmp'
1084 long_tmp = 11
1087 filnamabf=rootnam(1:rootlen)//'_'//chrun'_a.abf'
1088 long = 11
1089
1092 DO i=1,len_tmp_name2
1093 ifilnam(i)=ichar(tmp_name2(i:i))
1094 ENDDO
1095 DO i=1,len_tmp_name
1096 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1097 ENDDO
1098
1099
1100
1101 CALL abffile_update(abinp,about,nabfwr(2),ifilnam,
1102 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1103 . cptfile)
1104 nabfwr(2) = 0
1105 ENDIF
1106#endif
1107 ELSE
1108 tabfis(2)= ep30
1109 ENDIF
1110
1111 ELSE
1112 output%TH%THIS1(1)= ep30
1113 tabfis(2)= ep30
1114 ENDIF
1115
1116 IF(nthgrp01(2)/=0)THEN
1117 iunit = iuhi(2)
1118 ifil = iunit
1119 IF (tt>=output%TH%THIS1THEN
1120 size_mes=1
1121 ELSE
1122 size_mes=0
1123 ENDIF
1124 ithflag = 2
1125 CALL hist2(pm ,d ,x ,v ,a ,
1126 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1127 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1128 5 partsav,accelm,nsensor ,mat_param,
1129 6 weight,ipart,igrsurf,ebcs_tab,
1130 7 output%TH%ITHGRPB,output%TH%ITHBUFB,subset,geo ,
1131 8 kxx ,ixr,
1132 9 kxsp ,nod2sp ,spbuf ,
1133 b ar ,vr ,dr,
1134 d ixri ,rivet ,ixp ,
1135 e iskwn
1136 f output%TH%DTHIS1(2),output%TH%THIS1(2), ifil, nthgrp1(2),ixtg ,
1137 g igeo ,ipm ,
1138 h ipartl,npartl, iaccp , naccp ,
1139 i iparth(1,(npart+nthpart)+1),2,1,
1140 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1141 k fthreac,nodreac,gresav ,gauge ,
1142 l igaup ,ngaup, aform(2),size_mes,
1143 m rthbuf ,thke ,stack,isphio ,vsphio,
1144 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFB,
1145 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1146
1147 IF (size_mes==1 .AND.aform(2)==3 .AND.ispmd==0 )
1149
1150 IF(abfile(3) /= 0) THEN
1151#ifdef DNC
1152 ifilabf = 13
1153 CALL abfhist2(pm ,d ,x ,v ,a ,
1154 2 ixs ,elbuf,wa(n2),iparg,
1155 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1156 5 partsav,accelm,lout ,nsensor ,mat_param,
1157 6 ipari,weight,ipart,igrsurf,
1158 7 output%TH%ITHGRPB,output%TH%ITHBUFB,subset,geo ,
1159 8 kxx ,ixr,
1160 9 kxsp ,nod2sp ,spbuf ,
1161 b npartsav,ar ,vr ,dr,
1162 d fsavd ,ixri ,rivet , ixp ,
1163 e iskwn ,iframe ,xframe,ixc ,ixq,
1164 f dtabf(3), tabfis(3),ifilabf,nthgrp1(2),ixtg ,
1165 g igeo ,ipm ,fxbipm, fxbdep, fxbvit
1166 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1167 i iparth(1,(npart+nthpart)+1),2 ,1 ,
1168 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1169 k fthreac
1170 l 3 ,gauge ,igaup,ngaup ,rthbuf ,thke,
1171 m stack ,isphio ,vsphio,ithflag,2,pinch_data,multi_fvm,w,
1172 n output%TH%SITHBUFB )
1173 cptfile=cptfile+1
1174
1175 IF(tt>=tabfwr0(3) .AND. ispmd == 0) THEN
1176 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_b.tmp'
1177 long_tmp = 11
1180
1181 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_b.abf'
1182 long = 11
1185
1186 DO i=1,len_tmp_name2
1187 ifilnam(i)=ichar(tmp_name2(i:i))
1188 ENDDO
1189 DO i=1,len_tmp_name
1190 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1191 ENDDO
1192
1193 CALL abffile_update(abinp,about,nabfwr(3),ifilnam,
1194 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1195 . cptfile)
1196 nabfwr(3) = 0
1197 ENDIF
1198#endif
1199 ELSE
1200 tabfis(3)= ep30
1201 ENDIF
1202
1203
1204
1205 ELSE
1206 output%TH%THIS1(2)= ep30
1207 tabfis(3)= ep30
1208 ENDIF
1209
1210 IF(nthgrp01(3)/=0)THEN
1211 iunit = iuhi(3)
1212 ifil = iunit
1213
1214 IF (tt>=output%TH%THIS1THEN
1215 size_mes=1
1216 ELSE
1217 size_mes=0
1218 ENDIF
1219 ithflag = 3
1220 CALL hist2(pm ,d ,x ,v ,a ,
1221 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1222 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1223 5 partsav,accelm,nsensor ,mat_param,
1224 6 weight,ipart,igrsurf,ebcs_tab,
1225 7 output%TH%ITHGRPC,output%TH%ITHBUFC,subset,geo ,
1226 8 kxx ,ixr,
1227 9 kxsp ,nod2sp ,spbuf ,
1228 b ar ,vr ,dr,
1229 d ixri ,rivet , ixp ,
1230 e iskwn ,iframe ,xframe,ixc ,ixq ,
1231 f output%TH%DTHIS1(3),output%TH%THIS1(3), ifil, nthgrp1(3),ixtg ,
1232 g igeo ,ipm ,
1233 h ipartl,npartl, iaccp , naccp ,
1234 i iparth(1,2*(npart+nthpart)+1),2,1,
1235 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1236 k fthreac,nodreac,gresav ,gauge ,
1237 l igaup ,ngaup ,aform(3),size_mes,
1238 m rthbuf ,thke ,stack ,isphio ,vsphio,
1239 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFC,
1240 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1241
1242 IF(size_mes==1 .AND.
1243 * aform(3)==3 .AND.
1244 * ispmd==0 )
CALL file_size(multithfilesize(3))
1245 IF(abfile(4) /= 0) THEN
1246#ifdef DNC
1247 ifilabf = 14
1248 CALL abfhist2(pm ,d ,x ,v ,a ,
1249 2 ixs ,elbuf,wa(n2),iparg,
1250 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1251 5 partsav,accelm,lout ,nsensor ,mat_param,
1252 6 ipari,weight,ipart,igrsurf,
1253 7 output%TH%ITHGRPC,output%TH%ITHBUFC,subset,geo ,
1254 8 kxx ,ixr,
1255 9 kxsp ,nod2sp ,spbuf ,
1256 b npartsav,ar ,vr ,dr,
1257 d fsavd ,ixri ,rivet , ixp ,
1258 e iskwn ,iframe ,xframe,ixc ,ixq,
1259 f dtabf(4), tabfis(4),ifilabf,nthgrp1(1),ixtg ,
1260 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1261 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1262 i ipart ,2 ,1 ,
1263 j 1 ,monvol ,volmon,fr_mv ,temp
1264 k fthreac,nodreac,gresav ,tabfwr(4),
1265 l 4 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1266 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1267 n output%TH%SITHBUFC)
1268 cptfile=cptfile+1
1269
1270 IF(tt>=tabfwr0THEN
1271 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_c.tmp'
1272 long_tmp = 11
1275
1276 filnamabf=rootnam(1:rootlen)//'_'//CHRUN//'_c.abf'
1277 LONG = 11
1278 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1279 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1280
1281 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1282 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1283 ENDDO
1284 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1285 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1286 ENDDO
1287 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(4),IFILNAM,
1288 . LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,
1289 . CPTFILE)
1290 NABFWR(4) = 0
1291 ENDIF
1292#endif
1293 ELSE
1294 TABFIS(4)= EP30
1295 ENDIF
1296 ELSE
1297 OUTPUT%TH%THIS1(3)= EP30
1298 TABFIS(4)= EP30
1299 ENDIF
1300
1301 IF(NTHGRP01(4)/=0)THEN
1302 IUNIT = IUHI(4)
1303 IFIL = IUNIT
1304!
1305 IF (TT>=OUTPUT%TH%THIS1(4))THEN
1306 SIZE_MES=1
1307 ELSE
1308 SIZE_MES=0
1309 ENDIF
1310 ITHFLAG = 4
1311 CALL HIST2(PM ,D ,X ,V ,A ,
1312 2 IXS ,ELBUF,WA(N2),IPARG,SENSORS%SENSOR_TAB,
1313 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,CLUSTER,
1314 5 PARTSAV,ACCELM,NSENSOR ,MAT_PARAM,
1315 6 WEIGHT,IPART,IGRSURF,EBCS_TAB,
1316 7 OUTPUT%TH%ITHGRPD,OUTPUT%TH%ITHBUFD,SUBSET,GEO ,
1317 8 KXX ,IXR,
1318 9 KXSP ,NOD2SP ,SPBUF ,
1319 B AR ,VR ,DR,
1320 D IXRI ,RIVET , IXP,
1321 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ ,
1322 F OUTPUT%TH%DTHIS1(4),OUTPUT%TH%THIS1(4), IFIL, NTHGRP1(4),IXTG ,
1323 G IGEO ,IPM ,
1324 H IPARTL,NPARTL, IACCP , NACCP ,
1325 I IPARTH(1,3*(NPART+NTHPART)+1),2,1,
1326 J MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1327 K FTHREAC,NODREAC,GRESAV ,GAUGE ,
1328 L IGAUP ,NGAUP ,AFORM(4),SIZE_MES,
1329 M RTHBUF ,THKE ,STACK ,ISPHIO ,VSPHIO,
1330 N ITHFLAG,PINCH_DATA,MULTI_FVM,W,OUTPUT%TH%SITHBUFD,
1331 Q FSAVSURF,NEED_TO_REINIT_FSAV,GLOB_THERM,OUTPUT)
1332
1333.AND. IF(SIZE_MES==1
1334.AND. * AFORM(4)==3
1335 * ISPMD==0 )CALL file_size(MULTITHFILESIZE(4))
1336
1337
1338 IF(ABFILE(5) /= 0) THEN
1339#ifdef DNC
1340 IFILABF = 15
1341 CALL ABFHIST2(PM ,D ,X ,V ,A ,
1342 2 IXS ,ELBUF,WA(N2),IPARG,
1343 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,SENSORS%SENSOR_TAB,
1344 5 PARTSAV,ACCELM,LOUT ,NSENSOR ,MAT_PARAM,
1345 6 IPARI,WEIGHT,IPART,IGRSURF,
1346 7 OUTPUT%TH%ITHGRPD,OUTPUT%TH%ITHBUFD,SUBSET,GEO ,
1347 8 KXX ,IXR,
1348 9 KXSP ,NOD2SP ,SPBUF ,
1349 B NPARTSAV,AR ,VR ,DR,
1350 D FSAVD ,IXRI ,RIVET , IXP ,
1351 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1352 F DTABF(5), TABFIS(5),IFILABF,NTHGRP1(1),IXTG ,
1353 G IGEO ,IPM ,FXBIPM, FXBDEP, FXBVIT,
1354 H FXBACC ,IPARTL,NPARTL, IACCP , NACCP ,
1355 I IPART ,2 ,1 ,
1356 J 1 ,MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1357 K FTHREAC,NODREAC,GRESAV ,TABFWR(5),
1358 L 5 ,GAUGE ,IGAUP,NGAUP ,RTHBUF ,THKE ,
1359 M STACK ,ISPHIO ,VSPHIO,ITHFLAG,1,PINCH_DATA,MULTI_FVM,W,
1360 N OUTPUT%TH%SITHBUFD)
1361 CPTFILE=CPTFILE+1
1362
1363.AND. IF(TT>=TABFWR0(5) ISPMD == 0) THEN
1364 FILNAMABF_TMP=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_d.tmp'
1365 LONG_TMP = 11
1366 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1367 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1368
1369 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_d.abf'
1370 LONG = 11
1371 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1372 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1373 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1374 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1375 ENDDO
1376 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1377 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1378 ENDDO
1379 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(5),IFILNAM,
1380 . LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,
1381 . CPTFILE)
1382 NABFWR(5) = 0
1383 ENDIF
1384#endif
1385 ELSE
1386 TABFIS(5)= EP30
1387 ENDIF
1388 ELSE
1389 OUTPUT%TH%THIS1(4)= EP30
1390 TABFIS(5)= EP30
1391 ENDIF
1392
1393 IF(NTHGRP01(5)/=0)THEN
1394 IUNIT = IUHI(5)
1395 IFIL = IUNIT
1396!
1397 IF (TT>=OUTPUT%TH%THIS1(5))THEN
1398 SIZE_MES=1
1399 ELSE
1400 SIZE_MES=0
1401 ENDIF
1402 ITHFLAG = 5
1403 CALL HIST2(PM ,D ,X ,V ,A ,
1404 2 IXS ,ELBUF,WA(N2),IPARG,SENSORS%SENSOR_TAB,
1405 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,CLUSTER,
1406 5 PARTSAV,ACCELM,NSENSOR ,MAT_PARAM,
1407 6 WEIGHT,IPART,IGRSURF,EBCS_TAB,
1408 7 OUTPUT%TH%ITHGRPE,OUTPUT%TH%ITHBUFE,SUBSET,GEO ,
1409 8 KXX ,IXR,
1410 9 KXSP ,NOD2SP ,SPBUF ,
1411 B AR ,VR ,DR,
1412 D IXRI ,RIVET , IXP ,
1413 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ ,
1414 F OUTPUT%TH%DTHIS1(5),OUTPUT%TH%THIS1(5), IFIL, NTHGRP1(5),IXTG ,
1415 G IGEO ,IPM ,
1416 H IPARTL,NPARTL, IACCP , NACCP ,
1417 I IPARTH(1,4*(NPART+NTHPART)+1),2,1,
1418 J MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1419 K FTHREAC,NODREAC,GRESAV ,GAUGE ,
1420 L IGAUP ,NGAUP ,AFORM(5),SIZE_MES,
1421 M RTHBUF ,THKE ,STACK ,ISPHIO ,VSPHIO,
1422 N ITHFLAG,PINCH_DATA,MULTI_FVM,W,OUTPUT%TH%SITHBUFE,
1423 Q FSAVSURF,NEED_TO_REINIT_FSAV,GLOB_THERM,OUTPUT)
1424
1425.AND. IF(SIZE_MES==1
1426.AND. * AFORM(5)==3
1427 * ISPMD==0 ) CALL file_size(MULTITHFILESIZE(5))
1428
1429 IF(ABFILE(6) /= 0) THEN
1430#ifdef DNC
1431 IFILABF = 16
1432 CALL ABFHIST2(PM ,D ,X ,V ,A ,
1433 2 IXS ,ELBUF,WA(N2),IPARG,
1434 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,SENSORS%SENSOR_TAB,
1435 5 PARTSAV,ACCELM,LOUT ,NSENSOR ,MAT_PARAM,
1436 6 IPARI,WEIGHT,IPART,IGRSURF,
1437 7 OUTPUT%TH%ITHGRPE,OUTPUT%TH%ITHBUFE,SUBSET,GEO ,
1438 8 KXX ,IXR,
1439 9 KXSP ,NOD2SP ,SPBUF ,
1440 B NPARTSAV,AR ,VR ,DR,
1441 D FSAVD ,IXRI ,RIVET , IXP ,
1442 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1443 F DTABF(6), TABFIS(6),IFILABF,NTHGRP1(1),IXTG ,
1444 G IGEO ,IPM ,FXBIPM, FXBDEP, FXBVIT,
1445 H FXBACC ,IPARTL,NPARTL, IACCP , NACCP ,
1446 I IPART ,2 ,1 ,
1447 J 1 ,MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1448 K FTHREAC,NODREAC,GRESAV ,TABFWR(6),
1449 L 6 ,GAUGE ,IGAUP,NGAUP ,RTHBUF,THKE ,
1450 M STACK ,ISPHIO ,VSPHIO,ITHFLAG,1,PINCH_DATA,MULTI_FVM,W,
1451 N OUTPUT%TH%SITHBUFE)
1452 CPTFILE=CPTFILE+1
1453
1454.AND. IF(TT>=TABFWR0(6) ISPMD == 0) THEN
1455 FILNAMABF_TMP=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_e.tmp'
1456 LONG_TMP = 11
1457 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1458 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1459
1460 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_e.abf'
1461 LONG = 11
1462 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1463 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1464
1465 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1466 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1467 ENDDO
1468 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1469 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1470 ENDDO
1471 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(6),IFILNAM,
1472 . LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,
1473 . CPTFILE)
1474 NABFWR(6) = 0
1475 ENDIF
1476#endif
1477 ELSE
1478 TABFIS(6)= EP30
1479 ENDIF
1480 ELSE
1481 OUTPUT%TH%THIS1(5)= EP30
1482 TABFIS(6)= EP30
1483 ENDIF
1484
1485 IF(NTHGRP01(6)/=0)THEN
1486 IUNIT = IUHI(6)
1487 IFIL = IUNIT
1488 IF (TT>=OUTPUT%TH%THIS1(6))THEN
1489 SIZE_MES=1
1490 ELSE
1491 SIZE_MES=0
1492 ENDIF
1493 ITHFLAG = 6
1494 CALL HIST2(PM ,D ,X ,V ,A ,
1495 2 IXS ,ELBUF,WA(N2),IPARG,SENSORS%SENSOR_TAB,
1496 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,CLUSTER,
1497 5 PARTSAV,ACCELM,NSENSOR ,MAT_PARAM,
1498 6 WEIGHT,IPART,IGRSURF,EBCS_TAB,
1499 7 OUTPUT%TH%ITHGRPF,OUTPUT%TH%ITHBUFF,SUBSET,GEO ,
1500 8 KXX ,IXR,
1501 9 KXSP ,NOD2SP ,SPBUF ,
1502 B AR ,VR ,DR,
1503 D IXRI ,RIVET , IXP ,
1504 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ ,
1505 F OUTPUT%TH%DTHIS1(6),OUTPUT%TH%THIS1(6), IFIL, NTHGRP1(6),IXTG ,
1506 G IGEO ,IPM ,
1507 H IPARTL,NPARTL, IACCP , NACCP ,
1508 I IPARTH(1,5*(NPART+NTHPART)+1),2,1,
1509 J MONVOL,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1510 K FTHREAC,NODREAC,GRESAV ,GAUGE ,
1511 L IGAUP,NGAUP ,AFORM(6),SIZE_MES,
1512 M RTHBUF,THKE ,STACK ,ISPHIO ,VSPHIO,
1513 N ITHFLAG,PINCH_DATA,MULTI_FVM,W,OUTPUT%TH%SITHBUFF,
1514 Q FSAVSURF,NEED_TO_REINIT_FSAV,GLOB_THERM,OUTPUT)
1515
1516.AND. IF(SIZE_MES==1
1517.AND. * AFORM(6)==3
1518 * ISPMD==0 ) CALL file_size(MULTITHFILESIZE(6))
1519
1520 IF(ABFILE(7) /= 0) THEN
1521#ifdef DNC
1522 IFILABF = 17
1523 CALL ABFHIST2(PM ,D ,X ,V ,A ,
1524 2 IXS ,ELBUF,WA(N2),IPARG,
1525 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,SENSORS%SENSOR_TAB,
1526 5 PARTSAV,ACCELM,LOUT ,NSENSOR ,MAT_PARAM,
1527 6 IPARI,WEIGHT,IPART,IGRSURF,
1528 7 OUTPUT%TH%ITHGRPF,OUTPUT%TH%ITHBUFF,SUBSET,GEO ,
1529 8 KXX ,IXR,
1530 9 KXSP ,NOD2SP ,SPBUF ,
1531 B NPARTSAV,AR ,VR ,DR,
1532 D FSAVD ,IXRI ,RIVET , IXP ,
1533 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1534 F DTABF(7), TABFIS(7),IFILABF,NTHGRP1(1),IXTG ,
1535 G IGEO ,IPM ,FXBIPM, FXBDEP, FXBVIT,
1536 H FXBACC ,IPARTL,NPARTL, IACCP , NACCP ,
1537 I IPART ,2 ,1 ,
1538 J 1 ,MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1539 K FTHREAC,NODREAC,GRESAV ,TABFWR(7),
1540 L 7 ,GAUGE ,IGAUP,NGAUP ,RTHBUF,THKE ,
1541 M STACK ,ISPHIO ,VSPHIO,ITHFLAG,1,PINCH_DATA,MULTI_FVM,W,
1542 N OUTPUT%TH%SITHBUFF)
1543 CPTFILE=CPTFILE+1
1544
1545.AND. IF(TT>=TABFWR0(7) ISPMD == 0) THEN
1546 FILNAMABF_TMP=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_f.tmp'
1547 LONG_TMP = 11
1548 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1549 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1550
1551 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_f.abf'
1552 LONG = 11
1553 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1554 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1555
1556 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1557 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1558 ENDDO
1559 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1560 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1561 ENDDO
1562 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(7),IFILNAM,
1563 . LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,
1564 . CPTFILE)
1565 NABFWR(7) = 0
1566 ENDIF
1567#endif
1568 ELSE
1569 TABFIS(7)= EP30
1570 ENDIF
1571 ELSE
1572 OUTPUT%TH%THIS1(6)= EP30
1573 TABFIS(7)= EP30
1574 ENDIF
1575
1576 IF(NTHGRP01(7)/=0)THEN
1577 IUNIT = IUHI(7)
1578 IFIL = IUNIT
1579!
1580 IF (TT>=OUTPUT%TH%THIS1(7))THEN
1581 SIZE_MES=1
1582 ELSE
1583 SIZE_MES=0
1584 ENDIF
1585 ITHFLAG = 7
1586 CALL HIST2(PM ,D ,X ,V ,A ,
1587 2 IXS ,ELBUF,WA(N2),IPARG,SENSORS%SENSOR_TAB,
1588 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,CLUSTER,
1589 5 PARTSAV,ACCELM,NSENSOR ,MAT_PARAM,
1590 6 WEIGHT,IPART,IGRSURF,EBCS_TAB,
1591 7 OUTPUT%TH%ITHGRPG,OUTPUT%TH%ITHBUFG,SUBSET,GEO ,
1592 8 KXX ,IXR,
1593 9 KXSP ,NOD2SP ,SPBUF ,
1594 B AR ,VR ,DR,
1595 D IXRI ,RIVET ,IXP ,
1596 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ ,
1597 F OUTPUT%TH%DTHIS1(7),OUTPUT%TH%THIS1(7), IFIL, NTHGRP1(7),IXTG ,
1598 G IGEO ,IPM ,
1599 H IPARTL,NPARTL, IACCP , NACCP ,
1600 I IPARTH(1,6*(NPART+NTHPART)+1),2,1,
1601 J MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1602 K FTHREAC,NODREAC,GRESAV ,GAUGE ,
1603 L IGAUP,NGAUP ,AFORM(7),SIZE_MES,
1604 M RTHBUF,THKE ,STACK ,ISPHIO ,VSPHIO,
1605 N ITHFLAG,PINCH_DATA,MULTI_FVM,W,OUTPUT%TH%SITHBUFG,
1606 Q FSAVSURF,NEED_TO_REINIT_FSAV,GLOB_THERM,OUTPUT)
1607
1608.AND. IF(SIZE_MES==1
1609.AND. * AFORM(7)==3
1610 * ISPMD==0 ) CALL file_size(MULTITHFILESIZE(7))
1611
1612 IF(ABFILE(8) /= 0) THEN
1613#ifdef DNC
1614 IFILABF = 18
1615 CALL ABFHIST2(PM ,D ,X ,V ,A ,
1616 2 IXS ,ELBUF,WA(N2),IPARG,
1617 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,SENSORS%SENSOR_TAB,
1618 5 PARTSAV,ACCELM,LOUT ,NSENSOR ,MAT_PARAM,
1619 6 IPARI,WEIGHT,IPART,IGRSURF,
1620 7 OUTPUT%TH%ITHGRPG,OUTPUT%TH%ITHBUFG,SUBSET,GEO ,
1621 8 KXX ,IXR,
1622 9 KXSP ,NOD2SP ,SPBUF ,
1623 B NPARTSAV,AR ,VR ,DR,
1624 D FSAVD ,IXRI ,RIVET , IXP ,
1625 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1626 F DTABF(8), TABFIS(8),IFILABF,NTHGRP1(1),IXTG ,
1627 G IGEO ,IPM ,FXBIPM, FXBDEP, FXBVIT,
1628 H FXBACC ,IPARTL,NPARTL, IACCP , NACCP ,
1629 I IPART ,2 ,1 ,
1630 J 1 ,MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1631 K FTHREAC,NODREAC,GRESAV ,TABFWR(8),
1632 L 8 ,GAUGE ,IGAUP,NGAUP ,RTHBUF ,THKE ,
1633 M STACK ,ISPHIO ,VSPHIO,ITHFLAG,1,PINCH_DATA,MULTI_FVM,W,
1634 N OUTPUT%TH%SITHBUFG)
1635 CPTFILE=CPTFILE+1
1636
1637.AND. IF(TT>=TABFWR0(8) ISPMD == 0) THEN
1638 FILNAMABF_TMP=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_g.tmp'
1639 LONG_TMP = 11
1640 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1641 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1642
1643 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_g.abf'
1644 long = 11
1647
1648 DO i=1,len_tmp_name2
1649 ifilnam(i)=ichar(tmp_name2(i:i))
1650 ENDDO
1651 DO i=1,len_tmp_name
1652 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1653 ENDDO
1654 CALL abffile_update(abinp,about,nabfwr(8),ifilnam,
1655 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1656 . cptfile)
1657 nabfwr(8) = 0
1658 ENDIF
1659#endif
1660 ELSE
1661 tabfis(8)= ep30
1662 ENDIF
1663 ELSE
1664 output%TH%THIS1(7)= ep30
1665 tabfis(8)= ep30
1666 ENDIF
1667
1668 IF(nthgrp01(8)/=0)THEN
1669 iunit = iuhi(8)
1670 ifil = iunit
1671
1672 IF (tt>=output%TH%THIS1(8))THEN
1673 size_mes=1
1674 ELSE
1675 size_mes=0
1676 ENDIF
1677 ithflag = 8
1678 CALL hist2(pm ,d ,x ,v ,a ,
1679 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1680 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1681 5 partsav,accelm,nsensor ,mat_param,
1682 6 weight,ipart,igrsurf,ebcs_tab,
1683 7 output%TH%ITHGRPH,output%TH%ITHBUFH,subset,geo ,
1684 8 kxx ,ixr,
1685 9 kxsp ,nod2sp ,spbuf ,
1686 b ar ,vr ,dr,
1687 d ixri ,rivet , ixp ,
1688 e iskwn ,iframe ,xframe,ixc ,ixq ,
1689 f output%TH%DTHIS1(8),output%TH%THIS1(8), ifil, nthgrp1(8),ixtg ,
1690 g igeo ,ipm ,
1691 h ipartl,npartl, iaccp , naccp ,
1692 i iparth(1,7*(npart+nthpart)+1),2,1,
1693 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1694 k fthreac,nodreac,gresav ,gauge ,
1695 l igaup ,ngaup ,aform(8),size_mes,
1696 m rthbuf ,thke ,stack ,isphio ,vsphio,
1697 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFH,
1698 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1699
1700 IF(size_mes==1 .AND. aform(8)==3 .AND.ispmd==0 )
CALL file_size(multithfilesize(8))
1701
1702 IF(abfile(9) /= 0) THEN
1703#ifdef DNC
1704 ifilabf = 19
1705 CALL abfhist2(pm ,d ,x ,v ,a ,
1706 2 ixs ,elbuf,wa(n2),iparg,
1707 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1708 5 partsav,accelm,lout ,nsensor ,mat_param,
1709 6 ipari,weight,ipart,igrsurf,
1710 7 output%TH%ITHGRPH,output%TH%ITHBUFH,subset,geo ,
1711 8 kxx ,ixr,
1712 9 kxsp ,nod2sp ,spbuf ,
1713 b npartsav,ar ,vr ,dr,
1714 d fsavd ,ixri ,rivet , ixp ,
1715 e iskwn ,iframe ,xframe,ixc ,ixq,
1716 f dtabf(9), tabfis(9),ifilabf,nthgrp1(1),ixtg ,
1717 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1718 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1719 i ipart ,2 ,1 ,
1720 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1721 k fthreac,nodreac,gresav ,tabfwr(9),
1722 l 9 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1723 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1724 n output%TH%ITHBUFH)
1725 cptfile=cptfile+1
1726
1727 IF(tt>=tabfwr0(9) .AND. ispmd == 0) THEN
1728 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_h.tmp'
1729 long_tmp = 11
1732
1733 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_h.abf'
1734 long = 11
1737
1738 DO i=1,len_tmp_name2
1739 ifilnam(i)=ichar(tmp_name2(i:i))
1740 ENDDO
1741 DO i=1,len_tmp_name
1742 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1743 ENDDO
1744 CALL abffile_update(abinp,about,nabfwr(9),ifilnam,len_tmp_name2,ifilnam_tmp,len_tmp_name, cptfile)
1745 nabfwr(9) = 0
1746 ENDIF
1747#endif
1748 ELSE
1749 tabfis(9)= ep30
1750 ENDIF
1751 ELSE
1752 output%TH%THIS1(8)= ep30
1753 tabfis(9)= ep30
1754 ENDIF
1755
1756 IF(nthgrp01(9)/=0)THEN
1757 iunit = iuhi(9)
1758 ifil = iunit
1759 IF (tt>=output%TH%THIS1(9))THEN
1760 size_mes=1
1761 ELSE
1762 size_mes=0
1763 ENDIF
1764 ithflag = 9
1765 CALL hist2(pm ,d ,x ,v ,a ,
1766 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1767 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1768 5 partsav,accelm,nsensor ,mat_param,
1769 6 weight,ipart,igrsurf,ebcs_tab,
1770 7 output%TH%ITHGRPI,output%TH%ITHBUFI,subset,geo ,
1771 8 kxx ,ixr,
1772 9 kxsp ,nod2sp ,spbuf ,
1773 b ar ,vr ,dr,
1774 d ixri ,rivet ,ixp ,
1775 e iskwn ,iframe ,xframe,ixc ,ixq ,
1776 f output%TH%DTHIS1(9),output%TH%THIS1(9), ifil, nthgrp1(9),ixtg ,
1777 g igeo ,ipm ,
1778 h ipartl,npartl, iaccp , naccp ,
1779 i iparth(1,8*(npart+nthpart)+1),2,1,
1780 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1781 k fthreac,nodreac,gresav ,gauge ,
1782 l igaup,ngaup ,aform(9),size_mes,
1783 m rthbuf ,thke ,stack ,isphio ,vsphio,
1784 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFI,
1785 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1786
1787 IF(size_mes==1 .AND. aform(9)==3 .AND. ispmd==0 )
CALL file_size(multithfilesize(9))
1788 IF(abfile(10) /= 0) THEN
1789#ifdef DNC
1790 ifilabf = 20
1791 CALL abfhist2(pm ,d ,x ,v ,a ,
1792 2 ixs ,elbuf,wa(n2),iparg,
1793 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1794 5 partsav,accelm,lout ,nsensor ,mat_param,
1795 6 ipari,weight,ipart,igrsurf,
1796 7 output%TH%ITHGRPI,output%TH%ITHBUFI,subset,geo ,
1797 8 kxx ,ixr,
1798 9 kxsp ,nod2sp ,spbuf ,
1799 b npartsav,ar ,vr ,dr,
1800 d fsavd ,ixri ,rivet , ixp ,
1801 e iskwn ,iframe ,xframe,ixc ,ixq,
1802 f dtabf(10),tabfis(10),ifilabf,nthgrp1(9),ixtg ,
1803 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1804 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1805 i iparth(1,8*(npart+nthpart)+1),2,1,
1806 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem
1807 k
1808 l 10 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1809 m stack ,isphio ,vsphio,ithflag,9,pinch_data,multi_fvm,w,
1810 n output%TH%ITHBUFI)
1811 cptfile=cptfile+1
1812
1813 IF(tt>=tabfwr0(10) .AND. ispmd == 0) THEN
1814 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_i.tmp'
1815 LONG_TMP = 11
1816 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1817 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1818
1819 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'_i.abf'
1820 LONG = 11
1821 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1822 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1823 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1824 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1825 ENDDO
1826 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1827 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1828 ENDDO
1829
1830 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(10),IFILNAM,
1831 . LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,
1832 . CPTFILE)
1833 NABFWR(10) = 0
1834 ENDIF
1835#endif
1836 ELSE
1837 TABFIS(10)= EP30
1838 ENDIF
1839 ELSE
1840 OUTPUT%TH%THIS1(9)= EP30
1841 TABFIS(10)= EP30
1842 ENDIF
1843
1844 IUNIT = IUHIS
1845 IFIL = 1
1846 IF (TT>=OUTPUT%TH%THIS)THEN
1847 SIZE_MES=1
1848 ELSE
1849 SIZE_MES=0
1850 ENDIF
1851 ITHFLAG = 10
1852 CALL HIST2(PM ,D ,X ,V ,A ,
1853 2 IXS ,ELBUF,WA(N2),IPARG,SENSORS%SENSOR_TAB,
1854 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,CLUSTER,
1855 5 PARTSAV,ACCELM,NSENSOR ,MAT_PARAM,
1856 6 WEIGHT,IPART,IGRSURF,EBCS_TAB,
1857 7 OUTPUT%TH%ITHGRP,OUTPUT%TH%ITHBUF,SUBSET,GEO ,
1858 8 KXX ,IXR,
1859 9 KXSP ,NOD2SP ,SPBUF ,
1860 B AR ,VR ,DR,
1861 D IXRI ,RIVET , IXP ,
1862 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1863 F OUTPUT%TH%DTHIS ,OUTPUT%TH%THIS,IFIL , NTHGRP,IXTG ,
1864 G IGEO ,IPM ,
1865 H IPARTL,NPARTL, IACCP , NACCP ,
1866 I IPART ,LIPART1 ,8 ,
1867 J MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1868 K FTHREAC,NODREAC,GRESAV ,GAUGE ,
1869 L IGAUP,NGAUP,ITFORM,SIZE_MES,
1870 M RTHBUF ,THKE ,STACK,ISPHIO ,VSPHIO,
1871 N ITHFLAG,PINCH_DATA,MULTI_FVM,W,OUTPUT%TH%SITHBUF,
1872 Q FSAVSURF,NEED_TO_REINIT_FSAV,GLOB_THERM,OUTPUT)
1873
1874.AND..AND. IF(SIZE_MES==1 ITFORM==3 ISPMD==0 )CALL file_size(THFILESIZE)
1875
1876 IF(ABFILE(1) /= 0) THEN
1877#ifdef DNC
1878 IFILABF = 11
1879 CALL ABFHIST2(PM ,D ,X ,V ,A ,
1880 2 IXS ,ELBUF,WA(N2),IPARG,
1881 4 FSAV ,FLSW ,SKEW,ELBUF_TAB,SENSORS%SENSOR_TAB,
1882 5 PARTSAV,ACCELM,LOUT ,NSENSOR ,MAT_PARAM,
1883 6 IPARI,WEIGHT,IPART,IGRSURF,
1884 7 OUTPUT%TH%ITHGRP,OUTPUT%TH%ITHBUF,SUBSET,GEO ,
1885 8 KXX ,IXR,
1886 9 KXSP ,NOD2SP ,SPBUF ,
1887 B NPARTSAV,AR ,VR ,DR,
1888 D FSAVD ,IXRI ,RIVET , IXP ,
1889 E ISKWN ,IFRAME ,XFRAME,IXC ,IXQ,
1890 F DTABF(1), TABFIS(1),IFILABF,NTHGRP,IXTG ,
1891 G IGEO ,IPM ,FXBIPM, FXBDEP, FXBVIT,
1892 H FXBACC ,IPARTL,NPARTL, IACCP , NACCP ,
1893 I IPART ,LIPART1 ,8 ,
1894 J 12 ,MONVOL ,VOLMON,FR_MV ,TEMP,INOD_PXFEM,
1895 K FTHREAC,NODREAC,GRESAV ,TABFWR(1),
1896 L 1 ,GAUGE ,IGAUP,NGAUP ,RTHBUF,THKE ,
1897 M STACK ,ISPHIO ,VSPHIO,ITHFLAG,10,PINCH_DATA,MULTI_FVM,W,
1898 N OUTPUT%TH%SITHBUF)
1899
1900.OR..AND. IF((TT>=TABFWR0(1) TT+DT2>TSTOP) ISPMD == 0)THEN
1901 FILNAMABF_TMP=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'.tmp'
1902 LONG_TMP = 9
1903 LEN_TMP_NAME = OUTFILE_NAME_LEN+LONG_TMP+ROOTLEN
1904 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF_TMP(1:LONG_TMP+ROOTLEN)
1905
1906 FILNAMABF=ROOTNAM(1:ROOTLEN)//'_'//CHRUN//'.abf'
1907 LONG = 9
1908 LEN_TMP_NAME2 = OUTFILE_NAME_LEN+LONG+ROOTLEN
1909 TMP_NAME2=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAMABF(1:LONG+ROOTLEN)
1910
1911 DO I=1,LEN_TMP_NAME2!ROOTLEN+LONG
1912 IFILNAM(I)=ICHAR(TMP_NAME2(I:I))!FILNAMABF(I:I))
1913 ENDDO
1914 DO I=1,LEN_TMP_NAME!ROOTLEN+LONG_TMP
1915 IFILNAM_TMP(I)=ICHAR(TMP_NAME(I:I))!(FILNAMABF_TMP(I:I))
1916 ENDDO
1917
1918 CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(1),IFILNAM,LEN_TMP_NAME2,IFILNAM_TMP,LEN_TMP_NAME,0)
1919
1920 NABFWR(1) = 0
1921 ENDIF
1922#endif
1923 ELSE
1924 TABFIS(1)= EP30
1925 ENDIF
1926
1927
1928 END IF
1929 ENDIF
1930
1931
1932
1933 CALL ENG_QAPRINT_DRIVER(IRUNN_BIS ,SENSORS,DT,OUTPUT,IPARIT,GLOB_THERM)
1934
1935
1936
1937.AND. IF(ISPMD == 0 THUPDT == 1) THEN
1938
1939 IF(NVOLU>0)THEN
1940 IAD = NINTER+NRWALL+NRBODY+NSECT+NJOINT
1941 DO I=1,NVOLU
1942 DO J=1,NTHVKI
1943 FSAV(J,IAD+I) = ZERO
1944 ENDDO
1945 ENDDO
1946 ENDIF
1947 ENDIF
1948
1949
1950 IF(NINTER > 0)THEN
1951 DO I=1,NINTER
1952 ITY = IPARI(7,I)
1953.AND..OR. IF(ITY /= 10(ITY /= 7IPARI(22,I) /= 7)) THEN
1954 FSAV(26,I) = ZERO
1955 ENDIF
1956 FSAV(29,I) = ZERO ! CAREA output is not cumulated too
1957 ENDDO
1958 ENDIF
1959
1960 IF(NINTSUB > 0)THEN
1961 DO N=1,NINTSUB
1962 FSAV(29,(NINTER+NRWALL+NRBODY+NSECT+NJOINT+NVOLU+NRBAG)+N) = ZERO
1963 END DO
1964 ENDIF
1965
1966
1967 IF(NSURF > 0) THEN
1968 FSAVSURF(1,1:NSURF) = ZERO !area
1969 FSAVSURF(2,1:NSURF) = ZERO !massflow
1970 FSAVSURF(3,1:NSURF) = ZERO !velocity
1971 FSAVSURF(4,1:NSURF) = ZERO !pressure
1972 FSAVSURF(5,1:NSURF) = ZERO !area where pressure is applied
1973 !FSAVSURF(6,1:NSURF) !cumulated mass
1974 ENDIF
1975
1976 ! -----------------------
1977 ! need to re-initialize PARTSAV array after any th/abf file writing
1978 IF(ISPMD == 0) THEN
1979 ! ---------
1980 ! check if an abf file was written
1981 IF(NABFILE /= 0) THEN
1982 DO I=1,10
1983 IF(TT>TABFWR0(I)) NEED_TO_REINIT_FSAV = .TRUE.
1984 ENDDO
1985 ENDIF
1986 ! ---------
1987
1988 ! ---------
1989 ! re-initialization of PARTSAV
1990 IF(NEED_TO_REINIT_FSAV) THEN
1991 DO M=1,NPART+NTHPART
1992 DO I=1,NPSAV
1993.OR..OR..AND. IF((I<23I>26I==25)I/=8) THEN
1994 PARTSAV(I,M)=0
1995 ENDIF
1996 END DO
1997 END DO
1998 ENDIF
1999 ! ---------
2000 ENDIF
2001 ! -----------------------
2002
2003.AND. IF (ISPMD == 0 IFLAG == 1) WFEXT = WFEXT- WFEXTH
2004
2005 ! /TH/NODE (PEXT) or /H3D/NODA/PEXT or /ANIM/NODA/PEXT
2006 ! reset for next cycle
2007.OR..OR. IF(TH_HAS_NODA_PEXT > 0 ANIM_HAS_NODA_PEXT > 0 H3D_HAS_NODA_PEXT > 0)THEN
2008 NODA_SURF(1:NUMNOD) = ZERO
2009 NODA_PEXT(1:NUMNOD) = ZERO
2010 ENDIF
2011
2012 RETURN
subroutine ani_pcont(ixs, ixc, ixtg, fasolfr, x, contn, contt, iad_elem, fr_elem, weight, ixq, segquadfr, ixs10, fncontp2, ftcontp2, h3d_data, csefric, csefricg, sz_npcont2, npcont2)
subroutine ani_pcont21(ixs, ixc, ixtg, fasolfr, x, contn, contt, iad_elem, fr_elem, weight, nodglob, fncontg, ftcontg, fncontp2, ftcontp2, h3d_data, csefric_stamp, csefricg_stamp, sz_npcont2, npcont2)
subroutine anicon0(cont, n)
subroutine anicon2(cont, n, indexc)
subroutine ecrit(timers, partsav, ms, v, in, r, dmas, weight, enintot, ekintot, a, ar, fxbipm, fxbrpm, monvol, xmom_sms, sensors, qfricint, ipari, weight_md, wfexth, iflag, ms_2d, multi_fvm, mas_nd, kend, h3d_data, dynain_data, usreint, output)
subroutine fcont2_max_output(fcont, fcont_max, weight)
subroutine fcont2_min_output(fcont, fcont_min, weight)
subroutine fcont_max_output(cont, fcontg, nodglob, fcont_max, weight)
subroutine fluxsw(nsflsw, neflsw, nnflsw, crflsw, flsw, x, v, elbuf)
subroutine genani(x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, swaft, smas, sxnorm, siad, iparg, pm, geo, ms, sinvert, cont, smater, icut, skew, xcut, fint, itab, sel2fa, fext, fopt, anin, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, mat_param, dd_iad, weight, eani, ipart, cluster, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, rby, swa4, tors, nom_opt, igrsurf, bufsf, idata, rdata, siadg, bufmat, bufgeo, kxx, ixx, ipartx, suix, sxusr, snfacptx, sixedge, sixfacet, sixsolid, snumx1, snumx2, snumx3, soffx1, soffx2, soffx3, smass1, smass2, smass3, sfunc1, sfunc2, sfunc3, kxsp, ixsp, nod2sp, ipartsp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, iflow, rflow, fncont, ftcont, temp, thke, err_thk_sh4, err_thk_sh3, diag_sms, ipari, fncont2, dr, ale_connectivity, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, nod_pxfem, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, pdama2, res_sms, weight_md, nodglobxfe, nodedge, fcluster, mcluster, xfem_tab, w, nv46, ipartig3d, kxig3d, ixig3d, sig3dsolid, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, igrnod, h3d_data, subset, multi_fvm, knotlocpc, knotlocel, fcont_max, fncontp2, ftcontp2, glob_therm, drape_sh4n, drape_sh3n, drapeg, output)
subroutine gendynain(x, elbuf_tab, bufel, ixc, ixtg, iparg, ipm, igeo, itab, ipart, pm, geo, ipartc, iparttg, leng, lengc, lengtg, weight, nodglob, thke, npby, lpby, stack, drape_sh4n, drape_sh3n, dynain_data, drapeg, mat_param)
subroutine genh3d(timers, x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, swaft, smas, sxnorm, siad, iparg, pm, geo, ms, sinvert, cont, smater, icut, skew, xcut, fint, itab, sel2fa, fext, fopt, anin, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, mat_param, dd_iad, weight, eani, ipart, cluster, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, rby, swa4, tors, nom_opt, bufsf, idata, rdata, siadg, bufmat, bufgeo, kxx, ixx, ipartx, suix, sxusr, snfacptx, sixedge, sixfacet, sixsolid, snumx1, snumx2, snumx3, soffx1, soffx2, soffx3, smass1, smass2, smass3, sfunc1, sfunc2, sfunc3, kxsp, ixsp, nod2sp, ipartsp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, iflow, rflow, fncont, ftcont, temp, thke, err_thk_sh4, err_thk_sh3, diag_sms, ipari, fncont2, dr, ale_connect, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, nod_pxfem, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, pdama2, res_sms, weight_md, nodglobxfe, nodedge, fcluster, mcluster, xfem_tab, w, nv46, ipartig3d, kxig3d, ixig3d, sig3dsolid, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, igrnod, sh4tree, sh3tree, h3d_data, multi_fvm, subset, pskids, tag_skins6, tf, npf, fcont_max, mds_matid, fncontp2, ftcontp2, ibcl, iloadp, lloadp, fac, sensors, tagncont, loadp_hyd_inter, xframe, forc, ar, csefric, csefricg, csefric_stamp, csefricg_stamp, table, iframe, loads, drape_sh4n, drape_sh3n, drapeg, x_c, glob_therm, pblast)
subroutine genoutp(x, d, v, a, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, iparg, pm, igeo, ms, cont, itab, partsav, fint, fext, tani, eani, anin, ipart, vr, elbuf_tab, dd_iad, weight, ipm, kxsp, spbuf, nodglob, leng, fopt, nom_opt, npby, fncont, ftcont, geo, thke, stack, drape_sh4n, drape_sh3n, drapeg, output)
subroutine genstat(x, ms, elbuf_tab, bufel, spbuf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, kxsp, iparg, ipm, igeo, itab, ipart, pm, geo, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, ipartsp, dd_iad, weight, nodglob, leng, ipart_state, lengc, lengtg, sh4tree, sh3tree, lengs, sh4trim, sh3trim, temp, ixs10, thke, ixs16, ixs20, icode, lengr, lengp, lengt, iskew, v, vr, lengq, multi_fvm, bufmat, npby, lpby, stack, drape_sh4n, drape_sh3n, dr, drapeg, mat_param, ipartsph, output, lengsph, numsphg, itherm_fe)
type(fani_cell_) fani_cell
integer, dimension(:), allocatable imap2nd
integer, dimension(:), pointer icnds10
type(fvbag_spmd), dimension(:), allocatable fvspmd
integer, dimension(:), allocatable kmesh
subroutine hist2(pm, d, x, v, a, ixs, bufel, wa, iparg, sensor_tab, fsav, flsw, skew, elbuf_tab, cluster, partsav, accelm, nsensor, matparam_tab, weight, ipart, igrsurf, ebcs_tab, ithgrp, ithbuf, subset, geo, kxx, ixr, kxsp, nod2sp, spbuf, ar, vr, dr, lrivet, rivet, ixp, iskwn, iframe, xframe, ixc, ixq, dthis0, this0, ifil, nthgrp2, ixtg, igeo, ipm, ipartl, npartl, iaccp, naccp, iparth, nparth, nvparth, monvol, volmon, fr_mv, temp, inod, fthreac, nodreac, gresav, gauge, igaup, ngaup, ittyp, size_mes, rthbuf, thke, stack, isphio, vsphio, ithflag, pinch_data, multi_fvm, w, sithbuf, fsavsurf, need_to_reinit_fsav, glob_therm, output)
character(len=outfile_char_len) outfile_name
subroutine spmd_exch_output_noda_pext(nspmd, nodes, numnod, numnodg, trigger_th, trigger_anim, trigger_h3d)
OPTION /TH/SURF outputs of Pressure and Area needed Tabs.
integer, parameter th_surf_num_channel
number of /TH/SURF channels : AREA, VELOCITY, MASSFLOW, P A, MASS
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
subroutine cndmasi2(icnds10, nkend, imap2nd, masi2nd0, ms, v, a, weight, mas_nd, kend)
subroutine s10mvnd(icnds10, vnd, v)
subroutine sensor_energy_total(sensors, enint, encin)
subroutine spmd_exch_adm(adm, iad_elem, fr_elem, lenr, weight_md)
subroutine spmd_sd_skw_anim(skew, iskwp)
void file_size(int *filesize)