Skip to content
Snippets Groups Projects
Commit 44578541 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Access to cell_face_is_reversed by function

parent 89a10084
Branches
Tags
1 merge request!6Feature/crs
...@@ -227,14 +227,17 @@ class Connectivity ...@@ -227,14 +227,17 @@ class Connectivity
public: public:
static constexpr size_t dimension = Dimension; static constexpr size_t dimension = Dimension;
FaceValuePerCell<bool> m_cell_face_is_reversed;
template <TypeOfItem item_type_0, TypeOfItem item_type_1> template <TypeOfItem item_type_0, TypeOfItem item_type_1>
const ConnectivityMatrix& itemToItemMatrix() const const ConnectivityMatrix& itemToItemMatrix() const
{ {
return m_item_to_item_matrix[itemId(item_type_0)][itemId(item_type_1)]; 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 const auto& cellToNodeLocalCell() const
{ {
return m_cell_to_node_local_cell; return m_cell_to_node_local_cell;
...@@ -263,6 +266,8 @@ class Connectivity ...@@ -263,6 +266,8 @@ class Connectivity
private: private:
ConnectivityMatrix m_item_to_item_matrix[Dimension+1][Dimension+1]; 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; NodeValuePerCell<const unsigned short> m_cell_to_node_local_cell;
CellValuePerFace<const unsigned short> m_face_to_cell_local_face; CellValuePerFace<const unsigned short> m_face_to_cell_local_face;
......
...@@ -153,11 +153,12 @@ class MeshData ...@@ -153,11 +153,12 @@ class MeshData
= getConnectivityMatrix<TypeOfItem::cell, = getConnectivityMatrix<TypeOfItem::cell,
TypeOfItem::face>(m_mesh.connectivity()); 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) { Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
const auto& cell_nodes = cell_to_node_matrix.rowConst(j); const auto& cell_nodes = cell_to_node_matrix.rowConst(j);
const auto& cell_faces = cell_to_face_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) { for (size_t L=0; L<cell_faces.length; ++L) {
const size_t l = cell_faces(L); const size_t l = cell_faces(L);
...@@ -175,7 +176,7 @@ class MeshData ...@@ -175,7 +176,7 @@ class MeshData
return std::numeric_limits<size_t>::max(); 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) { for (size_t rl = 0; rl<face_nodes.length; ++rl) {
const size_t R = local_node_number_in_cell(face_nodes(rl)); const size_t R = local_node_number_in_cell(face_nodes(rl));
m_Cjr(j, R) -= Nlr(l,rl); m_Cjr(j, R) -= Nlr(l,rl);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment