Panzer
Version of the Day
|
#include <Panzer_GeometricAggFieldPattern.hpp>
Public Member Functions | |
GeometricAggFieldPattern () | |
GeometricAggFieldPattern (std::vector< std::pair< FieldType, Teuchos::RCP< const FieldPattern >>> &patterns) | |
GeometricAggFieldPattern (const FieldType &fieldType, const Teuchos::RCP< const FieldPattern > &pattern) | |
virtual | ~GeometricAggFieldPattern () |
virtual void | buildPattern (const std::vector< std::pair< FieldType, Teuchos::RCP< const FieldPattern >>> &patterns) |
virtual void | buildPattern (const FieldType &fieldType, const Teuchos::RCP< const FieldPattern > &pattern) |
virtual int | getSubcellCount (int dim) const |
virtual const std::vector< int > & | getSubcellIndices (int dim, int cellIndex) const |
virtual void | getSubcellClosureIndices (int, int, std::vector< int > &) const |
virtual int | getDimension () const |
virtual shards::CellTopology | getCellTopology () const |
Public Member Functions inherited from panzer::FieldPattern | |
virtual | ~FieldPattern ()=0 |
Do nothing destructor. More... | |
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 |
Protected Attributes | |
bool | patternBuilt_ |
std::size_t | dimension_ |
std::vector< std::vector < std::vector< int > > > | patternData_ |
shards::CellTopology | cellTopo_ |
This class takes a vector of field patterns and finds the union of all the patterns. That is the set of degrees of freedom needed to be specified on the mesh to encapsulate all the patterns.
For instance if one field pattern specifies one degrees of freedom per node and another one specifies one degree of freedom per edge, this pattern will specify one degree of freedom per node and one per edge.
Essentially if you took all of the FieldPatterns and stacked them on top of each other then the shadow cast would be the geometric field pattern.
GeometricAggFieldPattern
is passed to the ConnManager
this gives an implicit ordering to the mesh IDs that is associated with the logical progression of the sub cells. Definition at line 39 of file Panzer_GeometricAggFieldPattern.hpp.
panzer::GeometricAggFieldPattern::GeometricAggFieldPattern | ( | ) |
Definition at line 17 of file Panzer_GeometricAggFieldPattern.cpp.
panzer::GeometricAggFieldPattern::GeometricAggFieldPattern | ( | std::vector< std::pair< FieldType, Teuchos::RCP< const FieldPattern >>> & | patterns | ) |
Construct the pattern, this automatically calls buildPattern()
and is equivalent to calling the default constructor and then buildPattern()
.
Definition at line 21 of file Panzer_GeometricAggFieldPattern.cpp.
panzer::GeometricAggFieldPattern::GeometricAggFieldPattern | ( | const FieldType & | fieldType, |
const Teuchos::RCP< const FieldPattern > & | pattern | ||
) |
Construct the geometric version of this pattern, this automatically calls buildPattern()
and is equivalent to calling the default constructor and then buildPattern()
.
Definition at line 27 of file Panzer_GeometricAggFieldPattern.cpp.
|
inlinevirtual |
Definition at line 56 of file Panzer_GeometricAggFieldPattern.hpp.
|
virtual |
Construct the underlying data for this object. Before calling this function getDimension(), getSubcellCount() and getSubcellIndices methods will throw an exception.
Definition at line 34 of file Panzer_GeometricAggFieldPattern.cpp.
|
virtual |
Convenience function, simply builds a vector and calls the vectorized form of buildPattern
.
Definition at line 113 of file Panzer_GeometricAggFieldPattern.cpp.
|
virtual |
Returns the sub cell count (see FieldPattern
) if buildPattern
has been called. Otherwise it will throw an exception.
Implements panzer::FieldPattern.
Definition at line 121 of file Panzer_GeometricAggFieldPattern.cpp.
|
virtual |
Returns the sub cell indices (see FieldPattern
) if buildPattern
has been called. Otherwise it will throw an exception.
Implements panzer::FieldPattern.
Definition at line 130 of file Panzer_GeometricAggFieldPattern.cpp.
|
inlinevirtual |
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 88 of file Panzer_GeometricAggFieldPattern.hpp.
|
virtual |
Returns the dimension (see FieldPattern
) if buildPattern
has been called. Otherwise it will throw an exception.
Implements panzer::FieldPattern.
Definition at line 139 of file Panzer_GeometricAggFieldPattern.cpp.
|
virtual |
Returns cell topology from parent field parents
Implements panzer::FieldPattern.
Definition at line 148 of file Panzer_GeometricAggFieldPattern.cpp.
|
protected |
Definition at line 101 of file Panzer_GeometricAggFieldPattern.hpp.
|
protected |
Definition at line 102 of file Panzer_GeometricAggFieldPattern.hpp.
|
protected |
Definition at line 103 of file Panzer_GeometricAggFieldPattern.hpp.
|
protected |
Definition at line 104 of file Panzer_GeometricAggFieldPattern.hpp.