Panzer
Version of the Day
|
#include <Panzer_GatherOrientation_decl.hpp>
Classes | |
class | CopyCellLIDsFunctor |
Public Member Functions | |
virtual | ~UniqueGlobalIndexer ()=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 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 void | getElementOrientation (LocalOrdinalT localElmtId, std::vector< double > &gidsOrientation) const =0 |
Get a vector containg the orientation of the GIDs relative to the neighbors. More... | |
virtual const std::vector < LocalOrdinalT > & | getElementBlock (const std::string &blockId) const =0 |
virtual void | getElementGIDs (LocalOrdinalT localElmtId, std::vector< GlobalOrdinalT > &gids, const std::string &blockIdHint="") const =0 |
Get the global IDs for a particular element. This function overwrites the gids variable. More... | |
virtual void | getOwnedIndices (std::vector< GlobalOrdinalT > &indices) const =0 |
Get the set of indices owned by this processor. More... | |
virtual void | getGhostedIndices (std::vector< GlobalOrdinalT > &indices) const =0 |
Get the set of indices ghosted for this processor. More... | |
virtual void | getOwnedAndGhostedIndices (std::vector< GlobalOrdinalT > &indices) const =0 |
Get the set of owned and ghosted indices for this processor. More... | |
virtual int | getNumOwned () const =0 |
Get the number of indices owned by this processor. More... | |
virtual int | getNumGhosted () const =0 |
Get the number of indices ghosted for this processor. More... | |
virtual int | getNumOwnedAndGhosted () const =0 |
Get the number of owned and ghosted indices for this processor. More... | |
virtual void | ownedIndices (const std::vector< GlobalOrdinalT > &indices, std::vector< bool > &isOwned) const =0 |
const Kokkos::View< const LocalOrdinalT *, Kokkos::LayoutRight, PHX::Device > | getElementLIDs (LocalOrdinalT localElmtId) const |
const Kokkos::View< const LocalOrdinalT **, Kokkos::LayoutRight, PHX::Device > | getLIDs () const |
void | getElementLIDs (Kokkos::View< const int *, PHX::Device > cellIds, Kokkos::View< LocalOrdinalT **, PHX::Device > lids) const |
virtual int | getElementBlockGIDCount (const std::string &blockId) const =0 |
How many 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... | |
virtual Teuchos::RCP< const ConnManagerBase< LocalOrdinalT > > | getConnManagerBase () const =0 |
Returns the connection manager currently being used. More... | |
Public Member Functions inherited from panzer::UniqueGlobalIndexerBase | |
virtual | ~UniqueGlobalIndexerBase ()=0 |
Pure virtual destructor: prevents warnings with inline empty implementation. More... | |
virtual const std::string & | getFieldString (int num) const =0 |
Reverse lookup of the field string from a field number. More... | |
Protected Member Functions | |
void | buildLocalIds () |
void | buildLocalIdsFromOwnedElements (std::vector< std::vector< LocalOrdinalT > > &localIDs) const |
void | setLocalIds (const std::vector< std::vector< LocalOrdinalT > > &localIDs) |
void | shareLocalIDs (const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > &src) |
Private Attributes | |
Kokkos::View< const LocalOrdinalT **, Kokkos::LayoutRight, PHX::Device > | localIDs_k_ |
Definition at line 61 of file Panzer_GatherOrientation_decl.hpp.
|
inlinepure virtual |
Pure virtual destructor: prevents warnings with inline empty implementation.
Definition at line 423 of file Panzer_UniqueGlobalIndexer.hpp.
|
pure virtual |
Get communicator associated with this global indexer.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the number of fields (total) stored by this DOF manager
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
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.
[in] | str | Human readable name of the field |
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the field order used by this global indexer.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
What are the blockIds included in this connection manager?
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Is the specified field in the element block?
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get field numbers associated with a particular element block.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Use the field pattern so that you can find a particular field in the GIDs array.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
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.
[in] | blockId | |
[in] | fieldNum | |
[in] | subcellDim | |
[in] | subcellId |
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get a vector containg the orientation of the GIDs relative to the neighbors.
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the local element IDs for a paricular element block.
[in] | blockId | Block ID |
Implemented in panzer::DOFManager< LO, GO >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the global IDs for a particular element. This function overwrites the gids
variable.
Implemented in panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the set of indices owned by this processor.
[out] | A | vector that will be filled with the indices owned by this processor. |
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the set of indices ghosted for this processor.
[out] | A | vector that will be filled with the indices ghosted for this processor. |
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the set of owned and ghosted indices for this processor.
[out] | A | vector that will be filled with the owned and ghosted indices for this processor. |
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the number of indices owned by this processor.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the number of indices ghosted for this processor.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get the number of owned and ghosted indices for this processor.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Get a yes/no on ownership for each index in a vector
Implemented in panzer::DOFManager< LO, GO >, panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
inline |
Access the local IDs for an element. The local ordering is according to the getOwnedAndGhostedIndices
method.
Definition at line 302 of file Panzer_UniqueGlobalIndexer.hpp.
|
inline |
Return all the element LIDS for a given indexer
Definition at line 307 of file Panzer_UniqueGlobalIndexer.hpp.
|
inline |
Access the local IDs for an element. The local ordering is according to the getOwnedAndGhostedIndices
method. Note
Definition at line 313 of file Panzer_UniqueGlobalIndexer.hpp.
|
pure virtual |
How many 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.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
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.
Implements panzer::UniqueGlobalIndexerBase.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::DOFManager< LO, GO >, and panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
|
pure virtual |
Returns the connection manager currently being used.
Implemented in panzer::BlockedDOFManager< LocalOrdinalT, GlobalOrdinalT >, panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >, and panzer::DOFManager< LO, GO >.
|
inlineprotected |
This method is used by derived classes to the construct the local IDs from the getOwnedAndGhostedIndices
method.
Definition at line 364 of file Panzer_UniqueGlobalIndexer.hpp.
|
inlineprotected |
This method is used by derived classes to the construct the local IDs from the getOwnedAndGhostedIndices
method.
Definition at line 427 of file Panzer_UniqueGlobalIndexer.hpp.
|
inlineprotected |
This method provides some capability to set the local IDs externally without using the default buildLocalIds. The point is that we want to keep "getElementLIDs" access exteremly fast.
Definition at line 385 of file Panzer_UniqueGlobalIndexer.hpp.
|
inlineprotected |
Access internal state and share the local ID fields. This allows decorators classes to be defined and still not loose the performance benefit of the fast getElementLIDs methods. Note that this copies from a distinct UGI into this object.
Definition at line 409 of file Panzer_UniqueGlobalIndexer.hpp.
|
private |
Definition at line 415 of file Panzer_UniqueGlobalIndexer.hpp.