diff --git a/NumLib/DOF/LocalToGlobalIndexMap.cpp b/NumLib/DOF/LocalToGlobalIndexMap.cpp index 4f69ccf6b9fb66d42d8736cc4ab760f8a8e4ee47..7be3a1c3dcfde3e57d83c2e0f91d226a38e0cc3c 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 341db59f6da77e9553524f3049b9219869b16f95..dade1658678896658fd4a6af98f1ec530e46257a 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 bdb9692056ead2a463852b780661c576e8acc885..c628e3144789599bb866c059b9829accce00e4dd 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 b6e05c970bf9392e80d76ff64eeb593213648017..14b6f5b9a59c4538cf2531e0098ce440849cf851 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());