From a1b1aeff039fc876f28f160a56297e5726eba616 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <dmitri.naumov@ufz.de>
Date: Wed, 26 Apr 2017 17:50:22 +0200
Subject: [PATCH] [NL] DOF: save component ids as int.

---
 NumLib/DOF/LocalToGlobalIndexMap.cpp  | 8 ++++----
 NumLib/DOF/LocalToGlobalIndexMap.h    | 5 ++---
 NumLib/DOF/MeshComponentMap.cpp       | 6 +++---
 NumLib/DOF/MeshComponentMap.h         | 2 +-
 Tests/NumLib/TestMeshComponentMap.cpp | 8 ++++----
 5 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/NumLib/DOF/LocalToGlobalIndexMap.cpp b/NumLib/DOF/LocalToGlobalIndexMap.cpp
index 21fdc1c5d60..c435af4b982 100644
--- a/NumLib/DOF/LocalToGlobalIndexMap.cpp
+++ b/NumLib/DOF/LocalToGlobalIndexMap.cpp
@@ -196,7 +196,7 @@ LocalToGlobalIndexMap::LocalToGlobalIndexMap(
 
 LocalToGlobalIndexMap::LocalToGlobalIndexMap(
     std::vector<std::unique_ptr<MeshLib::MeshSubsets>>&& mesh_subsets,
-    std::vector<std::size_t> const& global_component_ids,
+    std::vector<int> const& global_component_ids,
     std::vector<MeshLib::Element*> const& elements,
     NumLib::MeshComponentMap&& mesh_component_map)
     : _mesh_subsets(std::move(mesh_subsets)),
@@ -211,7 +211,7 @@ LocalToGlobalIndexMap::LocalToGlobalIndexMap(
             "There are %d mesh subsets and %d components.",
             mesh_subsets.size(), global_component_ids.size());
 
-    for (std::size_t i = 0; i < global_component_ids.size(); ++i)
+    for (int i = 0; i < global_component_ids.size(); ++i)
     {
         auto const& mss = *_mesh_subsets[i];
 
@@ -241,7 +241,7 @@ LocalToGlobalIndexMap* LocalToGlobalIndexMap::deriveBoundaryConstrainedMap(
         OGS_FATAL("Expected non-empty vector of component ids.");
 
     // Create a subset of the current mesh component map.
-    std::vector<std::size_t> global_component_ids;
+    std::vector<int> global_component_ids;
 
     for (auto component_id : component_ids)
         global_component_ids.push_back(
@@ -253,7 +253,7 @@ LocalToGlobalIndexMap* LocalToGlobalIndexMap::deriveBoundaryConstrainedMap(
     // Create copies of the mesh_subsets for each of the global components.
     // The last component is moved after the for-loop.
     std::vector<std::unique_ptr<MeshLib::MeshSubsets>> all_mesh_subsets;
-    for (std::size_t i = 0; i < global_component_ids.size() - 1; ++i)
+    for (int i = 0; i < static_cast<int>(global_component_ids.size()) - 1; ++i)
         all_mesh_subsets.emplace_back(new MeshLib::MeshSubsets{*mesh_subsets});
     all_mesh_subsets.emplace_back(std::move(mesh_subsets));
 
diff --git a/NumLib/DOF/LocalToGlobalIndexMap.h b/NumLib/DOF/LocalToGlobalIndexMap.h
index 460d7b73a41..a5357bbb668 100644
--- a/NumLib/DOF/LocalToGlobalIndexMap.h
+++ b/NumLib/DOF/LocalToGlobalIndexMap.h
@@ -170,7 +170,7 @@ private:
     /// this construtor.
     explicit LocalToGlobalIndexMap(
         std::vector<std::unique_ptr<MeshLib::MeshSubsets>>&& mesh_subsets,
-        std::vector<std::size_t> const& global_component_ids,
+        std::vector<int> const& global_component_ids,
         std::vector<MeshLib::Element*> const& elements,
         NumLib::MeshComponentMap&& mesh_component_map);
 
@@ -190,8 +190,7 @@ private:
 
     /// The global component id for the specific variable (like velocity) and a
     /// component (like x, or y, or z).
-    std::size_t getGlobalComponent(int const variable_id,
-                                   int const component_id) const
+    int getGlobalComponent(int const variable_id, int const component_id) const
     {
         return _variable_component_offsets[variable_id] + component_id;
     }
diff --git a/NumLib/DOF/MeshComponentMap.cpp b/NumLib/DOF/MeshComponentMap.cpp
index 0859266c0c6..401a3834476 100644
--- a/NumLib/DOF/MeshComponentMap.cpp
+++ b/NumLib/DOF/MeshComponentMap.cpp
@@ -146,7 +146,7 @@ MeshComponentMap::MeshComponentMap(
 #endif // end of USE_PETSC
 
 MeshComponentMap MeshComponentMap::getSubset(
-    std::vector<std::size_t> const& component_ids,
+    std::vector<int> const& component_ids,
     MeshLib::MeshSubsets const& mesh_subsets) const
 {
     // New dictionary for the subset.
@@ -158,13 +158,13 @@ MeshComponentMap MeshComponentMap::getSubset(
         // 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++)
-            for (std::size_t component_id : component_ids)
+            for (auto component_id : component_ids)
                 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++)
-            for (std::size_t component_id : component_ids)
+            for (auto component_id : component_ids)
                 subset_dict.insert(
                     getLine(Location(mesh_id, MeshLib::MeshItemType::Cell,
                                      mesh_subset->getElementID(j)),
diff --git a/NumLib/DOF/MeshComponentMap.h b/NumLib/DOF/MeshComponentMap.h
index 730510d19d0..9248a746158 100644
--- a/NumLib/DOF/MeshComponentMap.h
+++ b/NumLib/DOF/MeshComponentMap.h
@@ -49,7 +49,7 @@ public:
     ///
     /// \param component_ids  The vector of global components id.
     /// \param components components that should remain in the created subset
-    MeshComponentMap getSubset(std::vector<std::size_t> const& component_ids,
+    MeshComponentMap getSubset(std::vector<int> const& component_ids,
                                MeshLib::MeshSubsets const& components) const;
 
     /// The number of dofs including the those located in the ghost nodes.
diff --git a/Tests/NumLib/TestMeshComponentMap.cpp b/Tests/NumLib/TestMeshComponentMap.cpp
index 71bf2b83790..213cc41a510 100644
--- a/Tests/NumLib/TestMeshComponentMap.cpp
+++ b/Tests/NumLib/TestMeshComponentMap.cpp
@@ -160,7 +160,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_SubsetOfNodesByComponent)
     MeshLib::MeshSubset const some_nodes_mesh_subset(*mesh, &some_nodes);
     MeshLib::MeshSubsets const selected_component{&some_nodes_mesh_subset};
 
-    std::size_t const selected_component_id = 1;
+    int const selected_component_id = 1;
 
     // Subset the original cmap.
     MeshComponentMap cmap_subset =
@@ -196,7 +196,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_SubsetOfNodesByLocation)
     MeshLib::MeshSubset const some_nodes_mesh_subset(*mesh, &some_nodes);
     MeshLib::MeshSubsets const selected_component{&some_nodes_mesh_subset};
 
-    std::size_t const selected_component_id = 1;
+    int const selected_component_id = 1;
 
     // Subset the original cmap.
     MeshComponentMap cmap_subset =
@@ -233,7 +233,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_MulticomponentVariable)
     MeshLib::MeshSubsets const selected_component{&some_nodes_mesh_subset};
 
     // Subset the original cmap.
-    std::vector<std::size_t> const selected_component_ids = {0, 1};
+    std::vector<int> const selected_component_ids = {0, 1};
     MeshComponentMap cmap_subset =
         cmap->getSubset(selected_component_ids, selected_component);
 
@@ -271,7 +271,7 @@ TEST_F(NumLibMeshComponentMapTest,
     MeshLib::MeshSubsets const selected_component{&some_nodes_mesh_subset};
 
     // Subset the original cmap.
-    std::vector<std::size_t> const selected_component_ids = {1};
+    std::vector<int> const selected_component_ids = {1};
     MeshComponentMap cmap_subset =
         cmap->getSubset(selected_component_ids, selected_component);
 
-- 
GitLab