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 | 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
< 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 PHX::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::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::FieldTagscatterHolder_
 
std::vector< PHX::MDField
< const ScalarT, Cell, NODE > > 
scatterFields_
 
Teuchos::RCP< const
panzer::BlockedDOFManager
globalIndexer_
 
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. More...
 
std::vector< PHX::View< int * > > fieldOffsets_
 Offset into the cell lids for each field. Size of number of fields to scatter. More...
 
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. More...
 
bool checkApplyBC_
 If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis. More...
 
std::vector< PHX::MDField
< const bool, Cell, NODE > > 
applyBC_
 

Static Private Attributes

static constexpr int maxDerivativeArraySize_ = 256
 Used to allocate temporary space on device. 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 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

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

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
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 
)
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

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)
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 
)
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)
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

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
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
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
template<typename TRAITS , typename LO , typename GO , typename NodeT >
std::vector<int> panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::fieldIds_
private
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.

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

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.

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.

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.

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.

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
template<typename TRAITS , typename LO , typename GO , typename NodeT >
constexpr int panzer::ScatterDirichletResidual_BlockedTpetra< panzer::Traits::Jacobian, TRAITS, LO, GO, NodeT >::maxDerivativeArraySize_ = 256
staticprivate

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: