diff --git a/runtime/copper_fcc_lattice.hpp b/runtime/copper_fcc_lattice.hpp index c883d6534d025e29605048d13a8b74d07c78293a..48fec71f6cdc50a99dd09568d91a8390e38f551c 100644 --- a/runtime/copper_fcc_lattice.hpp +++ b/runtime/copper_fcc_lattice.hpp @@ -1,6 +1,5 @@ #include <iostream> #include <math.h> -#include <mpi.h> //--- #include "pairs.hpp" diff --git a/src/pairs/sim/cell_lists.py b/src/pairs/sim/cell_lists.py index bf1beec14ae19f9a120a91b02c6c6d1336cc0128..c64e81f455c26ada6b76a9c2a2191d651f702983 100644 --- a/src/pairs/sim/cell_lists.py +++ b/src/pairs/sim/cell_lists.py @@ -9,6 +9,7 @@ from pairs.ir.cast import Cast from pairs.ir.loops import For, ParticleFor, While from pairs.ir.math import Ceil from pairs.ir.scalars import ScalarOp +from pairs.ir.select import Select from pairs.ir.types import Types from pairs.ir.utils import Print from pairs.sim.flags import Flags @@ -116,8 +117,9 @@ class BuildCellLists(Lowerable): index = None for dim in range(self.sim.ndims()): - index = cell_index[dim] if index is None \ - else index * dim_ncells[dim] + cell_index[dim] + dcell = Select(self.sim, cell_index[dim] >= 0, cell_index[dim], 0) + dcell = Select(self.sim, dcell < dim_ncells[dim], dcell, dim_ncells[dim] - 1) + index = dcell if index is None else index * dim_ncells[dim] + dcell Assign(self.sim, flat_index, index + 1)