Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_Evaluator_DomainInterface.hpp
Go to the documentation of this file.
1 #ifndef PANZER_EVALUATOR_DOMAIN_INTERFACE_HPP
2 #define PANZER_EVALUATOR_DOMAIN_INTERFACE_HPP
3 
4 namespace panzer {
5 
6  class Workset;
7 
13 
14  public:
15 
17  enum DomainType : int {
18  OWNED=0,
19  GHOST=1,
20  REAL=2,
21  VIRTUAL=3,
23  ALL=5
24  };
25 
32 
36  virtual ~DomainEvaluator() = default;
37 
43  void setDomain(const DomainType domain);
44 
50 
62  virtual int cellStartIndex(const panzer::Workset & workset) const;
63 
75  virtual int cellEndIndex(const panzer::Workset & workset) const;
76 
77  private:
78 
81 
82  };
83 
84 }
85 
86 #endif
All virtual cells for the workset on the MPI process.
All Ghosted cells for the workset on the MPI process.
virtual int cellEndIndex(const panzer::Workset &workset) const
Returns the non-inclusive end cell for the specified domain for a given workset.
virtual int cellStartIndex(const panzer::Workset &workset) const
Returns the starting cell for the specified domain for a given workset.
void setDomain(const DomainType domain)
Set the domain for the evaluator.
DomainType domain_
Domain for this evaluator.
DomainEvaluator(DomainType domain=ALL)
Constructor.
All Owned and Ghosted cells for the workset on the MPI process.
Mix-in interface to support cell "domains" in panzer.
All Owned cells for the workset on the MPI process.
All ghost and virtual cells for the workset on the MPI process.
virtual ~DomainEvaluator()=default
Default destructor.
DomainType
Domain types supported by worksets.
DomainType getDomain()
Get the domain for the evaluator.