Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO > Class Template Reference

GatherTangent_BlockedEpetra. More...

#include <Panzer_GatherTangent_BlockedEpetra_decl.hpp>

Inheritance diagram for panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >:
Inheritance graph
[legend]

Public Member Functions

 GatherTangent_BlockedEpetra (const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers)
 Constructor. More...
 
 GatherTangent_BlockedEpetra (const std::vector< Teuchos::RCP< const GlobalIndexer >> &indexers, 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 tangent 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 std::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 EvalT::ScalarT ScalarT
 The scalar type. More...
 

Private Member Functions

 GatherTangent_BlockedEpetra ()
 Default Constructor (disabled) More...
 

Private Attributes

std::vector< Teuchos::RCP
< const GlobalIndexer > > 
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...
 
Teuchos::RCP< std::vector
< std::string > > 
indexerNames_
 A list of the names of the fields to be gathered. More...
 
bool useTimeDerivativeSolutionVector_
 A flag indicating whether we're to be working with $ x $ or $ \dot{x} $. More...
 
std::string globalDataKey_
 The key identifying the GlobalEvaluationData. More...
 
Teuchos::RCP
< panzer::BlockedVector_ReadOnly_GlobalEvaluationData
xBvRoGed_
 The GlobalEvaluationData containing both the owned and ghosted tangent 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
 

Detailed Description

template<typename EvalT, typename TRAITS, typename LO, typename GO>
class panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >

GatherTangent_BlockedEpetra.

Gathers tangent vectors $\left(\frac{dx}{dp}\right)$ for computing $\frac{df}{dx}\frac{dx}{dp} + \frac{df}{dp}$ into the nodal fields of the field manager.

This evaluator is very similar to GatherSolution, however it always gathers into fields of type double, and it is a no-op if the global evaluation data container does not exist (which is an error for GatherSolution).

Currently makes an assumption that the stride is constant for DOFs and that the number of DOFs is equal to the size of the solution names vector.

Definition at line 66 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

Member Typedef Documentation

template<typename EvalT , typename TRAITS , typename LO , typename GO >
typedef EvalT::ScalarT panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::ScalarT
private

The scalar type.

Definition at line 169 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT , typename TRAITS , typename LO , typename GO >
panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::GatherTangent_BlockedEpetra ( const std::vector< Teuchos::RCP< const GlobalIndexer >> &  indexers)
inline

Constructor.

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

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

Definition at line 82 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::GatherTangent_BlockedEpetra ( const std::vector< Teuchos::RCP< const GlobalIndexer >> &  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 GlobalIndexers that handle the global unknown numbering.
[in]pThe input parameters.

Definition at line 49 of file Panzer_GatherTangent_BlockedEpetra_impl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::GatherTangent_BlockedEpetra ( )
private

Default Constructor (disabled)

Member Function Documentation

template<typename EvalT , typename TRAITS , typename LO , typename GO >
void panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::postRegistrationSetup ( typename TRAITS::SetupData  d,
PHX::FieldManager< TRAITS > &  vm 
)

Post-Registration Setup.

Loops over the gatherFields_ and sets the indexerIds_ and subFieldIds_.

Parameters
[in]dUnused.
[in]fmUnused.

Definition at line 103 of file Panzer_GatherTangent_BlockedEpetra_impl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
void panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::preEvaluate ( typename TRAITS::PreEvalData  d)

Pre-Evaluate: Sets the tangent vector.

Sets the owned and ghosted tangent vectors.

Parameters
[in]dThe PreEvalData containing the GlobalEvaluationDataContainer.

Definition at line 133 of file Panzer_GatherTangent_BlockedEpetra_impl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
void panzer::GatherTangent_BlockedEpetra< EvalT, 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.

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

Definition at line 158 of file Panzer_GatherTangent_BlockedEpetra_impl.hpp.

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

Create a copy.

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

Parameters
[in]plThe input parameters.
Returns
A GatherTangent_BlockedEpetra constructed with this object's indexers_ and the input ParameterList.

Implements panzer::CloneableEvaluator.

Definition at line 156 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

Member Data Documentation

template<typename EvalT , typename TRAITS , typename LO , typename GO >
std::vector<Teuchos::RCP<const GlobalIndexer> > panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::indexers_
private

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

Definition at line 175 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
std::vector<int> panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::indexerIds_
private

The block index into indexers_.

Definition at line 180 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
std::vector<int> panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::subFieldIds_
private

Sub-field IDs, which need to be mapped.

Definition at line 185 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
std::vector< PHX::MDField<ScalarT, Cell, NODE> > panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::gatherFields_
private

The fields to be gathered.

Definition at line 190 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
Teuchos::RCP<std::vector<std::string> > panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::indexerNames_
private

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

Definition at line 195 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
bool panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::useTimeDerivativeSolutionVector_
private

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

Definition at line 201 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
std::string panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::globalDataKey_
private

The key identifying the GlobalEvaluationData.

Definition at line 206 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.

template<typename EvalT , typename TRAITS , typename LO , typename GO >
Teuchos::RCP<panzer::BlockedVector_ReadOnly_GlobalEvaluationData> panzer::GatherTangent_BlockedEpetra< EvalT, TRAITS, LO, GO >::xBvRoGed_
private

The GlobalEvaluationData containing both the owned and ghosted tangent vectors.

Definition at line 213 of file Panzer_GatherTangent_BlockedEpetra_decl.hpp.


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