def test_hypercubic_lattice(): lattice = HypercubicLattice([8, 8]) assert eval(repr(lattice)) == lattice point = LatticeSite([0, 0]) expected = set([ LatticeSite([0, 1]), LatticeSite([1, 0]), LatticeSite([0, -1]), LatticeSite([-1, 0]), ]) assert set(lattice.nearest_neighbors(point)) == expected assert len(lattice.nearest_neighbors(point)) == 2 * len(lattice.nearest_neighbors(point, False))
def test_nearest_neighbors_distance(self): lattice = HypercubicLattice([8, 16, 24]) nn = lattice.nearest_neighbors(LatticeSite([0, 0, 0])) nn = [lattice.spatial_coordinates(point) for point in nn] norms = [sum(a * a for a in point) for point in nn] assert min(norms) + .0000001 > max(norms)