Panzer
Version of the Day
|
#include <Panzer_ScatterResidual_BlockedTpetra.hpp>
Public Member Functions | |
ScatterResidual_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager > &indexer) | |
ScatterResidual_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 workset) |
virtual Teuchos::RCP < CloneableEvaluator > | clone (const Teuchos::ParameterList &pl) const |
![]() | |
void | setDetailsIndex (const int di) |
An evaluator builder sets the details index. More... | |
![]() | |
virtual void | evaluateFields (typename Traits::EvalData d) override=0 |
![]() | |
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 |
![]() | |
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... | |
![]() | |
CloneableEvaluator () | |
virtual | ~CloneableEvaluator () |
Private Types | |
typedef panzer::Traits::Jacobian::ScalarT | ScalarT |
typedef TRAITS::RealType | RealType |
typedef BlockedTpetraLinearObjContainer < RealType, LO, GO, NodeT > | ContainerType |
typedef Tpetra::Operator < RealType, LO, GO, NodeT > | OperatorType |
typedef Tpetra::CrsMatrix < RealType, LO, GO, NodeT > | CrsMatrixType |
typedef Tpetra::Map< LO, GO, NodeT > | MapType |
typedef Thyra::TpetraLinearOp < RealType, LO, GO, NodeT > | ThyraLinearOp |
Private Member Functions | |
ScatterResidual_BlockedTpetra () | |
Private Attributes | |
Teuchos::RCP< PHX::FieldTag > | scatterHolder_ |
std::vector< PHX::MDField < const ScalarT, Cell, NODE > > | scatterFields_ |
Teuchos::RCP< const BlockedDOFManager > | globalIndexer_ |
std::vector< int > | fieldIds_ |
std::vector< int > | productVectorBlockIndex_ |
Teuchos::RCP< const std::map < std::string, std::string > > | fieldMap_ |
std::string | globalDataKey_ |
Teuchos::RCP< const BlockedTpetraLinearObjContainer < RealType, LO, GO, NodeT > > | blockedContainer_ |
Kokkos::View< LO **, Kokkos::LayoutRight, PHX::Device > | worksetLIDs_ |
Local indices for unknowns. More... | |
Kokkos::View< typename Sacado::ScalarType< ScalarT > ::type **, Kokkos::LayoutRight, PHX::Device > | workset_vals_ |
Scratch space for local values. More... | |
std::vector< PHX::View< int * > > | fieldOffsets_ |
Offset into the cell lids for each field. Size of number of fields to scatter. More... | |
PHX::View< LO * > | blockOffsets_ |
The offset values of the blocked DOFs per element. Size of number of blocks in the product vector + 1. The plus one is a sentinel. More... | |
Additional Inherited Members | |
![]() | |
enum | DomainType : int { OWNED =0, GHOST =1, REAL =2, VIRTUAL =3, EXTERNAL =4, ALL =5 } |
Domain types supported by worksets. More... | |
![]() | |
WorksetDetailsAccessor | wda |
Definition at line 149 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 193 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 194 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 196 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 197 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 198 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 199 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 201 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
inline |
The parameter list passed takes the following values
<ParameterList> <Parameter name="Scatter Name" type="string" value=(required)/> <Parameter name="Dependent Names" type="RCP<vector<string> >" value="(required)"/> <Parameter name="Dependent Map" type="RCP<map<string,string> >" value="(required)"/> <Parameter name="Basis" type="RCP<const PureBasis>" value=(required)/> <Parameter name="Global Data Key" type="string" value="Residual Scatter Container" (default)/> </ParameterList>
The "Scatter Name" is the name for the dummy field that is computed by this evaluator. This field should be required so that the evaluators is guranteed to run. "Dependent Names" specifies the field to be scatter to the operator. The "Dependent Map" gives a mapping from the dependent field to the field string used in the global indexer. "Basis" is the basis used to define the size of the "Dependent Names" fields. Finally "Global Data Key" is the key used to index into the GlobalDataContainer object, for finding the operator and residual linear algebra data structures that need to be filled. By default this is the simple residual/jacobian with key "Residual Scatter Container".
Definition at line 176 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
panzer::ScatterResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::ScatterResidual_BlockedTpetra | ( | const Teuchos::RCP< const BlockedDOFManager > & | indexer, |
const Teuchos::ParameterList & | p | ||
) |
Definition at line 213 of file Panzer_ScatterResidual_BlockedTpetra_impl.hpp.
|
private |
void panzer::ScatterResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::postRegistrationSetup | ( | typename TRAITS::SetupData | d, |
PHX::FieldManager< TRAITS > & | vm | ||
) |
Definition at line 253 of file Panzer_ScatterResidual_BlockedTpetra_impl.hpp.
void panzer::ScatterResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::preEvaluate | ( | typename TRAITS::PreEvalData | d | ) |
Definition at line 317 of file Panzer_ScatterResidual_BlockedTpetra_impl.hpp.
void panzer::ScatterResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::evaluateFields | ( | typename TRAITS::EvalData | workset | ) |
Definition at line 334 of file Panzer_ScatterResidual_BlockedTpetra_impl.hpp.
|
inlinevirtual |
Implements panzer::CloneableEvaluator.
Definition at line 189 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 204 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 207 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 211 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 213 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Returns the index into the Thyra ProductVector sub-block. Size of number of fields to scatter
Definition at line 217 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 223 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 225 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Definition at line 226 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Local indices for unknowns.
Definition at line 229 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Scratch space for local values.
Definition at line 232 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
Offset into the cell lids for each field. Size of number of fields to scatter.
Definition at line 235 of file Panzer_ScatterResidual_BlockedTpetra.hpp.
|
private |
The offset values of the blocked DOFs per element. Size of number of blocks in the product vector + 1. The plus one is a sentinel.
Definition at line 238 of file Panzer_ScatterResidual_BlockedTpetra.hpp.