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);
71 std::string n =
"Parameter Evaluator";
76template<
typename EvalT,
typename TRAITS>
81 auto param_val =
param->getValue();
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);
Teuchos::RCP< panzer::ScalarParameterEntry< EvalT > > param
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)
PHX::MDField< ScalarT, Cell, Point > target_field
Teuchos::RCP< panzer::ScalarParameterEntry< EvaluationType > > createAndRegisterScalarParameter(const std::string name, panzer::ParamLib &pl)
Sacado::ScalarParameterLibrary< panzer::EvaluationTraits > ParamLib