Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT > Class Template Reference

#include <Panzer_ScatterDirichletResidual_BlockedTpetra.hpp>

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

Public Member Functions

 ScatterDirichletResidual_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager > &indexer)
 
 ScatterDirichletResidual_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager > &indexer, const Teuchos::ParameterList &p)
 
void preEvaluate (typename TRAITS::PreEvalData d)
 
void postRegistrationSetup (typename TRAITS::SetupData d, PHX::FieldManager< TRAITS > &vm)
 
void evaluateFields (typename TRAITS::EvalData workset)
 
virtual Teuchos::RCP< CloneableEvaluatorclone (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.
 
- Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor.
 
virtual ~DomainEvaluator ()=default
 Default destructor.
 
void setDomain (const DomainType domain)
 Set the domain for the evaluator.
 
DomainType getDomain ()
 Get the domain for the evaluator.
 
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset.
 
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset.
 
- Public Member Functions inherited from panzer::CloneableEvaluator
 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

 ScatterDirichletResidual_BlockedTpetra ()
 

Private Attributes

Teuchos::RCP< PHX::FieldTag > scatterHolder_
 
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
 
Teuchos::RCP< const panzer::BlockedDOFManagerglobalIndexer_
 
std::vector< int > fieldIds_
 
std::vector< int > productVectorBlockIndex_
 
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
 
std::size_t side_subcell_dim_
 
std::size_t local_side_id_
 
Teuchos::RCP< Thyra::ProductVectorBase< double > > dirichletCounter_
 
std::string globalDataKey_
 
Teuchos::RCP< const BlockedTpetraLinearObjContainer< RealType, LO, GO, NodeT > > blockedContainer_
 
PHX::View< LO ** > worksetLIDs_
 Local indices for unknowns.
 
std::vector< PHX::View< int * > > fieldOffsets_
 Offset into the cell lids for each field. Size of number of fields to scatter.
 
std::vector< PHX::View< int * > > basisIndexForMDFieldOffsets_
 
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.
 
bool checkApplyBC_
 If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.
 
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
 

Static Private Attributes

static constexpr int maxDerivativeArraySize_ = 256
 Used to allocate temporary space on device.
 

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 TRAITS, typename LO, typename GO, typename NodeT>
class panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >

Definition at line 207 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

Member Typedef Documentation

◆ ScalarT

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

◆ RealType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef TRAITS::RealType panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::RealType
private

◆ ContainerType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef BlockedTpetraLinearObjContainer<RealType,LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::ContainerType
private

◆ OperatorType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::Operator<RealType,LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::OperatorType
private

◆ CrsMatrixType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::CrsMatrix<RealType,LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::CrsMatrixType
private

◆ MapType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::Map<LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::MapType
private

◆ ThyraLinearOp

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Thyra::TpetraLinearOp<RealType,LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::ThyraLinearOp
private

Constructor & Destructor Documentation

◆ ScatterDirichletResidual_BlockedTpetra() [1/3]

template<typename TRAITS , typename LO , typename GO , typename NodeT >
panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::ScatterDirichletResidual_BlockedTpetra ( const Teuchos::RCP< const BlockedDOFManager > & indexer)
inline

◆ ScatterDirichletResidual_BlockedTpetra() [2/3]

template<typename TRAITS , typename LO , typename GO , typename NodeT >
panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::ScatterDirichletResidual_BlockedTpetra ( const Teuchos::RCP< const BlockedDOFManager > & indexer,
const Teuchos::ParameterList & p )

◆ ScatterDirichletResidual_BlockedTpetra() [3/3]

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

Member Function Documentation

◆ preEvaluate()

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

◆ postRegistrationSetup()

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

◆ evaluateFields()

template<typename TRAITS , typename LO , typename GO , typename NodeT >
void panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::evaluateFields ( typename TRAITS::EvalData workset)

◆ clone()

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

Member Data Documentation

◆ scatterHolder_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
Teuchos::RCP<PHX::FieldTag> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::scatterHolder_
private

◆ scatterFields_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector< PHX::MDField<const ScalarT,Cell,NODE> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::scatterFields_
private

◆ globalIndexer_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
Teuchos::RCP<const panzer::BlockedDOFManager> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::globalIndexer_
private

◆ fieldIds_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<int> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::fieldIds_
private

◆ productVectorBlockIndex_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<int> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::productVectorBlockIndex_
private

Returns the index into the Thyra ProductVector sub-block. Size of number of fields to scatter

Definition at line 254 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ fieldMap_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
Teuchos::RCP<const std::map<std::string,std::string> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::fieldMap_
private

◆ side_subcell_dim_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::size_t panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::side_subcell_dim_
private

◆ local_side_id_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::size_t panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::local_side_id_
private

◆ dirichletCounter_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
Teuchos::RCP<Thyra::ProductVectorBase<double> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::dirichletCounter_
private

◆ globalDataKey_

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

◆ blockedContainer_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
Teuchos::RCP<const BlockedTpetraLinearObjContainer<RealType,LO,GO,NodeT> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::blockedContainer_
private

◆ worksetLIDs_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
PHX::View<LO**> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::worksetLIDs_
private

Local indices for unknowns.

Definition at line 270 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ fieldOffsets_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<PHX::View<int*> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::fieldOffsets_
private

Offset into the cell lids for each field. Size of number of fields to scatter.

Definition at line 273 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ basisIndexForMDFieldOffsets_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<PHX::View<int*> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::basisIndexForMDFieldOffsets_
private

The local basis index corresponding to the fieldOffset_. Used to index into the basis index of MDFields. This is only required for tangent/normal BCs.

Definition at line 278 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ blockOffsets_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
PHX::View<LO*> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::blockOffsets_
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 281 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ checkApplyBC_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
bool panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::checkApplyBC_
private

If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.

Definition at line 284 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ applyBC_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector< PHX::MDField<const bool,Cell,NODE> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::applyBC_
private

◆ maxDerivativeArraySize_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
constexpr int panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::maxDerivativeArraySize_ = 256
staticconstexprprivate

Used to allocate temporary space on device.

Definition at line 290 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.


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