From c585959155a6220229898a8d494fd26466005e9f Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Thu, 7 Jul 2016 19:09:31 -0500 Subject: [PATCH] Err on the safe side. Here, only ask for boundary_ids on faces we know actually are at the boundary. --- source/grid/grid_generator.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/source/grid/grid_generator.cc b/source/grid/grid_generator.cc index 20354c17ee..c094fc2b0b 100644 --- a/source/grid/grid_generator.cc +++ b/source/grid/grid_generator.cc @@ -119,10 +119,11 @@ namespace GridGenerator typename Triangulation::face_iterator face = tria.begin_face(), endface = tria.end_face(); for (; face!=endface; ++face) - { + if (face->at_boundary()) if (face->boundary_id() == 0) { const Point center (face->center()); + if (std::abs(center(0)-p1[0]) < epsilon) face->set_boundary_id(0); else if (std::abs(center(0) - p2[0]) < epsilon) @@ -143,13 +144,14 @@ namespace GridGenerator Assert (false, ExcInternalError()); } - } + for (typename Triangulation::cell_iterator cell = tria.begin(); cell != tria.end(); ++cell) { char id = 0; for (unsigned int d=0; dcenter()(d) > 0) id += 1 << d; + if (cell->center()(d) > 0) + id += (1 << d); cell->set_material_id(id); } } -- 2.39.5