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"
76 template<
typename LocalOrdinalT,
typename GlobalOrdinalT>
77 class UniqueGlobalIndexer;
94 template<
typename EvalT,
typename TRAITS,
typename LO,
typename GO>
98 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
151 typename TRAITS::SetupData d,
166 typename TRAITS::EvalData d)
168 using PHX::typeAsString;
171 cout <<
"Unspecialized version of \"GatherSolution_BlockedEpetra::" \
172 "evaluateFields\" on " + typeAsString<EvalT>() +
"\" should not " \
189 template<
typename TRAITS,
typename LO,
typename GO>
193 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
242 typename TRAITS::SetupData d,
257 typename TRAITS::PreEvalData d);
269 typename TRAITS::EvalData d);
310 std::vector<Teuchos::RCP<const UniqueGlobalIndexer<LO, int>>>
indexers_;
370 std::vector<std::vector<PHX::MDField<const ScalarT, Cell, NODE>>>
390 template<
typename TRAITS,
typename LO,
typename GO>
394 public PHX::EvaluatorDerived<panzer::Traits::Tangent, TRAITS>,
443 typename TRAITS::SetupData d,
458 typename TRAITS::PreEvalData d);
471 typename TRAITS::EvalData d);
512 std::vector<Teuchos::RCP<const UniqueGlobalIndexer<LO, int>>>
indexers_;
572 std::vector<std::vector<PHX::MDField<const ScalarT, Cell, NODE>>>
592 template<
typename TRAITS,
typename LO,
typename GO>
596 public PHX::EvaluatorDerived<panzer::Traits::Jacobian, TRAITS>,
645 typename TRAITS::SetupData d,
661 typename TRAITS::PreEvalData d);
674 typename TRAITS::EvalData d);
715 std::vector<Teuchos::RCP<const UniqueGlobalIndexer<LO, int>>>
indexers_;
792 #ifdef Panzer_BUILD_HESSIAN_SUPPORT
794 #endif // Panzer_BUILD_HESSIAN_SUPPORT
796 #endif // __Panzer_GatherSolution_BlockedEpetra_decl_hpp__
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.
std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int > > > indexers_
These map the local (field, element, basis) triplet to a global ID for scattering.
std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int > > > indexers_
These map the local (field, element, basis) triplet to a global ID for scattering.
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< std::string > indexerNames_
A list of the names of the fields to be gathered.
panzer::Traits::Residual::ScalarT ScalarT
The scalar type.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &indexers)
Constructor.
bool useTimeDerivativeSolutionVector_
A flag indicating whether we should be working with or .
std::string globalDataKey_
The key identifying the GlobalEvaluationData.
std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int > > > 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.
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.
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.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &indexers)
Constructor.
GatherSolution_BlockedEpetra(const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &indexers)
Constructor.
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.
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.
#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.