The approach to implementation of the algorithm is relatively straightforward.
At each active site is the necessary velocity and mass data for each
fluid component. Over the course of an iteration we visit each cell in the
data volume and calculate the distribution (
)
of each fluid component to be
streamed to neighboring cells.
New mass and velocity values are accumulated
at each cell as its neighbors make their contributions.
The most notable aspects of the implementation were our tactics for managing
the large amounts of memory required by the algorithm, and the adaptation
of the code for use in parallel computing environments.