43#ifndef PANZER_PARAMETER_IMPL_HPP
44#define PANZER_PARAMETER_IMPL_HPP
46#include "PanzerDiscFE_config.hpp"
56template<
typename EvalT,
typename TRAITS>
58Parameter(
const std::string parameter_name,
59 const std::string field_name,
60 const Teuchos::RCP<PHX::DataLayout>& data_layout,
63 target_field = PHX::MDField<ScalarT, Cell, Point>(field_name, data_layout);
65 this->addEvaluatedField(target_field);
68 param = panzer::createAndRegisterScalarParameter<EvalT>(parameter_name,param_lib);
71 std::string n =
"Parameter Evaluator";
76template<
typename EvalT,
typename TRAITS>
81 auto param_val = param->getValue();
82 auto target_field_v = target_field.get_static_view();
83 auto target_field_h = Kokkos::create_mirror_view(target_field_v);
85 for (
int cell=0; cell < workset.num_cells; ++cell) {
86 for (std::size_t pt=0; pt<target_field_v.extent(1); ++pt)
87 target_field_h(cell,pt) = param_val;
89 Kokkos::deep_copy(target_field_v, target_field_h);
Parameter(const std::string parameter_name, const std::string field_name, const Teuchos::RCP< PHX::DataLayout > &data_layout, panzer::ParamLib ¶m_lib)
void evaluateFields(typename TRAITS::EvalData ud)
Sacado::ScalarParameterLibrary< panzer::EvaluationTraits > ParamLib