Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
panzer::SubcellConnectivity Class Reference

#include <Panzer_SubcellConnectivity.hpp>

Inheritance diagram for panzer::SubcellConnectivity:
Inheritance graph
[legend]

Public Member Functions

 SubcellConnectivity ()
 Default constructor. More...
 
 ~SubcellConnectivity ()=default
 Default destructor. More...
 
KOKKOS_INLINE_FUNCTION int numSubcells () const
 Gives number of subcells (e.g. faces) in connectivity. More...
 
KOKKOS_INLINE_FUNCTION int numCells () const
 Gives number of cells in connectivity. More...
 
KOKKOS_INLINE_FUNCTION int numSubcellsOnCell (const int cell) const
 gives number of subcells (e.g. faces) found on a given cell More...
 
KOKKOS_INLINE_FUNCTION int numCellsOnSubcell (const int subcell) const
 Returns the number of cells attached to a given subcell. More...
 
KOKKOS_INLINE_FUNCTION int subcellForCell (const int cell, const int local_subcell_index) const
 Get the subcell index for a given cell and local subcell index. More...
 
KOKKOS_INLINE_FUNCTION int cellForSubcell (const int subcell, const int local_cell_index) const
 Get the cell for a given subcell and a local_cell_index. More...
 
KOKKOS_INLINE_FUNCTION int localSubcellForSubcell (const int subcell, const int local_cell_index) const
 Get the local subcell index given a subcell and a local cell index. More...
 

Protected Attributes

int _num_subcells
 Number of subcells for a given number of cells. More...
 
int _num_cells
 Number of cells. More...
 
Kokkos::View< int *, PHX::Device > _subcell_to_cells_adj
 Adjacency array for indexing into subcell_to_cells array. More...
 
Kokkos::View< int *, PHX::Device > _subcell_to_cells
 Mapping from subcells to cells. More...
 
Kokkos::View< int *, PHX::Device > _subcell_to_local_subcells
 Mapping from subcell indexes to local subcell indexes. More...
 
Kokkos::View< int *, PHX::Device > _cell_to_subcells_adj
 Adjacency array for indexing into cell_to_subcells array. More...
 
Kokkos::View< int *, PHX::Device > _cell_to_subcells
 Mapping from cells to subcells. More...
 

Detailed Description

Definition at line 56 of file Panzer_SubcellConnectivity.hpp.

Constructor & Destructor Documentation

panzer::SubcellConnectivity::SubcellConnectivity ( )
inline

Default constructor.

Definition at line 61 of file Panzer_SubcellConnectivity.hpp.

panzer::SubcellConnectivity::~SubcellConnectivity ( )
default

Default destructor.

Member Function Documentation

KOKKOS_INLINE_FUNCTION int panzer::SubcellConnectivity::numSubcells ( ) const
inline

Gives number of subcells (e.g. faces) in connectivity.

Returns
Number of subcells associated with the cells

Definition at line 72 of file Panzer_SubcellConnectivity.hpp.

KOKKOS_INLINE_FUNCTION int panzer::SubcellConnectivity::numCells ( ) const
inline

Gives number of cells in connectivity.

Returns
Number of subcells associated with the cells

Definition at line 80 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::numSubcellsOnCell ( const int  cell) const

gives number of subcells (e.g. faces) found on a given cell

Exceptions
Ifcell is out of range

param[in] Cell index

Returns
Number of subcells on a given cell

Definition at line 211 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::numCellsOnSubcell ( const int  subcell) const

Returns the number of cells attached to a given subcell.

For example: 1) A face joins two cells. 2) A node joins four cells on a 2D rectilinear mesh (eight in 3D)

Parameters
[in]subcellSubcell index
Returns
Number of cells connected to subcell

Definition at line 223 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::subcellForCell ( const int  cell,
const int  local_subcell_index 
) const

Get the subcell index for a given cell and local subcell index.

A local subcell index is the local indexing scheme for the cell.

For example: 1) A quad cell has four faces indexed by 0,1,2,3 (local subcell indexes) 2) A hex cell has eight nodes indexed by 0,1,2,3,4,5,6,7 (local subcell indexes)

Parameters
[in]cellCell index
[in]local_subcell_indexIndex of subcell in cell local indexing
Returns
Subcell index

Definition at line 235 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::cellForSubcell ( const int  subcell,
const int  local_cell_index 
) const

Get the cell for a given subcell and a local_cell_index.

A local cell index is the indexing scheme local to a subcell.

For example: 1) A 1D mesh has subcells (nodes) connects two cells (lines) with local cell indexes 0,1 2) A 2D quad can have nodal subcells (on structured mesh) that connect four cells with local cell indexes 0,1,2,3

Parameters
[in]subcellSubcell index
[in]local_cell_index
Returns
Cell index

Definition at line 249 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::localSubcellForSubcell ( const int  subcell,
const int  local_cell_index 
) const

Get the local subcell index given a subcell and a local cell index.

This is the mapping between local subcell indexes and local cell indexes

Parameters
[in]subcellSubcell index
[in]local_cell_indexLocal cell index on subcell
Returns
Local subcell index for cell identified by subcell index and local_cell_index

Definition at line 263 of file Panzer_SubcellConnectivity.hpp.

Member Data Documentation

int panzer::SubcellConnectivity::_num_subcells
protected

Number of subcells for a given number of cells.

Definition at line 158 of file Panzer_SubcellConnectivity.hpp.

int panzer::SubcellConnectivity::_num_cells
protected

Number of cells.

Definition at line 161 of file Panzer_SubcellConnectivity.hpp.

Kokkos::View<int*, PHX::Device> panzer::SubcellConnectivity::_subcell_to_cells_adj
protected

Adjacency array for indexing into subcell_to_cells array.

Definition at line 164 of file Panzer_SubcellConnectivity.hpp.

Kokkos::View<int*, PHX::Device> panzer::SubcellConnectivity::_subcell_to_cells
protected

Mapping from subcells to cells.

Definition at line 167 of file Panzer_SubcellConnectivity.hpp.

Kokkos::View<int*, PHX::Device> panzer::SubcellConnectivity::_subcell_to_local_subcells
protected

Mapping from subcell indexes to local subcell indexes.

Definition at line 170 of file Panzer_SubcellConnectivity.hpp.

Kokkos::View<int*, PHX::Device> panzer::SubcellConnectivity::_cell_to_subcells_adj
protected

Adjacency array for indexing into cell_to_subcells array.

Definition at line 173 of file Panzer_SubcellConnectivity.hpp.

Kokkos::View<int*, PHX::Device> panzer::SubcellConnectivity::_cell_to_subcells
protected

Mapping from cells to subcells.

Definition at line 176 of file Panzer_SubcellConnectivity.hpp.


The documentation for this class was generated from the following file: