def test_update_face_nodes_equal_2d(self): data = np.ones(4) rows = np.array([0, 1, 2, 3]) cols = np.array([0, 0, 1, 1]) fn = sps.coo_matrix((data, (rows, cols)), shape=(4, 2)) g = MockGrid(dim=2, num_faces=2, face_nodes=fn) delete_faces = np.array([0]) new_face_ind = non_conforming.update_face_nodes(g, delete_faces, 1, 2) assert new_face_ind.size == 1 assert new_face_ind[0] == 1 fn_known = np.array([[0, 0], [0, 0], [1, 1], [1, 1]], dtype=np.bool) assert np.allclose(fn_known, g.face_nodes.A)
def test_update_face_nodes_remove_all(self): # only add cells data = np.ones(4) rows = np.array([0, 1, 2, 3]) cols = np.array([0, 0, 1, 1]) fn = sps.coo_matrix((data, (rows, cols)), shape=(4, 2)) g = MockGrid(dim=2, num_faces=2, face_nodes=fn) delete_faces = np.array([0, 1]) new_face_ind = non_conforming.update_face_nodes(g, delete_faces, 1, 2) self.assertTrue(new_face_ind.size == 1) self.assertTrue(new_face_ind[0] == 0) fn_known = np.array([[0], [0], [1], [1]], dtype=np.bool) self.assertTrue(np.allclose(fn_known, g.face_nodes.A))
def test_update_face_nodes_add_none(self): # Only delete cells data = np.ones(4) rows = np.array([0, 1, 2, 3]) cols = np.array([0, 0, 1, 1]) fn = sps.coo_matrix((data, (rows, cols)), shape=(4, 2)) g = MockGrid(dim=2, num_faces=2, face_nodes=fn) delete_faces = np.array([0]) new_face_ind = non_conforming.update_face_nodes(g, delete_faces, num_new_faces=0, new_node_offset=2) assert new_face_ind.size == 0 fn_known = np.array([[0], [0], [1], [1]], dtype=np.bool) assert np.allclose(fn_known, g.face_nodes.A)