diff --git a/NumLib/DOF/LocalToGlobalIndexMap.cpp b/NumLib/DOF/LocalToGlobalIndexMap.cpp index 3be86d468591a29b2a892e0b171e0bea4f1f031c..40034c2eb29109184704af316912eb01d828b773 100644 --- a/NumLib/DOF/LocalToGlobalIndexMap.cpp +++ b/NumLib/DOF/LocalToGlobalIndexMap.cpp @@ -189,12 +189,12 @@ LocalToGlobalIndexMap::LocalToGlobalIndexMap( LocalToGlobalIndexMap::LocalToGlobalIndexMap( std::vector<MeshLib::MeshSubset>&& mesh_subsets, std::vector<int> const& global_component_ids, + std::vector<int> const& variable_component_offsets, std::vector<MeshLib::Element*> const& elements, NumLib::MeshComponentMap&& mesh_component_map) : _mesh_subsets(std::move(mesh_subsets)), _mesh_component_map(std::move(mesh_component_map)), - _variable_component_offsets( - to_cumulative(std::vector<int>(1, 1))) // Single variable only. + _variable_component_offsets(variable_component_offsets) { // Each subset in the mesh_subsets represents a single component. if (_mesh_subsets.size() != global_component_ids.size()) @@ -247,9 +247,9 @@ LocalToGlobalIndexMap* LocalToGlobalIndexMap::deriveBoundaryConstrainedMap( all_mesh_subsets.emplace_back(new_mesh_subset); all_mesh_subsets.emplace_back(std::move(new_mesh_subset)); - return new LocalToGlobalIndexMap(std::move(all_mesh_subsets), - global_component_ids, elements, - std::move(mesh_component_map)); + return new LocalToGlobalIndexMap( + std::move(all_mesh_subsets), global_component_ids, + _variable_component_offsets, elements, std::move(mesh_component_map)); } std::size_t LocalToGlobalIndexMap::dofSizeWithGhosts() const diff --git a/NumLib/DOF/LocalToGlobalIndexMap.h b/NumLib/DOF/LocalToGlobalIndexMap.h index 7fe89ade313f426ab2a0cd502e4245b7acc196cc..41c1c02456af72fb3db23199b875237a7eb01f3c 100644 --- a/NumLib/DOF/LocalToGlobalIndexMap.h +++ b/NumLib/DOF/LocalToGlobalIndexMap.h @@ -153,6 +153,7 @@ private: explicit LocalToGlobalIndexMap( std::vector<MeshLib::MeshSubset>&& mesh_subsets, std::vector<int> const& global_component_ids, + std::vector<int> const& variable_component_offsets, std::vector<MeshLib::Element*> const& elements, NumLib::MeshComponentMap&& mesh_component_map);