Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_SubcellSum_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_SubcellSum_decl_hpp__
12 #define __Panzer_SubcellSum_decl_hpp__
13 
14 #include <string>
15 
16 #include "PanzerDiscFE_config.hpp"
17 #include "Panzer_Dimension.hpp"
18 #include "Panzer_FieldPattern.hpp"
19 
20 #include "Phalanx_Evaluator_Macros.hpp"
21 #include "Phalanx_MDField.hpp"
22 
24 
25 namespace panzer {
26 
48 template<typename EvalT, typename Traits>
50  :
51  public panzer::EvaluatorWithBaseImpl<Traits>,
52  public PHX::EvaluatorDerived<EvalT, Traits>
53 {
54  public:
55 
56  SubcellSum(
57  const Teuchos::ParameterList& p);
58 
59  void
61  typename Traits::EvalData d);
62 
63  private:
64 
65  using ScalarT = typename EvalT::ScalarT;
66 
68 
69  PHX::MDField<const ScalarT,Cell,BASIS> inField; // function to be integrated
70 
71  double multiplier;
72 
73 public:
74 
75  const PHX::FieldTag & getFieldTag() const
76  { return outField.fieldTag(); }
77 
78 private:
80 
81  // This is used to lookup closure indices (local Ids that live on a subcell)
83 
84  // evalaute on the "closure" of the indicated sub-cells
86 
87 }; // end of class SubcellSum
88 
89 
90 }
91 
92 #endif
SubcellSum(const Teuchos::ParameterList &p)
Teuchos::RCP< const panzer::FieldPattern > fieldPattern_
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
PHX::MDField< const ScalarT, Cell, BASIS > inField
const PHX::FieldTag & getFieldTag() const
PHX::MDField< ScalarT, Cell > outField
typename EvalT::ScalarT ScalarT
Teuchos::RCP< Teuchos::ParameterList > getValidParameters() const
void evaluateFields(typename Traits::EvalData d)