From f0b5a23a4a203a000833a9b9ba840ed757709568 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Mon, 16 Apr 2018 10:26:00 +0200 Subject: [PATCH] Added faces to 1d connectivity --- experimental/Connectivity1D.hpp | 44 ++++++++++++++++++++++++++++++--- experimental/Mesh.hpp | 5 ++++ 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/experimental/Connectivity1D.hpp b/experimental/Connectivity1D.hpp index ddfd4d7aa..952b7d9a2 100644 --- a/experimental/Connectivity1D.hpp +++ b/experimental/Connectivity1D.hpp @@ -10,13 +10,21 @@ public: static constexpr size_t dimension = 1; private: - const size_t m_number_of_cells; - const size_t m_number_of_nodes; + const size_t m_number_of_cells; + const size_t& m_number_of_faces; + const size_t m_number_of_nodes; Kokkos::View<unsigned int*[2]> m_cell_nodes; + const Kokkos::View<unsigned int*[2]>& m_cell_faces; + Kokkos::View<unsigned short*> m_node_nb_cells; + const Kokkos::View<unsigned short*>& m_face_nb_cells; + Kokkos::View<unsigned int*[2]> m_node_cells; + const Kokkos::View<unsigned int*[2]>& m_face_cells; + Kokkos::View<unsigned short*[2]> m_node_cell_local_node; + const Kokkos::View<unsigned short*[2]>& m_face_cell_local_face; public: const size_t& numberOfNodes() const @@ -24,6 +32,11 @@ public: return m_number_of_nodes; } + const size_t& numberOfFaces() const + { + return m_number_of_faces; + } + const size_t& numberOfCells() const { return m_number_of_cells; @@ -34,30 +47,55 @@ public: return m_cell_nodes; } + const Kokkos::View<const unsigned int*[2]> cellFaces() const + { + return m_cell_faces; + } + const Kokkos::View<const unsigned short*> nodeNbCells() const { return m_node_nb_cells; } + const Kokkos::View<const unsigned short*> faceNbCells() const + { + return m_face_nb_cells; + } + const Kokkos::View<const unsigned int*[2]> nodeCells() const { return m_node_cells; } + const Kokkos::View<const unsigned int*[2]> faceCells() const + { + return m_face_cells; + } + const Kokkos::View<const unsigned short*[2]> nodeCellLocalNode() const { return m_node_cell_local_node; } + const Kokkos::View<const unsigned short*[2]> faceCellLocalFace() const + { + return m_face_cell_local_face; + } + Connectivity1D(const Connectivity1D&) = delete; Connectivity1D(const size_t& number_of_cells) : m_number_of_cells (number_of_cells), + m_number_of_faces (m_number_of_nodes), m_number_of_nodes (number_of_cells+1), m_cell_nodes ("cell_nodes", m_number_of_cells), + m_cell_faces (m_cell_nodes), m_node_nb_cells ("node_nb_cells",m_number_of_nodes), + m_face_nb_cells (m_node_nb_cells), m_node_cells ("node_cells", m_number_of_nodes), - m_node_cell_local_node ("node_cell_local_node", m_number_of_nodes) + m_face_cells (m_node_cells), + m_node_cell_local_node ("node_cell_local_node", m_number_of_nodes), + m_face_cell_local_face (m_node_cell_local_node) { assert(number_of_cells>0); diff --git a/experimental/Mesh.hpp b/experimental/Mesh.hpp index 3914fb896..98cd0af12 100644 --- a/experimental/Mesh.hpp +++ b/experimental/Mesh.hpp @@ -28,6 +28,11 @@ public: return m_connectivity.numberOfNodes(); } + const size_t& numberOfFaces() const + { + return m_connectivity.numberOfFaces(); + } + const size_t& numberOfCells() const { return m_connectivity.numberOfCells(); -- GitLab