43#ifndef PANZER_EVALUATOR_GATHER_TANGENTS_DECL_HPP
44#define PANZER_EVALUATOR_GATHER_TANGENTS_DECL_HPP
46#include "Phalanx_Evaluator_Macros.hpp"
47#include "Phalanx_MDField.hpp"
49#include "Teuchos_ParameterList.hpp"
55#include "Intrepid2_CellTools.hpp"
62template<
typename EvalT,
typename Traits>
64 :
public PHX::EvaluatorWithBaseImpl<Traits>,
65 public PHX::EvaluatorDerived<EvalT, Traits>,
77 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
90 Teuchos::RCP<const PureBasis>
basis_;
92 Intrepid2::RefSubcellParametrization<PHX::Device>::ConstViewType
edgeParam_;
95 PHX::MDField<const double,Cell,IP,Dim,Dim>
constJac_;
98 Kokkos::View<unsigned int*>
keys_;
Non-templated empty base class for template managers.
Gathers tangent vectors per field from the global indexer and stores them in the field manager.
PointValues2< double > pointValues_
Intrepid2::RefSubcellParametrization< PHX::Device >::ConstViewType edgeParam_
Kokkos::View< unsigned int * > keys_
void evaluateFields(typename Traits::EvalData d)
Teuchos::RCP< const PureBasis > basis_
Kokkos::View< Intrepid2::Orientation * > orientations_
GatherTangents(const Teuchos::ParameterList &p)
PHX::MDField< const double, Cell, IP, Dim, Dim > constJac_
PHX::MDField< ScalarT, Cell, NODE, Dim > gatherFieldTangents_
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)
Teuchos::RCP< const PointRule > pointRule_