Panzer Version of the Day
Loading...
Searching...
No Matches
panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void > Class Template Reference

#include <Panzer_Sum.hpp>

Inheritance diagram for panzer::SumStatic< EvalT, TRAITS, Tag0, Tag1, void >:

Classes

struct  ScalarsTag
struct  NoScalarsTag

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.
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.
Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor.
virtual ~DomainEvaluator ()=default
 Default destructor.
void setDomain (const DomainType domain)
 Set the domain for the evaluator.
DomainType getDomain ()
 Get the domain for the evaluator.
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset.
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset.

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

◆ ScalarT

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

◆ anonymous enum

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

◆ SumStatic() [1/2]

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

Definition at line 266 of file Panzer_Sum_impl.hpp.

◆ SumStatic() [2/2]

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

◆ postRegistrationSetup()

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 360 of file Panzer_Sum_impl.hpp.

◆ evaluateFields()

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 371 of file Panzer_Sum_impl.hpp.

◆ operator()() [1/2]

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 387 of file Panzer_Sum_impl.hpp.

◆ operator()() [2/2]

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 400 of file Panzer_Sum_impl.hpp.

Member Data Documentation

◆ sum

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.

◆ values

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.

◆ useScalars

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.

◆ current_value

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.

◆ value_views

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.

◆ scalars

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.

◆ numValues

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: