VertexCFD  0.0-dev
VertexCFD_ScalarParameterEvaluator.hpp
1 #ifndef VERTEXCFD_SCALARPARAMETEREVALUATOR_HPP
2 #define VERTEXCFD_SCALARPARAMETEREVALUATOR_HPP
3 
4 #include "VertexCFD_ScalarParameterManager.hpp"
5 
6 #include <Panzer_Evaluator_WithBaseImpl.hpp>
7 #include <Panzer_GlobalData.hpp>
8 
9 #include <Phalanx_Evaluator_Derived.hpp>
10 #include <Phalanx_FieldTag.hpp>
11 
12 #include <Teuchos_RCP.hpp>
13 
14 #include <string>
15 
16 namespace VertexCFD
17 {
18 namespace Parameter
19 {
20 //---------------------------------------------------------------------------//
21 template<class EvalType, class Traits>
22 class ScalarParameterEvaluator : public panzer::EvaluatorWithBaseImpl<Traits>,
23  public PHX::EvaluatorDerived<EvalType, Traits>
24 {
25  public:
26  using scalar_type = typename EvalType::ScalarT;
27 
29  const Teuchos::RCP<ScalarParameterManager<EvalType>>& param_manager,
30  const Teuchos::RCP<panzer::GlobalData>& global_data);
31 
32  void evaluateFields(typename Traits::EvalData workset) override;
33 
34  private:
35  Teuchos::RCP<PHX::FieldTag> _param_update_trigger;
36  Teuchos::RCP<ScalarParameterManager<EvalType>> _param_manager;
37  Teuchos::RCP<panzer::GlobalData> _global_data;
38 };
39 
40 //---------------------------------------------------------------------------//
41 
42 } // end namespace Parameter
43 } // end namespace VertexCFD
44 
45 #endif // end VERTEXCFD_SCALARPARAMETEREVALUATOR_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::Parameter::ScalarParameterEvaluator
Definition: VertexCFD_ScalarParameterEvaluator.hpp:24
VertexCFD::Parameter::ScalarParameterManager
Definition: VertexCFD_ScalarParameterManager.hpp:22