Exemple #1
0
    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))
Exemple #3
0
    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)