11#ifndef __Panzer_ScatterDirichletResidual_Tpetra_Hessian_hpp__
12#define __Panzer_ScatterDirichletResidual_Tpetra_Hessian_hpp__
15#ifdef Panzer_BUILD_HESSIAN_SUPPORT
36template<
typename TRAITS,
typename LO,
typename GO,
typename NodeT>
39 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
45 : globalIndexer_(indexer) {}
49 const Teuchos::ParameterList& p);
52 void postRegistrationSetup(
typename TRAITS::SetupData d,
56 void preEvaluate(
typename TRAITS::PreEvalData d);
59 void evaluateFields(
typename TRAITS::EvalData workset);
62 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
84 Teuchos::RCP<const std::map<std::string,std::string> >
fieldMap_;
105 std::vector< PHX::MDField<const bool,Cell,NODE> >
applyBC_;
Non-templated empty base class for template managers.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
bool checkApplyBC_
If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.
std::size_t side_subcell_dim_
Teuchos::RCP< PHX::FieldTag > scatterHolder_
ScatterDirichletResidual_Tpetra()
ScatterDirichletResidual_Tpetra(const Teuchos::RCP< const GlobalIndexer > &indexer)
Construct with a global indexer only; scattered field names must be set later (e.g....
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
TpetraLinearObjContainer< double, LO, GO, NodeT > LOC
std::vector< int > fieldIds_
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...
Teuchos::RCP< const LOC > tpetraContainer_
std::size_t local_side_id_
Teuchos::RCP< typename LOC::VectorType > dirichletCounter_
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
std::string globalDataKey_
panzer::Traits::Hessian::ScalarT ScalarT
Pushes residual values into the residual vector for a Newton-based solve.
Tpetra-backed implementation of LinearObjContainer.
Evaluation type for computing second derivatives, using HessianType as the scalar type....