  Incompressibility is a fundamental condition in most fluid models.
Accumulation of simulation errors violates it and causes volume loss. Past work
suggested correction methods to battle it. These methods, however, are
imperfect and in some cases inadequate. We present a method for fluid
simulation that strictly enforces incompressibility based on a grid-related
definition of discrete incompressibility.
  We formulate a linear programming (LP) problem that bounds the number of
particles that end up in each grid cell. A variant of the band method is
offered for acceleration, which requires special constraints to ensure volume
preservation. Further acceleration is achieved by simplifying the problem and
adding a special band correction step that is formulated as a minimum-cost flow
problem (MCFP). We also address coupling with solids in our framework and
demonstrate advantages over prior work.
