11#ifndef __Panzer_GatherSolution_Epetra_Hessian_hpp__
12#define __Panzer_GatherSolution_Epetra_Hessian_hpp__
15#ifdef Panzer_BUILD_HESSIAN_SUPPORT
32 template<
typename TRAITS,
typename LO,
typename GO>
36 public PHX::EvaluatorDerived<panzer::Traits::Hessian, TRAITS>,
50 const Teuchos::RCP<const panzer::GlobalIndexer>& indexer)
52 globalIndexer_(indexer)
68 const Teuchos::RCP<const panzer::GlobalIndexer>& indexer,
69 const Teuchos::ParameterList& p);
80 postRegistrationSetup(
81 typename TRAITS::SetupData d,
102 typename TRAITS::PreEvalData d);
115 typename TRAITS::EvalData d);
129 virtual Teuchos::RCP<CloneableEvaluator>
131 const Teuchos::ParameterList& pl)
const
136 (globalIndexer_, pl));
232 Teuchos::RCP<Epetra_Vector>
x_;
238 Teuchos::RCP<panzer::EpetraVector_ReadOnly_GlobalEvaluationData>
245 Teuchos::RCP<panzer::EpetraVector_ReadOnly_GlobalEvaluationData>
Non-templated empty base class for template managers.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
panzer::Traits::Hessian EvalT
The evaluation type.
bool secondSensitivitiesAvailable_
A flag indicating whether or not we're to be working with the second derivative sensitivities.
std::vector< PHX::MDField< ScalarT, Cell, NODE > > gatherFields_
The fields to be gathered.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
bool secondApplySensitivities_
Used by evaluateFields() to turn on/off the second derivative sensitivities.
bool firstApplySensitivities_
Used by evaluateFields() to turn on/off the first derivative sensitivities.
std::vector< int > fieldIds_
Field IDs, which need to be mapped.
std::vector< PHX::MDField< ScalarT, Cell, NODE > > sensFields_
The sensitivity fields.
int gatherSeedIndex_
Which gather seed in the workset to use.
bool firstSensitivitiesAvailable_
A flag indicating whether or not we're to be working with the first derivative sensitivities.
bool useTimeDerivativeSolutionVector_
A flag indicating whether we're to be working with or .
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
Maps the local (field, element, basis) triplet to a global ID for scattering.
std::string sensitivities2ndPrefix_
The prefix for the field containing the second sensitivities.
panzer::Traits::Hessian::ScalarT ScalarT
The scalar type.
GatherSolution_Epetra(const Teuchos::RCP< const panzer::GlobalIndexer > &indexer)
Constructor.
Teuchos::RCP< Epetra_Vector > x_
The solution vector.
Teuchos::RCP< panzer::EpetraVector_ReadOnly_GlobalEvaluationData > xEvRoGed_
The GlobalEvaluationData containing both the owned and ghosted solution vectors.
GatherSolution_Epetra()
Default Constructor (disabled).
std::string sensitivitiesName_
Sets which gather operations have sensitivities.
std::vector< std::string > indexerNames_
A list of the names of the fields to be gathered.
Teuchos::RCP< panzer::EpetraVector_ReadOnly_GlobalEvaluationData > dxEvRoGed_
The GlobalEvaluationData containing both the owned and ghosted derivative vectors.
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
Gathers solution values from the Newton solution vector into the nodal fields of the field manager.
Evaluation type for computing second derivatives, using HessianType as the scalar type....
Panzer's specialization of the Phalanx traits class.