def test_neighbor_list_3D_empty_cells(self): """Test neighbor list on 3D example where cells are empty. Stresses the failure mode where the neighboring cells are empty so top_k will throw a failure. """ N_atoms = 4 start = 0 stop = 10 nbr_cutoff = 1 ndim = 3 M_nbrs = 1 # 1 and 2 are nbrs. 8 and 9 are nbrs coords = np.array([[1.0, 0.0, 1.0], [2.0, 5.0, 2.0], [8.0, 8.0, 8.0], [9.0, 9.0, 9.0]]) coords = np.reshape(coords, (N_atoms, ndim)) with self.test_session() as sess: coords = tf.convert_to_tensor(coords, dtype=tf.float32) nbr_list_layer = NeighborList(N_atoms, M_nbrs, ndim, nbr_cutoff, start, stop) nbr_list = nbr_list_layer.compute_nbr_list(coords) nbr_list = np.squeeze(nbr_list.eval()) np.testing.assert_array_almost_equal(nbr_list, np.array([-1, -1, 3, 2]))
def test_neighbor_list_2D(self): """Test neighbor list on 2D example.""" N_atoms = 4 start = 0 stop = 10 nbr_cutoff = 1 ndim = 2 M_nbrs = 1 # 1 and 2 are nbrs. 8 and 9 are nbrs coords = np.array([[1.0, 1.0], [2.0, 2.0], [8.0, 8.0], [9.0, 9.0]]) coords = np.reshape(coords, (N_atoms, ndim)) with self.session() as sess: coords = tf.convert_to_tensor(coords, dtype=tf.float32) nbr_list_layer = NeighborList(N_atoms, M_nbrs, ndim, nbr_cutoff, start, stop) nbr_list = nbr_list_layer.compute_nbr_list(coords) nbr_list = np.squeeze(nbr_list.eval()) np.testing.assert_array_almost_equal(nbr_list, np.array([1, 0, 3, 2]))
def test_neighbor_list_3D_empty_cells(self): """Test neighbor list on 3D example where cells are empty. Stresses the failure mode where the neighboring cells are empty so top_k will throw a failure. """ N_atoms = 4 start = 0 stop = 10 nbr_cutoff = 1 ndim = 3 M_nbrs = 1 # 1 and 2 are nbrs. 8 and 9 are nbrs coords = np.array([[1.0, 0.0, 1.0], [2.0, 5.0, 2.0], [8.0, 8.0, 8.0], [9.0, 9.0, 9.0]]) coords = np.reshape(coords, (N_atoms, ndim)) with self.session() as sess: coords = tf.convert_to_tensor(coords, dtype=tf.float32) nbr_list_layer = NeighborList(N_atoms, M_nbrs, ndim, nbr_cutoff, start, stop) nbr_list = nbr_list_layer.compute_nbr_list(coords) nbr_list = np.squeeze(nbr_list.eval()) np.testing.assert_array_almost_equal(nbr_list, np.array([-1, -1, 3, 2]))