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