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"
93 template<
typename EvalT,
typename TRAITS,
typename LO,
typename GO>
97 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
150 typename TRAITS::SetupData d,
165 typename TRAITS::EvalData d)
170 cout <<
"Unspecialized version of \"GatherSolution_BlockedEpetra::" \
171 "evaluateFields\" on " + print<EvalT>() +
"\" should not " \
188 template<
typename TRAITS,
typename LO,
typename GO>
192 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
241 typename TRAITS::SetupData d,
256 typename TRAITS::PreEvalData d);
268 typename TRAITS::EvalData d);
309 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
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>,
442 typename TRAITS::SetupData d,
457 typename TRAITS::PreEvalData d);
470 typename TRAITS::EvalData d);
511 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
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>,
644 typename TRAITS::SetupData d,
660 typename TRAITS::PreEvalData d);
673 typename TRAITS::EvalData d);
714 std::vector<Teuchos::RCP<const GlobalIndexer>>
indexers_;
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_.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
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.
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.
panzer::Traits::Residual EvalT
The evaluation type.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers)
Constructor.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
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 .
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
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.
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Create a copy.
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.
#define TEUCHOS_ASSERT(assertion_test)
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.