Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_Evaluator_Macros.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_MACROS_HPP
12 #define PANZER_EVALUATOR_MACROS_HPP
13 
15 
16 // **********************************************************************
18 #define PANZER_EVALUATOR_CLASS(NAME) \
19  \
20  template<typename EvalT, typename Traits> \
21  class NAME : public panzer::EvaluatorWithBaseImpl<Traits>, \
22  public PHX::EvaluatorDerived<EvalT, Traits> { \
23  \
24  public: \
25  \
26  NAME(const Teuchos::ParameterList& p); \
27  \
28  void postRegistrationSetup(typename Traits::SetupData d, \
29  PHX::FieldManager<Traits>& fm); \
30  \
31  void evaluateFields(typename Traits::EvalData d); \
32  \
33  private: \
34  \
35  typedef typename EvalT::ScalarT ScalarT;
36 
37 // **********************************************************************
39 #define PANZER_EVALUATOR_CLASS_PP(NAME) \
40  \
41  template<typename EvalT, typename Traits> \
42  class NAME : public panzer::EvaluatorWithBaseImpl<Traits>, \
43  public PHX::EvaluatorDerived<EvalT, Traits> { \
44  \
45  public: \
46  \
47  NAME(const Teuchos::ParameterList& p); \
48  \
49  void postRegistrationSetup(typename Traits::SetupData d, \
50  PHX::FieldManager<Traits>& fm); \
51  \
52  void evaluateFields(typename Traits::EvalData d); \
53  \
54  void preEvaluate(typename Traits::PreEvalData d); \
55  \
56  void postEvaluate(typename Traits::PostEvalData d); \
57  \
58  private: \
59  \
60  typedef typename EvalT::ScalarT ScalarT;
61 
62 // **********************************************************************
64 #define PANZER_EVALUATOR_CLASS_END };
65 
66 #endif