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 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef PANZER_EVALUATOR_DOMAIN_INTERFACE_HPP
12 #define PANZER_EVALUATOR_DOMAIN_INTERFACE_HPP
13 
14 namespace panzer {
15 
16  class Workset;
17 
23 
24  public:
25 
27  enum DomainType : int {
28  OWNED=0,
29  GHOST=1,
30  REAL=2,
31  VIRTUAL=3,
33  ALL=5
34  };
35 
42 
46  virtual ~DomainEvaluator() = default;
47 
53  void setDomain(const DomainType domain);
54 
60 
72  virtual int cellStartIndex(const panzer::Workset & workset) const;
73 
85  virtual int cellEndIndex(const panzer::Workset & workset) const;
86 
87  private:
88 
91 
92  };
93 
94 }
95 
96 #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.