1. A computer-implemented method for simulating a physical process, comprising: (1) storing in a memory state vectors for voxels, the state vectors comprising entries that correspond to particular momentum states of possible momentum states at a voxel; (2) performing interaction operations on the state vectors, the interaction operations modeling interactions between elements of different momentum states, wherein, for a particular state vector, the interaction operations include: (a) calculating a desired distribution of elements for a voxel represented by the particular state vector, the desired distribution including a number of entries corresponding to the number of entries in the particular state vector, (b) when one or more entries of the desired distribution has an out-of-range value, modifying the desired distribution to correct the out-of-range value, and (c) updating the state vector to correspond to the modified desired distribution; and (3) performing move operations on the state vectors to reflect movement of elements to new voxels.