42 #ifndef __Panzer_ScatterResidual_BlockedTpetra_Hessian_hpp__ 43 #define __Panzer_ScatterResidual_BlockedTpetra_Hessian_hpp__ 46 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 57 template <
typename TRAITS,
typename LO,
typename GO,
typename NodeT>
58 class ScatterResidual_BlockedTpetra<
panzer::Traits::Hessian,TRAITS,LO,GO,NodeT>
60 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
65 : globalIndexer_(indexer) {}
68 const Teuchos::ParameterList& p);
73 void preEvaluate(
typename TRAITS::PreEvalData d);
77 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const 78 {
return Teuchos::rcp(
new ScatterResidual_BlockedTpetra<panzer::Traits::Hessian,TRAITS,LO,GO,NodeT>(globalIndexer_,pl)); }
81 typedef typename panzer::Traits::Hessian::ScalarT
ScalarT;
82 typedef typename TRAITS::RealType RealType;
84 typedef BlockedTpetraLinearObjContainer<RealType,LO,GO,NodeT> ContainerType;
85 typedef Tpetra::Vector<RealType,LO,GO,NodeT> VectorType;
86 typedef Tpetra::CrsMatrix<RealType,LO,GO,NodeT> CrsMatrixType;
87 typedef Tpetra::CrsGraph<LO,GO,NodeT> CrsGraphType;
88 typedef Tpetra::Map<LO,GO,NodeT> MapType;
89 typedef Tpetra::Import<LO,GO,NodeT> ImportType;
90 typedef Tpetra::Export<LO,GO,NodeT> ExportType;
93 Teuchos::RCP<PHX::FieldTag> scatterHolder_;
96 std::vector< PHX::MDField<const ScalarT,Cell,NODE> >
scatterFields_;
100 Teuchos::RCP<const BlockedDOFManager<LO,GO> > globalIndexer_;
102 std::vector<int> fieldIds_;
108 Teuchos::RCP<const std::map<std::string,std::string> > fieldMap_;
110 std::string globalDataKey_;
111 Teuchos::RCP<const BlockedTpetraLinearObjContainer<RealType,LO,GO,NodeT> > blockedContainer_;
std::vector< PHX::MDField< const ScalarT, panzer::Cell, panzer::Point > > scatterFields_
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
ScatterResidual_BlockedTpetra(const Teuchos::RCP< const BlockedDOFManager< LO, GO > > &indexer)
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
void evaluateFields(typename TRAITS::EvalData d)
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm)
Non-templated empty base class for template managers.