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 |
Get the set of indices owned by this processor. More... | |
virtual void | getGhostedIndices (std::vector< GlobalOrdinalT > &indices) const |
Get the set of indices ghosted for this processor. More... | |
virtual void | getOwnedAndGhostedIndices (std::vector< GlobalOrdinalT > &indices) const |
Get the set of owned and ghosted indices for this processor. More... | |
virtual int | getNumOwned () const |
Get the number of indices owned by this processor. More... | |
virtual int | getNumGhosted () const |
Get the number of indices ghosted for this processor. More... | |
virtual int | getNumOwnedAndGhosted () const |
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 |
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 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... | |
Public Member Functions inherited from panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > | |
virtual | ~UniqueGlobalIndexer ()=0 |
Pure virtual destructor: prevents warnings with inline empty implementation. More... | |
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 |
Public Member Functions inherited from panzer::UniqueGlobalIndexerBase | |
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_ |
The list of owned indices. More... | |
std::vector< GlobalOrdinalT > | ghosted_ |
The list of ghosted indices. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > | |
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 60 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
inlinevirtual |
Definition at line 193 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 71 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 153 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 200 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
inlinevirtual |
Get the set of indices owned by this processor.
UniqueGlobalIndexer
with the filtered indices removed.[out] | indices | A vector that will be filled with the indices owned by this processor. |
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 101 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the set of indices ghosted for this processor.
UniqueGlobalIndexer
(UGI) that have been filtered out, combined with the ghosted indices from the base UGI.[out] | indices | A vector that will be filled with the indices ghosted for this processor. |
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 118 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the set of owned and ghosted indices for this processor.
UniqueGlobalIndexer
, regardless of filtering.[out] | indices | A vector that will be filled with the owned and ghosted indices for this processor. |
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 134 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the number of indices owned by this processor.
UniqueGlobalIndexer
, less the number of filtered indices.Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 154 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the number of indices ghosted for this processor.
UniqueGlobalIndexer
(UGI) that have been filtered out, plus the number of ghosted indices from the base UGI.Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 169 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the number of owned and ghosted indices for this processor.
UniqueGlobalIndexer
, regardless of filtering.Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 183 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
virtual |
Get a yes/no on ownership for each index in a vector
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 222 of file Panzer_Filtered_UniqueGlobalIndexer_impl.hpp.
|
inlinevirtual |
Get communicator associated with this global indexer.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 195 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 198 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 201 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 204 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get the field order used by this global indexer.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 207 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
What are the blockIds included in this connection manager?
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 210 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Is the specified field in the element block?
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 213 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Get field numbers associated with a particular element block.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 216 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 219 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 223 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 227 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 230 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 233 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 236 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 239 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
inlinevirtual |
Returns the connection manager currently being used.
Implements panzer::UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT >.
Definition at line 242 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
private |
Definition at line 247 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
private |
The list of owned indices.
The list of the owned indices from the base UniqueGlobalIndexer
with the filtered indices removed.
Definition at line 255 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.
|
private |
The list of ghosted indices.
The list of the owned indices from the base UniqueGlobalIndexer
(UGI) that have been filtered out, combined with the ghosted indices from the base UGI.
Definition at line 264 of file Panzer_Filtered_UniqueGlobalIndexer.hpp.