Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_PointValues_Evaluator_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef PANZER_POINT_VALUES_EVALUATOR_DECL_HPP
12 #define PANZER_POINT_VALUES_EVALUATOR_DECL_HPP
13 
14 #include <string>
15 #include "Phalanx_Evaluator_Macros.hpp"
16 #include "Phalanx_MDField.hpp"
17 #include "Panzer_PointValues2.hpp"
19 
20 namespace panzer {
21 
23 template<typename EvalT, typename Traits>
25  :
26  public panzer::EvaluatorWithBaseImpl<Traits>,
27  public PHX::EvaluatorDerived<EvalT, Traits>
28 {
29  public:
30 
32  const Teuchos::ParameterList& p);
33 
34  void
36  typename Traits::SetupData d,
38 
39  void
41  typename Traits::EvalData d);
42 
43  private:
44 
45  using ScalarT = typename EvalT::ScalarT;
46 
47  // is anything other than ScalarT really needed here?
49 
51 
52  bool useBasisValuesRefArray; // if true then basis is non-null
54  std::size_t basis_index;
55 
57  template <typename ArrayT>
59  const Teuchos::Ptr<const ArrayT> & userArray,
60  // const Teuchos::Ptr<const Kokkos::DynRankView<double,PHX::Device> > & userArray,
61  const Teuchos::RCP<const panzer::PureBasis> & pureBasis);
62 
63 public:
65  const Kokkos::DynRankView<double,PHX::Device> & userArray);
66 
69 
72  const Teuchos::RCP<const panzer::PureBasis> & pureBasis);
73 
74 }; // end of class PointValues_Evaluator
75 
76 
77 }
78 
79 #endif
PointValues_Evaluator(const Teuchos::ParameterList &p)
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Teuchos::RCP< const panzer::PureBasis > basis
void initialize(const Teuchos::RCP< const panzer::PointRule > &pointRule, const Teuchos::Ptr< const ArrayT > &userArray, const Teuchos::RCP< const panzer::PureBasis > &pureBasis)
Initialization method to unify the constructors.
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< double, NODE, Dim > refPointArray
Interpolates basis DOF values to IP DOF values.