Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
panzer::DomainEvaluator Class Reference

Mix-in interface to support cell "domains" in panzer. More...

#include <Panzer_Evaluator_DomainInterface.hpp>

Inheritance diagram for panzer::DomainEvaluator:
Inheritance graph
[legend]

Public Types

enum  DomainType : int {
  OWNED =0, GHOST =1, REAL =2, VIRTUAL =3,
  ALL =4
}
 Domain types supported by worksets. More...
 

Public Member Functions

 DomainEvaluator (DomainType domain=ALL)
 Constructor. More...
 
virtual ~DomainEvaluator ()=default
 Default destructor. More...
 
void setDomain (const DomainType domain)
 Set the domain for the evaluator. More...
 
DomainType getDomain ()
 Get the domain for the evaluator. More...
 
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset. More...
 
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset. More...
 

Private Attributes

DomainType domain_
 Domain for this evaluator. More...
 

Detailed Description

Mix-in interface to support cell "domains" in panzer.

This class adds support for cell domains into evaluators. This is commonly used in DG discretizations.

Definition at line 12 of file Panzer_Evaluator_DomainInterface.hpp.

Member Enumeration Documentation

Domain types supported by worksets.

Enumerator
OWNED 
GHOST 

All Owned cells for the workset on the MPI process.

REAL 

All Ghosted cells for the workset on the MPI process.

VIRTUAL 

All Owned and Ghosted cells for the workset on the MPI process.

ALL 

All virtual cells for the workset on the MPI process.

Definition at line 17 of file Panzer_Evaluator_DomainInterface.hpp.

Constructor & Destructor Documentation

panzer::DomainEvaluator::DomainEvaluator ( DomainEvaluator::DomainType  domain = ALL)

Constructor.

Parameters
[in]domain(optional) Cell domain to iterate over (defaults to ALL)

Definition at line 7 of file Panzer_Evaluator_DomainInterface.cpp.

virtual panzer::DomainEvaluator::~DomainEvaluator ( )
virtualdefault

Default destructor.

Member Function Documentation

void panzer::DomainEvaluator::setDomain ( const DomainType  domain)

Set the domain for the evaluator.

Parameters
[in]domainDomain to set

Definition at line 12 of file Panzer_Evaluator_DomainInterface.cpp.

DomainEvaluator::DomainType panzer::DomainEvaluator::getDomain ( )

Get the domain for the evaluator.

Definition at line 9 of file Panzer_Evaluator_DomainInterface.cpp.

int panzer::DomainEvaluator::cellStartIndex ( const panzer::Workset workset) const
virtual

Returns the starting cell for the specified domain for a given workset.

Note: the loop would look like:

for(int cell = cell_start_index(workset); cell < cell_end_index(workset); ++cell){do something...}

Parameters
[in]worksetWorkset describing data layout
Returns
Starting index for cell domain

Definition at line 15 of file Panzer_Evaluator_DomainInterface.cpp.

int panzer::DomainEvaluator::cellEndIndex ( const panzer::Workset workset) const
virtual

Returns the non-inclusive end cell for the specified domain for a given workset.

Note: the loop would look like:

for(int cell = cell_start_index(workset); cell < cell_end_index(workset); ++cell){do something...}

Parameters
[in]worksetWorkset describing data layout
Returns
End index for cell domain

Definition at line 32 of file Panzer_Evaluator_DomainInterface.cpp.

Member Data Documentation

DomainType panzer::DomainEvaluator::domain_
private

Domain for this evaluator.

Definition at line 79 of file Panzer_Evaluator_DomainInterface.hpp.


The documentation for this class was generated from the following files: