Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_Parameter_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_EVALUATOR_PARAMETER_DECL_HPP
12 #define PANZER_EVALUATOR_PARAMETER_DECL_HPP
13 
14 #include "PanzerDiscFE_config.hpp"
15 
16 #include "Phalanx_Evaluator_Macros.hpp"
17 #include "Phalanx_MDField.hpp"
18 #include "Teuchos_RCP.hpp"
19 
21 
23 
24 namespace panzer {
25 
26  template <typename EvalT> class ScalarParameterEntry;
27 
29  template<typename EvalT, typename TRAITS>
30  class Parameter :
31  public panzer::EvaluatorWithBaseImpl<TRAITS>,
32  public PHX::EvaluatorDerived<EvalT, TRAITS> {
33 
34  public:
35 
36  Parameter(const std::string parameter_name,
37  const std::string field_name,
38  const Teuchos::RCP<PHX::DataLayout>& data_layout,
39  panzer::ParamLib& param_lib);
40 
41  void evaluateFields(typename TRAITS::EvalData ud);
42 
43  private:
44 
45  typedef typename EvalT::ScalarT ScalarT;
46 
48 
49  std::size_t cell_data_size;
50 
52 
54  };
55 
56 }
57 
58 #endif
PHX::MDField< ScalarT, Cell, Point > target_field
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Sacado::ScalarParameterLibrary< panzer::EvaluationTraits > ParamLib
Constant parameter from sacado parameter library.
Parameter(const std::string parameter_name, const std::string field_name, const Teuchos::RCP< PHX::DataLayout > &data_layout, panzer::ParamLib &param_lib)
void evaluateFields(typename TRAITS::EvalData ud)
Teuchos::RCP< panzer::ScalarParameterEntry< EvalT > > param