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,
22  ALL=4
23  };
24 
31 
35  virtual ~DomainEvaluator() = default;
36 
42  void setDomain(const DomainType domain);
43 
49 
61  virtual int cellStartIndex(const panzer::Workset & workset) const;
62 
74  virtual int cellEndIndex(const panzer::Workset & workset) const;
75 
76  private:
77 
80 
81  };
82 
83 }
84 
85 #endif
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 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.