Panzer  Version of the Day
Public Member Functions | List of all members
panzer::UniqueGlobalIndexerBase Class Referenceabstract

#include <Panzer_UniqueGlobalIndexer.hpp>

Public Member Functions

virtual ~UniqueGlobalIndexerBase ()=0
 Pure virtual destructor: prevents warnings with inline empty implementation. More...
 
virtual Teuchos::RCP< Teuchos::Comm< int > > getComm () const =0
 
virtual int getNumFields () const =0
 
virtual int getFieldNum (const std::string &str) const =0
 Get the number used for access to this field. More...
 
virtual void getFieldOrder (std::vector< std::string > &fieldOrder) const =0
 
virtual const std::string & getFieldString (int num) const =0
 Reverse lookup of the field string from a field number. More...
 
virtual void getElementBlockIds (std::vector< std::string > &elementBlockIds) const =0
 
virtual bool fieldInBlock (const std::string &field, const std::string &block) const =0
 
virtual const std::vector< int > & getBlockFieldNumbers (const std::string &blockId) const =0
 
virtual const std::vector< int > & getGIDFieldOffsets (const std::string &blockId, int fieldNum) const =0
 Use the field pattern so that you can find a particular field in the GIDs array. More...
 
virtual const std::pair< std::vector< int >, std::vector< int > > & getGIDFieldOffsets_closure (const std::string &blockId, int fieldNum, int subcellDim, int subcellId) const =0
 Use the field pattern so that you can find a particular field in the GIDs array. This version lets you specify the sub cell you are interested in and gets the closure. Meaning all the IDs of equal or lesser sub cell dimension that are contained within the specified sub cell. For instance for an edge, this function would return offsets for the edge and the nodes on that edge. More...
 
virtual int getElementBlockGIDCount (const std::string &blockId) const =0
 How any GIDs are associate with a particular element block. More...
 
virtual int getElementBlockGIDCount (const std::size_t &blockIndex) const =0
 How any GIDs are associate with a particular element block. More...
 

Detailed Description

Definition at line 61 of file Panzer_UniqueGlobalIndexer.hpp.

Constructor & Destructor Documentation

◆ ~UniqueGlobalIndexerBase()

panzer::UniqueGlobalIndexerBase::~UniqueGlobalIndexerBase ( )
inlinepure virtual

Pure virtual destructor: prevents warnings with inline empty implementation.

Definition at line 419 of file Panzer_UniqueGlobalIndexer.hpp.

Member Function Documentation

◆ getComm()

virtual Teuchos::RCP<Teuchos::Comm<int> > panzer::UniqueGlobalIndexerBase::getComm ( ) const
pure virtual

Get communicator associated with this global indexer.

◆ getNumFields()

virtual int panzer::UniqueGlobalIndexerBase::getNumFields ( ) const
pure virtual

Get the number of fields (total) stored by this DOF manager

◆ getFieldNum()

virtual int panzer::UniqueGlobalIndexerBase::getFieldNum ( const std::string &  str) const
pure virtual

Get the number used for access to this field.

Get the number used for access to this field. This is used as the input parameter to the other functions that provide access to the global unknowns.

Parameters
[in]strHuman readable name of the field
Returns
A unique integer associated with the field if the field exisits. Otherwise a -1 is returned.

◆ getFieldOrder()

virtual void panzer::UniqueGlobalIndexerBase::getFieldOrder ( std::vector< std::string > &  fieldOrder) const
pure virtual

Get the field order used by this global indexer.

◆ getFieldString()

virtual const std::string& panzer::UniqueGlobalIndexerBase::getFieldString ( int  num) const
pure virtual

Reverse lookup of the field string from a field number.

Parameters
[in]numField number. Assumed to be a valid field number. Computed from getFieldNum.
Returns
Field name.

◆ getElementBlockIds()

virtual void panzer::UniqueGlobalIndexerBase::getElementBlockIds ( std::vector< std::string > &  elementBlockIds) const
pure virtual

What are the blockIds included in this connection manager?

◆ fieldInBlock()

virtual bool panzer::UniqueGlobalIndexerBase::fieldInBlock ( const std::string &  field,
const std::string &  block 
) const
pure virtual

Is the specified field in the element block?

◆ getBlockFieldNumbers()

virtual const std::vector<int>& panzer::UniqueGlobalIndexerBase::getBlockFieldNumbers ( const std::string &  blockId) const
pure virtual

Get field numbers associated with a particular element block.

◆ getGIDFieldOffsets()

virtual const std::vector<int>& panzer::UniqueGlobalIndexerBase::getGIDFieldOffsets ( const std::string &  blockId,
int  fieldNum 
) const
pure virtual

Use the field pattern so that you can find a particular field in the GIDs array.

◆ getGIDFieldOffsets_closure()

virtual const std::pair<std::vector<int>,std::vector<int> >& panzer::UniqueGlobalIndexerBase::getGIDFieldOffsets_closure ( const std::string &  blockId,
int  fieldNum,
int  subcellDim,
int  subcellId 
) const
pure virtual

Use the field pattern so that you can find a particular field in the GIDs array. This version lets you specify the sub cell you are interested in and gets the closure. Meaning all the IDs of equal or lesser sub cell dimension that are contained within the specified sub cell. For instance for an edge, this function would return offsets for the edge and the nodes on that edge.

Parameters
[in]blockId
[in]fieldNum
[in]subcellDim
[in]subcellId

◆ getElementBlockGIDCount() [1/2]

virtual int panzer::UniqueGlobalIndexerBase::getElementBlockGIDCount ( const std::string &  blockId) const
pure virtual

How any GIDs are associate with a particular element block.

This is a per-element count. If you have a quad element with two piecewise bi-linear fields this method returns 8.

◆ getElementBlockGIDCount() [2/2]

virtual int panzer::UniqueGlobalIndexerBase::getElementBlockGIDCount ( const std::size_t &  blockIndex) const
pure virtual

How any GIDs are associate with a particular element block.

This is a per-element count. If you have a quad element with two piecewise bi-linear fields this method returns 8.


The documentation for this class was generated from the following file: