Background:
In MFIX-Exa, walls are represented by an embedded boundary (EB) that is converted into a levelset function to compute particle-wall interactions. The levelset geometry differs from the EB because additional walls are added to “cover up” mass and pressure inflows, preventing particles from leaving. This can also be extended to pressure outflows by setting bc.po_no_par_out = 1
in the inputs file.
The Bug:
The logic used to set the no-outflow flag was incorrect. Additionally, there was a specific bug related to “box” EB geometries where the flags to cover “flow” boundaries were not applied. This issue is particularly interesting because it was hidden by additional code designed to prevent particles from crossing domain extents. However, this code likely only prevents slower-moving particles from escaping.