45 #include "Teuchos_Assert.hpp" 116 const int num_faces_per_cell = partition.
cell_to_faces.extent(1);
117 const int num_cells_per_face = 2;
123 _subcell_to_cells = Kokkos::View<int*>(
"subcell_to_cells", num_faces*num_cells_per_face);
126 _cell_to_subcells = Kokkos::View<int*>(
"cell_to_subcells", num_cells*num_faces_per_cell);
129 for(
int face=0;face<num_faces;++face){
138 for(
int cell=0;cell<num_cells;++cell){
140 for(
int local_face=0;local_face<num_faces_per_cell;++local_face){
Kokkos::View< int *, PHX::Device > _subcell_to_cells
Mapping from subcells to cells.
int cellForSubcell(const int subcell, const int local_cell_index) const
Get the cell for a given subcell and a local_cell_index.
int numSubcellsOnCell(const int cell) const
gives number of subcells (e.g. faces) found on a given cell
int _num_subcells
Number of subcells for a given number of cells.
Kokkos::View< int *, PHX::Device > _cell_to_subcells_adj
Adjacency array for indexing into cell_to_subcells array.
Kokkos::View< int *, PHX::Device > _cell_to_subcells
Mapping from cells to subcells.
int numCellsOnSubcell(const int subcell) const
Returns the number of cells attached to a given subcell.
int _num_cells
Number of cells.
void setup(const panzer::LocalMeshPartition< int, panzer::Ordinal64 > &partition)
Setup the face connectivity from a partition of the local mesh.
int subcellForCell(const int cell, const int local_subcell_index) const
Get the subcell index for a given cell and local subcell index.
Kokkos::View< LO *[2]> face_to_cells
Kokkos::View< int *, PHX::Device > _subcell_to_local_subcells
Mapping from subcell indexes to local subcell indexes.
Kokkos::View< LO ** > cell_to_faces
Kokkos::View< LO *[2]> face_to_lidx
Kokkos::View< int *, PHX::Device > _subcell_to_cells_adj
Adjacency array for indexing into subcell_to_cells array.
#define TEUCHOS_ASSERT(assertion_test)
int localSubcellForSubcell(const int subcell, const int local_cell_index) const
Get the local subcell index given a subcell and a local cell index.