Panzer Version of the Day
Loading...
Searching...
No Matches
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"
19
20#include "Phalanx_Evaluator_Macros.hpp"
21#include "Phalanx_MDField.hpp"
22
24
25namespace panzer {
26
48template<typename EvalT, typename Traits>
50 :
51 public panzer::EvaluatorWithBaseImpl<Traits>,
52 public PHX::EvaluatorDerived<EvalT, Traits>
53{
54 public:
55
57 const Teuchos::ParameterList& p);
58
59 void
61 typename Traits::EvalData d);
62
63 private:
64
65 using ScalarT = typename EvalT::ScalarT;
66
67 PHX::MDField<ScalarT,Cell> outField; // result
68
69 PHX::MDField<const ScalarT,Cell,BASIS> inField; // function to be integrated
70
71 double multiplier;
72
73public:
74
75 const PHX::FieldTag & getFieldTag() const
76 { return outField.fieldTag(); }
77
78private:
79 Teuchos::RCP<Teuchos::ParameterList> getValidParameters() const;
80
81 // This is used to lookup closure indices (local Ids that live on a subcell)
82 Teuchos::RCP<const panzer::FieldPattern> fieldPattern_;
83
84 // evalaute on the "closure" of the indicated sub-cells
86
87}; // end of class SubcellSum
88
89
90}
91
92#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
const PHX::FieldTag & getFieldTag() const
PHX::MDField< ScalarT, Cell > outField
Teuchos::RCP< Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< const panzer::FieldPattern > fieldPattern_
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< const ScalarT, Cell, BASIS > inField
typename EvalT::ScalarT ScalarT