#include <Panzer_IntrepidFieldPattern.hpp>
|
| | Intrepid2FieldPattern (const Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > &intrepidBasis) |
| Teuchos::RCP< panzer::FieldPattern > | clone () const |
| virtual int | getSubcellCount (int dim) const |
| virtual const std::vector< int > & | getSubcellIndices (int dim, int cellIndex) const |
| virtual int | getDimension () const |
| virtual shards::CellTopology | getCellTopology () const |
| virtual void | getSubcellClosureIndices (int dim, int cellIndex, std::vector< int > &indices) const |
| bool | supportsInterpolatoryCoordinates () const |
| | Does this field pattern support interpolatory coordinates?
|
| void | getInterpolatoryCoordinates (Kokkos::DynRankView< double, PHX::Device > &coords) const |
| void | getInterpolatoryCoordinates (const Kokkos::DynRankView< double, PHX::Device > &cellNodes, Kokkos::DynRankView< double, PHX::Device > &coords, Teuchos::RCP< const shards::CellTopology > meshCellTopology=Teuchos::null) const |
| Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > | getIntrepidBasis () const |
| | Returns the underlying Intrepid2::Basis object.
|
| virtual | ~FieldPattern ()=0 |
| | Do nothing destructor.
|
| virtual int | numberIds () const |
| virtual bool | sameGeometry (const FieldPattern &fp) const |
| virtual bool | consistentSubcells () const |
| virtual void | print (std::ostream &os) const |
| virtual bool | equals (const FieldPattern &fp) const |
|
| 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) |
This is a derived class that specializes based on a single intrepid basis function.
Definition at line 30 of file Panzer_IntrepidFieldPattern.hpp.
◆ Intrepid2FieldPattern()
| panzer::Intrepid2FieldPattern::Intrepid2FieldPattern |
( |
const Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > & | intrepidBasis | ) |
|
◆ clone()
◆ 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 48 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 56 of file Panzer_IntrepidFieldPattern.cpp.
◆ getDimension()
| int panzer::Intrepid2FieldPattern::getDimension |
( |
| ) |
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
-
/** What is the dimension of this pattern. For instance a "quad" element is two dimensional. This is a purely geometric quantity.
Implements panzer::FieldPattern.
Definition at line 94 of file Panzer_IntrepidFieldPattern.cpp.
◆ getCellTopology()
| shards::CellTopology panzer::Intrepid2FieldPattern::getCellTopology |
( |
| ) |
const |
|
virtual |
◆ getSubcellClosureIndices()
| void panzer::Intrepid2FieldPattern::getSubcellClosureIndices |
( |
int | dim, |
|
|
int | cellIndex, |
|
|
std::vector< int > & | indices ) const |
|
virtual |
◆ 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 156 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 129 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 110 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 186 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 199 of file Panzer_IntrepidFieldPattern.cpp.
◆ getInterpolatoryCoordinates() [2/2]
| void panzer::Intrepid2FieldPattern::getInterpolatoryCoordinates |
( |
const Kokkos::DynRankView< double, PHX::Device > & | cellNodes, |
|
|
Kokkos::DynRankView< double, PHX::Device > & | coords, |
|
|
Teuchos::RCP< const shards::CellTopology > | meshCellTopology = Teuchos::null ) const |
Get the local coordinates for this field.
- Parameters
-
| [in] | cellNodes | Coordinates of the cell nodes. |
| [in,out] | coords | Coordinates associated with this field type. |
| [in] | meshCellTopology | Mesh cell topology |
- Note
- If no cell topology is supplied, it will be inferred from the intrepid basis. This will result in incorrect behavior for second order or higher meshes.
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 213 of file Panzer_IntrepidFieldPattern.cpp.
◆ getIntrepidBasis()
| Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > panzer::Intrepid2FieldPattern::getIntrepidBasis |
( |
| ) |
const |
◆ intrepidBasis_
| Teuchos::RCP< Intrepid2::Basis<PHX::Device,double,double> > panzer::Intrepid2FieldPattern::intrepidBasis_ |
|
protected |
◆ subcellIndicies_
| std::vector<std::vector<std::vector<int> > > panzer::Intrepid2FieldPattern::subcellIndicies_ |
|
mutableprotected |
◆ empty_
| std::vector<int> panzer::Intrepid2FieldPattern::empty_ |
|
protected |
The documentation for this class was generated from the following files: