42 #ifndef __Panzer_GatherSolution_BlockedTpetra_Hessian_hpp__ 43 #define __Panzer_GatherSolution_BlockedTpetra_Hessian_hpp__ 46 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 56 template <
typename TRAITS,
typename S,
typename LO,
typename GO,
typename NodeT>
57 class GatherSolution_BlockedTpetra<
panzer::Traits::Hessian,TRAITS,S,LO,GO,NodeT>
59 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
66 : gidIndexer_(indexer) {}
69 const Teuchos::ParameterList& p) {}
74 void preEvaluate(
typename TRAITS::PreEvalData d) {}
78 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const 79 {
return Teuchos::rcp(
new GatherSolution_BlockedTpetra<panzer::Traits::Hessian,TRAITS,S,LO,GO>(gidIndexer_,pl)); }
83 typedef typename panzer::Traits::Hessian::ScalarT
ScalarT;
85 typedef BlockedTpetraLinearObjContainer<S,LO,GO,NodeT> ContainerType;
86 typedef Tpetra::Vector<S,LO,GO,NodeT> VectorType;
87 typedef Tpetra::CrsMatrix<S,LO,GO,NodeT> CrsMatrixType;
88 typedef Tpetra::CrsGraph<LO,GO,NodeT> CrsGraphType;
89 typedef Tpetra::Map<LO,GO,NodeT> MapType;
90 typedef Tpetra::Import<LO,GO,NodeT> ImportType;
91 typedef Tpetra::Export<LO,GO,NodeT> ExportType;
95 Teuchos::RCP<const BlockedDOFManager<LO,GO> > gidIndexer_;
97 std::vector<int> fieldIds_;
99 std::vector< PHX::MDField<ScalarT,Cell,NODE> > gatherFields_;
101 Teuchos::RCP<std::vector<std::string> > indexerNames_;
102 bool useTimeDerivativeSolutionVector_;
103 std::string globalDataKey_;
105 Teuchos::RCP<const BlockedTpetraLinearObjContainer<S,LO,GO,NodeT> > blockedContainer_;
111 bool has_tangent_fields_;
112 std::vector< std::vector< PHX::MDField<ScalarT,Cell,NODE> > > tangentFields_;
GatherSolution_BlockedTpetra(const Teuchos::RCP< const BlockedDOFManager< LO, GO > > &indexer)
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm)
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
void evaluateFields(typename TRAITS::EvalData d)
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Non-templated empty base class for template managers.