Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_Dirichlet_Residual_FaceBasis.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_DIRICHLET_RESIDUAL_FACEBASIS_HPP
12#define PANZER_EVALUATOR_DIRICHLET_RESIDUAL_FACEBASIS_HPP
13
14#include "Teuchos_RCP.hpp"
15
16#include "Phalanx_Evaluator_Macros.hpp"
17#include "Phalanx_MDField.hpp"
18
19#include "PanzerDiscFE_config.hpp"
20#include "Panzer_PureBasis.hpp"
21#include "Panzer_Dimension.hpp"
22#include "Panzer_PointRule.hpp"
24
25#include "Kokkos_DynRankView.hpp"
26
28
29namespace panzer {
30
35template<typename EvalT, typename Traits>
37 :
38 public panzer::EvaluatorWithBaseImpl<Traits>,
39 public PHX::EvaluatorDerived<EvalT, Traits>
40{
41 public:
42
44 const Teuchos::ParameterList& p);
45
46 void
48 typename Traits::SetupData d,
50
51 void
53 typename Traits::EvalData d);
54
55 private:
56
57 using ScalarT = typename EvalT::ScalarT;
58
59 PHX::MDField<ScalarT,Cell,BASIS> residual;
60 PHX::MDField<const ScalarT,Cell,Point,Dim> dof;
61 PHX::MDField<const ScalarT,Cell,Point,Dim> value;
62
63 Teuchos::RCP<const panzer::PureBasis> basis;
64 Teuchos::RCP<const panzer::PointRule> pointRule;
65 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device> faceNormal; // face normals
66 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device> refFaceNormal; // reference face normals
67
69 PHX::MDField<const double,Cell,IP,Dim,Dim> constJac_;
70
71 Teuchos::RCP<const std::vector<Intrepid2::Orientation> > orientations;
72
73}; // end of class DirichletResidual_FaceBasis
74
75
76}
77
78#endif
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > faceNormal
PHX::MDField< const ScalarT, Cell, Point, Dim > value
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &fm)
Teuchos::RCP< const std::vector< Intrepid2::Orientation > > orientations
PHX::MDField< const double, Cell, IP, Dim, Dim > constJac_
PHX::MDField< const ScalarT, Cell, Point, Dim > dof
Teuchos::RCP< const panzer::PureBasis > basis
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > refFaceNormal
Teuchos::RCP< const panzer::PointRule > pointRule
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.