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