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 | List of all members
panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void > Class Template Reference

#include <Panzer_Sum.hpp>

Inheritance diagram for panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >:
Inheritance graph
[legend]

Classes

struct  NoScalarsTag
 
struct  ScalarsTag
 

Public Member Functions

 SumStatic (const Teuchos::ParameterList &p)
 
 SumStatic (const std::vector< PHX::Tag< typename EvalT::ScalarT >> &inputs, const std::vector< double > &scalar_values, const PHX::Tag< typename EvalT::ScalarT > &output)
 Tag only Constructor. More...
 
void postRegistrationSetup (typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &fm)
 
void evaluateFields (typename TRAITS::EvalData d)
 
KOKKOS_INLINE_FUNCTION void operator() (const ScalarsTag, const unsigned c) const
 
KOKKOS_INLINE_FUNCTION void operator() (const NoScalarsTag, const unsigned c) 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 PHX::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

enum  { MAX_VALUES =20 }
 
typedef EvalT::ScalarT ScalarT
 

Private Attributes

PHX::MDField< ScalarT, Tag0, Tag1 > sum
 
std::vector< PHX::MDField
< const ScalarT, Tag0, Tag1 > > 
values
 
bool useScalars
 
PHX::MDField< const ScalarT,
Tag0, Tag1 > 
current_value
 
PHX::View< const ScalarT ** > value_views [MAX_VALUES]
 
PHX::View< const double * > scalars
 
int numValues
 

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, typename Tag0, typename Tag1>
class panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >

Definition at line 137 of file Panzer_Sum.hpp.

Member Typedef Documentation

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
typedef EvalT::ScalarT panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::ScalarT
private

Definition at line 168 of file Panzer_Sum.hpp.

Member Enumeration Documentation

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
anonymous enum
private
Enumerator
MAX_VALUES 

Definition at line 176 of file Panzer_Sum.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::SumStatic ( const Teuchos::ParameterList p)

Definition at line 271 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::SumStatic ( const std::vector< PHX::Tag< typename EvalT::ScalarT >> &  inputs,
const std::vector< double > &  scalar_values,
const PHX::Tag< typename EvalT::ScalarT > &  output 
)

Tag only Constructor.

Perform a linear combination of fields using only input tags and double vectors.

Parameters
[in]inputsTags associated with rank 2 arrays to be summed
[in]scalar_valuesVector of length inputs.size() or zero. If the length is equal to inputs.size() each entry is scaled. Otherwise 1.0 is assumed.
[in]outputDestination array tag for the summation.

Definition at line 322 of file Panzer_Sum_impl.hpp.

Member Function Documentation

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
void panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::postRegistrationSetup ( typename TRAITS::SetupData  d,
PHX::FieldManager< TRAITS > &  fm 
)

Definition at line 365 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
void panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::evaluateFields ( typename TRAITS::EvalData  d)

Definition at line 376 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
KOKKOS_INLINE_FUNCTION void panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::operator() ( const ScalarsTag  ,
const unsigned  c 
) const

Definition at line 392 of file Panzer_Sum_impl.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
KOKKOS_INLINE_FUNCTION void panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::operator() ( const NoScalarsTag  ,
const unsigned  c 
) const

Definition at line 405 of file Panzer_Sum_impl.hpp.

Member Data Documentation

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
PHX::MDField<ScalarT,Tag0,Tag1> panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::sum
private

Definition at line 170 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
std::vector< PHX::MDField<const ScalarT,Tag0,Tag1> > panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::values
private

Definition at line 171 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
bool panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::useScalars
private

Definition at line 172 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
PHX::MDField<const ScalarT,Tag0,Tag1> panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::current_value
private

Definition at line 177 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
PHX::View<const ScalarT**> panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::value_views[MAX_VALUES]
private

Definition at line 178 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
PHX::View<const double*> panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::scalars
private

Definition at line 179 of file Panzer_Sum.hpp.

template<typename EvalT , typename TRAITS , typename Tag0 , typename Tag1 >
int panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >::numValues
private

Definition at line 180 of file Panzer_Sum.hpp.


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