From 6d44c5b577be5d55320b4a7f4e2668dec2293f5c Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Mon, 7 May 2018 18:44:49 +0200 Subject: [PATCH] Begining of Gmesh reading of 1d meshes --- src/mesh/GmshReader.cpp | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp index 45151c589..18e301b35 100644 --- a/src/mesh/GmshReader.cpp +++ b/src/mesh/GmshReader.cpp @@ -856,24 +856,30 @@ GmshReader::__proceedData() xr[i][0] = __vertices[i][0]; xr[i][1] = __vertices[i][1]; } - m_mesh = new MeshType(std::shared_ptr<Connectivity2D>(p_connectivity), - xr); - MeshType& mesh = *m_mesh; + m_mesh = new MeshType(std::shared_ptr<Connectivity2D>(p_connectivity), xr); - std::ofstream gnuplot("mesh.gnu"); + } else if ((dimension1_mask, elementNumber)>0) { - for (size_t j=0; j<mesh.numberOfCells(); ++j) { - for (int r=0; r<mesh.connectivity().cellNbNodes()[j]; ++r) { - const Rd& x = mesh.xr()[mesh.connectivity().cellNodes()(j,r)]; - gnuplot << x[0] << ' ' << x[1] << '\n'; - } - const Rd& x = mesh.xr()[mesh.connectivity().cellNodes()(j,0)]; - gnuplot << x[0] << ' ' << x[1] << "\n\n"; + const size_t nb_cells = (dimension1_mask, elementNumber); + const size_t max_nb_node_per_cell=2; + + const Kokkos::View<unsigned int*[2]> cell_nodes("cell_nodes", nb_cells, max_nb_node_per_cell); + for (size_t j=0; j<nb_cells; ++j) { + cell_nodes(j,0) = __edges[j][0]; + cell_nodes(j,1) = __edges[j][1]; } - gnuplot.close(); - } else if ((dimension1_mask, elementNumber)>0) { - std::cerr << "*** using a 1d mesh (NIY)\n"; + const Kokkos::View<unsigned short*> cell_nb_nodes("cell_nb_nodes", nb_cells); + for (size_t j=0; j<nb_cells; ++j) { + cell_nb_nodes[j] = 2; + } + + // std::shared_ptr<Connectivity1D> connectivity(new Connectivity1D()); + // m_connectivity = new Connectivity2D(cell_nb_nodes, cell_nodes); + // Connectivity2D& connectivity = *m_connectivity; + + + std::cerr << "*** using a 1d mesh (Implementation in progress)\n"; std::exit(0); } else { std::cerr << "*** using a dimension 0 mesh is forbidden!\n"; -- GitLab