From c8594102e2d3ec2c75209f1c7edd021db3881b32 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Wed, 8 Jul 2020 11:19:36 -0400 Subject: [PATCH] Remove deprecated MGTools::extract_non_interface_dofs --- include/deal.II/multigrid/mg_tools.h | 14 ----- source/multigrid/mg_tools.cc | 77 ---------------------------- source/multigrid/mg_tools.inst.in | 6 --- 3 files changed, 97 deletions(-) diff --git a/include/deal.II/multigrid/mg_tools.h b/include/deal.II/multigrid/mg_tools.h index d6d821c26a..b93635f2aa 100644 --- a/include/deal.II/multigrid/mg_tools.h +++ b/include/deal.II/multigrid/mg_tools.h @@ -254,20 +254,6 @@ namespace MGTools extract_inner_interface_dofs(const DoFHandler &mg_dof_handler, std::vector & interface_dofs); - /** - * For each level in a multigrid hierarchy, produce a std::set of degrees of - * freedoms that are not located along interfaces of this level to cells that - * only exist on coarser levels. - * - * @deprecated Use extract_inner_interface_dofs() for computing the complement - * of degrees of freedoms instead. - */ - template - DEAL_II_DEPRECATED void - extract_non_interface_dofs( - const DoFHandler & mg_dof_handler, - std::vector> &non_interface_dofs); - /** * Return the highest possible level that can be used as the coarsest level in * a Multigrid computation, that is, the highest level in the hierarchy whose diff --git a/source/multigrid/mg_tools.cc b/source/multigrid/mg_tools.cc index bcfd0c89b5..71f96a8b9e 100644 --- a/source/multigrid/mg_tools.cc +++ b/source/multigrid/mg_tools.cc @@ -1443,83 +1443,6 @@ namespace MGTools } - template - void - extract_non_interface_dofs( - const DoFHandler & mg_dof_handler, - std::vector> &non_interface_dofs) - { - Assert(non_interface_dofs.size() == - mg_dof_handler.get_triangulation().n_global_levels(), - ExcDimensionMismatch( - non_interface_dofs.size(), - mg_dof_handler.get_triangulation().n_global_levels())); - - const FiniteElement &fe = mg_dof_handler.get_fe(); - - const unsigned int dofs_per_cell = fe.dofs_per_cell; - const unsigned int dofs_per_face = fe.dofs_per_face; - - std::vector local_dof_indices(dofs_per_cell); - std::vector cell_dofs(dofs_per_cell, false); - std::vector cell_dofs_interface(dofs_per_cell, false); - - typename DoFHandler::cell_iterator cell = mg_dof_handler.begin(), - endc = mg_dof_handler.end(); - - - for (; cell != endc; ++cell) - { - if (mg_dof_handler.get_triangulation().locally_owned_subdomain() != - numbers::invalid_subdomain_id && - cell->level_subdomain_id() != - mg_dof_handler.get_triangulation().locally_owned_subdomain()) - continue; - - std::fill(cell_dofs.begin(), cell_dofs.end(), false); - std::fill(cell_dofs_interface.begin(), - cell_dofs_interface.end(), - false); - - for (const unsigned int face_nr : GeometryInfo::face_indices()) - { - const typename DoFHandler::face_iterator face = - cell->face(face_nr); - if (!face->at_boundary() || cell->has_periodic_neighbor(face_nr)) - { - // interior face - const typename DoFHandler::cell_iterator neighbor = - cell->neighbor_or_periodic_neighbor(face_nr); - - if ((neighbor->level() < cell->level())) - { - for (unsigned int j = 0; j < dofs_per_face; ++j) - cell_dofs_interface[fe.face_to_cell_index(j, face_nr)] = - true; - } - else - { - for (unsigned int j = 0; j < dofs_per_face; ++j) - cell_dofs[fe.face_to_cell_index(j, face_nr)] = true; - } - } - else - { - // boundary face - for (unsigned int j = 0; j < dofs_per_face; ++j) - cell_dofs[fe.face_to_cell_index(j, face_nr)] = true; - } - } - - const unsigned int level = cell->level(); - cell->get_mg_dof_indices(local_dof_indices); - - for (unsigned int i = 0; i < dofs_per_cell; ++i) - if (cell_dofs[i] && !cell_dofs_interface[i]) - non_interface_dofs[level].insert(local_dof_indices[i]); - } - } - template void diff --git a/source/multigrid/mg_tools.inst.in b/source/multigrid/mg_tools.inst.in index 5aaff41760..28c8c89ffa 100644 --- a/source/multigrid/mg_tools.inst.in +++ b/source/multigrid/mg_tools.inst.in @@ -144,12 +144,6 @@ for (deal_II_dimension : DIMENSIONS) const DoFHandler &mg_dof_handler, std::vector & interface_dofs); - template void - extract_non_interface_dofs( - const DoFHandler & mg_dof_handler, - std::vector> &non_interface_dofs); - - #if deal_II_dimension < 3 template void count_dofs_per_block( -- 2.39.5