43 #ifndef __Panzer_GatherSolution_BlockedEpetra_decl_hpp__ 44 #define __Panzer_GatherSolution_BlockedEpetra_decl_hpp__ 56 #include "PanzerDiscFE_config.hpp" 61 #include "Phalanx_config.hpp" 62 #include "Phalanx_Evaluator_Macros.hpp" 63 #include "Phalanx_MDField.hpp" 66 #include "Teuchos_ParameterList.hpp" 93 template<
typename EvalT,
typename TRAITS,
typename LO,
typename GO>
97 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
116 const Teuchos::ParameterList& p)
132 virtual Teuchos::RCP<CloneableEvaluator>
134 const Teuchos::ParameterList& pl)
const 136 return Teuchos::rcp(
new 150 typename TRAITS::SetupData d,
165 typename TRAITS::EvalData d)
170 cout <<
"Unspecialized version of \"GatherSolution_BlockedEpetra::" \
171 "evaluateFields\" on " + print<EvalT>() +
"\" should not " \
173 TEUCHOS_ASSERT(
false);
188 template<
typename TRAITS,
typename LO,
typename GO>
192 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
206 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
226 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
228 const Teuchos::ParameterList& p);
241 typename TRAITS::SetupData d,
256 typename TRAITS::PreEvalData d);
268 typename TRAITS::EvalData d);
282 virtual Teuchos::RCP<CloneableEvaluator>
284 const Teuchos::ParameterList& pl)
const 309 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
345 Teuchos::RCP<Thyra::ProductVectorBase<double>>
x_;
351 Teuchos::RCP<panzer::BlockedVector_ReadOnly_GlobalEvaluationData>
369 std::vector<std::vector<PHX::MDField<const ScalarT, Cell, NODE>>>
389 template<
typename TRAITS,
typename LO,
typename GO>
393 public PHX::EvaluatorDerived<panzer::Traits::Tangent, TRAITS>,
407 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
427 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
429 const Teuchos::ParameterList& p);
442 typename TRAITS::SetupData d,
457 typename TRAITS::PreEvalData d);
470 typename TRAITS::EvalData d);
484 virtual Teuchos::RCP<CloneableEvaluator>
486 const Teuchos::ParameterList& pl)
const 511 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
547 Teuchos::RCP<Thyra::ProductVectorBase<double>>
x_;
553 Teuchos::RCP<panzer::BlockedVector_ReadOnly_GlobalEvaluationData>
571 std::vector<std::vector<PHX::MDField<const ScalarT, Cell, NODE>>>
591 template<
typename TRAITS,
typename LO,
typename GO>
595 public PHX::EvaluatorDerived<panzer::Traits::Jacobian, TRAITS>,
609 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
629 const std::vector<Teuchos::RCP<const GlobalIndexer>>&
631 const Teuchos::ParameterList& p);
644 typename TRAITS::SetupData d,
660 typename TRAITS::PreEvalData d);
673 typename TRAITS::EvalData d);
687 virtual Teuchos::RCP<CloneableEvaluator>
689 const Teuchos::ParameterList& pl)
const 714 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
773 Teuchos::RCP<Thyra::ProductVectorBase<double>>
x_;
779 Teuchos::RCP<panzer::BlockedVector_ReadOnly_GlobalEvaluationData>
791 #ifdef Panzer_BUILD_HESSIAN_SUPPORT 793 #endif // Panzer_BUILD_HESSIAN_SUPPORT 795 #endif // __Panzer_GatherSolution_BlockedEpetra_decl_hpp__
std::vector< Teuchos::RCP< const GlobalIndexer > > indexers_
These map the local (field, element, basis) triplet to a global ID for scattering.
Teuchos::RCP< Thyra::ProductVectorBase< double > > x_
The solution vector.
std::vector< int > indexerIds_
The block index into indexers_.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers)
Constructor.
std::vector< std::vector< PHX::MDField< const ScalarT, Cell, NODE > > > tangentFields_
Fields for storing the tangent components of the solution vector .
int gatherSeedIndex_
Which gather seed in the workset to use.
std::vector< Teuchos::RCP< const GlobalIndexer > > indexers_
These map the local (field, element, basis) triplet to a global ID for scattering.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
std::vector< std::string > indexerNames_
A list of the names of the fields to be gathered.
panzer::Traits::Residual::ScalarT ScalarT
The scalar type.
bool useTimeDerivativeSolutionVector_
A flag indicating whether we should be working with or .
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
bool hasTangentFields_
A flag indicating whether or not we have tangent fields.
Teuchos::RCP< panzer::BlockedVector_ReadOnly_GlobalEvaluationData > xBvRoGed_
The GlobalEvaluationData containing both the owned and ghosted solution vectors.
std::vector< int > subFieldIds_
Sub-field IDs, which need to be mapped.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
panzer::Traits::Residual EvalT
The evaluation type.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers)
Constructor.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< PHX::MDField< ScalarT, Cell, NODE > > gatherFields_
The fields to be gathered.
Teuchos::RCP< Thyra::ProductVectorBase< double > > x_
The solution vector.
bool applySensitivities_
Used by evaluateFields() to turn on/off a certain set of sensitivities.
std::vector< int > subFieldIds_
Sub-field IDs, which need to be mapped.
bool useTimeDerivativeSolutionVector_
A flag indicating whether we should be working with or .
std::vector< PHX::MDField< ScalarT, Cell, NODE > > gatherFields_
The fields to be gathered.
void postRegistrationSetup(typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &fm)
Post-Registration Setup.
EvalT::ScalarT ScalarT
The scalar type.
GatherSolution_BlockedEpetra(const Teuchos::ParameterList &p)
Constructor.
std::vector< std::vector< PHX::MDField< const ScalarT, Cell, NODE > > > tangentFields_
Fields for storing the tangent components of the solution vector .
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
std::vector< int > indexerIds_
The block index into indexers_.
Gathers solution values from the Newton solution vector into the nodal fields of the field manager...
bool disableSensitivities_
Flag to disable sensitivities absolutely.
std::vector< int > indexerIds_
The block index into indexers_.
std::vector< std::string > indexerNames_
A list of the names of the fields to be gathered.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers)
Constructor.
std::vector< std::string > indexerNames_
A list of the names of the fields to be gathered.
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
panzer::Traits::Tangent::ScalarT ScalarT
The scalar type.
panzer::Traits::Jacobian EvalT
The evaluation type.
std::string sensitivitiesName_
Sets which gather operations have sensitivities.
void evaluateFields(typename TRAITS::EvalData d)
Evaluate Fields.
std::vector< PHX::MDField< ScalarT, Cell, NODE > > gatherFields_
The fields to be gathered.
std::vector< Teuchos::RCP< const GlobalIndexer > > indexers_
These map the local (field, element, basis) triplet to a global ID for scattering.
bool useTimeDerivativeSolutionVector_
A flag indicating whether we should be working with or .
std::vector< int > subFieldIds_
Sub-field IDs, which need to be mapped.
Teuchos::RCP< panzer::BlockedVector_ReadOnly_GlobalEvaluationData > xBvRoGed_
The GlobalEvaluationData containing both the owned and ghosted solution vectors.
Non-templated empty base class for template managers.
Teuchos::RCP< panzer::BlockedVector_ReadOnly_GlobalEvaluationData > xBvRoGed_
The GlobalEvaluationData containing both the owned and ghosted solution vectors.
bool hasTangentFields_
A flag indicating whether or not we have tangent fields.
Teuchos::RCP< Thyra::ProductVectorBase< double > > x_
The solution vector.
panzer::Traits::Jacobian::ScalarT ScalarT
The scalar type.
panzer::Traits::Tangent EvalT
The evaluation type.