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

#include <Panzer_ScatterDirichletResidual_BlockedTpetra.hpp>

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

Public Member Functions

 ScatterDirichletResidual_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager< LO, GO > > &indexer)
 
 ScatterDirichletResidual_BlockedTpetra (const Teuchos::RCP< const BlockedDOFManager< LO, GO > > &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< 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. 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::Residual::ScalarT ScalarT
 
typedef TRAITS::RealType RealType
 
typedef BlockedTpetraLinearObjContainer< RealType, LO, GO, NodeT > ContainerType
 
typedef Tpetra::Vector< RealType, LO, GO, NodeT > VectorType
 
typedef Tpetra::CrsMatrix< RealType, 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

 ScatterDirichletResidual_BlockedTpetra ()
 

Private Attributes

Teuchos::RCP< PHX::FieldTag > scatterHolder_
 
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
 
Teuchos::RCP< const panzer::BlockedDOFManager< LO, GO > > globalIndexer_
 
std::vector< Teuchos::RCP< const panzer::UniqueGlobalIndexer< LO, GO > > > fieldGlobalIndexers_
 
std::vector< int > fieldIds_
 Field IDs in the local product vector block (not global field id) More...
 
std::vector< int > productVectorBlockIndex_
 
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
 
Kokkos::View< LO **, PHX::Device > worksetLIDs_
 Local indices for unknowns. More...
 
std::vector< Kokkos::View< int *, PHX::Device > > fieldOffsets_
 Offset into the cell lids for each field. More...
 
std::vector< Kokkos::View< int *, PHX::Device > > basisIndexForMDFieldOffsets_
 
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_
 
bool checkApplyBC_
 If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis. More...
 
bool scatterIC_
 
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
 

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

Definition at line 114 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

Member Typedef Documentation

◆ ScalarT

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

◆ RealType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef TRAITS::RealType panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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::Residual, TRAITS, LO, GO, NodeT >::ContainerType
private

◆ VectorType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::Vector<RealType,LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::VectorType
private

◆ CrsMatrixType

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

◆ CrsGraphType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::CrsGraph<LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::CrsGraphType
private

◆ MapType

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

◆ ImportType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::Import<LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::ImportType
private

◆ ExportType

template<typename TRAITS , typename LO , typename GO , typename NodeT >
typedef Tpetra::Export<LO,GO,NodeT> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::ExportType
private

Constructor & Destructor Documentation

◆ ScatterDirichletResidual_BlockedTpetra() [1/3]

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

◆ ScatterDirichletResidual_BlockedTpetra() [2/3]

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

◆ ScatterDirichletResidual_BlockedTpetra() [3/3]

template<typename TRAITS , typename LO , typename GO , typename NodeT >
panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::ScatterDirichletResidual_BlockedTpetra ( )
inlineprivate

Member Function Documentation

◆ postRegistrationSetup()

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

◆ preEvaluate()

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

◆ evaluateFields()

template<typename TRAITS , typename LO , typename GO , typename NodeT >
void panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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::Residual, 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::Residual, 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::Residual, TRAITS, LO, GO, NodeT >::scatterFields_
private

◆ globalIndexer_

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

◆ fieldGlobalIndexers_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<Teuchos::RCP<const panzer::UniqueGlobalIndexer<LO,GO> > > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::fieldGlobalIndexers_
private

Vector of global indexers, one for each scattered field respectively. This is the global indexer for the Thyra ProductVector sub-block.

Definition at line 161 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ fieldIds_

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

Field IDs in the local product vector block (not global field id)

Definition at line 164 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ productVectorBlockIndex_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<int> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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 168 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::Residual, TRAITS, LO, GO, NodeT >::fieldMap_
private

◆ worksetLIDs_

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

Local indices for unknowns.

Definition at line 177 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ fieldOffsets_

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

Offset into the cell lids for each field.

Definition at line 180 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ basisIndexForMDFieldOffsets_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<Kokkos::View<int*,PHX::Device> > panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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 185 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ side_subcell_dim_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::size_t panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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::Residual, 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::Residual, TRAITS, LO, GO, NodeT >::dirichletCounter_
private

◆ globalDataKey_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::string panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, 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::Residual, TRAITS, LO, GO, NodeT >::blockedContainer_
private

◆ checkApplyBC_

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

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

Definition at line 195 of file Panzer_ScatterDirichletResidual_BlockedTpetra.hpp.

◆ scatterIC_

template<typename TRAITS , typename LO , typename GO , typename NodeT >
bool panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Residual, TRAITS, LO, GO, NodeT >::scatterIC_
private

◆ applyBC_

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

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