Panzer
Version of the Day
|
GatherSolution_Epetra (Hessian Specialization) More...
#include <Panzer_GatherSolution_Epetra_Hessian.hpp>
Public Member Functions | |
GatherSolution_Epetra (const Teuchos::RCP< const panzer::GlobalIndexer > &indexer) | |
Constructor. More... | |
GatherSolution_Epetra (const Teuchos::RCP< const panzer::GlobalIndexer > &indexer, const Teuchos::ParameterList &p) | |
Initializing Constructor. More... | |
void | postRegistrationSetup (typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm) |
Post-Registration Setup. More... | |
void | preEvaluate (typename TRAITS::PreEvalData d) |
Pre-Evaluate: Sets the solution vector. More... | |
void | evaluateFields (typename TRAITS::EvalData d) |
Evaluate Fields: Gather operation. More... | |
virtual Teuchos::RCP < CloneableEvaluator > | clone (const Teuchos::ParameterList &pl) const |
Create a copy. More... | |
Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< TRAITS > | |
void | setDetailsIndex (const int di) |
An evaluator builder sets the details index. More... | |
Public Member Functions inherited from PHX::EvaluatorWithBaseImpl< TRAITS > | |
virtual void | evaluateFields (typename Traits::EvalData d) override=0 |
Public Member Functions inherited from PHX::Evaluator< Traits > | |
Evaluator () | |
virtual | ~Evaluator () |
virtual void | postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0 |
virtual const std::vector < Teuchos::RCP< FieldTag > > & | evaluatedFields () const =0 |
virtual const std::vector < Teuchos::RCP< FieldTag > > & | contributedFields () const =0 |
virtual const std::vector < Teuchos::RCP< FieldTag > > & | dependentFields () const =0 |
virtual const std::vector < Teuchos::RCP< FieldTag > > & | unsharedFields () const =0 |
virtual void | preEvaluate (typename Traits::PreEvalData d)=0 |
virtual void | postEvaluate (typename Traits::PostEvalData d)=0 |
virtual const std::string & | getName () const =0 |
virtual void | bindField (const PHX::FieldTag &ft, const PHX::any &f)=0 |
virtual PHX::DeviceEvaluator < Traits > * | createDeviceEvaluator () const =0 |
virtual void | rebuildDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0 |
virtual void | deleteDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0 |
virtual void | printFieldValues (std::ostream &os) const =0 |
Public Member Functions inherited from panzer::DomainEvaluator | |
DomainEvaluator (DomainType domain=ALL) | |
Constructor. More... | |
virtual | ~DomainEvaluator ()=default |
Default destructor. More... | |
void | setDomain (const DomainType domain) |
Set the domain for the evaluator. More... | |
DomainType | getDomain () |
Get the domain for the evaluator. More... | |
virtual int | cellStartIndex (const panzer::Workset &workset) const |
Returns the starting cell for the specified domain for a given workset. More... | |
virtual int | cellEndIndex (const panzer::Workset &workset) const |
Returns the non-inclusive end cell for the specified domain for a given workset. More... | |
Public Member Functions inherited from panzer::CloneableEvaluator | |
CloneableEvaluator () | |
virtual | ~CloneableEvaluator () |
Private Types | |
typedef panzer::Traits::Hessian | EvalT |
The evaluation type. More... | |
typedef panzer::Traits::Hessian::ScalarT | ScalarT |
The scalar type. More... | |
Private Member Functions | |
GatherSolution_Epetra () | |
Default Constructor (disabled). More... | |
Private Attributes | |
Teuchos::RCP< const panzer::GlobalIndexer > | globalIndexer_ |
Maps the local (field, element, basis) triplet to a global ID for scattering. More... | |
std::vector< std::string > | indexerNames_ |
A list of the names of the fields to be gathered. More... | |
std::vector< int > | fieldIds_ |
Field IDs, which need to be mapped. More... | |
std::vector< PHX::MDField < ScalarT, Cell, NODE > > | gatherFields_ |
The fields to be gathered. More... | |
std::vector< PHX::MDField < ScalarT, Cell, NODE > > | sensFields_ |
The sensitivity fields. More... | |
bool | useTimeDerivativeSolutionVector_ |
A flag indicating whether we're to be working with or . More... | |
std::string | globalDataKey_ |
The key identifying the GlobalEvaluationData . More... | |
std::string | sensitivitiesName_ |
Sets which gather operations have sensitivities. More... | |
int | gatherSeedIndex_ |
Which gather seed in the workset to use. More... | |
bool | firstSensitivitiesAvailable_ |
A flag indicating whether or not we're to be working with the first derivative sensitivities. More... | |
bool | firstApplySensitivities_ |
Used by evaluateFields() to turn on/off the first derivative sensitivities. More... | |
std::string | sensitivities2ndPrefix_ |
The prefix for the field containing the second sensitivities. More... | |
bool | secondSensitivitiesAvailable_ |
A flag indicating whether or not we're to be working with the second derivative sensitivities. More... | |
bool | secondApplySensitivities_ |
Used by evaluateFields() to turn on/off the second derivative sensitivities. More... | |
Teuchos::RCP< Epetra_Vector > | x_ |
The solution vector. More... | |
Teuchos::RCP < panzer::EpetraVector_ReadOnly_GlobalEvaluationData > | xEvRoGed_ |
The GlobalEvaluationData containing both the owned and ghosted solution vectors. More... | |
Teuchos::RCP < panzer::EpetraVector_ReadOnly_GlobalEvaluationData > | dxEvRoGed_ |
The GlobalEvaluationData containing both the owned and ghosted derivative vectors. More... | |
Additional Inherited Members | |
Public Types inherited from panzer::DomainEvaluator | |
enum | DomainType : int { OWNED =0, GHOST =1, REAL =2, VIRTUAL =3, EXTERNAL =4, ALL =5 } |
Domain types supported by worksets. More... | |
Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< TRAITS > | |
WorksetDetailsAccessor | wda |
GatherSolution_Epetra (Hessian Specialization)
Gathers solution values from the Newton solution vector into the nodal fields of the field manager.
Currently makes an assumption that the stride is constant for degrees of freedom (DOFs) and that the number of DOFs is equal to the size of the solution names vector.
Definition at line 65 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The evaluation type.
Definition at line 176 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The scalar type.
Definition at line 181 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
inline |
Constructor.
Simply saves the input indexer
as this object's globalIndexer_
.
[in] | indexer | The GlobalIndexer that handles the global unknown numbering. |
Definition at line 81 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
panzer::GatherSolution_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >::GatherSolution_Epetra | ( | const Teuchos::RCP< const panzer::GlobalIndexer > & | indexer, |
const Teuchos::ParameterList & | p | ||
) |
Initializing Constructor.
Saves the input indexer
as this object's globalIndexer_
, allocates fields, and determines the first active name.
[in] | indexer | The GlobalIndexer that handles the global unknown numbering. |
[in] | p | A ParameterList used as input for GatherSolution_Input . |
Definition at line 84 of file Panzer_GatherSolution_Epetra_Hessian_impl.hpp.
|
private |
Default Constructor (disabled).
void panzer::GatherSolution_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >::postRegistrationSetup | ( | typename TRAITS::SetupData | d, |
PHX::FieldManager< TRAITS > & | vm | ||
) |
Post-Registration Setup.
Loops over the gatherFields_
and sets the fieldIds_
.
[in] | d | Unused. |
[in] | fm | Unused. |
Definition at line 138 of file Panzer_GatherSolution_Epetra_Hessian_impl.hpp.
void panzer::GatherSolution_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >::preEvaluate | ( | typename TRAITS::PreEvalData | d | ) |
Pre-Evaluate: Sets the solution vector.
If using an EpetraVector_ReadOnly_GlobalEvaluationData
, this sets the GlobalEvaluationData
(s) containing both the owned and ghosted solution (and, if applicaple, derivative) vectors. If using the older EpeteraLinearObjContainer
, this sets the solution vector. Also determines whether or not to apply sensitivities.
[in] | d | The PreEvalData containing the GlobalEvaluationDataContainer and the first_ and second_sensitivities_name s. |
std::logic_error | If it's unable to find the solution or (if applicable) derivative vectors. |
Definition at line 170 of file Panzer_GatherSolution_Epetra_Hessian_impl.hpp.
void panzer::GatherSolution_Epetra< panzer::Traits::Hessian, TRAITS, LO, GO >::evaluateFields | ( | typename TRAITS::EvalData | d | ) |
Evaluate Fields: Gather operation.
Loops over the cells in the workset, the fields to be gathered, and the basis functions, and fills in the fields. If sensitivities are to be applied, this also seeds the derivatives.
[in] | d | The Workset on which we're going to do all the work. |
Definition at line 259 of file Panzer_GatherSolution_Epetra_Hessian_impl.hpp.
|
inlinevirtual |
Create a copy.
Creates a GatherSolution_Epetra
using the Initializing Constructor and the current object's globalIndexer_
.
[in] | pl | A ParameterList used as input for GatherSolution_Input . |
GatherSolution_Epetra
constructed with this object's globalIndexer_
and the input ParameterList
. Implements panzer::CloneableEvaluator.
Definition at line 162 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Maps the local (field, element, basis) triplet to a global ID for scattering.
Definition at line 187 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
A list of the names of the fields to be gathered.
Definition at line 192 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Field IDs, which need to be mapped.
Definition at line 197 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The fields to be gathered.
Definition at line 202 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The sensitivity fields.
Definition at line 207 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
A flag indicating whether we're to be working with or .
Definition at line 213 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The key identifying the GlobalEvaluationData
.
Definition at line 218 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Sets which gather operations have sensitivities.
Definition at line 223 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Which gather seed in the workset to use.
If it's less than zero, then use alpha or beta as appropriate.
Definition at line 230 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
A flag indicating whether or not we're to be working with the first derivative sensitivities.
Definition at line 236 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Used by evaluateFields()
to turn on/off the first derivative sensitivities.
Definition at line 242 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The prefix for the field containing the second sensitivities.
Definition at line 247 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
A flag indicating whether or not we're to be working with the second derivative sensitivities.
Definition at line 253 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
Used by evaluateFields()
to turn on/off the second derivative sensitivities.
Definition at line 259 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The solution vector.
Definition at line 264 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The GlobalEvaluationData
containing both the owned and ghosted solution vectors.
Definition at line 271 of file Panzer_GatherSolution_Epetra_Hessian.hpp.
|
private |
The GlobalEvaluationData
containing both the owned and ghosted derivative vectors.
Definition at line 278 of file Panzer_GatherSolution_Epetra_Hessian.hpp.