|
Panzer Version of the Day
|
#include <Panzer_IntrepidFieldPattern.hpp>

Public Member Functions | |
| 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. | |
Public Member Functions inherited from panzer::FieldPattern | |
| 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 Public Member Functions | |
| 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) |
Protected Attributes | |
| Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > | intrepidBasis_ |
| std::vector< std::vector< std::vector< int > > > | subcellIndicies_ |
| std::vector< int > | empty_ |
This is a derived class that specializes based on a single intrepid basis function.
Definition at line 30 of file Panzer_IntrepidFieldPattern.hpp.
| panzer::Intrepid2FieldPattern::Intrepid2FieldPattern | ( | const Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > & | intrepidBasis | ) |
Definition at line 19 of file Panzer_IntrepidFieldPattern.cpp.
|
inlinevirtual |
Allocates and returns a copy of the field pattern.
Implements panzer::FieldPattern.
Definition at line 33 of file Panzer_IntrepidFieldPattern.hpp.
|
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).
| [in] | dim | Dimension of the sub cell of interest |
dim Implements panzer::FieldPattern.
Definition at line 48 of file Panzer_IntrepidFieldPattern.cpp.
|
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.
| [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. |
Implements panzer::FieldPattern.
Definition at line 56 of file Panzer_IntrepidFieldPattern.cpp.
|
virtual |
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.
|
virtual |
Get the cell topology associated with this field pattern.
Implements panzer::FieldPattern.
Definition at line 101 of file Panzer_IntrepidFieldPattern.cpp.
|
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.
| [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 66 of file Panzer_IntrepidFieldPattern.cpp.
|
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.
| [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. |
closure. Previous information will not be removed. Definition at line 156 of file Panzer_IntrepidFieldPattern.cpp.
|
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.
| [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. |
subCells. Previous information will not be removed. Definition at line 129 of file Panzer_IntrepidFieldPattern.cpp.
|
static |
Get the set of nodes making up the user specified sub cells.
| [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.
| 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.
Definition at line 186 of file Panzer_IntrepidFieldPattern.cpp.
| void panzer::Intrepid2FieldPattern::getInterpolatoryCoordinates | ( | Kokkos::DynRankView< double, PHX::Device > & | coords | ) | const |
Get the local coordinates for this field. This is independent of element locations.
| [in,out] | coords | Coordinates associated with this field type. |
Definition at line 199 of file Panzer_IntrepidFieldPattern.cpp.
| 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.
| [in] | cellNodes | Coordinates of the cell nodes. |
| [in,out] | coords | Coordinates associated with this field type. |
| [in] | meshCellTopology | Mesh cell topology |
Get the local coordinates for this field. This is independent of element locations.
| [in,out] | coords | Coordinates associated with this field type. |
Definition at line 213 of file Panzer_IntrepidFieldPattern.cpp.
| Teuchos::RCP< Intrepid2::Basis< PHX::Device, double, double > > panzer::Intrepid2FieldPattern::getIntrepidBasis | ( | ) | const |
Returns the underlying Intrepid2::Basis object.
Definition at line 243 of file Panzer_IntrepidFieldPattern.cpp.
|
protected |
Definition at line 117 of file Panzer_IntrepidFieldPattern.hpp.
|
mutableprotected |
Definition at line 120 of file Panzer_IntrepidFieldPattern.hpp.
|
protected |
Definition at line 121 of file Panzer_IntrepidFieldPattern.hpp.