43#ifndef PANZER_EVALUATOR_GATHER_NORMALS_DECL_HPP
44#define PANZER_EVALUATOR_GATHER_NORMALS_DECL_HPP
46#include "Phalanx_Evaluator_Macros.hpp"
47#include "Phalanx_MDField.hpp"
49#include "Teuchos_ParameterList.hpp"
57#include "Intrepid2_CellTools.hpp"
64template<
typename EvalT,
typename Traits>
66 :
public PHX::EvaluatorWithBaseImpl<Traits>,
67 public PHX::EvaluatorDerived<EvalT, Traits>,
79 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
94 Teuchos::RCP<const PureBasis>
basis;
96 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device>
faceNormal;
97 Kokkos::DynRankView<ScalarT,typename PHX::DevLayout<ScalarT>::type,PHX::Device>
refFaceNormal;
98 Intrepid2::RefSubcellParametrization<PHX::Device>::ConstViewType
sideParam;
Non-templated empty base class for template managers.
Gathers tangent vectors per field from the global indexer and stores them in the field manager.
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > faceNormal
void evaluateFields(typename Traits::EvalData d)
PHX::MDField< ScalarT, Cell, NODE, Dim > gatherFieldNormals
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)
PHX::MDField< const double, Cell, IP, Dim, Dim > constJac_
Intrepid2::RefSubcellParametrization< PHX::Device >::ConstViewType sideParam
PointValues2< double > pointValues
Teuchos::RCP< const PointRule > pointRule
Teuchos::RCP< const std::vector< Intrepid2::Orientation > > orientations
Teuchos::RCP< const PureBasis > basis
Kokkos::DynRankView< ScalarT, typename PHX::DevLayout< ScalarT >::type, PHX::Device > refFaceNormal