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
58 const Teuchos::ParameterList& p);
59
61 void
63 typename Traits::EvalData d);
64
65 private:
66
67 using ScalarT = typename EvalT::ScalarT;
68
69 PHX::MDField<ScalarT,Cell> outField; // result
70
71 PHX::MDField<const ScalarT,Cell,BASIS> inField; // function to be integrated
72
73 double multiplier;
74
75public:
76
78 const PHX::FieldTag & getFieldTag() const
79 { return outField.fieldTag(); }
80
81private:
83 Teuchos::RCP<Teuchos::ParameterList> getValidParameters() const;
84
85 // This is used to lookup closure indices (local Ids that live on a subcell)
86 Teuchos::RCP<const panzer::FieldPattern> fieldPattern_;
87
88 // evalaute on the "closure" of the indicated sub-cells
90
91}; // end of class SubcellSum
92
93
94}
95
96#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
const PHX::FieldTag & getFieldTag() const
Returns the FieldTag of the summed output field.
PHX::MDField< ScalarT, Cell > outField
Teuchos::RCP< Teuchos::ParameterList > getValidParameters() const
Returns the ParameterList of valid parameters/defaults for this evaluator's constructor.
Teuchos::RCP< const panzer::FieldPattern > fieldPattern_
void evaluateFields(typename Traits::EvalData d)
Computes the "Sum Name" field for this workset per the class description.
PHX::MDField< const ScalarT, Cell, BASIS > inField
typename EvalT::ScalarT ScalarT