43 #ifndef __Panzer_Filtered_GlobalIndexer_hpp__
44 #define __Panzer_Filtered_GlobalIndexer_hpp__
71 const std::vector<panzer::GlobalOrdinal> & filteredIndices);
134 for (
size_t i(0); i <
owned_.size(); ++i)
136 for (
size_t i(0); i <
ghosted_.size(); ++i)
141 virtual void getElementGIDsAsInt(panzer::LocalOrdinal localElmtId,std::vector<int> & gids,
const std::string & blockIdHint=
"")
const
142 {
base_->getElementGIDsAsInt(localElmtId,gids,blockIdHint); }
147 indices.resize(
owned_.size());
148 for (std::size_t i=0; i <
owned_.size(); ++i)
156 for (std::size_t i=0; i <
ghosted_.size(); ++i)
165 for (std::size_t i=0; i <
owned_.size(); ++i)
167 for (std::size_t i=0; i <
ghosted_.size(); ++i)
206 virtual void ownedIndices(
const std::vector<panzer::GlobalOrdinal> & indices,std::vector<bool> & isOwned)
const;
214 {
return base_->getComm(); }
217 {
return base_->getNumFields(); }
220 {
return base_->getFieldString(fieldNum); }
223 {
return base_->getFieldNum(str); }
226 {
base_->getFieldOrder(fieldOrder); }
229 {
base_->getElementBlockIds(elementBlockIds); }
232 {
return base_->fieldInBlock(field,block); }
235 {
return base_->getBlockFieldNumbers(blockId); }
238 {
return base_->getGIDFieldOffsets(blockId,fieldNum); }
240 virtual const std::pair<std::vector<int>,std::vector<int> > &
242 int subcellDim,
int subcellId)
const
243 {
return base_->getGIDFieldOffsets_closure(blockId,fieldNum,subcellDim,subcellId); }
246 {
base_->getElementOrientation(localElmtId,gidsOrientation); }
248 virtual const std::vector<panzer::LocalOrdinal> &
getElementBlock(
const std::string & blockId)
const
249 {
return base_->getElementBlock(blockId); }
251 virtual void getElementGIDs(panzer::LocalOrdinal localElmtId,std::vector<panzer::GlobalOrdinal> & gids,
const std::string & blockIdHint=
"")
const
252 {
base_->getElementGIDs(localElmtId,gids,blockIdHint); }
255 {
return base_->getElementBlockGIDCount(blockId); }
258 {
return base_->getElementBlockGIDCount(blockIndex); }
261 {
return base_->getConnManager(); }
273 std::vector<panzer::GlobalOrdinal>
owned_;
void getOwnedAndGhostedNotFilteredIndicator(std::vector< int > &indicator) const
virtual void getElementGIDs(panzer::LocalOrdinal localElmtId, std::vector< panzer::GlobalOrdinal > &gids, const std::string &blockIdHint="") const
Get the global IDs for a particular element. This function overwrites the gids variable.
virtual ~Filtered_GlobalIndexer()
virtual void getOwnedIndices(std::vector< panzer::GlobalOrdinal > &indices) const
Get the set of indices owned by this processor.
virtual int getNumOwned() const
Get the number of indices owned by this processor.
virtual int getFieldNum(const std::string &str) const
Get the number used for access to this field.
virtual void getElementBlockIds(std::vector< std::string > &elementBlockIds) const
std::vector< panzer::GlobalOrdinal > ghosted_
The list of ghosted indices.
std::vector< panzer::GlobalOrdinal > owned_
The list of owned indices.
virtual void getOwnedIndicesAsInt(std::vector< int > &indices) const
Get the set of indices owned by this processor.
virtual void getOwnedAndGhostedIndicesAsInt(std::vector< int > &indices) const
Get the set of owned and ghosted indices for this processor.
void getFilteredOwnedAndGhostedIndices(std::vector< panzer::GlobalOrdinal > &indices) const
virtual void getElementOrientation(panzer::LocalOrdinal localElmtId, std::vector< double > &gidsOrientation) const
Get a vector containg the orientation of the GIDs relative to the neighbors.
virtual void ownedIndices(const std::vector< panzer::GlobalOrdinal > &indices, std::vector< bool > &isOwned) const
virtual const std::vector< panzer::LocalOrdinal > & getElementBlock(const std::string &blockId) const
virtual Teuchos::RCP< Teuchos::Comm< int > > getComm() const
virtual void getOwnedAndGhostedIndices(std::vector< panzer::GlobalOrdinal > &indices) const
Get the set of owned and ghosted indices for this processor.
virtual const std::string & getFieldString(int fieldNum) const
Reverse lookup of the field string from a field number.
virtual int getNumOwnedAndGhosted() const
Get the number of owned and ghosted indices for this processor.
virtual void getElementGIDsAsInt(panzer::LocalOrdinal localElmtId, std::vector< int > &gids, const std::string &blockIdHint="") const
Get the global IDs for a particular element. This function overwrites the gids variable.
virtual void getGhostedIndicesAsInt(std::vector< int > &indices) const
Get the set of indices ghosted for this processor.
virtual int getElementBlockGIDCount(const std::size_t &blockIndex) const
How any GIDs are associate with each element in a particular element block.
virtual Teuchos::RCP< const ConnManager > getConnManager() const
Returns the connection manager currently being used.
PHX::MDField< ScalarT, panzer::Cell, panzer::BASIS > field
A field to which we'll contribute, or in which we'll store, the result of computing this integral...
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 getNumFields() 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.
virtual int getElementBlockGIDCount(const std::string &blockId) const
How many GIDs are associated with each element in a particular element block.
virtual bool fieldInBlock(const std::string &field, const std::string &block) const
Teuchos::RCP< const GlobalIndexer > base_
virtual int getNumGhosted() const
Get the number of indices ghosted for this processor.
void initialize(const Teuchos::RCP< const GlobalIndexer > &ugi, const std::vector< panzer::GlobalOrdinal > &filteredIndices)
virtual void getFieldOrder(std::vector< std::string > &fieldOrder) const
virtual void getGhostedIndices(std::vector< panzer::GlobalOrdinal > &indices) const
Get the set of indices ghosted for this processor.