It looks like you have found a bug with mass outflow boundaries.
The MFiX spec states:
Mass Outflow (MO/CG_MO) Parameters
__________________________________
**Comment on MO Volume fractions:**
The MFiX GUI should support two possible cases:
1. All volume fractions (gas and solids) for the mass outlet are
defined and their sum equals 1.0
2. All volume fractions are undefined.
However, if the BC is defined with either a specified mass
or volumetric flow rate, then all volume fractions must be defined.
In your case, BC #4 is a mass outflow with specified mass flow rate, so according to the above the volume fractions must be defined and sum to 1.0.
In your .mfx
file:
bc_ep_g(4) = 0.0
bc_ep_s(4,1) = 1.0
and there is only 1 solids phase so the conditions are met.
Running the case, in addition to the fatal Error
message we also get several Warning
s
WARNING from check_data/check_bc_outflow.f:265
Warning 1102: BC_MASSFLOW_S(4,1) and/or BC_VOLFLOW_S(4,1) have been defined
at a mass outflow boundary. A specified solids flow rate may not be
physically achievable depending on the system and simulation
setup.
WARNING from check_data/check_bc_outflow.f:83
Warning 1101: BC_EP_g(4) should not be specified for outflow BCs
with DEM/PIC runs except for a mass outflow boundary with specified
flow rate(s). In this case volume fraction data is used for
conversion to velocity(s). However, the solids volume fraction data
is effectively disregarded and it is the solids velocity that is
used to direct any solids at the boundary.
ERROR from check_data/check_bc_outflow.f:126
Error 1103: Illegal boundary condition region: 4. Sum of volume
fractions does NOT equal ONE. (SUM = 0.0000)
The second Warning
says that BC_EP_g
should not be set, except for mass outflows, which this is. But it also tells is that in this case, “The solids volume fraction data is effectively disregarded.”
And then the fatal error, telling us that BC_EP_g(4) + BC_EP_S(4,1)
is zero, despite the fact that we set BC_EP_S(4,1)
to 1.0
Perhaps this is because of the solids volume data being “effectively disregarded”? Perhaps for this type of case, check_bc_outflow
should also not check the BC_EP_*
values?