def test_compute_closest_entity_3d(): reference = (0, 0.1) p = Point(0.1, 0.05, -0.1) mesh = UnitCubeMesh(8, 8, 8) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) assert entity == reference[0] assert round(distance - reference[1], 7) == 0 tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_3d(): reference = (0, 0.1) p = Point(0.1, 0.05, -0.1) mesh = UnitCubeMesh(MPI.comm_world, 8, 8, 8) tree = BoundingBoxTree(mesh.geometry.dim) tree.build(mesh, mesh.topology.dim) entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0 tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_2d(): reference = (1, 1.0) p = Point(-1.0, 0.01) mesh = UnitSquareMesh(16, 16) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) assert entity == reference[0] assert round(distance - reference[1], 7) == 0 tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_1d(): reference = (0, 1.0) p = Point(-1.0) mesh = UnitIntervalMesh(MPI.comm_world, 16) tree = BoundingBoxTree(mesh, mesh.topology.dim) entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_2d(): reference = (1, 1.0) p = Point(-1.0, 0.01) mesh = UnitSquareMesh(MPI.comm_world, 16, 16) tree = BoundingBoxTree(mesh.geometry.dim) tree.build(mesh, mesh.topology.dim) entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0 tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_3d(self): reference = (0, 0.1) p = Point(0.1, 0.05, -0.1) mesh = UnitCubeMesh(8, 8, 8) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) if MPI.size(mesh.mpi_comm()) == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1]) tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) if MPI.size(mesh.mpi_comm()) == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])
def test_compute_closest_entity_2d(self): reference = (1, 1.0) p = Point(-1.0, 0.01) mesh = UnitSquareMesh(16, 16) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) if MPI.size(mesh.mpi_comm()) == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1]) tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) if MPI.size(mesh.mpi_comm()) == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])
def test_compute_closest_entity_1d(self): reference = (0, 1.0) p = Point(-1.0) mesh = UnitIntervalMesh(16) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1]) tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])
def test_compute_closest_entity_1d(self): reference = (0, 1.0) p = Point(-1.0) mesh = UnitIntervalMesh(16) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1]) tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])
def test_compute_closest_entity_3d(self): reference = (2, numpy.sqrt(3.0)) p = Point(-1.0, -1.0, -1.0) mesh = UnitCubeMesh(8, 8, 8) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p, mesh) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1]) tree = mesh.bounding_box_tree() entity, distance = tree.compute_closest_entity(p, mesh) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])
def test_compute_closest_entity_3d(): reference = (0, 0.1) p = Point(0.1, 0.05, -0.1) mesh = UnitCubeMesh(MPI.comm_world, 8, 8, 8) tree = BoundingBoxTree(mesh.geometry.dim) tree.build_mesh(mesh, mesh.topology.dim) entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0 # FIXME: remove after Mesh is wrapped in Python tree_cpp = mesh.bounding_box_tree() tree = BoundingBoxTree() tree._cpp_object = tree_cpp entity, distance = tree.compute_closest_entity(p, mesh) assert entity == reference[0] assert round(distance - reference[1], 7) == 0
def test_compute_closest_entity_2d(self): reference = (0, numpy.sqrt(2.0)) p = Point(-1.0, -1.0) mesh = UnitSquareMesh(16, 16) tree = BoundingBoxTree() tree.build(mesh) entity, distance = tree.compute_closest_entity(p, mesh) if MPI.num_processes() == 1: self.assertEqual(entity, reference[0]) self.assertAlmostEqual(distance, reference[1])