VertexCFD  0.0-dev
VertexCFD_ScalarParameterEvaluator_impl.hpp
1 #ifndef VERTEXCFD_SCALARPARAMETEREVALUATOR_IMPL_HPP
2 #define VERTEXCFD_SCALARPARAMETEREVALUATOR_IMPL_HPP
3 
4 #include <Panzer_Dimension.hpp>
5 
6 #include <Phalanx_DataLayout_MDALayout.hpp>
7 #include <Phalanx_FieldTag_Tag.hpp>
8 
9 namespace VertexCFD
10 {
11 namespace Parameter
12 {
13 //---------------------------------------------------------------------------//
14 template<class EvalType, class Traits>
15 ScalarParameterEvaluator<EvalType, Traits>::ScalarParameterEvaluator(
16  const Teuchos::RCP<ScalarParameterManager<EvalType>>& param_manager,
17  const Teuchos::RCP<panzer::GlobalData>& global_data)
18  : _param_manager(param_manager)
19  , _global_data(global_data)
20 {
21  auto dummy_layout = Teuchos::rcp(new PHX::MDALayout<panzer::Dummy>(0));
22  _param_update_trigger = Teuchos::rcp(
23  new PHX::Tag<scalar_type>("scalar_parameter_eval", dummy_layout));
24  this->addEvaluatedField(*_param_update_trigger);
25  this->setName("Scalar Parameter Evaluation");
26 }
27 
28 //---------------------------------------------------------------------------//
29 template<class EvalType, class Traits>
30 void ScalarParameterEvaluator<EvalType, Traits>::evaluateFields(
31  typename Traits::EvalData workset)
32 {
33  _param_manager->update(*_global_data, workset);
34 }
35 
36 //---------------------------------------------------------------------------//
37 
38 } // end namespace Parameter
39 } // end namespace VertexCFD
40 
41 #endif // end VERTEXCFD_SCALARPARAMETEREVALUATOR_IMPL_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23