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 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
 
Kokkos::View< const ScalarT
**, typename PHX::DevLayout
< ScalarT >::type, PHX::Device > 
value_views [MAX_VALUES]
 
Kokkos::View< const double
*, typename PHX::DevLayout
< ScalarT >::type, PHX::Device > 
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 265 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 317 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 361 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 372 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 388 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 401 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 >
Kokkos::View<const ScalarT**,typename PHX::DevLayout<ScalarT>::type,PHX::Device> 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 >
Kokkos::View<const double*,typename PHX::DevLayout<ScalarT>::type,PHX::Device> 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: