11#ifndef __Panzer_ScatterResidual_Tpetra_Hessian_hpp__
12#define __Panzer_ScatterResidual_Tpetra_Hessian_hpp__
15#ifdef Panzer_BUILD_HESSIAN_SUPPORT
35template<
typename TRAITS,
typename LO,
typename GO,
typename NodeT>
38 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
44 : globalIndexer_(indexer) {}
48 const Teuchos::ParameterList& p);
51 void postRegistrationSetup(
typename TRAITS::SetupData d,
55 void preEvaluate(
typename TRAITS::PreEvalData d);
58 void evaluateFields(
typename TRAITS::EvalData workset);
61 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
82 Teuchos::RCP<const std::map<std::string,std::string> >
fieldMap_;
Non-templated empty base class for template managers.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< int > fieldIds_
Teuchos::RCP< const TpetraLinearObjContainer< double, LO, GO, NodeT > > tpetraContainer_
ScatterResidual_Tpetra(const Teuchos::RCP< const panzer::GlobalIndexer > &indexer)
Construct with a global indexer only; scattered field names must be set later (e.g....
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
Teuchos::RCP< PHX::FieldTag > scatterHolder_
std::string globalDataKey_
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Creates a copy of this evaluator configured from a new ParameterList, sharing the same global indexer...
panzer::Traits::Hessian::ScalarT ScalarT
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
Pushes residual values into the residual vector for a Newton-based solve.
Evaluation type for computing second derivatives, using HessianType as the scalar type....