43 #ifndef __Panzer_GatherSolution_Tpetra_Hessian_hpp__ 44 #define __Panzer_GatherSolution_Tpetra_Hessian_hpp__ 47 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 57 template<
typename TRAITS,
typename LO,
typename GO,
typename NodeT>
58 class GatherSolution_Tpetra<
panzer::Traits::Hessian,TRAITS,LO,GO,NodeT>
60 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
67 globalIndexer_(indexer) {}
72 void postRegistrationSetup(
typename TRAITS::SetupData d,
75 void preEvaluate(
typename TRAITS::PreEvalData d) {}
77 void evaluateFields(
typename TRAITS::EvalData d) {}
80 {
return Teuchos::rcp(
new GatherSolution_Tpetra<panzer::Traits::Hessian,TRAITS,LO,GO,NodeT>(globalIndexer_,pl)); }
84 {
TEUCHOS_ASSERT(i < Teuchos::as<int>(gatherFields_.size()));
return gatherFields_[i].fieldTag(); }
88 typedef typename panzer::Traits::Hessian::ScalarT ScalarT;
93 std::vector<int> fieldIds_;
95 std::vector< PHX::MDField<ScalarT,Cell,NODE> > gatherFields_;
98 bool useTimeDerivativeSolutionVector_;
99 std::string globalDataKey_;
107 bool has_tangent_fields_;
108 std::vector< std::vector< PHX::MDField<const ScalarT,Cell,NODE> > > tangentFields_;
110 GatherSolution_Tpetra();
115 #endif // end hessian support const PHX::FieldTag & getFieldTag() const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
#define TEUCHOS_ASSERT(assertion_test)
Non-templated empty base class for template managers.