Panzer
Version of the Day
|
#include <Panzer_Filtered_UniqueGlobalIndexer.hpp>
Public Member Functions | |
Filtered_UniqueGlobalIndexer () | |
void | initialize (const Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > &ugi, const std::vector< GlobalOrdinalT > &filteredIndices) |
void | getOwnedAndGhostedNotFilteredIndicator (std::vector< int > &indicator) const |
void | getFilteredOwnedAndGhostedIndices (std::vector< GlobalOrdinalT > &indices) const |
virtual void | getOwnedIndices (std::vector< GlobalOrdinalT > &indices) const |
virtual void | ownedIndices (const std::vector< GlobalOrdinalT > &indices, std::vector< bool > &isOwned) const |
virtual | ~Filtered_UniqueGlobalIndexer () |
virtual Teuchos::RCP< Teuchos::Comm< int > > | getComm () const |
virtual int | getNumFields () const |
virtual const std::string & | getFieldString (int fieldNum) const |
Reverse lookup of the field string from a field number. More... | |
virtual int | getFieldNum (const std::string &str) const |
Get the number used for access to this field. More... | |
virtual void | getFieldOrder (std::vector< std::string > &fieldOrder) const |
virtual void | getElementBlockIds (std::vector< std::string > &elementBlockIds) const |
virtual bool | fieldInBlock (const std::string &field, const std::string &block) const |
virtual const std::vector< int > & | getBlockFieldNumbers (const std::string &blockId) const |
virtual const std::vector< int > & | getGIDFieldOffsets (const std::string &blockId, int fieldNum) const |
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 |
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 |
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 |
virtual void | getElementGIDs (LocalOrdinalT localElmtId, std::vector< GlobalOrdinalT > &gids, const std::string &blockIdHint="") const |
Get the global IDs for a particular element. This function overwrites the gids variable. More... | |
virtual void | getOwnedAndGhostedIndices (std::vector< GlobalOrdinalT > &indices) const |
virtual int | getElementBlockGIDCount (const std::string &blockId) const |
How many GIDs are associate with a particular element block. More... | |
virtual int | getElementBlockGIDCount (const std::size_t &blockIndex) const |
How any GIDs are associate with a particular element block. More... | |
virtual Teuchos::RCP< const ConnManagerBase< LocalOrdinalT > > | getConnManagerBase () const |
Returns the connection manager currently being used. More... | |
![]() | |
virtual | ~UniqueGlobalIndexer ()=0 |
Pure virtual destructor: prevents warnings with inline empty implementation. More... | |
const std::vector< LocalOrdinalT > & | getElementLIDs (LocalOrdinalT localElmtId) const |
void | getElementLIDs (Kokkos::View< const int *, PHX::Device > cellIds, Kokkos::View< LocalOrdinalT **, PHX::Device > lids) const |
![]() | |
virtual | ~UniqueGlobalIndexerBase ()=0 |
Pure virtual destructor: prevents warnings with inline empty implementation. More... | |
Private Attributes | |
Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > | base_ |
std::vector< GlobalOrdinalT > | owned_ |
Additional Inherited Members | |
![]() | |
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) |
Definition at line 53 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >::Filtered_UniqueGlobalIndexer | ( | ) |
Default constructor
Definition at line 59 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
inlinevirtual |
Definition at line 98 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
void panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >::initialize | ( | const Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > & | ugi, |
const std::vector< GlobalOrdinalT > & | filteredIndices | ||
) |
Initialize method that allows use of the default constructor and may help with further inheritence.
[in] | ugi | The global indexer to filter the global IDs of |
[in] | filteredIndices | Indices to be filtered out of the ugi argument |
ugi.getOwnedIndices
)indices in filteredIndices
are ignored without detection or impact. Definition at line 65 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
void panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >::getOwnedAndGhostedNotFilteredIndicator | ( | std::vector< int > & | indicator | ) | const |
Get an indicator describing if a particular local GID has been filtered. This method requires communication.
[out] | indicator | Vector the same length of output argument of getOwendAndGhostedIndices . If a value is one it is included (not filtered), if it is zero then the GID has been filtered out. |
Definition at line 97 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
void panzer::Filtered_UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >::getFilteredOwnedAndGhostedIndices | ( | std::vector< GlobalOrdinalT > & | indices | ) | const |
Get the set of filtered indices that are owned and ghosted.
[out] | indices | Set of filtered indices |
Definition at line 144 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
virtual |
Get set of indices owned by this processor
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 166 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
virtual |
Get a yes/no on ownership for each index in a vector
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 177 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
inlinevirtual |
Get communicator associated with this global indexer.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 100 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the number of fields (total) stored by this DOF manager
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 103 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Reverse lookup of the field string from a field number.
[in] | num | Field number. Assumed to be a valid field number. Computed from getFieldNum . |
Implements panzer::UniqueGlobalIndexerBase.
Definition at line 106 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
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::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 109 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the field order used by this global indexer.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 112 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
What are the blockIds included in this connection manager?
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 115 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Is the specified field in the element block?
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 118 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get field numbers associated with a particular element block.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 121 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Use the field pattern so that you can find a particular field in the GIDs array.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 124 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
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::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 128 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get a vector containg the orientation of the GIDs relative to the neighbors.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 132 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the local element IDs for a paricular element block.
[in] | blockId | Block ID |
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 135 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the global IDs for a particular element. This function overwrites the gids
variable.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 138 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the set of owned and ghosted indices for this processor.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 141 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
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::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 144 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
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::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 147 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Returns the connection manager currently being used.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 150 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
private |
Definition at line 155 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
private |
Definition at line 157 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.