From 445785416dd3d6169683816139afc2b7ca8e44dd Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Mon, 6 Aug 2018 15:53:03 +0200 Subject: [PATCH] Access to cell_face_is_reversed by function --- src/mesh/Connectivity.hpp | 9 +++++++-- src/mesh/MeshData.hpp | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mesh/Connectivity.hpp b/src/mesh/Connectivity.hpp index 4167f92e6..566ce4850 100644 --- a/src/mesh/Connectivity.hpp +++ b/src/mesh/Connectivity.hpp @@ -227,14 +227,17 @@ class Connectivity public: static constexpr size_t dimension = Dimension; - FaceValuePerCell<bool> m_cell_face_is_reversed; - template <TypeOfItem item_type_0, TypeOfItem item_type_1> const ConnectivityMatrix& itemToItemMatrix() const { return m_item_to_item_matrix[itemId(item_type_0)][itemId(item_type_1)]; }; + const auto& cellFaceIsReversed() const + { + return m_cell_face_is_reversed; + } + const auto& cellToNodeLocalCell() const { return m_cell_to_node_local_cell; @@ -263,6 +266,8 @@ class Connectivity private: ConnectivityMatrix m_item_to_item_matrix[Dimension+1][Dimension+1]; + FaceValuePerCell<const bool> m_cell_face_is_reversed; + NodeValuePerCell<const unsigned short> m_cell_to_node_local_cell; CellValuePerFace<const unsigned short> m_face_to_cell_local_face; diff --git a/src/mesh/MeshData.hpp b/src/mesh/MeshData.hpp index 9e4610873..fc7bcf66f 100644 --- a/src/mesh/MeshData.hpp +++ b/src/mesh/MeshData.hpp @@ -153,11 +153,12 @@ class MeshData = getConnectivityMatrix<TypeOfItem::cell, TypeOfItem::face>(m_mesh.connectivity()); + const auto& cell_face_is_reversed = m_mesh.connectivity().cellFaceIsReversed(); Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) { const auto& cell_nodes = cell_to_node_matrix.rowConst(j); const auto& cell_faces = cell_to_face_matrix.rowConst(j); - const auto& cell_face_is_reversed = m_mesh.connectivity().m_cell_face_is_reversed.itemValues(j); + const auto& face_is_reversed = cell_face_is_reversed.itemValues(j); for (size_t L=0; L<cell_faces.length; ++L) { const size_t l = cell_faces(L); @@ -175,7 +176,7 @@ class MeshData return std::numeric_limits<size_t>::max(); }; - if (cell_face_is_reversed[L]) { + if (face_is_reversed[L]) { for (size_t rl = 0; rl<face_nodes.length; ++rl) { const size_t R = local_node_number_in_cell(face_nodes(rl)); m_Cjr(j, R) -= Nlr(l,rl); -- GitLab