Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_WeakDirichlet_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_WEAKDIRICHLET_RESIDUAL_DECL_HPP
12#define PANZER_EVALUATOR_WEAKDIRICHLET_RESIDUAL_DECL_HPP
13
14#include "Phalanx_Evaluator_Macros.hpp"
15#include "Phalanx_MDField.hpp"
16
18
19namespace panzer {
20
29template<typename EvalT, typename Traits>
31 :
32 public panzer::EvaluatorWithBaseImpl<Traits>,
33 public PHX::EvaluatorDerived<EvalT, Traits>
34{
35 public:
36
38 const Teuchos::ParameterList& p);
39
40 void
42 typename Traits::SetupData d,
44
45 void
47 typename Traits::EvalData d);
48
49 private:
50
51 using ScalarT = typename EvalT::ScalarT;
52
53 PHX::MDField<ScalarT> residual;
54 PHX::MDField<ScalarT> normal_dot_flux_plus_pen;
55 PHX::MDField<const ScalarT> flux; // i.e., -K \nabla u
56 PHX::MDField<const ScalarT> normal;
57 PHX::MDField<const ScalarT> sigma;
58 PHX::MDField<const ScalarT> dof;
59 PHX::MDField<const ScalarT> value;
60
61 std::string basis_name;
62 std::size_t basis_index;
63 std::size_t num_ip;
64 std::size_t num_dim;
65
66}; // end of class WeakDirichletResidual
67
68
69}
70
71#endif
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Evaluates a Weak Dirichlet BC residual contribution.
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
void evaluateFields(typename Traits::EvalData d)