From fd80cf5b5add31b33f94bb475b679d1f85f06295 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <github@naumov.de> Date: Sun, 23 Apr 2017 23:35:22 +0200 Subject: [PATCH] [NL] Remove single-component MCM::getSubset(). --- NumLib/DOF/LocalToGlobalIndexMap.cpp | 2 +- NumLib/DOF/MeshComponentMap.cpp | 28 --------------------------- NumLib/DOF/MeshComponentMap.h | 13 ------------- Tests/NumLib/TestMeshComponentMap.cpp | 4 ++-- 4 files changed, 3 insertions(+), 44 deletions(-) diff --git a/NumLib/DOF/LocalToGlobalIndexMap.cpp b/NumLib/DOF/LocalToGlobalIndexMap.cpp index 4f69ccf6b9f..7be3a1c3dcf 100644 --- a/NumLib/DOF/LocalToGlobalIndexMap.cpp +++ b/NumLib/DOF/LocalToGlobalIndexMap.cpp @@ -268,7 +268,7 @@ LocalToGlobalIndexMap* LocalToGlobalIndexMap::deriveBoundaryConstrainedMap( getGlobalComponent(variable_id, component_id); auto mesh_component_map = - _mesh_component_map.getSubset(global_component_id, *mesh_subsets); + _mesh_component_map.getSubset({global_component_id}, *mesh_subsets); std::vector<std::unique_ptr<MeshLib::MeshSubsets>> all_mesh_subsets; all_mesh_subsets.emplace_back(std::move(mesh_subsets)); diff --git a/NumLib/DOF/MeshComponentMap.cpp b/NumLib/DOF/MeshComponentMap.cpp index 341db59f6da..dade1658678 100644 --- a/NumLib/DOF/MeshComponentMap.cpp +++ b/NumLib/DOF/MeshComponentMap.cpp @@ -148,34 +148,6 @@ MeshComponentMap::MeshComponentMap( } #endif // end of USE_PETSC -MeshComponentMap MeshComponentMap::getSubset( - std::size_t const component_id, - MeshLib::MeshSubsets const& mesh_subsets) const -{ - assert(component_id < _num_components); - // New dictionary for the subset. - ComponentGlobalIndexDict subset_dict; - - for (auto const& mesh_subset : mesh_subsets) - { - std::size_t const mesh_id = mesh_subset->getMeshID(); - // Lookup the locations in the current mesh component map and - // insert the full lines into the subset dictionary. - for (std::size_t j = 0; j < mesh_subset->getNumberOfNodes(); j++) - subset_dict.insert( - getLine(Location(mesh_id, MeshLib::MeshItemType::Node, - mesh_subset->getNodeID(j)), - component_id)); - for (std::size_t j = 0; j < mesh_subset->getNumberOfElements(); j++) - subset_dict.insert( - getLine(Location(mesh_id, MeshLib::MeshItemType::Cell, - mesh_subset->getElementID(j)), - component_id)); - } - - return MeshComponentMap(subset_dict, 1); -} - MeshComponentMap MeshComponentMap::getSubset( std::vector<std::size_t> const& component_ids, MeshLib::MeshSubsets const& mesh_subsets) const diff --git a/NumLib/DOF/MeshComponentMap.h b/NumLib/DOF/MeshComponentMap.h index bdb9692056e..c628e314478 100644 --- a/NumLib/DOF/MeshComponentMap.h +++ b/NumLib/DOF/MeshComponentMap.h @@ -41,23 +41,10 @@ public: std::vector<std::unique_ptr<MeshLib::MeshSubsets>> const& components, ComponentOrder order); - /// Creates a single-component subset of the current mesh component map. - /// The order (BY_LOCATION/BY_COMPONENT) of components is the same as of the - /// current map. - /// - /// This is single-component version. - /// - /// \param component_id The global components id. - /// \param components components that should remain in the created subset - MeshComponentMap getSubset(std::size_t const component_ids, - MeshLib::MeshSubsets const& components) const; - /// Creates a multi-component subset of the current mesh component map. /// The order (BY_LOCATION/BY_COMPONENT) of components is the same as of the /// current map. /// - /// This is multi-component version. - /// /// \note For each component the same mesh subset will be used. /// /// \param component_ids The vector of global components id. diff --git a/Tests/NumLib/TestMeshComponentMap.cpp b/Tests/NumLib/TestMeshComponentMap.cpp index b6e05c970bf..14b6f5b9a59 100644 --- a/Tests/NumLib/TestMeshComponentMap.cpp +++ b/Tests/NumLib/TestMeshComponentMap.cpp @@ -165,7 +165,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_SubsetOfNodesByComponent) // Subset the original cmap. MeshComponentMap cmap_subset = - cmap->getSubset(selected_component_id, *selected_component); + cmap->getSubset({selected_component_id}, *selected_component); // Check number of components as selected ASSERT_EQ(ids.size(), cmap_subset.dofSizeWithGhosts()); @@ -202,7 +202,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_SubsetOfNodesByLocation) // Subset the original cmap. MeshComponentMap cmap_subset = - cmap->getSubset(selected_component_id, *selected_component); + cmap->getSubset({selected_component_id}, *selected_component); // Check number of components as selected ASSERT_EQ(ids.size(), cmap_subset.dofSizeWithGhosts()); -- GitLab