Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
panzer::SubcellSum< EvalT, Traits > Class Template Reference

#include <Panzer_SubcellSum_decl.hpp>

Inheritance diagram for panzer::SubcellSum< EvalT, Traits >:
Inheritance graph
[legend]

Public Member Functions

 SubcellSum (const Teuchos::ParameterList &p)
 
void evaluateFields (typename Traits::EvalData d)
 
const PHX::FieldTaggetFieldTag () const
 
- Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< Traits >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index. More...
 
- Public Member Functions inherited from PHX::EvaluatorWithBaseImpl< Traits >
virtual void evaluateFields (typename Traits::EvalData d) override=0
 
- Public Member Functions inherited from PHX::Evaluator< Traits >
 Evaluator ()
 
virtual ~Evaluator ()
 
virtual void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
evaluatedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
contributedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
dependentFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
unsharedFields () const =0
 
virtual void preEvaluate (typename Traits::PreEvalData d)=0
 
virtual void postEvaluate (typename Traits::PostEvalData d)=0
 
virtual const std::string & getName () const =0
 
virtual void bindField (const PHX::FieldTag &ft, const std::any &f)=0
 
virtual PHX::DeviceEvaluator
< Traits > * 
createDeviceEvaluator () const =0
 
virtual void rebuildDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void deleteDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void printFieldValues (std::ostream &os) const =0
 
- Public Member Functions inherited from panzer::DomainEvaluator
 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 Types

using ScalarT = typename EvalT::ScalarT
 

Private Member Functions

Teuchos::RCP
< Teuchos::ParameterList
getValidParameters () const
 

Private Attributes

PHX::MDField< ScalarT, CelloutField
 
PHX::MDField< const ScalarT,
Cell, BASIS
inField
 
double multiplier
 
Teuchos::RCP< const
panzer::FieldPattern
fieldPattern_
 
bool evaluateOnClosure_
 

Additional Inherited Members

- Public Types inherited from panzer::DomainEvaluator
enum  DomainType : int {
  OWNED =0, GHOST =1, REAL =2, VIRTUAL =3,
  EXTERNAL =4, ALL =5
}
 Domain types supported by worksets. More...
 
- Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< Traits >
WorksetDetailsAccessor wda
 

Detailed Description

template<typename EvalT, typename Traits>
class panzer::SubcellSum< EvalT, Traits >

This performs a sum over all the fields limited to the subcell specified in the workset. It is useful for computing high-order surface integrals as responses.

The field specified with "Sum Name" will be dimensioned as the number of cells in the workset. The "Field Name" object is dimension as the number of cells by the number of basis functions specified by the "Basis" object. The "Evaluate On Closure" indicates if the subcells are to use the closure index (i.e. all subcells of lesser dimension contained within a subcell) or simply sum on those fields on the subcell proper.

  <ParameterList>
    <Parameter name="Sum Name" type="string" value="<Name to give to the summed field>"/>
    <Parameter name="Field Name" type="string" value="<Name of field to sum>"/>
    <Parameter name="Basis" type="RCP<const PureBasis>" value="<user specified PureBasis object>"/>
    <Parameter name="Multiplier" type="double" value="<Scaling factor, default=1>"/>
    <Parameter name="Evaluate On Closure" type="bool" value="false"/>
  </ParameterList>

Definition at line 49 of file Panzer_SubcellSum_decl.hpp.

Member Typedef Documentation

template<typename EvalT , typename Traits >
using panzer::SubcellSum< EvalT, Traits >::ScalarT = typename EvalT::ScalarT
private

Definition at line 65 of file Panzer_SubcellSum_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename Traits >
panzer::SubcellSum< EvalT, Traits >::SubcellSum ( const Teuchos::ParameterList p)

Definition at line 25 of file Panzer_SubcellSum_impl.hpp.

Member Function Documentation

template<typename EvalT , typename Traits >
void panzer::SubcellSum< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d)

Definition at line 56 of file Panzer_SubcellSum_impl.hpp.

template<typename EvalT , typename Traits >
const PHX::FieldTag& panzer::SubcellSum< EvalT, Traits >::getFieldTag ( ) const
inline

Definition at line 75 of file Panzer_SubcellSum_decl.hpp.

template<typename EvalT , typename TRAITS >
Teuchos::RCP< Teuchos::ParameterList > panzer::SubcellSum< EvalT, TRAITS >::getValidParameters ( ) const
private

Definition at line 88 of file Panzer_SubcellSum_impl.hpp.

Member Data Documentation

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT,Cell> panzer::SubcellSum< EvalT, Traits >::outField
private

Definition at line 67 of file Panzer_SubcellSum_decl.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<const ScalarT,Cell,BASIS> panzer::SubcellSum< EvalT, Traits >::inField
private

Definition at line 69 of file Panzer_SubcellSum_decl.hpp.

template<typename EvalT , typename Traits >
double panzer::SubcellSum< EvalT, Traits >::multiplier
private

Definition at line 71 of file Panzer_SubcellSum_decl.hpp.

template<typename EvalT , typename Traits >
Teuchos::RCP<const panzer::FieldPattern> panzer::SubcellSum< EvalT, Traits >::fieldPattern_
private

Definition at line 82 of file Panzer_SubcellSum_decl.hpp.

template<typename EvalT , typename Traits >
bool panzer::SubcellSum< EvalT, Traits >::evaluateOnClosure_
private

Definition at line 85 of file Panzer_SubcellSum_decl.hpp.


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