Panzer  Version of the Day
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO > Class Template Reference

GatherSolution_BlockedEpetra (Jacobian Specialization). More...

#include <Panzer_GatherSolution_BlockedEpetra_decl.hpp>

Inheritance diagram for panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >:
Inheritance graph
[legend]

Public Member Functions

 GatherSolution_BlockedEpetra (const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &indexers)
 Constructor. More...
 
 GatherSolution_BlockedEpetra (const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &indexers, const Teuchos::ParameterList &p)
 Initializing Constructor. More...
 
void postRegistrationSetup (typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &fm)
 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< CloneableEvaluatorclone (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 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::Jacobian EvalT
 The evaluation type. More...
 
typedef panzer::Traits::Jacobian::ScalarT ScalarT
 The scalar type. More...
 

Private Member Functions

 GatherSolution_BlockedEpetra ()
 Default Constructor (disabled) More...
 

Private Attributes

std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int > > > indexers_
 These map the local (field, element, basis) triplet to a global ID for scattering. More...
 
std::vector< int > indexerIds_
 The block index into indexers_. More...
 
std::vector< int > subFieldIds_
 Sub-field IDs, which need to be mapped. More...
 
std::vector< PHX::MDField< ScalarT, Cell, NODE > > gatherFields_
 The fields to be gathered. More...
 
std::vector< std::string > indexerNames_
 A list of the names of the fields to be gathered. More...
 
bool useTimeDerivativeSolutionVector_
 A flag indicating whether we should be working with $ x $ or $ \dot{x} $. More...
 
bool disableSensitivities_
 Flag to disable sensitivities absolutely. More...
 
std::string sensitivitiesName_
 Sets which gather operations have sensitivities. More...
 
bool applySensitivities_
 Used by evaluateFields() to turn on/off a certain set of sensitivities. More...
 
std::string globalDataKey_
 The key identifying the GlobalEvaluationData. More...
 
int gatherSeedIndex_
 Which gather seed in the workset to use. More...
 
Teuchos::RCP< Thyra::ProductVectorBase< double > > x_
 The solution vector. More...
 
Teuchos::RCP< panzer::BlockedVector_ReadOnly_GlobalEvaluationDataxBvRoGed_
 The GlobalEvaluationData containing both the owned and ghosted solution vectors. More...
 

Additional Inherited Members

- Public Types inherited from panzer::DomainEvaluator
enum  DomainType : int {
  OWNED =0, GHOST =1, REAL =2, VIRTUAL =3,
  ALL =4
}
 Domain types supported by worksets. More...
 
- Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< TRAITS >
WorksetDetailsAccessor wda
 

Detailed Description

template<typename TRAITS, typename LO, typename GO>
class panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >

GatherSolution_BlockedEpetra (Jacobian 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 nmber of DOFs is equal to the size of the solution names vector.

Definition at line 593 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

Member Typedef Documentation

◆ EvalT

template<typename TRAITS , typename LO , typename GO >
typedef panzer::Traits::Jacobian panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::EvalT
private

The evaluation type.

Definition at line 704 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ ScalarT

template<typename TRAITS , typename LO , typename GO >
typedef panzer::Traits::Jacobian::ScalarT panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::ScalarT
private

The scalar type.

Definition at line 709 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

Constructor & Destructor Documentation

◆ GatherSolution_BlockedEpetra() [1/3]

template<typename TRAITS , typename LO , typename GO >
panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::GatherSolution_BlockedEpetra ( const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &  indexers)
inline

Constructor.

Simply saves the input indexers as this object's indexers_.

Parameters
[in]indexersThe vector of UniqueGlobalIndexers that handle the global unknown numbering.

Definition at line 609 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ GatherSolution_BlockedEpetra() [2/3]

template<typename TRAITS , typename LO , typename GO >
panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::GatherSolution_BlockedEpetra ( const std::vector< Teuchos::RCP< const UniqueGlobalIndexer< LO, int >>> &  indexers,
const Teuchos::ParameterList p 
)

Initializing Constructor.

Saves the input indexers as this object's indexers_, allocates fields, sets up dependent tangent fields (if requested), and determines the first active name.

Parameters
[in]indexersThe vector of UniqueGlobalIndexers that handle the global unknown numbering.
[in]pA ParameterList used as input for GatherSolution_Input.

Definition at line 612 of file Panzer_GatherSolution_BlockedEpetra_impl.hpp.

◆ GatherSolution_BlockedEpetra() [3/3]

template<typename TRAITS , typename LO , typename GO >
panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::GatherSolution_BlockedEpetra ( )
private

Default Constructor (disabled)

Member Function Documentation

◆ postRegistrationSetup()

template<typename TRAITS , typename LO , typename GO >
void panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::postRegistrationSetup ( typename TRAITS::SetupData  d,
PHX::FieldManager< TRAITS > &  fm 
)

Post-Registration Setup.

Loops over the gatherFields_ and sets the indexerIds_ and subFieldIds_.

Parameters
[in]dUnused.
[in]fmUnused.

Definition at line 666 of file Panzer_GatherSolution_BlockedEpetra_impl.hpp.

◆ preEvaluate()

template<typename TRAITS , typename LO , typename GO >
void panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::preEvaluate ( typename TRAITS::PreEvalData  d)

Pre-Evaluate: Sets the solution vector.

If using a BlockedVector_ReadOnly_GlobalEvaluationData, this saves it for use later in evaluateFields(). If using the older BlockedEpetraLinearObjContainer, this sets the solution vector. Also determines whether or not to apply sensitivities.

Parameters
[in]dThe PreEvalData containing the GlobalEvaluationDataContainer.

Definition at line 696 of file Panzer_GatherSolution_BlockedEpetra_impl.hpp.

◆ evaluateFields()

template<typename TRAITS , typename LO , typename GO >
void panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::evaluateFields ( typename TRAITS::EvalData  d)

Evaluate Fields: Gather operation.

Loops over the fields to be gathered, the cells in the workset, and the basis functions, and fills in the fields. If sensitivities are to be applied, this also seeds the derivatives.

Parameters
[in]dThe Workset on which we're going to do all the work.

Definition at line 758 of file Panzer_GatherSolution_BlockedEpetra_impl.hpp.

◆ clone()

template<typename TRAITS , typename LO , typename GO >
virtual Teuchos::RCP<CloneableEvaluator> panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::clone ( const Teuchos::ParameterList pl) const
inlinevirtual

Create a copy.

Creates a GatherSolution_BlockedEpetra using the Initializing Constructor and the current object's indexers_.

Parameters
[in]plA ParameterList used as input for GatherSolution_Input.
Returns
A GatherSolution_BlockedEpetra constructed with this object's indexers_ and the input ParameterList.

Implements panzer::CloneableEvaluator.

Definition at line 689 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

Member Data Documentation

◆ indexers_

template<typename TRAITS , typename LO , typename GO >
std::vector<Teuchos::RCP<const UniqueGlobalIndexer<LO, int> > > panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::indexers_
private

These map the local (field, element, basis) triplet to a global ID for scattering.

Definition at line 715 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ indexerIds_

template<typename TRAITS , typename LO , typename GO >
std::vector<int> panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::indexerIds_
private

The block index into indexers_.

Definition at line 720 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ subFieldIds_

template<typename TRAITS , typename LO , typename GO >
std::vector<int> panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::subFieldIds_
private

Sub-field IDs, which need to be mapped.

Definition at line 725 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ gatherFields_

template<typename TRAITS , typename LO , typename GO >
std::vector<PHX::MDField<ScalarT, Cell, NODE> > panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::gatherFields_
private

The fields to be gathered.

Definition at line 730 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ indexerNames_

template<typename TRAITS , typename LO , typename GO >
std::vector<std::string> panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::indexerNames_
private

A list of the names of the fields to be gathered.

Definition at line 735 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ useTimeDerivativeSolutionVector_

template<typename TRAITS , typename LO , typename GO >
bool panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::useTimeDerivativeSolutionVector_
private

A flag indicating whether we should be working with $ x $ or $ \dot{x} $.

Definition at line 741 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ disableSensitivities_

template<typename TRAITS , typename LO , typename GO >
bool panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::disableSensitivities_
private

Flag to disable sensitivities absolutely.

Definition at line 746 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ sensitivitiesName_

template<typename TRAITS , typename LO , typename GO >
std::string panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::sensitivitiesName_
private

Sets which gather operations have sensitivities.

Definition at line 751 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ applySensitivities_

template<typename TRAITS , typename LO , typename GO >
bool panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::applySensitivities_
private

Used by evaluateFields() to turn on/off a certain set of sensitivities.

Definition at line 757 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ globalDataKey_

template<typename TRAITS , typename LO , typename GO >
std::string panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::globalDataKey_
private

The key identifying the GlobalEvaluationData.

Definition at line 762 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ gatherSeedIndex_

template<typename TRAITS , typename LO , typename GO >
int panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::gatherSeedIndex_
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 769 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ x_

template<typename TRAITS , typename LO , typename GO >
Teuchos::RCP<Thyra::ProductVectorBase<double> > panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::x_
private

The solution vector.

Definition at line 774 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.

◆ xBvRoGed_

template<typename TRAITS , typename LO , typename GO >
Teuchos::RCP<panzer::BlockedVector_ReadOnly_GlobalEvaluationData> panzer::GatherSolution_BlockedEpetra< panzer::Traits::Jacobian, TRAITS, LO, GO >::xBvRoGed_
private

The GlobalEvaluationData containing both the owned and ghosted solution vectors.

Definition at line 781 of file Panzer_GatherSolution_BlockedEpetra_decl.hpp.


The documentation for this class was generated from the following files: