Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_Neumann_Residual_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_EVALUATOR_NEUMANN_RESIDUAL_DECL_HPP
12#define PANZER_EVALUATOR_NEUMANN_RESIDUAL_DECL_HPP
13
14#include "Phalanx_Evaluator_Macros.hpp"
15#include "Phalanx_MDField.hpp"
16
18
19namespace panzer {
20
28template<typename EvalT, typename Traits>
30 :
31 public panzer::EvaluatorWithBaseImpl<Traits>,
32 public PHX::EvaluatorDerived<EvalT, Traits>
33{
34 public:
35
37 const Teuchos::ParameterList& p);
38
39 void
41 typename Traits::SetupData d,
43
44 void
46 typename Traits::EvalData d);
47
48 private:
49
50 using ScalarT = typename EvalT::ScalarT;
51
52 PHX::MDField<ScalarT> residual;
53 PHX::MDField<ScalarT> normal_dot_flux;
54 PHX::MDField<const ScalarT> flux;
55 PHX::MDField<const ScalarT> normal;
56
57 std::string basis_name;
58 std::size_t basis_index;
59 std::size_t num_ip;
60 std::size_t num_dim;
61
62}; // end of class NeumannResidual
63
64
65}
66
67#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Evaluates a Neumann BC residual contribution.
PHX::MDField< const ScalarT > normal
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
PHX::MDField< const ScalarT > flux
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< ScalarT > normal_dot_flux