56 LOGICAL,
parameter :: dbgMode = .false.
58 DOUBLE PRECISION :: minROPs
66 iis = inert_species(m)
75 IF(wall_at(ijk)) cycle
76 IF(rop_s(ijk,m) > minrops)
THEN 77 ro_s(ijk,m) =
eoss(
ro_s0(m), x_s0(m,iis), &
81 ro_s(ijk,m) =
eoss(
ro_s0(m), x_s0(m,iis), &
88 IF (wall_at(ijk)) cycle
89 ro_s(ijk,m) =
ro_s0(m)
128 DOUBLE PRECISION :: SUM_Xs
135 INTEGER,
parameter :: lUnit = 8454
137 CHARACTER(LEN=64) :: lFName
148 IF (wall_at(ijk)) cycle
150 sum_xs = sum(
x_s(ijk,m,:nmax(m)))
152 IF(.NOT.
compare(one,sum_xs)) ier(1) = ier(1)+1
154 IF(
x_s(ijk,m,inert) <=
zero) ier(2) = ier(2)+1
159 IF(sum(ier) /= 0)
THEN 162 WRITE(lfname,
"('setROs.log')")
164 WRITE(lfname,
"('setROs_',I6.6,'.log')")
mype 166 inquire(file=trim(lfname),exist=lexists)
168 OPEN(convert=
'BIG_ENDIAN',unit=lunit,file=trim(lfname),status
'replace' 170 OPEN(convert=
'BIG_ENDIAN',unit=lunit,file=trim(lfname),status
'new' 177 WRITE(lunit,1100)
mype 180 IF (wall_at(ijk)) cycle
182 sum_xs = sum(
x_s(ijk,m,:nmax(m)))
184 IF(.NOT.
compare(one,sum_xs))
WRITE(lunit,1101) ijk, sum_xs
191 WRITE(lunit,1200)
mype 193 WRITE(lunit,1202) inert
196 IF (wall_at(ijk)) cycle
199 IF(
x_s(ijk,m,inert) <=
zero)
WRITE(lunit,1203) &
200 ijk,
x_s(ijk,m,inert)
206 IF(sum(ier) /= 0)
THEN 216 1100
FORMAT(//1
x,70(
'*')/
' From: CHECK_SET_ROs',/,
' Error 1100:', &
217 ' One or more fluid cells contain invalid species mass',/ &
218 ' fractions which do NOT sum to one.'/,
' > myPE = ',i6)
220 1101
FORMAT(
' > sum(X_s(',i6,
')) = ',g12.5)
222 1200
FORMAT(//1
x,70(
'*')/
' From: CHECK_SET_ROs',/,
' Error 1200:', &
223 ' One or more fluid cells contain an invalid species mass',/ &
224 ' fraction for the inert material.'/,
' > myPE = ',i6)
226 1201
FORMAT(
' > Solid Phase: ',i2)
228 1202
FORMAT(
' > Inert species index: ',i4)
230 1203
FORMAT(
' > X_s(',i6,
',INERT) = ',g12.5)
232 9999
FORMAT(1
x,70(
'*')/)
logical function compare(V1, V2)
logical, dimension(dim_m) solve_ros
double precision, dimension(dim_m, dim_n_s) x_s0
subroutine check_set_ros()
subroutine mfix_exit(myID, normal_termination)
double precision, dimension(:,:,:), allocatable x_s
double precision function eoss(pBase, Xs0_INERT, Xs_INERT)
integer, dimension(dim_m) inert_species
double precision, dimension(dim_m) dil_inert_x_vsd
double precision, parameter dil_ep_s
double precision, dimension(:,:), allocatable ro_s
integer, dimension(0:dim_m) nmax
double precision, dimension(:,:), allocatable rop_s
double precision, dimension(dim_m) ro_s0
double precision, dimension(:), allocatable x
double precision, parameter zero
double precision dil_factor_vsd