diff --git a/src/mesh/Connectivity.hpp b/src/mesh/Connectivity.hpp index b2c7bfec713c1f1cbbbfe85f6ce2fbe35584917f..fea77ee29dd63e573d2e9e5e716d2087daf58a7a 100644 --- a/src/mesh/Connectivity.hpp +++ b/src/mesh/Connectivity.hpp @@ -407,12 +407,6 @@ class Connectivity final return _lazzyBuildItemNumberInTheirChild(m_node_local_numbers_in_their_faces); } - [[deprecated("Use connectivity descriptor")]] - void addRefFaceList(const RefFaceList& ref_face_list) - { - m_ref_face_list.push_back(ref_face_list); - } - size_t numberOfRefFaceList() const { return m_ref_face_list.size(); diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp index bc7c9cdb37c5d5c464c15a2e868721c8d369e3b9..0ff0f36ad3594c26567314c305e3f3b84f28ee0b 100644 --- a/src/mesh/GmshReader.cpp +++ b/src/mesh/GmshReader.cpp @@ -2099,21 +2099,14 @@ GmshReader::__proceedData() descriptor.node_owner_vector.end(), parallel::rank()); - std::shared_ptr p_connectivity = std::make_shared<Connectivity3D>(descriptor); - Connectivity3D& connectivity = *p_connectivity; const auto& node_number_vector = descriptor.node_number_vector; using Face = ConnectivityFace<3>; const std::unordered_map<Face, FaceId, typename Face::Hash> face_to_id_map = [&] { std::unordered_map<Face, FaceId, typename Face::Hash> face_to_id_map; - const auto& face_node_list = connectivity.faceToNodeMatrix(); - for (FaceId l=0; l<connectivity.numberOfFaces(); ++l) { - const auto& node_list = face_node_list[l]; - std::vector<unsigned int> node_vector(node_list.size()); - for (size_t r=0; r<node_list.size(); ++r) { - node_vector[r] = node_list[r]; - } + for (FaceId l=0; l<descriptor.face_to_node_vector.size(); ++l) { + const auto& node_vector = descriptor.face_to_node_vector[l]; face_to_id_map[Face(node_vector, node_number_vector)] = l; } return face_to_id_map; @@ -2199,15 +2192,19 @@ GmshReader::__proceedData() } } } + for (const auto& ref_face_list : ref_faces_map) { Array<FaceId> face_list(ref_face_list.second.size()); for (size_t j=0; j<ref_face_list.second.size(); ++j) { face_list[j]=ref_face_list.second[j]; } const PhysicalRefId& physical_ref_id = m_physical_ref_map.at(ref_face_list.first); - connectivity.addRefFaceList(RefFaceList(physical_ref_id.refId(), face_list)); + descriptor.addRefFaceList(RefFaceList(physical_ref_id.refId(), face_list)); } + std::shared_ptr p_connectivity = std::make_shared<Connectivity3D>(descriptor); + Connectivity3D& connectivity = *p_connectivity; + using MeshType = Mesh<Connectivity3D>; using Rd = TinyVector<3, double>; @@ -2267,18 +2264,14 @@ GmshReader::__proceedData() descriptor.node_owner_vector.end(), parallel::rank()); - std::shared_ptr p_connectivity = std::make_shared<Connectivity2D>(descriptor); - Connectivity2D& connectivity = *p_connectivity; - using Face = ConnectivityFace<2>; const auto& node_number_vector = descriptor.node_number_vector; const std::unordered_map<Face, FaceId, typename Face::Hash> face_to_id_map = [&] { std::unordered_map<Face, FaceId, typename Face::Hash> face_to_id_map; - const auto& face_node_list = connectivity.faceToNodeMatrix(); - for (FaceId l=0; l<connectivity.numberOfFaces(); ++l) { - const auto& node_list = face_node_list[l]; - face_to_id_map[Face({node_list[0], node_list[1]}, node_number_vector)] = l; + for (FaceId l=0; l<descriptor.face_to_node_vector.size(); ++l) { + const auto& node_vector = descriptor.face_to_node_vector[l]; + face_to_id_map[Face(node_vector, node_number_vector)] = l; } return face_to_id_map; } (); @@ -2333,9 +2326,12 @@ GmshReader::__proceedData() face_list[j]=ref_face_list.second[j]; } const PhysicalRefId& physical_ref_id = m_physical_ref_map.at(ref_face_list.first); - connectivity.addRefFaceList(RefFaceList(physical_ref_id.refId(), face_list)); + descriptor.addRefFaceList(RefFaceList(physical_ref_id.refId(), face_list)); } + std::shared_ptr p_connectivity = std::make_shared<Connectivity2D>(descriptor); + Connectivity2D& connectivity = *p_connectivity; + std::map<unsigned int, std::vector<unsigned int>> ref_points_map; for (unsigned int r=0; r<__points.size(); ++r) { const unsigned int point_number = __points[r];