43 #ifndef __Panzer_ScatterResidual_Epetra_Hessian_hpp__ 44 #define __Panzer_ScatterResidual_Epetra_Hessian_hpp__ 47 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 57 template<
typename TRAITS,
typename LO,
typename GO>
58 class ScatterResidual_Epetra<
panzer::Traits::Hessian,TRAITS,LO,GO>
60 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
66 bool useDiscreteAdjoint=
false)
67 : globalIndexer_(indexer), colGlobalIndexer_(cIndexer), useDiscreteAdjoint_(useDiscreteAdjoint) {}
71 const Teuchos::ParameterList& p,
bool=
false);
73 void postRegistrationSetup(
typename TRAITS::SetupData d,
76 void preEvaluate(
typename TRAITS::PreEvalData d);
78 void evaluateFields(
typename TRAITS::EvalData workset);
80 virtual Teuchos::RCP<CloneableEvaluator> clone(
const Teuchos::ParameterList & pl)
const 81 {
return Teuchos::rcp(
new ScatterResidual_Epetra<panzer::Traits::Hessian,TRAITS,LO,GO>(globalIndexer_,colGlobalIndexer_,pl)); }
84 typedef typename panzer::Traits::Hessian::ScalarT ScalarT;
87 Teuchos::RCP<PHX::FieldTag> scatterHolder_;
90 std::vector< PHX::MDField<const ScalarT,Cell,NODE> >
scatterFields_;
94 Teuchos::RCP<const panzer::UniqueGlobalIndexer<LO,GO> > globalIndexer_, colGlobalIndexer_;
95 std::vector<int> fieldIds_;
101 Teuchos::RCP<const std::map<std::string,std::string> > fieldMap_;
103 std::string globalDataKey_;
105 Teuchos::RCP<const EpetraLinearObjContainer> epetraContainer_;
107 ScatterResidual_Epetra();
109 bool useDiscreteAdjoint_;
std::vector< PHX::MDField< const ScalarT, panzer::Cell, panzer::Point > > scatterFields_
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Non-templated empty base class for template managers.