#include <Panzer_IntrepidFieldPattern.hpp>
|
static void | buildSubcellClosure (const shards::CellTopology &cellTopo, unsigned dim, unsigned subCell, std::set< std::pair< unsigned, unsigned > > &closure) |
|
static void | findContainedSubcells (const shards::CellTopology &cellTopo, unsigned dim, const std::vector< unsigned > &nodes, std::set< std::pair< unsigned, unsigned > > &subCells) |
|
static void | getSubcellNodes (const shards::CellTopology &cellTopo, unsigned dim, unsigned subCell, std::vector< unsigned > &nodes) |
|
|
Teuchos::RCP< Intrepid2::Basis< double, Kokkos::DynRankView< double, PHX::Device > > > | intrepidBasis_ |
|
std::vector< int > | empty_ |
|
This is a derived class that specializes based on a single intrepid basis function.
Definition at line 60 of file Panzer_IntrepidFieldPattern.hpp.
◆ Intrepid2FieldPattern()
panzer::Intrepid2FieldPattern::Intrepid2FieldPattern |
( |
const Teuchos::RCP< Intrepid2::Basis< double, Kokkos::DynRankView< double, PHX::Device > > > & |
intrepidBasis | ) |
|
|
inline |
◆ getSubcellCount()
int panzer::Intrepid2FieldPattern::getSubcellCount |
( |
int |
dim | ) |
const |
|
virtual |
How many sub cells of a particular dimension are there? For instance a "quad" element as four sub cells of dimension 0 (node type),four sub cells of dimension one (edge type), and one sub cell of dimension two (area type).
- Parameters
-
[in] | dim | Dimension of the sub cell of interest |
- Returns
- Number of sub cells of dimension
dim
Implements panzer::FieldPattern.
Definition at line 52 of file Panzer_IntrepidFieldPattern.cpp.
◆ getSubcellIndices()
const std::vector< int > & panzer::Intrepid2FieldPattern::getSubcellIndices |
( |
int |
dim, |
|
|
int |
cellIndex |
|
) |
| const |
|
virtual |
Get the local indices associated with a particular sub cell. The sub cell is specified through its dimension and cell index. A vector is returned that gives the indices.
- Parameters
-
[in] | dim | Dimension of the sub cell of interest |
[in] | cellIndex | Index of the sub cell (must be lest than getSubcellCount(dim) and greater than or equal to 0. |
- Returns
- A vector of indices for the specified sub cell.
Implements panzer::FieldPattern.
Definition at line 58 of file Panzer_IntrepidFieldPattern.cpp.
◆ getDimension()
int panzer::Intrepid2FieldPattern::getDimension |
( |
| ) |
const |
|
virtual |
◆ getCellTopology()
shards::CellTopology panzer::Intrepid2FieldPattern::getCellTopology |
( |
| ) |
const |
|
virtual |
◆ getSubcellClosureIndices()
void panzer::Intrepid2FieldPattern::getSubcellClosureIndices |
( |
int |
dim, |
|
|
int |
cellIndex, |
|
|
std::vector< int > & |
indices |
|
) |
| const |
|
virtual |
Get the set of indices that are on the sub cell. The `‘closure’' means that this set includes indices of all the child sub cells as well.
- Parameters
-
[in] | dim | Dimension of the sub cell of interest |
[in] | cellIndex | Index of the sub cell (must be lest than getSubcellCount(dim) and greater than or equal to 0. |
[out] | indices | Vector, to be overwritten, containing the closure indices on return. |
Implements panzer::FieldPattern.
Definition at line 79 of file Panzer_IntrepidFieldPattern.cpp.
◆ buildSubcellClosure()
void panzer::Intrepid2FieldPattern::buildSubcellClosure |
( |
const shards::CellTopology & |
cellTopo, |
|
|
unsigned |
dim, |
|
|
unsigned |
subCell, |
|
|
std::set< std::pair< unsigned, unsigned > > & |
closure |
|
) |
| |
|
static |
For a given sub cell find the set of sub cells at all dimensions contained internally. This is inclusive, so that (dim,subCell) will be in the set.
- Parameters
-
[in] | cellTopo | Parent cell topology being used. |
[in] | dim | Dimension of sub cell |
[in] | subCell | Ordinal of sub cell at specified dimension |
[in,out] | closure | Set of sub cells associated with specified sub cell. |
- Note
- Sub cell dimension and ordinals are inserted into
closure
. Previous information will not be removed.
Definition at line 159 of file Panzer_IntrepidFieldPattern.cpp.
◆ findContainedSubcells()
void panzer::Intrepid2FieldPattern::findContainedSubcells |
( |
const shards::CellTopology & |
cellTopo, |
|
|
unsigned |
dim, |
|
|
const std::vector< unsigned > & |
nodes, |
|
|
std::set< std::pair< unsigned, unsigned > > & |
subCells |
|
) |
| |
|
static |
Search a cell topology for sub cells containing a specfic set of nodes. This is a downward search (inclusive) from a user specified dimension.
- Parameters
-
[in] | cellTopo | Parent cell topology being used. |
[in] | dim | Dimension of sub cell |
[in] | nodes | Nodes forming the super set |
[in,out] | subCells | Specific sub cells containing the nodes. |
- Note
- Sub cell dimension and ordinals are inserted into
subCells
. Previous information will not be removed.
Definition at line 133 of file Panzer_IntrepidFieldPattern.cpp.
◆ getSubcellNodes()
void panzer::Intrepid2FieldPattern::getSubcellNodes |
( |
const shards::CellTopology & |
cellTopo, |
|
|
unsigned |
dim, |
|
|
unsigned |
subCell, |
|
|
std::vector< unsigned > & |
nodes |
|
) |
| |
|
static |
Get the set of nodes making up the user specified sub cells.
- Parameters
-
[in] | cellTopo | Parent cell topology being used. |
[in] | dim | Dimension of sub cell |
[in] | subCell | Ordinal of sub cell at specified dimension |
[in,out] | nodes | Nodes associated with sub cell. |
Definition at line 116 of file Panzer_IntrepidFieldPattern.cpp.
◆ supportsInterpolatoryCoordinates()
bool panzer::Intrepid2FieldPattern::supportsInterpolatoryCoordinates |
( |
| ) |
const |
Does this field pattern support interpolatory coordinates?
If this method returns true then getInterpolatoryCoordinates
will succeed, otherwise it will throw.
- Returns
- True if this pattern supports interpolatory coordinates.
Definition at line 187 of file Panzer_IntrepidFieldPattern.cpp.
◆ getInterpolatoryCoordinates() [1/2]
void panzer::Intrepid2FieldPattern::getInterpolatoryCoordinates |
( |
Kokkos::DynRankView< double, PHX::Device > & |
coords | ) |
const |
Get the local coordinates for this field. This is independent of element locations.
- Parameters
-
[in,out] | coords | Coordinates associated with this field type. |
Definition at line 207 of file Panzer_IntrepidFieldPattern.cpp.
◆ getInterpolatoryCoordinates() [2/2]
void panzer::Intrepid2FieldPattern::getInterpolatoryCoordinates |
( |
const Kokkos::DynRankView< double, PHX::Device > & |
cellVertices, |
|
|
Kokkos::DynRankView< double, PHX::Device > & |
coords |
|
) |
| const |
Get the local coordinates for this field.
- Parameters
-
[in] | cellVertices | Coordinates associated with this field type. |
[in,out] | coords | Coordinates associated with this field type. |
Get the local coordinates for this field. This is independent of element locations.
- Parameters
-
[in,out] | coords | Coordinates associated with this field type. |
Definition at line 230 of file Panzer_IntrepidFieldPattern.cpp.
◆ intrepidBasis_
Teuchos::RCP< Intrepid2::Basis<double,Kokkos::DynRankView<double,PHX::Device> > > panzer::Intrepid2FieldPattern::intrepidBasis_ |
|
protected |
◆ empty_
std::vector<int> panzer::Intrepid2FieldPattern::empty_ |
|
protected |
The documentation for this class was generated from the following files: