84 SUBROUTINE hist2(PM ,D ,X ,V ,A ,
85 2 IXS ,BUFEL ,WA ,IPARG ,SENSOR_TAB,
86 4 FSAV ,FLSW ,SKEW ,ELBUF_TAB ,CLUSTER ,
87 5 PARTSAV ,ACCELM ,NSENSOR ,MATPARAM_TAB,
88 6 WEIGHT ,IPART ,IGRSURF ,EBCS_TAB ,
89 7 ITHGRP ,ITHBUF ,SUBSET ,GEO ,
91 9 KXSP ,NOD2SP ,SPBUF ,
93 D LRIVET ,RIVET ,IXP ,
94 E ISKWN ,IFRAME ,XFRAME ,IXC ,IXQ ,
95 F DTHIS0 ,THIS0 ,IFIL ,NTHGRP2 ,IXTG ,
97 H IPARTL ,NPARTL ,IACCP ,NACCP ,
98 I IPARTH ,NPARTH ,NVPARTH ,
99 J MONVOL ,VOLMON ,FR_MV ,TEMP,INOD ,
100 K FTHREAC ,NODREAC ,GRESAV ,GAUGE ,
101 L IGAUP ,NGAUP ,ITTYP ,SIZE_MES ,
102 M RTHBUF ,THKE ,STACK ,ISPHIO ,VSPHIO ,
103 N ITHFLAG ,PINCH_DATA,MULTI_FVM,W ,SITHBUF ,
104 Q FSAVSURF,NEED_TO_REINIT_FSAV ,GLOB_THERM ,OUTPUT ,
119 USE ebcs_mod ,
only : t_ebcs_tab
122 USE output_mod ,
ONLY : output_
124 use element_mod ,
only : nixs,nixq,nixc,nixp,nixr,nixt,nixtg
128#include "implicit_f.inc"
132#include "com01_c.inc"
133#include "com04_c.inc"
134#include "com06_c.inc"
135#include "com08_c.inc"
137#include "units_c.inc"
138#include "param_c.inc"
139#include "scr05_c.inc"
140#include "scr07_c.inc"
141#include "scr11_c.inc"
142#include "scr12_c.inc"
143#include "scr13_c.inc"
144#include "scr17_c.inc"
145#include "scr23_c.inc"
146#include "scrfs_c.inc"
148#include "impl1_c.inc"
149#include "rad2r_c.inc"
150#include "tabsiz_c.inc"
154 TYPE(t_ebcs_tab),
TARGET,
INTENT(IN) :: EBCS_TAB
155 INTEGER,
INTENT(IN) :: SITHBUF,NSENSOR
157 INTEGER IXS(NIXS,NUMELS),IPARG(NPARG,NGROUP),
158 . IGEO(NPROPGI,NUMGEO),
159 . WEIGHT(NUMNOD),IPART(LIPART1,*),
160 . ITHGRP(NITHGR,*),ITHBUF(*),
161 . IXR(NIXR,*),KXSP(NISP,*),NOD2SP(*),LRIVET(4,*),IPM(NPROPMI,NUMMAT),
162 . ISKWN(LISKN,*),IFRAME(LISKN,*),IXC(NIXC,NUMELC),IXQ(NIXQ,NUMELQ),
163 . IXTG(NIXTG,*),IFIL,NTHGRP2,IPARTL(*),IACCP(*),
164 . NACCP(*),NPARTH,IPARTH(NPARTH,*),NVPARTH,
165 . MONVOL(*), FR_MV(*),INOD(*),
166 . NODREAC(*),KXX(NIXX,*),IGAUP(*),NGAUP(*),ITTYP,
167 . SIZE_MES,ISPHIO(NISPHIO,*),ITHFLAG
169 . PM(NPROPM,NUMMAT), D(3,NUMNOD), X(3,NUMNOD), V(3,NUMNOD), (3,NUMNOD), BUFEL(*), WA(*),
170 . FSAV(NTHVKI,*), FLSW(9,*), SKEW(LSKEW,*), PARTSAV(NPSAV,*),
171 . ACCELM(LLACCELM,*), GEO(NPROPG,*),SPBUF(*),XFRAME(NXFRAME,*),
172 . AR(3,NUMNOD),VR(3,NUMNOD),DR(3,NUMNOD),
173 . RIVET(NRIVF,*), THKE(*),
174 . RIVOFF(NRIVET), VOLMON(*),
175 . temp(*),fthreac(*),gresav(npsav,*), gauge(llgauge,nbgauge),rthbuf(*),
176 . vsphio(*), w(3,numnod)
177 my_real,
INTENT(IN ) :: mass0_start
178 REAL(KIND=8), intent(inout) :: this0, dthis0
179 INTEGER,
DIMENSION(NIXP,NUMELP) ,
INTENT(IN):: IXP
180 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
181 TYPE (CLUSTER_) ,
DIMENSION(NCLUSTER) :: CLUSTER
182 TYPE (STACK_PLY) :: STACK
183 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
184 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
185 TYPE (PINCH) :: PINCH_DATA
186 TYPE (MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
187 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
188 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MATPARAM_TAB
189 TYPE (glob_therm_),
INTENT(IN) :: glob_therm
190 my_real,
INTENT(INOUT) :: FSAVSURF(TH_SURF_NUM_CHANNEL,NSURF)
191 LOGICAL,
INTENT(INOUT) :: NEED_TO_REINIT_FSAV
192 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
196 LOGICAL ICOND,RIVET_BOOL,HAS_TH
198 INTEGER I,J,K,L,M,N,II,JJ,NP,NN,N1,NRWA,
199 . jale,fsavmax,
nvar,iad,ityp,iadv,krbhol,id_hist, seek_id,
200 . imid,ipid,jale_from_mat,jale_from_prop,surf_id
202 my_real xx,yy,zz,det,xxmom,yymom,zzmom,
203 . xcg, ycg, zcg, ixx, iyy, izz,ixy, iyz, izx,
204 . jxx, jyy, jzz, jxy, jyz, jzx, aa, thisc,
205 . fsavint(nthvki,ninter+nintsub),fsavvent(5,nventtot),
207 my_real,
DIMENSION(100) :: subsav
208 my_real,
DIMENSION(1) :: wa_local
209 REAL(=8) :: this0_double,tt_double
210 REAL(KIND=8) :: dthis0_double,dt1_double,thisc_double
238 IF (iunit == 3) seek_id = 1
240 IF ((irad2r==1).AND.(r2r_siu==1))
THEN
241 r2r_th_flag(seek_id) = 0
243 r2r_th_main(seek_id) = 0
245 IF (r2r_th_main(seek_id)==0)
THEN
248 ELSEIF (r2r_th_main(seek_id)==1)
THEN
250 thisc_double = thisc_double - em20
259 IF (tt>=thisc_double)
THEN
260 need_to_reinit_fsav = .true.
262 IF (iddom == 0) r2r_th_main(seek_id) = 1
263 r2r_th_flag(seek_id) = 1
266 dthis0_double = dthis0
269 this0_double=
max(tt_double,this0_double+
max(dthis0_double,dt1_double))
270 this0_double=
min(tstop,this0_double)
273 this0_double=
max(tt_double,this0_double+dthis0_double)
274 this0_double=
min(tstop,this0_double)
280 array(1) = glob_therm%HEAT_FFLUX
281 array(2) = glob_therm%HEAT_STORED
282 array(3) = glob_therm%HEAT_CONV
283 array(4) = glob_therm%HEAT_RADIA
284 array(5) = glob_therm%HEAT_MECA
289 IF ((irad2r==1).AND.(r2r_siu==1))
THEN
290 IF (seek_flag(seek_id)==1)
THEN
292 seek_flag(seek_id) = 0
299 CALL wrtdes(wa_local,wa_local,1,ittyp,1)
312 wa(ii+9) =output%TH%WFEXT
314 wa(ii+11)=econt+econt_cumu+econtv+econtd
316 wa(ii+13)= econt+econt_cumu
320 wa(ii+17)= xmass-mass0_start
321 wa(ii+18)= ep02*(xmass - mass0_start) /
max(mass0,em20)
322 wa(ii+19)= output%DATA%INOUT%DM_IN
323 wa(ii+20)= output%DATA%INOUT%DM_OUT
324 wa(ii+21)= output%DATA%INOUT%DE_IN
325 wa(ii+22)= output%DATA%INOUT%DE_OUT
326 IF(iunit==iuhis)
CALL wrtdes(wa,wa,nglobth,ittyp,1)
332 IF(nspmd > 1 .AND. nthpart > 0)
CALL spmd_glob_dsum9(gresav,npsav*ngpe)
346 nvar=iparth(nvparth,i)
347 iad =iparth(nvparth+1,i)
350 partsav(j,i) = gresav(j,i-npart)
360 aa = one/
max(em20,partsav(6,i))
361 xcg = partsav(9,i)*aa
362 ycg = partsav(10,i)*aa
363 zcg = partsav(11,i)*aa
364 xxmom = partsav(12,i)-partsav(5,i)*ycg+partsav(4,i)*zcg
365 yymom = partsav(13,i)-partsav(3,i)*zcg+partsav(5,i)*xcg
366 zzmom = partsav(14,i)-partsav(4,i)*xcg+partsav(3,i)*ycg
367 xx = partsav( 9,i)*xcg
368 yy = partsav(10,i)*ycg
369 zz = partsav(11,i)*zcg
370 ixx = partsav(15,i)-yy-zz
371 iyy = partsav(16,i)-zz-xx
372 izz = partsav(17,i)-xx-yy
373 ixy = partsav(18,i)+partsav( 9,i)*ycg
374 iyz = partsav(19,i)+partsav(10,i)*zcg
375 izx = partsav(20,i)+partsav(11,i)*xcg
379 IF(n <= sithbuf)
THEN
385 wa(ii)=partsav(1,i)+partsav(24,i)+partsav(26,i)
425 wa(ii)=partsav(21,i)+partsav(23,i)
428 . *( partsav(3,i)*partsav(3,i)
429 . + partsav(4,i)*partsav(4,i)
430 . + partsav(5,i)*partsav(5,i) )
431 . /
max(em20,partsav(6,i))
446 . (half*(jxx*xxmom*xxmom+jyy*yymom*yymom+jzz*zzmom*zzmom)
447 . + jxy*xxmom*yymom+jyz*yymom*zzmom+jzx*xxmom*zzmom )
453 wa(ii)=partsav(3,i)/
max(partsav(6,i),em20)
457 wa(ii)=partsav(5,i)/
max(partsav(6,i),em20)
460 ELSEIF(k > 0 .AND.
SIZE(partsav,1) >= k)
THEN
468 IF (ii/=0)
CALL wrtdes(wa,wa,ii,ittyp,1)
474 IF(nsubs>0.AND.ispmd==0)
THEN
477 nvar=subset(i)%NVARTH(ithflag)
479 np = subset(i)%NTPART
485 jj=subset(i)%TPART(j)
487 subsav(k)=subsav(k)+partsav(k,jj)
491 aa = one/
max(em20,subsav(6))
495 xxmom = subsav(12)-subsav(5)*ycg+subsav(4)*zcg
496 yymom = subsav(13)-subsav(3)*zcg+subsav(5)*xcg
497 zzmom = subsav(14)-subsav
501 ixx = subsav(15)-yy-zz
502 iyy = subsav(16)-zz-xx
503 izz = subsav(17)-xx-yy
504 ixy = subsav(18)+subsav( 9)*ycg
505 iyz = subsav(19)+subsav(10)*zcg
506 izx = subsav(20)+subsav(11)*xcg
507 IF ((irad2r==1).AND.(r2r_siu==1))
THEN
523 wa(ii)=subsav(1)+subsav(24)+subsav(26)
558 wa(ii)=subsav(21)+subsav(23)
561 . *( subsav(3)*subsav(3)
562 . + subsav(4)*subsav(4)
563 . + subsav(5)*subsav(5) )
564 . /
max(em20,subsav(6))
576 det = one/
max(em20,ixx * jxx + ixy * jxy + izx * jzx)
577 wa(ii)=det * (half*(ixx*xxmom*xxmom+iyy*yymom*yymom+izz*zzmom*zzmom)
578 . + ixy*xxmom*yymom+iyz*yymom*zzmom+izx*xxmom*zzmom )
584 wa(ii)=subsav(3)/
max(subsav(6),em20)
586 wa(ii)=subsav(4)/
max(subsav(6),em20)
588 wa(ii)=subsav(5)/
max(subsav(6),em20)
599 IF(ii/=0)
CALL wrtdes(wa,wa,ii,ittyp,1)
605 fsavmax = nvolu+nrbag+njoint+nsect+nrbody+nrwall+ninter+nintsub
609 IF((nvolu+nrbag)>0)
CALL spmd_glob_dsum9(fsav(1,1+ninter+nrwall+nrbody+nsect+njoint),nthvki*(nvolu+nrbag))
610 IF(nintsub>0)
CALL spmd_glob_dsum9(fsav(1,1+ninter+nrwall+nrbody+nsect+njoint+nvolu+nrbag),nthvki*nintsub)
622 IF(ninter+nintsub/=0.AND.ispmd==0)
THEN
625 fsavint(j,n)=fsav(j,n)
628 fsavint(j,ninter+n)=fsav(j,(ninter+nrwall+nrbody+nsect+njoint+nvolu+nrbag)+n)
639 krbhol =1 + nrvolu * nvolu + lrcbag + lrbagjet
640 CALL bufmonv(fsavvent,monvol,volmon(krbhol),fr_mv)
657 IF(igrsurf(i)%TH_SURF == 1 .AND. fsavsurf(1,i) == zero)
THEN
659 CALL surf_area(x, nn, igrsurf(i)%NODES, fsavsurf(1,i), numnod, n2d)
680 IF(igrsurf(i)%TH_SURF == 1)
THEN
681 IF( fsavsurf(5,i) > zero )
THEN
682 fsavsurf(4,i) = fsavsurf(4,i) / fsavsurf(5,i)
695 IF (ebcs_tab%nebcs > 0)
THEN
696 DO k=1,ebcs_tab%nebcs
697 IF(.NOT.ebcs_tab%need_to_compute(k)) cycle
698 has_th = ebcs_tab%TAB(k)%poly%has_th
700 surf_id = ebcs_tab%TAB(k)%poly%surf_id
701 nn = igrsurf(surf_id)%NSEG
702 IF(fsavsurf(1,surf_id) > zero)
THEN
703 fsavsurf(3,surf_id) = fsavsurf(3,surf_id) / fsavsurf(1,surf_id)
704 fsavsurf(4,surf_id) = fsavsurf(4,surf_id) / fsavsurf(1,surf_id)
713 IF(nrivf>1 .AND. nspmd > 1 .AND. nrivet>0)
THEN
717 rivoff(k) = rivet(1,k)
719 IF(lrivet(2,k) <1) rivet_bool=.true.
720 IF(rivet_bool.EQV..false.)
THEN
721 IF (weight(i)/=1) rivet_bool=.true.
732 rivet(1,k) = rivoff(k)
738 IF(naccelm>0 .AND. nspmd > 1)
THEN
745 IF(nbgauge>0 .AND. nspmd > 1)
THEN
752 IF(nslipring_g + nretractor_g > 0)
THEN
756 th_slipring(
slipring(k)%IDG,1:6) = zero
786! -------------------------------------
791 CALL thres(iparg,ithbuf,elbuf_tab,
wa_spring(id_hist)%WA_REAL,igeo,
792 . ixr,nthgrp2,ithgrp,x)
807 CALL thnod(output, ithbuf ,
808 2
wa_nod(id_hist)%WA_REAL,x ,d ,v ,a ,
809 3 vr ,ar ,iskwn ,iframe ,skew ,
810 4 xframe ,weight ,temp ,inod ,fthreac,
811 5 nodreac, cptreac ,dr ,ittyp ,nthgrp2,
812 6 ithgrp ,pinch_data,glob_therm%ITHERM_FE)
828 CALL thsol( elbuf_tab, nthgrp2, ithgrp ,
829 . iparg , ithbuf ,
wa_sol(id_hist)%WA_REAL ,
830 . ixs , x , ipm ,pm ,igeo ,
831 . multi_fvm, v , w ,glob_therm%ITHERM,
832 . numels , nummat , numgeo , numnod,sithbuf)
849 CALL thquad(elbuf_tab,nthgrp2 ,ithgrp
850 1 iparg ,ithbuf ,
wa_quad(id_hist)%WA_REAL
851 2 ipm ,ixq ,ixtg ,x ,multi_fvm
852 3 v ,w ,glob_therm%ITHERM ,pm ,
853 . numelq ,nummat ,numnod ,sithbuf ,numeltg)
866! th optimization
for shell/shell3n elements
869 CALL thcoq(elbuf_tab,matparam_tab,nthgrp2 , ithgrp ,
870 . iparg,ithbuf,
wa_coq(id_hist)%WA_REAL,
871 . ipm,igeo,ixc,ixtg ,pm,
872 . rthbuf ,thke ,stack)
888 CALL thtrus(iparg,nthgrp2 , ithgrp ,
889 . ithbuf ,elbuf_tab,
wa_trus(id_hist)%WA_REAL )
905 CALL thpout(iparg , nthgrp2 , ithgrp , geo, ixp,
906 . ithbuf, elbuf_tab,
wa_pout(id_hist)%WA_REAL )
922 CALL thsph(elbuf_tab, nthgrp2, ithgrp, iparg, ithbuf,
923 1 spbuf ,kxsp ,nod2sp,pm,
wa_sph(id_hist)%WA_REAL )
939 CALL thnst(elbuf_tab,iparg,nthgrp2, ithgrp,ithbuf,
940 . geo ,kxx,
wa_nst(id_hist)%WA_REAL)
951! -------------------------------------
967 ELSEIF( nanaly /= 0 .AND. (ityp==2.OR.ityp==117) )
THEN
971 ELSEIF(ityp==3.OR.ityp==7)
THEN
998 ELSEIF(ityp==100)
THEN
1005 ELSEIF(ityp==101)
THEN
1009 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,
1011 ELSEIF(ityp==102)
THEN
1015 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,
1016 . wa,fsav(1,1+ninter),ittyp)
1017 ELSEIF(ityp==103)
THEN
1021 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,
1022 . wa,fsav(1,1+ninter+nrwall),ittyp)
1023 ELSEIF(ityp==104)
THEN
1027 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,
1028 . wa,fsav(1,1+ninter+nrwall+nrbody),
1030 ELSEIF(ityp==105)
THEN
1034 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,wa,
1035 . fsav(1,1+ninter+nrwall+nrbody+nsect),ittyp)
1036 ELSEIF(ityp==106)
THEN
1040 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,wa,
1041 . fsav(1,1+ninter+nrwall+nrbody+nsect+njoint),
1043 ELSEIF(ityp==107)
THEN
1047 CALL thmonv(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,wa,
1048 . fsav(1,1+ninter+nrwall+nrbody+nsect+njoint+nrbag),
1049 . fsavvent,monvol,ittyp)
1050 ELSEIF(ityp==108)
THEN
1059 DO l=iadv,iadv+
nvar-1
1062 wa(ii)=accelm(19+k,i)
1065 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1067 ELSEIF(ityp==109.AND.nrivf>1)
THEN
1075 DO l=iadv,iadv+
nvar-1
1081 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1083 ELSEIF(ityp==110)
THEN
1150 DO l=iadv,iadv+
nvar-1
1204 DO l=iadv,iadv+
nvar-1
1260 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1262 ELSEIF(ityp==111)
THEN
1266 CALL thkin(iad,iad+nn-1,ithbuf,iadv,iadv+
nvar-1,wa,
1267 . fsav(1,1+ninter+nrwall+nrbody+nsect+njoint+nrbag+nvolu),
1269 ELSEIF (ityp==112)
THEN
1271 ELSEIF (ityp==113)
THEN
1279 DO l=iadv,iadv+
nvar-1
1301 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1303 ELSEIF (ityp==114)
THEN
1308 . ittyp,ithbuf,cluster,skew,x ,
1318 wa(ii)=vsphio(isphio(4,i)+16)
1321 IF((ispmd==0).AND.(ii>0))
CALL wrtdes(wa,wa,ii,ittyp,1)
1322 ELSEIF (ityp==116)
THEN
1326 CALL thsurf(iad,iad+nn-1,iadv,iadv+
nvar-1,ithbuf,wa ,fsavsurf,ittyp,nsurf)
1328 ELSEIF (ityp==118)
THEN
1336 DO l=iadv,iadv+
nvar-1
1340 wa(ii)= th_slipring(i,1)
1342 wa(ii)= th_slipring(i,2)
1344 wa(ii)= th_slipring(i,3)
1346 wa(ii)= th_slipring(i,4)
1348 wa(ii)= th_slipring(i,5)
1350 wa(ii)= th_slipring(i,6)
1354 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1357 ELSEIF (ityp==119)
THEN
1365 DO l=iadv,iadv+
nvar-1
1369 wa(ii)= th_retractor(i,1)
1371 wa(ii)= th_retractor(i,2)
1373 wa(ii)= th_retractor(i,3)
1377 IF(ii>0)
CALL wrtdes(wa,wa,ii,ittyp,1)
1380 ELSEIF (ityp == 120)
THEN
1384 CALL thsens (sensor_tab,nsensor,
1385 . iad ,iad+nn-1 ,iadv ,iadv+
nvar-1,ithbuf ,
1389 ELSEIF (ityp == 121)
THEN
1394 . iad ,iad+nn-1 ,iadv ,iadv+
nvar-1,ithbuf ,
1395 . wa ,ittyp ,sithbuf,swa,ispmd)
1404 IF (nsflsw> 0 .AND. nabfile==0)
THEN
1431 CALL wrtdes(wa,wa,9*nsflsw,ittyp,1)
1439 DO m=1,npart+nthpart
1442 IF((i<23.OR.i>26.OR.i==25).AND.i/=8 .AND. nabfile==0
1443 . .AND. (mstop /= 1 .OR. ictlstop == 1) )
then
1454 icond = tt+2.*dt2>=t1s+dt2s
1460 jale_from_mat = nint(pm(72,imid))
1461 jale_from_prop = igeo(62,ipid)
1462 jale =
max(jale_from_mat, jale_from_prop)
1463 IF(jale == 0 .OR. (jale > 0 .AND. icond))
THEN
1465 IF((i < 23.OR.i > 26.OR.i==25) .AND. i /= 8 .AND. nabfile==0 .AND.(mstop /= 1 .OR. ictlstop == 1) )
THEN
1474 IF (nthpart > 0)
THEN
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, mass0_start)