35
36
37
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "com01_c.inc"
48#include "com04_c.inc"
49#include "param_c.inc"
50#include "task_c.inc"
51
52
53
54 INTEGER MONVOL(*), FR_MV(NSPMD+2,NVOLU)
56 TYPE (SURF_), DIMENSION(NSURF) :: IGRSURF
57
58
59
60 INTEGER I, N, NN, IAD, KAD, ITYP, NCA, IDSURF, PMAIN
61 INTEGER NTG, NTGI, NNT, KIBALE, KRBALE
62 INTEGER K1, K2, KK2, KI4, KR5, KR6, KR7, NNS, NNI, NTGT
63 INTEGER :: , KR2, KR3, KR4
64
65 k1 = 1
66 k2 = 1+nimv*nvolu
67 kk2 = 1+nrvolu*nvolu
68 kibale=1+nimv*nvolu +licbag+libagjet+libaghol
69 krbale=1+nrvolu*nvolu+lrcbag+lrbagjet+lrbaghol
70 DO n=1,nvolu
71 nca = monvol(k1-1+3)
72 pmain = fr_mv(nspmd+2,n)
73 IF(ispmd+1 == pmain) THEN
74 ityp = monvol(k1-1+2)
75 IF(ityp == 6.OR.ityp == 8) THEN
76 ntgi = monvol(k1-1+69)
77 IF(ntgi == 0) cycle
78 ntg = monvol(k1-1+33)
79 ntgt = ntg + ntgi
80 kad = kibale+monvol(k1-1+18)
81 nns = monvol(k1-1+32)
82 nni = monvol(k1-1+68)
83 nnt = nns + nni
84 kr1=krbale+monvol(k1-1+34)
85 kr2=kr1+nnt
86 kr3=kr2+nnt
87 kr4=kr3+nnt
88 kr5=kr4+3*nnt
89 kr6=kr5+ntgt
90 kr7 = kr6+ntg+ntgi
91 DO i=1,nsurf
92 IF(igrsurf(i)%TH_SURF == 1) THEN
94 . volmon(kr6), fsavsurf(2,i), volmon(kr7), fsavsurf(3,i),
95 . volmon(kr5))
96 ENDIF
97 kad = kad+ntgi+1
98 ENDDO
99 ELSEIF(ityp == 9 .AND. nca > 0) THEN
100 DO i=1,nsurf
101 IF(igrsurf(i)%TH_SURF /= 1) cycle
102 idsurf=i
104 . fsavsurf(2,i),fsavsurf(3,i))
105 ENDDO
106 ENDIF
107 ENDIF
108 k1 = k1+nimv
109 k2 = k2+nicbag*nca
110 kk2 = kk2+nrcbag*nca
111 ENDDO
112
113 RETURN
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 surf_mass_com(icbag, rcbag, nca, idsurf, mass, vel)
subroutine surf_mass_fvm(ntgi, itag, elfmass, mass, elfvel, vel, elsini)