From 89699b68502411db07eb0ea4ef2e1accff759284 Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 16 Nov 2010 20:53:04 +0000 Subject: [PATCH] Copy face boundary_id to surface cell material_id in extract_boundary_mesh. git-svn-id: https://svn.dealii.org/trunk@22772 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/grid/grid_tools.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/deal.II/source/grid/grid_tools.cc b/deal.II/source/grid/grid_tools.cc index 57e526cefb..47d29ea58e 100644 --- a/deal.II/source/grid/grid_tools.cc +++ b/deal.II/source/grid/grid_tools.cc @@ -1835,11 +1835,6 @@ GridTools::extract_boundary_mesh (const Triangulation &volume_mesh mapping; // temporary map for level==0 - typename Triangulation::cell_iterator - cell = volume_mesh.begin(0), - endc = volume_mesh.end(0); - typename Triangulation::face_iterator face; - std::vector< bool > touched (volume_mesh.n_vertices(), false); std::vector< CellData< boundary_dim > > cells; std::vector< Point > vertices; @@ -1849,10 +1844,14 @@ GridTools::extract_boundary_mesh (const Triangulation &volume_mesh unsigned int v_index; CellData< boundary_dim > c_data; - for (; cell!=endc; ++cell) + for (typename Triangulation::cell_iterator + cell = volume_mesh.begin(0); + cell != volume_mesh.end(0); + ++cell) for (unsigned int i=0; i < GeometryInfo::faces_per_cell; ++i) { - face = cell->face(i); + const typename Triangulation::face_iterator + face = cell->face(i); if ( face->at_boundary() && @@ -1872,7 +1871,7 @@ GridTools::extract_boundary_mesh (const Triangulation &volume_mesh } c_data.vertices[j] = map_vert_index[v_index]; - c_data.material_id = 0; + c_data.material_id = face->boundary_indicator(); } cells.push_back(c_data); -- 2.39.5