Panzer
Version of the Day
|
#include <Panzer_FieldPattern.hpp>
Public Member Functions | |
virtual | ~FieldPattern ()=0 |
Do nothing destructor. More... | |
virtual int | getSubcellCount (int dim) const =0 |
virtual const std::vector< int > & | getSubcellIndices (int dim, int cellIndex) const =0 |
virtual void | getSubcellClosureIndices (int dim, int cellIndex, std::vector< int > &indices) const =0 |
virtual int | getDimension () const =0 |
virtual shards::CellTopology | getCellTopology () const =0 |
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 |
Definition at line 21 of file Panzer_FieldPattern.hpp.
|
pure virtual |
Do nothing destructor.
Definition at line 15 of file Panzer_FieldPattern.cpp.
|
pure 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
Implemented in panzer::GeometricAggFieldPattern, panzer::FieldAggPattern, panzer::EdgeFieldPattern, panzer::ElemFieldPattern, panzer::FaceFieldPattern, panzer::NodalFieldPattern, and panzer::Intrepid2FieldPattern.
|
pure 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. |
Implemented in panzer::GeometricAggFieldPattern, panzer::EdgeFieldPattern, panzer::ElemFieldPattern, panzer::FaceFieldPattern, panzer::NodalFieldPattern, panzer::FieldAggPattern, and panzer::Intrepid2FieldPattern.
|
pure 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. |
Implemented in panzer::GeometricAggFieldPattern, panzer::EdgeFieldPattern, panzer::ElemFieldPattern, panzer::FaceFieldPattern, panzer::NodalFieldPattern, panzer::FieldAggPattern, and panzer::Intrepid2FieldPattern.
|
pure virtual |
What is the dimension of this pattern. For instance a "quad" element is two dimensional. This is a purely geometric quantity.
Implemented in panzer::GeometricAggFieldPattern, panzer::EdgeFieldPattern, panzer::ElemFieldPattern, panzer::FaceFieldPattern, panzer::NodalFieldPattern, panzer::FieldAggPattern, and panzer::Intrepid2FieldPattern.
|
pure virtual |
Get the cell topology associated with this field pattern.
Implemented in panzer::GeometricAggFieldPattern, panzer::EdgeFieldPattern, panzer::ElemFieldPattern, panzer::FaceFieldPattern, panzer::NodalFieldPattern, panzer::FieldAggPattern, and panzer::Intrepid2FieldPattern.
|
virtual |
How many degrees of freedom are associated with this pattern. In this terminology an ID is a single degree of freedom defined at the element level. By default this is the sum of the size of all the sub cells. Where the sub cells are defined by the getSubcellIndices
.
Definition at line 17 of file Panzer_FieldPattern.cpp.
|
virtual |
Do these patterns share the same geometry? Meaning are these two element shapes (on the canonical domain) the same?
Definition at line 49 of file Panzer_FieldPattern.cpp.
|
virtual |
Are the subcells consistent for each dimension. A set of sub cells is consistent if they have the same number of IDs. The default behavior calls getSubcellIndices
for each dimension and cell index, and gurantees the number of IDs are equal.
Definition at line 64 of file Panzer_FieldPattern.cpp.
|
virtual |
Print this pattern to a stream.
[in] | os | Desired output stream. |
Reimplemented in panzer::FieldAggPattern.
Definition at line 31 of file Panzer_FieldPattern.cpp.
|
virtual |
Definition at line 80 of file Panzer_FieldPattern.cpp.