96 1 PM ,D ,V ,ALE_CONNECT,W ,
97 2 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
98 3 IXT ,IXP ,IXR ,IXTG ,WA ,
99 4 ITAB ,X ,GEO ,MS ,A ,
100 5 CONT ,PARTSAV ,ICUT ,XCUT ,
101 6 FINT ,FEXT ,FOPT ,ANIN ,LPBY ,
102 7 NPBY ,NSTRF ,RWBUF ,NPRW ,EBCS_TAB ,
103 8 TANI ,INOISE ,BUFNOIS ,RBY ,NEFLSW ,
104 9 NNFLSW ,CRFLSW ,FLSW ,LOUT ,NODES ,
105 B FSAV ,SKEW ,ELBUF_TAB ,CLUSTER ,
106 C VR ,IN ,WEIGHT ,FCLUSTER ,MCLUSTER ,
107 D DD_IAD ,DMAS ,ACCELM ,GAUGE,
108 E IPARI ,EANI ,IPART ,MAT_PARAM,
110 G NOM_OPT ,AR ,IGRSURF ,BUFSF ,IDATA ,
111 H RDATA ,KXX ,IXX ,BUFMAT ,BUFGEO ,
112 I KXSP ,IXSP ,NOD2SP ,SPBUF ,DR ,
113 J FSAVD ,IXRI ,RIVET ,ISKWN ,IFRAME ,
114 M XFRAME ,IXS10 ,IXS20 ,IXS16 ,NDMA ,
115 T MONVOL ,VOLMON ,IPM ,IGEO ,NODGLOB ,
116 . IAD_ELEM ,FR_ELEM ,
117 U FR_RBY2 ,IAD_RBY2 ,FR_WALL ,FR_SEC ,FXBIPM ,FXBRPM,
118 V NDIN ,FXBDEP ,FXBVIT ,FXBACC ,IFLOW,
119 W RFLOW ,IPARTL ,NPARTL ,IACCP ,NACCP,
120 X FASOLFR ,FNCONT ,FTCONT ,IPARTH ,
121 Y FR_MV ,IPART_STATE ,SH4TREE ,SH3TREE ,TEMP,
122 Z THKE ,ERR_THK_SH4 ,ERR_THK_SH3,
123 a INOD_PXFEM,FTHREAC ,NODREAC ,GRESAV ,
124 b DIAG_SMS ,SH4TRIM ,SH3TRIM ,FNCONT2 ,XMOM_SMS ,
125 c IRBE2 ,IRBE3 ,LRBE2 ,LRBE3 ,FR_RBE2 ,
126 d FR_RBE3M ,IAD_RBE2 ,DXANCG ,IEL_PXFEM ,ZI_PLY ,
127 e VGAZ ,FCONTG ,FNCONTG ,FTCONTG ,FANREAC ,
128 f INOD_CRK ,IEL_CRK ,ELCUTC ,IADC_CRK ,PDAMA2 ,
130 h QFRICINT ,IGAUP ,NGAUP ,WEIGHT_MD ,NCONT ,
131 i INDEXCONT ,NODGLOBXFE ,NODEDGE ,XFEM_TAB ,
132 j NV46 ,RTHBUF ,KXIG3D ,IXIG3D ,KNOT ,
133 k WIGE ,NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,
134 l CRKEDGE ,STACK ,ISPHIO ,VSPHIO ,ICODE ,
135 m INDX_CRK ,XEDGE4N ,XEDGE3N ,SPH2SOL ,STIFN ,
136 n STIFR ,DRAPE_SH4N ,DRAPE_SH3N ,MS_2D ,MULTI_FVM,
137 o SEGQUADFR ,H3D_DATA ,ISKEW ,PSKIDS ,ISKWP ,
138 p KNOTLOCPC ,KNOTLOCEL ,PINCH_DATA ,TAG_SKINS6,IRUNN_BIS,
139 q TF ,NPC ,DYNAIN_DATA,FCONT_MAX,MDS_MATID,
140 r FNCONTP2 ,FTCONTP2 ,IBCL ,ILOADP ,LLOADP ,
141 s LOADP ,TAGNCONT ,LOADP_HYD_INTER,FORC ,DRAPEG,USER_WINDOWS,
142 t OUTPUT ,DT ,FSAVSURF ,TABLE ,
143 u LOADS ,SFANI ,IPARIT ,X_C ,
144 v SZ_NPCONT2,NPCONT2 ,GLOB_THERM ,PBLAST ,WFEXT)
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
181 USE ebcs_mod ,
only : t_ebcs_tab
184 use fpcont2_max_output_mod
185 use fpcont2_min_output_mod
189 USE nodal_arrays_mod ,
ONLY : nodal_arrays_
193#include "implicit_f.inc"
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"
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"
214#include "scr13_c.inc"
215#include "scr17_c.inc"
216#include "units_c.inc"
217#include "com10_c.inc"
220#include "filescount_c.inc"
221#include "intstamp_c.inc"
222#include "chara_c.inc"
226 TYPE(nodal_arrays_),
INTENT(INOUT) :: NODES
227 TYPE(timer_),
INTENT(INOUT) :: TIMERS
228 TYPE(t_ebcs_tab),
TARGET,
INTENT(IN) :: EBCS_TAB
230 INTEGER,
INTENT(IN) :: SFANI
231 INTEGER IPARG(*), IXS(*), IXQ(*), IXC(*), (*), IXP(*),
232 . ixs10(6,*) ,ixs16(8,*) ,ixs20(12,*) ,indx_crk(*),
233 . ixr(*), ixtg(*), itab(*),icut(*),nstrf(*),lpby(*),
235 . inoise(*), npby(nnpby,*),neflsw(*),nnflsw(*),
236 . dd_iad(nspmd+1,*), iaccp(*), naccp(*),
237 . ipari(npari,*),weight(*),
239 . idata(*),kxx(nixx,*),ixx(*),
240 . kxsp(nisp,*),ixsp(kvoisph,*),nod2sp(*),
241 . npartsav,ixri(4,*),
242 . iskwn(liskn,*),iframe(liskn,*),ipm(*), igeo(*),fxbipm(nbipm,*),
244 . ndma ,monvol(*),nodglob(*),
245 . fr_elem(*),iad_elem(2,*), ndin, iflow(*), fasolfr(*), fr_mv(*),
246 . ipartl(*), npartl, ipart_state(*), sh4tree(*), sh3tree(*),
247 . inod_pxfem(*), sh4trim(*), sh3trim(*),
248 . irbe2(*),irbe3(*),lrbe2(*),lrbe3(*),
249 . fr_rbe2(*),fr_rbe3m(*),iel_pxfem(*),
250 . inod_crk(*),iel_crk(*),elcutc(2,*),xedge4n(4,*),xedge3n(3,*),
251 . iadc_crk(*),igaup(*), ngaup(*),
252 . weight_md(*),nodglobxfe(*),nodedge(2,*),nv46,kxig3d(*),
253 . ixig3d(*),nercvois(*),nesdvois(*),lercvois(*),lesdvois(*),
254 . isphio(nisphio,*),icode(*),sph2sol(*),segquadfr(*),
255 . iskew(*),tag_skins6(*),irunn_bis
256 my_real bufnois(*),partsav(npsav,*),rby(nrby,*),crflsw(*),flsw(*),
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(*)
266 . fxbrpm(*),fxbdep(*),fxbvit(*),fxbacc(*), rflow(*),
267 . fncont(3,*),ftcont(3,*),temp(*),thke
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(,*),IBCL(NIBCLD,*)
278 INTEGER TAGNCONT(NLOADP_HYD_INTER,NUMNOD),LOADP_HYD_INTER(NLOADP_HYD)
279 my_real :: loadp(lfaccld,*),forc(*)
281 INTEGER,
DIMENSION(*),
INTENT(IN) :: ISKWP
282 INTEGER,
INTENT(IN) :: SZ_NPCONT2
283 my_real,
INTENT(INOUT) :: FSAVSURF(TH_SURF_NUM_CHANNEL,NSURF)
284 my_real,
DIMENSION(3,NUMNOD),
INTENT(IN) :: X_C
285 my_real,
DIMENSION(3,SZ_NPCONT2),
INTENT(INOUT) :: NPCONT2
287 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
289 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
290 TYPE (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) ::
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
300 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
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
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
311 type (PBLAST_) ,
intent(in) :: PBLAST
312 INTEGER,
INTENT(IN) :: IPARIT
313 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
314 LOGICAL :: TRIGGER_ANIM, TRIGGER_TH, TRIGGER_H3D
318 INTEGER N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,I,M,NEL,NFACE,
319 . K1, K2, K3, K4, K5, , 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,skfin,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(2148)
331 my_real wfexth,enintot,ekintot
332 my_real tabfwr0(10),bid
333 my_real,
DIMENSION(:),
ALLOCATABLE :: vmcdn
334 my_real,
DIMENSION(:),
ALLOCATABLE :: csefric,csefric_stamp,csefricg,csefricg_stamp
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
341 IF(iplyxfem == 0 ) anim_ply = 0
342 IF(icrack3d > 0 ) anim_crk = 1
344 nsensor = sensors%NSENSOR
345 need_to_reinit_fsav = .false.
351 1 bufnois,inoise,inoise(2*nnoise+1),bufnois(2),v ,
352 2 a ,ixs ,elbuf_tab ,iparg ,weight,
362 ALLOCATE(vmcdn(leng))
363 vmcdn(1:leng)=v(1:leng)
366 1 weight ,mas_nd ,kend )
367 CALL ecrit(timers,partsav ,ms ,vmcdn ,in ,vr ,
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)
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, multi_fvm ,
381 6 bid ,bid ,h3d_data,dynain_data,user_windows%USREINT,output)
392 IF(tt>=output%TH%THIS .AND. nsflsw/=0)
393 .
CALL fluxsw(nsflsw,neflsw, nnflsw, crflsw, flsw ,
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.manim==13.OR.manim==14.OR.manim==15))
THEN
403 lenr = iad_elem(1,nspmd
404 CALL spmd_exch_adm(anin(ndma+1),iad_elem,fr_elem,lenr,weight_md)
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)
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
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 )
437 IF((h3d_data%N_SCAL_CSE_FRIC /=0).OR.(h3d_data%N_SCAL_CSE_FRICINT /=0)
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
454 ALLOCATE(csefric_stamp(0))
456 IF(h3d_data%N_SCAL_CSE_FRIC /=0)
THEN
457 ALLOCATE(csefricg(numnod))
459 IF(nintstamp /= 0)
THEN
460 ALLOCATE(csefricg_stamp(numnodg))
462 ALLOCATE(csefricg_stamp(0))
465 ALLOCATE(csefricg(0))
466 ALLOCATE(csefricg_stamp(0))
470 ALLOCATE(csefric_stamp
471 ALLOCATE(csefricg(0))
472 ALLOCATE(csefricg_stamp(0))
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)
480 . ((tt>=tanim .AND. tt
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.
485 . .OR.h3d_data%N_VECT_PCONT_MAX>0
486 . .OR.h3d_data%N_VECT_PCONT2_MAX>0)
THEN
488 CALL ani_pcont(ixs ,ixc ,ixtg ,fasolfr ,x ,
489 . fncont ,ftcont,iad_elem ,fr_elem ,weight ,
490 . ixq ,segquadfr,ixs10 ,fncontp2,ftcontp2,
491 . h3d_data,csefric,csefricg,sz_npcont2,npcont2)
495 . fncont ,ftcont ,iad_elem,fr_elem ,weight ,
496 . nodglob ,fncontg,ftcontg,fncontp2,ftcontp2,
497 . h3d_data ,csefric_stamp,csefricg_stamp,sz_npcont2,npcont2)
503 IF(anim_v(26)+h3d_data%N_VECT_CONT_MAX /=0)
THEN
506 IF(h3d_data%N_VECT_PCONT_MAX /=0)
THEN
510 IF(h3d_data%N_VECT_CONT2_MAX /=0)
THEN
513 IF(h3d_data%N_VECT_CONT2_MIN /=0)
THEN
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)
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)
529 IF ( trigger_anim )
THEN
542 nel3d = numels + numsph + 3*numels16
543 nel2d = numelc + numeltg + numelq
545 nel =
max(nel1d,nel2d,nel3d)
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
555 IF (
kmesh(ifv) > 1)
THEN
556 sn3 = sn3 + 3 *
fvspmd(ifv)%NNA_L
565 n2 = n1 +
max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
572 IF ((numelx>0) .OR. (numelxg>0))
THEN
613 sig3dsolid = 8*27*numelig3d
617 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
629 l1=1+6*(numelc+numeltg)*iepsdot
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) ,ipart(k4) ,ipart(k5) ,
642 c ipart(k6) ,ipart(k7
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
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 ,fncontp2 ,ftcontp2 ,glob_therm ,
668 . drape_sh4n, drape_sh3n, drapeg,output )
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
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
684 h3d_data%IH3D=h3d_data%IH3D+1
687 nel3d = numels + numsph + 3*numels16
688 nel2d = numelc + numeltg + numelq
689 nel1d = numelt + numelp + 2*numelr + nanim1d
690 nel =
max(nel1d,nel2d,nel3d)
692 nelg =
max( numelsg+3*numels16g+numsphg+27*numelig3d,
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
703 n2 = n1 +
max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
710 IF ( (numelx>0) .OR.(numelxg>0) )
THEN
751 sig3dsolid = 8*27*numelig3d
755 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
767 l1=1+6*(numelc+numeltg)*iepsdot
770 1 x ,d ,v ,a ,elbuf ,
772 3 ixr ,ixtg ,sn1 ,sn2 ,sn3 ,
773 4 sn4 ,iparg ,pm ,geo ,ms ,
774 5 sn5 ,cont ,sn6 ,icut ,skew ,
775 6 xcut ,fint ,itab ,sn7 ,fext ,
776 7 fopt ,anin ,lpby ,npby
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(k4) ,ipart(k5) ,
780 c ipart(k6) ,ipart(k7) ,ipart(k8) ,
781 d rby ,sn3 ,tani(l1) ,nom_opt ,
782 e bufsf ,idata ,rdata ,sn9 ,bufmat ,
783 f bufgeo ,kxx ,ixx ,ipart(k9) ,skuix ,
784 g skxusr ,skfacptx ,skxedge ,skxfacet ,skxsolid ,
785 h sknumx1 ,sknumx2 ,sknumx3 ,skoffx1 ,skoffx2 ,
786 i skoffx3 ,skmass1 ,skmass2 ,skmass3 ,skfunc1 ,
787 j skfunc2 ,skfunc3 ,kxsp ,ixsp ,nod2sp ,
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
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 fcluster ,mcluster ,xfem_tab ,w ,
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 ,multi_fvm ,subset ,
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)
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)
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
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.
834 2 ixs ,ixq ,ixc ,ixt ,ixp ,
835 3 ixr ,ixtg ,iparg ,pm ,igeo ,
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,
843 IF(tt>=toutp)toutp=toutp+dtoutp
845 . .AND.(tstop+em06*tstop<toutp+dtoutp))
THEN
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.
857 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
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 ,v ,vr ,lengq ,
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
912 IF(tt>=dynain_data%TDYNAIN)
THEN
913 dynain_data%IDYNAINF=dynain_data%IDYNAINF+1
915 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
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)
942 IF(tt>=dynain_data%TDYNAIN)dynain_data%TDYNAIN=dynain_data%TDYNAIN+dynain_data%DTDYNAIN
943 IF ((tstop<dynain_data%TDYNAIN).AND.(dynain_data%TDYNAIN<tstop+em06*tstop)
944 . .AND.(tstop+em06*tstop<dynain_data%TDYNAIN+dynain_data%DTDYNAIN))
THEN
945 dynain_data%TDYNAIN=tstop
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)
964 IF(ninter+nexmad/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT > 0)
THEN
965 IF(sfani >0)
CALL anicon0(cont,numnod)
967 IF (multi_fvm%IS_USED .AND. h3d_data%N_VECT_CONT > 0)
CALL anicon0(
fani_cell%F18,numels+numelq)
969 IF(nintstamp/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0)
THEN
970 CALL anicon2(fcontg,ncont,indexcont)
972 IF(ninter/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)
THEN
976 IF(nintstamp/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)
THEN
977 IF(iflag_anipcont > 0)
THEN
981 CALL anicon2(fncontg,ncont,indexcont)
982 CALL anicon2(ftcontg,ncont,indexcont)
986 IF(ninter/=0.AND.anim_v(27)+h3d_data%N_VECT_PCONT2>0)
THEN
996 IF (th_vers < 40)
THEN
998 WRITE(istdo,*)
' ** ERROR : TH VERSION OLDER THAN 41 IS ',
999 *
'NO MORE SUPPORTED'
1004 IF(tt>=output%TH%THIS)
THEN
1006 ELSEIF(nabfile/=0)
THEN
1007 IF(tt>=tabfis(1)) thupdt = 1
1011 IF(tt>=output%TH%THIS1(i))
THEN
1013 ELSEIF(nabfile/=0)
THEN
1019 IF (ilastanim/=1.AND.ilastanim/=2)
THEN
1021 IF (nthgrp01(1)/=0)
THEN
1024 IF (tt>=output%TH%THIS1(1))
THEN
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 ,
1037 9 kxsp ,nod2sp ,spbuf ,
1039 d ixri ,rivet ,ixp ,
1040 e iskwn ,iframe ,xframe ,ixc ,ixq ,
1041 f output%TH%DTHIS1(1),output%TH%THIS1(1), ifil, nthgrp1(1),ixtg ,
1043 h ipartl,npartl, iaccp , naccp ,
1045 j monvol,volmon,fr_mv ,temp,inod_pxfem,
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)
1052 IF (size_mes==1 .AND.aform(1)==3 .AND.ispmd==0 )
1057 IF(abfile(2) /= 0)
THEN
1060 CALL abfhist2(pm ,d ,x ,v ,a ,
1061 2 ixs ,elbuf,wa(n2),iparg,
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,geo ,
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 ,
1075 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
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)
1082 IF(tt>=tabfwr0(2) .AND. ispmd == 0)
THEN
1083 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_a.tmp'
1087 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_a.abf'
1092 DO i=1,len_tmp_name2
1093 ifilnam(i)=ichar(tmp_name2(i:i))
1096 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1101 CALL abffile_update(abinp,about,nabfwr(2),ifilnam,
1102 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1112 output%TH%THIS1(1)= ep30
1116 IF(nthgrp01(2)/=0)
THEN
1119 IF (tt>=output%TH%THIS1(2))
THEN
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 ,
1132 9 kxsp ,nod2sp ,spbuf ,
1134 d ixri ,rivet ,ixp ,
1135 e iskwn ,iframe ,xframe,ixc ,ixq ,
1136 f output%TH%DTHIS1(2),output%TH%THIS1(2), ifil, nthgrp1(2),ixtg ,
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)
1147 IF (size_mes==1 .AND.aform(2)==3 .AND.ispmd==0 )
1150 IF(abfile(3) /= 0)
THEN
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 ,
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,nodreac,gresav ,tabfwr(3),
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 )
1175 IF(tt>=tabfwr0(3) .AND. ispmd == 0)
THEN
1176 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_b.tmp'
1181 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_b.abf'
1186 DO i=1,len_tmp_name2
1193 CALL abffile_update(abinp,about,nabfwr(3),ifilnam,
1194 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1206 output%TH%THIS1(2)= ep30
1210 IF(nthgrp01(3)/=0)
THEN
1214 IF (tt>=output%TH%THIS1(3))
THEN
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,
1224 6 weight,ipart,igrsurf,ebcs_tab,
1225 7 output%TH%ITHGRPC,output%TH%ITHBUFC,subset,geo ,
1227 9 kxsp ,nod2sp ,spbuf ,
1230 e iskwn ,iframe ,xframe,ixc ,ixq ,
1231 f output%TH%DTHIS1(3),output%TH%THIS1(3), ifil, nthgrp1(3),ixtg ,
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)
1242 IF(size_mes==1 .AND.
1244 * ispmd==0 )
CALL file_size(multithfilesize(3))
1245 IF(abfile(4) /= 0)
THEN
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 ,
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 ,
1263 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
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)
1270 IF(tt>=tabfwr0(4) .AND. ispmd == 0)
THEN
1271 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_c.tmp'
1276 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_c.abf'
1281 DO i=1,len_tmp_name2
1282 ifilnam(i)=ichar(tmp_name2(i:i))
1285 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1287 CALL abffile_update(abinp,about,nabfwr(4),ifilnam,
1288 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1297 output%TH%THIS1(3)= ep30
1301 IF(nthgrp01(4)/=0)
THEN
1305 IF (tt>=output%TH%THIS1(4))
THEN
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 ,
1318 9 kxsp ,nod2sp ,spbuf ,
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 ,
1324 h ipartl,npartl, iaccp , naccp ,
1325 i iparth(1,3*(npart+nthpart)+1),2,1,
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)
1333 IF(size_mes==1 .AND.
1335 * ispmd==0 )
CALL file_size(multithfilesize(4))
1338 IF(abfile(5) /= 0)
THEN
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 ,
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 ,
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)
1363 IF(tt>=tabfwr0(5) .AND. ispmd == 0)
THEN
1364 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_d.tmp'
1369 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_d.abf'
1373 DO i=1,len_tmp_name2
1374 ifilnam(i)=ichar(tmp_name2(i:i))
1377 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1379 CALL abffile_update(abinp,about,nabfwr(5),ifilnam,
1380 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1389 output%TH%THIS1(4)= ep30
1393 IF(nthgrp01(5)/=0)
THEN
1397 IF (tt>=output%TH%THIS1(5))
THEN
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 ,
1410 9 kxsp ,nod2sp ,spbuf ,
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 ,
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)
1425 IF(size_mes==1 .AND.
1427 * ispmd==0 )
CALL file_size(multithfilesize(5))
1429 IF(abfile(6) /= 0)
THEN
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 ,
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 ,
1447 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1448 k fthreac,nodreac,gresav
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)
1454 IF(tt>=tabfwr0(6) .AND. ispmd == 0)
THEN
1455 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_e.tmp'
1460 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_e.abf'
1465 DO i=1,len_tmp_name2
1466 ifilnam(i)=ichar(tmp_name2(i:i))
1469 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1471 CALL abffile_update(abinp,about,nabfwr(6),ifilnam,
1472 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1481 output%TH%THIS1(5)= ep30
1485 IF(nthgrp01(6)/=0)
THEN
1488 IF (tt>=output%TH%THIS1(6))
THEN
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 ,
1501 9 kxsp ,nod2sp ,spbuf ,
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 ,
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)
1516 IF(size_mes==1 .AND.
1518 * ispmd==0 )
CALL file_size(multithfilesize(6))
1520 IF(abfile(7) /= 0)
THEN
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 ,
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 ,
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)
1545 IF(tt>=tabfwr0(7) .AND. ispmd == 0)
THEN
1546 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_f.tmp'
1551 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_f.abf'
1556 DO i=1,len_tmp_name2
1557 ifilnam(i)=ichar(tmp_name2(i:i))
1560 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1562 CALL abffile_update(abinp,about,nabfwr(7),ifilnam,
1563 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1572 output%TH%THIS1(6)= ep30
1576 IF(nthgrp01(7)/=0)
THEN
1580 IF (tt>=output%TH%THIS1(7))
THEN
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 ,
1593 9 kxsp ,nod2sp ,spbuf ,
1596 e iskwn ,iframe ,xframe,ixc ,ixq ,
1597 f output%TH%DTHIS1(7),output%TH%THIS1(7), ifil, nthgrp1(7),ixtg ,
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)
1608 IF(size_mes==1 .AND.
1610 * ispmd==0 )
CALL file_size(multithfilesize(7))
1612 IF(abfile(8) /= 0)
THEN
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 ,
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 ,
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)
1637 IF(tt>=tabfwr0(8) .AND. ispmd == 0)
THEN
1638 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_g.tmp'
1643 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_g.abf'
1648 DO i=1,len_tmp_name2
1649 ifilnam(i)=ichar(tmp_name2(i:i))
1652 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1654 CALL abffile_update(abinp,about,nabfwr(8),ifilnam,
1655 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1664 output%TH%THIS1(7)= ep30
1668 IF(nthgrp01(8)/=0)
THEN
1672 IF (tt>=output%TH%THIS1(8))
THEN
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,
1685 9 kxsp ,nod2sp ,spbuf ,
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 ,
1691 h ipartl,npartl, iaccp , naccp ,
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)
1700 IF(size_mes==1 .AND. aform(8)==3 .AND.ispmd==0 )
CALL file_size(multithfilesize(8))
1702 IF(abfile(9) /= 0)
THEN
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 ,
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 ,
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)
1727 IF(tt>=tabfwr0(9) .AND. ispmd == 0)
THEN
1728 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_h.tmp'
1733 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_h.abf'
1738 DO i=1,len_tmp_name2
1739 ifilnam(i)=ichar(tmp_name2(i:i))
1742 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1744 CALL abffile_update(abinp,about,nabfwr(9),ifilnam,len_tmp_name2,ifilnam_tmp,len_tmp_name, cptfile)
1752 output%TH%THIS1(8)= ep30
1756 IF(nthgrp01(9)/=0)
THEN
1759 IF (tt>=output%TH%THIS1(9))
THEN
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 ,
1772 9 kxsp ,nod2sp ,spbuf ,
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 ,
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
1785 q fsavsurf,need_to_reinit_fsav,glob_therm,output)
1787 IF(size_mes==1 .AND. aform(9)==3 .AND. ispmd==0 )
CALL file_size(multithfilesize(9))
1788 IF(abfile(10) /= 0)
THEN
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 ,
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 fthreac,nodreac,gresav ,tabfwr(10),
1808 l 10 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1810 n output%TH%ITHBUFI)
1813 IF(tt>=tabfwr0(10) .AND. ispmd == 0)
THEN
1814 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'_i.tmp'
1819 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'_i.abf'
1823 DO i=1,len_tmp_name2
1824 ifilnam(i)=ichar(tmp_name2(i:i))
1827 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(filnamabf_tmp(i:i))
1830 CALL abffile_update(abinp,about,nabfwr(10),ifilnam,
1831 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1840 output%TH%THIS1(9)= ep30
1846 IF (tt>=output%TH%THIS)
THEN
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 ,
1859 9 kxsp ,nod2sp ,spbuf ,
1861 d ixri ,rivet , ixp ,
1862 e iskwn ,iframe ,xframe,ixc ,ixq,
1863 f output%TH%DTHIS ,output%TH%THIS,ifil , nthgrp,ixtg ,
1866 i ipart ,lipart1 ,8 ,
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)
1874 IF(size_mes==1 .AND. itform==3 .AND. ispmd==0 )
CALL file_size(thfilesize)
1876 IF(abfile(1) /= 0)
THEN
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 ,
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),
1897 m stack ,isphio ,vsphio,ithflag,10,pinch_data,multi_fvm,w,
1898 n output%TH%SITHBUF)
1900 IF((tt>=tabfwr0(1) .OR. tt+dt2>tstop).AND. ispmd == 0)
THEN
1901 filnamabf_tmp=rootnam(1:rootlen)//
'_'//chrun//
'.tmp'
1906 filnamabf=rootnam(1:rootlen)//
'_'//chrun//
'.abf'
1911 DO i=1,len_tmp_name2
1912 ifilnam(i)=ichar(tmp_name2(i:i))
1915 ifilnam_tmp(i)=ichar(tmp_name(i:i))
1918 CALL abffile_update(abinp,about,nabfwr(1),ifilnam,len_tmp_name2,ifilnam_tmp,len_tmp_name,0)
1937 IF(ispmd == 0 .AND. thupdt == 1)
THEN
1940 iad = ninter+nrwall+nrbody+nsect+njoint
1943 fsav(j,iad+i) = zero
1953 IF(ity /= 10.AND.(ity /= 7.OR.ipari(22,i) /= 7))
THEN
1962 fsav(29,(ninter+nrwall+nrbody+nsect+njoint+nvolu+nrbag)+n) = zero
1968 fsavsurf(1,1:nsurf) = zero
1969 fsavsurf(2,1:nsurf) = zero
1970 fsavsurf(3,1:nsurf) = zero
1971 fsavsurf(4,1:nsurf) = zero
1972 fsavsurf(5,1:nsurf) = zero
1981 IF(nabfile /= 0)
THEN
1983 IF(tt>tabfwr0(i)) need_to_reinit_fsav = .true.
1990 IF(need_to_reinit_fsav)
THEN
1991 DO m=1,npart+nthpart
1993 IF((i<23.OR.i>26.OR.i==25).AND.i/=8)
THEN
2003 IF (ispmd == 0 .AND. iflag == 1) wfext = wfext- wfexth
2007 IF(
th_has_noda_pext > 0 .OR. anim_has_noda_pext > 0 .OR. h3d_has_noda_pext > 0)
THEN
2008 noda_surf(1:numnod) = zero
2009 noda_pext(1:numnod) = zero