Panzer Version of the Day
Loading...
Searching...
No Matches
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