Panzer
Version of the Day
|
Gathers tangent vectors dx/dp for computing df/dx*dx/dp + df/dp into the nodal fields of the field manager. More...
#include <Panzer_GatherTangent_BlockedTpetra.hpp>
Public Member Functions | |
GatherTangent_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager > &indexer) | |
GatherTangent_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager > &indexer, const Teuchos::ParameterList &p) | |
void | postRegistrationSetup (typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm) |
void | preEvaluate (typename TRAITS::PreEvalData d) |
void | evaluateFields (typename TRAITS::EvalData d) |
virtual Teuchos::RCP < CloneableEvaluator > | clone (const Teuchos::ParameterList &pl) const |
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 panzer::Traits::RealType | ScalarT |
typedef BlockedTpetraLinearObjContainer < S, LO, GO, NodeT > | ContainerType |
typedef Tpetra::Vector< S, LO, GO, NodeT > | VectorType |
typedef Tpetra::CrsMatrix< S, LO, GO, NodeT > | CrsMatrixType |
typedef Tpetra::CrsGraph< LO, GO, NodeT > | CrsGraphType |
typedef Tpetra::Map< LO, GO, NodeT > | MapType |
typedef Tpetra::Import< LO, GO, NodeT > | ImportType |
typedef Tpetra::Export< LO, GO, NodeT > | ExportType |
Private Member Functions | |
GatherTangent_BlockedTpetra () | |
Private Attributes | |
Teuchos::RCP< const BlockedDOFManager > | globalIndexer_ |
std::vector< int > | fieldIds_ |
std::vector< Teuchos::RCP < const panzer::GlobalIndexer > > | fieldGlobalIndexers_ |
Vector of global indexers, one for each field to gather, respectively. More... | |
std::vector< int > | productVectorBlockIndex_ |
std::vector< PHX::MDField < ScalarT, Cell, NODE > > | gatherFields_ |
Teuchos::RCP< std::vector < std::string > > | indexerNames_ |
bool | useTimeDerivativeSolutionVector_ |
std::string | globalDataKey_ |
Teuchos::RCP< const BlockedTpetraLinearObjContainer < S, LO, GO, NodeT > > | blockedContainer_ |
PHX::View< LO ** > | worksetLIDs_ |
Local indices for unknowns. More... | |
std::vector< PHX::View< int * > > | fieldOffsets_ |
Offset into the cell lids for each field. 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 |
Gathers tangent vectors dx/dp for computing df/dx*dx/dp + 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 nmber of dofs is equal to the size of the solution names vector.
Definition at line 47 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 72 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 75 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 76 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 77 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 78 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 79 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 80 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 81 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
inline |
Definition at line 53 of file Panzer_GatherTangent_BlockedTpetra.hpp.
panzer::GatherTangent_BlockedTpetra< EvalT, TRAITS, S, LO, GO, NodeT >::GatherTangent_BlockedTpetra | ( | const Teuchos::RCP< const BlockedDOFManager > & | indexer, |
const Teuchos::ParameterList & | p | ||
) |
Definition at line 34 of file Panzer_GatherTangent_BlockedTpetra_impl.hpp.
|
private |
void panzer::GatherTangent_BlockedTpetra< EvalT, TRAITS, S, LO, GO, NodeT >::postRegistrationSetup | ( | typename TRAITS::SetupData | d, |
PHX::FieldManager< TRAITS > & | vm | ||
) |
Definition at line 72 of file Panzer_GatherTangent_BlockedTpetra_impl.hpp.
void panzer::GatherTangent_BlockedTpetra< EvalT, TRAITS, S, LO, GO, NodeT >::preEvaluate | ( | typename TRAITS::PreEvalData | d | ) |
Definition at line 116 of file Panzer_GatherTangent_BlockedTpetra_impl.hpp.
void panzer::GatherTangent_BlockedTpetra< EvalT, TRAITS, S, LO, GO, NodeT >::evaluateFields | ( | typename TRAITS::EvalData | d | ) |
Definition at line 138 of file Panzer_GatherTangent_BlockedTpetra_impl.hpp.
|
inlinevirtual |
Implements panzer::CloneableEvaluator.
Definition at line 66 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 85 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 87 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Vector of global indexers, one for each field to gather, respectively.
Definition at line 90 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Returns the index to the Thyra ProductVector sub-block. Size of number of fields to gather
Definition at line 94 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 96 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 98 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 99 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 100 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Definition at line 102 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Local indices for unknowns.
Definition at line 105 of file Panzer_GatherTangent_BlockedTpetra.hpp.
|
private |
Offset into the cell lids for each field.
Definition at line 108 of file Panzer_GatherTangent_BlockedTpetra.hpp.