43 #ifndef __Panzer_Filtered_UniqueGlobalIndexer_hpp__ 44 #define __Panzer_Filtered_UniqueGlobalIndexer_hpp__ 52 template <
typename LocalOrdinalT,
typename GlobalOrdinalT>
71 const std::vector<GlobalOrdinalT> & filteredIndices);
91 virtual void getOwnedIndices(std::vector<GlobalOrdinalT> & indices)
const;
93 virtual void ownedIndices(
const std::vector<GlobalOrdinalT> & indices,std::vector<bool> & isOwned)
const;
100 virtual Teuchos::RCP<Teuchos::Comm<int> >
getComm()
const 101 {
return base_->getComm(); }
104 {
return base_->getNumFields(); }
107 {
return base_->getFieldString(fieldNum); }
110 {
return base_->getFieldNum(str); }
113 {
base_->getFieldOrder(fieldOrder); }
116 {
base_->getElementBlockIds(elementBlockIds); }
122 {
return base_->getBlockFieldNumbers(blockId); }
125 {
return base_->getGIDFieldOffsets(blockId,fieldNum); }
127 virtual const std::pair<std::vector<int>,std::vector<int> > &
129 int subcellDim,
int subcellId)
const 130 {
return base_->getGIDFieldOffsets_closure(blockId,fieldNum,subcellDim,subcellId); }
133 {
base_->getElementOrientation(localElmtId,gidsOrientation); }
135 virtual const std::vector<LocalOrdinalT> &
getElementBlock(
const std::string & blockId)
const 136 {
return base_->getElementBlock(blockId); }
138 virtual void getElementGIDs(LocalOrdinalT localElmtId,std::vector<GlobalOrdinalT> & gids,
const std::string & blockIdHint=
"")
const 139 {
base_->getElementGIDs(localElmtId,gids,blockIdHint); }
142 {
base_->getOwnedAndGhostedIndices(indices); }
145 {
return base_->getElementBlockGIDCount(blockId); }
148 {
return base_->getElementBlockGIDCount(blockIndex); }
151 {
return base_->getConnManagerBase(); }
155 Teuchos::RCP<const UniqueGlobalIndexer<LocalOrdinalT,GlobalOrdinalT> >
base_;
virtual void getFieldOrder(std::vector< std::string > &fieldOrder) const
virtual void getElementOrientation(LocalOrdinalT localElmtId, std::vector< double > &gidsOrientation) const
Get a vector containg the orientation of the GIDs relative to the neighbors.
void initialize(const Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > &ugi, const std::vector< GlobalOrdinalT > &filteredIndices)
virtual bool fieldInBlock(const std::string &field, const std::string &block) const
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 yo...
virtual int getFieldNum(const std::string &str) const
Get the number used for access to this field.
virtual const std::vector< LocalOrdinalT > & getElementBlock(const std::string &blockId) const
Filtered_UniqueGlobalIndexer()
void getOwnedAndGhostedNotFilteredIndicator(std::vector< int > &indicator) const
virtual ~Filtered_UniqueGlobalIndexer()
virtual void getOwnedAndGhostedIndices(std::vector< GlobalOrdinalT > &indices) const
Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > base_
virtual int getElementBlockGIDCount(const std::size_t &blockIndex) const
How any GIDs are associate with a particular element block.
virtual int getElementBlockGIDCount(const std::string &blockId) const
How many GIDs are associate with a particular element block.
PHX::MDField< const ScalarT, Cell, IP > field
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.
virtual void getOwnedIndices(std::vector< GlobalOrdinalT > &indices) const
virtual void ownedIndices(const std::vector< GlobalOrdinalT > &indices, std::vector< bool > &isOwned) const
virtual Teuchos::RCP< Teuchos::Comm< int > > getComm() const
virtual const std::string & getFieldString(int fieldNum) const
Reverse lookup of the field string from a field number.
virtual void getElementBlockIds(std::vector< std::string > &elementBlockIds) const
virtual int getNumFields() const
std::vector< GlobalOrdinalT > owned_
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.
void getFilteredOwnedAndGhostedIndices(std::vector< GlobalOrdinalT > &indices) const
virtual const std::vector< int > & getBlockFieldNumbers(const std::string &blockId) const
virtual Teuchos::RCP< const ConnManagerBase< LocalOrdinalT > > getConnManagerBase() const
Returns the connection manager currently being used.