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

#include <Panzer_Sum.hpp>

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

Classes

struct  PanzerSumTag
 

Public Member Functions

 Sum (const Teuchos::ParameterList &p)
 
void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
 
void evaluateFields (typename Traits::EvalData d)
 
template<unsigned int RANK>
KOKKOS_INLINE_FUNCTION void operator() (PanzerSumTag< RANK >, const int &i) 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 Attributes

PHX::MDField< ScalarTsum
 
PHX::MDField< const ScalarTvalues [MAX_VALUES]
 
PHX::View< const double * > scalars
 
std::size_t cell_data_size
 

Static Private Attributes

static const int MAX_VALUES =20
 

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::Sum< EvalT, Traits >

Sums entries on a single data layout

<ParameterList>
  <ParameterList name="Sum Name" type="string" value="<destination field name>"/>
  <ParameterList name="Values Names" type="Teuchos::RCP<std::vector<std::string> >" value="<Source field names>"/>
  <ParameterList name="Scalars" type="Teuchos::RCP<const std::vector<double> >" value="<scalar values>"/>
  <ParameterList name="Data Layout" type="Teuchos::RCP<PHX::DataLayout>" value="<data layout of all associated fields>"/>
</ParameterList>

Definition at line 35 of file Panzer_Sum.hpp.

Member Typedef Documentation

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

Definition at line 56 of file Panzer_Sum.hpp.

Constructor & Destructor Documentation

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

Definition at line 23 of file Panzer_Sum_impl.hpp.

Member Function Documentation

template<typename EvalT , typename Traits >
void panzer::Sum< EvalT, Traits >::postRegistrationSetup ( typename Traits::SetupData  d,
PHX::FieldManager< Traits > &  fm 
)

Definition at line 78 of file Panzer_Sum_impl.hpp.

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

Definition at line 150 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename TRAITS >
template<unsigned int RANK>
KOKKOS_INLINE_FUNCTION void panzer::Sum< EvalT, TRAITS >::operator() ( PanzerSumTag< RANK >  ,
const int &  i 
) const

Definition at line 90 of file Panzer_Sum_impl.hpp.

Member Data Documentation

template<typename EvalT , typename Traits >
const int panzer::Sum< EvalT, Traits >::MAX_VALUES =20
staticprivate

Definition at line 57 of file Panzer_Sum.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<ScalarT> panzer::Sum< EvalT, Traits >::sum
private

Definition at line 59 of file Panzer_Sum.hpp.

template<typename EvalT , typename Traits >
PHX::MDField<const ScalarT> panzer::Sum< EvalT, Traits >::values[MAX_VALUES]
private

Definition at line 62 of file Panzer_Sum.hpp.

template<typename EvalT , typename Traits >
PHX::View<const double *> panzer::Sum< EvalT, Traits >::scalars
private

Definition at line 63 of file Panzer_Sum.hpp.

template<typename EvalT , typename Traits >
std::size_t panzer::Sum< EvalT, Traits >::cell_data_size
private

Definition at line 65 of file Panzer_Sum.hpp.


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