Panzer Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > Class Template Reference

#include <Panzer_BlockedTpetraLinearObjFactory.hpp>

Inheritance diagram for panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >:
Inheritance graph
[legend]

Public Types

typedef BlockedTpetraLinearObjContainer< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > BTLOC
 
typedef Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > VectorType
 
typedef Tpetra::CrsMatrix< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > CrsMatrixType
 
typedef Tpetra::Operator< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > OperatorType
 
typedef Tpetra::CrsGraph< LocalOrdinalT, GlobalOrdinalT, NodeT > CrsGraphType
 
typedef Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > MapType
 
typedef Tpetra::Import< LocalOrdinalT, GlobalOrdinalT, NodeT > ImportType
 
typedef Tpetra::Export< LocalOrdinalT, GlobalOrdinalT, NodeT > ExportType
 
typedef Thyra::TpetraVector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > ThyraVector
 
typedef Thyra::TpetraLinearOp< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > ThyraLinearOp
 

Public Member Functions

 BlockedTpetraLinearObjFactory (const Teuchos::RCP< const Teuchos::MpiComm< int > > &comm, const Teuchos::RCP< const BlockedDOFManager > &gidProvider)
 
 BlockedTpetraLinearObjFactory (const Teuchos::RCP< const Teuchos::MpiComm< int > > &comm, const std::vector< Teuchos::RCP< const panzer::GlobalIndexer > > &gidProviders)
 Ctor that takes a vector of DOFManagers instead of the BlockedDOFManager. Plan is to deprecate the BlockedDOFManager, but for now it is ingrained in all gather/scatter operators.
 
virtual ~BlockedTpetraLinearObjFactory ()
 
virtual void readVector (const std::string &, LinearObjContainer &, int) const
 
virtual void writeVector (const std::string &, const LinearObjContainer &, int) const
 
virtual Teuchos::RCP< LinearObjContainerbuildLinearObjContainer () const
 
virtual Teuchos::RCP< LinearObjContainerbuildPrimitiveLinearObjContainer () const
 
virtual Teuchos::RCP< LinearObjContainerbuildGhostedLinearObjContainer () const
 
virtual Teuchos::RCP< LinearObjContainerbuildPrimitiveGhostedLinearObjContainer () const
 
virtual void globalToGhostContainer (const LinearObjContainer &container, LinearObjContainer &ghostContainer, int) const
 
virtual void ghostToGlobalContainer (const LinearObjContainer &ghostContainer, LinearObjContainer &container, int) const
 
virtual void adjustForDirichletConditions (const LinearObjContainer &localBCRows, const LinearObjContainer &globalBCRows, LinearObjContainer &ghostedObjs, bool zeroVectorRows=false, bool adjustX=false) const
 
virtual void applyDirichletBCs (const LinearObjContainer &counter, LinearObjContainer &result) const
 
virtual Teuchos::RCP< ReadOnlyVector_GlobalEvaluationDatabuildReadOnlyDomainContainer () const
 
Teuchos::MpiComm< int > getComm () const
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildScatter () const
 Use preconstructed scatter evaluators.
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildGather () const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildGatherTangent () const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildGatherDomain () const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildGatherOrientation () const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluatorbuildScatterDirichlet () const
 Use preconstructed dirichlet scatter evaluators.
 
void initializeContainer (int, LinearObjContainer &loc) const
 
void initializeContainer (int mem, BTLOC &loc) const
 
void initializeGhostedContainer (int, LinearObjContainer &loc) const
 
void initializeGhostedContainer (int mem, BTLOC &loc) const
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraDomainSpace () const
 Get the domain vector space (x and dxdt)
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraRangeSpace () const
 Get the range vector space (f)
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraDomainSpace (int blk) const
 Get the domain vector space (x and dxdt)
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraRangeSpace (int blk) const
 Get the range vector space (f)
 
Teuchos::RCP< Thyra::VectorBase< ScalarT > > getThyraDomainVector () const
 Get a domain vector.
 
Teuchos::RCP< Thyra::VectorBase< ScalarT > > getThyraRangeVector () const
 Get a range vector.
 
Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > getThyraMatrix () const
 Get a Thyra operator.
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getGhostedThyraDomainSpace () const
 Get the domain vector space (x and dxdt)
 
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getGhostedThyraRangeSpace () const
 Get the range vector space (f)
 
Teuchos::RCP< Thyra::VectorBase< ScalarT > > getGhostedThyraDomainVector () const
 Get a domain vector.
 
Teuchos::RCP< Thyra::VectorBase< ScalarT > > getGhostedThyraRangeVector () const
 Get a range vector.
 
Teuchos::RCP< Thyra::BlockedLinearOpBase< ScalarT > > getGhostedThyraMatrix () const
 Get a Thyra operator.
 
virtual Teuchos::RCP< const MapTypegetMap (int i) const
 get the map from the matrix
 
virtual Teuchos::RCP< const MapTypegetGhostedMap (int i) const
 get the ghosted map from the matrix
 
virtual Teuchos::RCP< const CrsGraphTypegetGraph (int i, int j) const
 get the graph of the crs matrix
 
virtual Teuchos::RCP< const CrsGraphTypegetGhostedGraph (int i, int j) const
 get the ghosted graph of the crs matrix
 
virtual Teuchos::RCP< const ImportTypegetGhostedImport (int i) const
 get importer for converting an overalapped object to a "normal" object
 
virtual Teuchos::RCP< const ExportTypegetGhostedExport (int j) const
 get exporter for converting an overalapped object to a "normal" object
 
Teuchos::RCP< CrsMatrixTypegetTpetraMatrix (int i, int j) const
 
Teuchos::RCP< CrsMatrixTypegetGhostedTpetraMatrix (int i, int j) const
 
Teuchos::RCP< VectorTypegetTpetraDomainVector (int i) const
 
Teuchos::RCP< VectorTypegetGhostedTpetraDomainVector (int i) const
 
Teuchos::RCP< VectorTypegetTpetraRangeVector (int i) const
 
Teuchos::RCP< VectorTypegetGhostedTpetraRangeVector (int i) const
 
int getBlockRowCount () const
 how many block rows
 
int getBlockColCount () const
 how many block columns
 
void addExcludedPair (int rowBlock, int colBlock)
 exclude a block pair from the matrix
 
void addExcludedPairs (const std::vector< std::pair< int, int > > &exPairs)
 exclude a vector of pairs from the matrix
 
virtual void beginFill (LinearObjContainer &loc) const
 
virtual void endFill (LinearObjContainer &loc) const
 
Teuchos::RCP< const panzer::BlockedDOFManagergetGlobalIndexer () const
 
Teuchos::RCP< const panzer::GlobalIndexergetDomainGlobalIndexer () const
 Get the domain unique global indexer this factory was created with.
 
Teuchos::RCP< const panzer::GlobalIndexergetRangeGlobalIndexer () const
 Get the range unique global indexer this factory was created with.
 
- Public Member Functions inherited from panzer::LinearObjFactory< Traits >
virtual ~LinearObjFactory ()
 
template<typename BuilderT >
void buildGatherScatterEvaluators (const BuilderT &builder)
 
virtual void readVector (const std::string &identifier, LinearObjContainer &loc, int id) const =0
 
virtual void writeVector (const std::string &identifier, const LinearObjContainer &loc, int id) const =0
 
virtual Teuchos::RCP< LinearObjContainerbuildLinearObjContainer () const =0
 
virtual Teuchos::RCP< LinearObjContainerbuildPrimitiveLinearObjContainer () const =0
 
virtual Teuchos::RCP< LinearObjContainerbuildGhostedLinearObjContainer () const =0
 
virtual Teuchos::RCP< LinearObjContainerbuildPrimitiveGhostedLinearObjContainer () const =0
 
virtual Teuchos::RCP< ReadOnlyVector_GlobalEvaluationDatabuildReadOnlyDomainContainer () const =0
 
virtual void globalToGhostContainer (const LinearObjContainer &container, LinearObjContainer &ghostContainer, int) const =0
 
virtual void ghostToGlobalContainer (const LinearObjContainer &ghostContainer, LinearObjContainer &container, int) const =0
 
virtual void initializeContainer (int, LinearObjContainer &loc) const =0
 
virtual void initializeGhostedContainer (int, LinearObjContainer &loc) const =0
 
virtual void adjustForDirichletConditions (const LinearObjContainer &localBCRows, const LinearObjContainer &globalBCRows, LinearObjContainer &ghostedObjs, bool zeroVectorRows=false, bool adjustX=false) const =0
 
virtual void applyDirichletBCs (const LinearObjContainer &counter, LinearObjContainer &result) const =0
 
virtual Teuchos::MpiComm< int > getComm () const =0
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildScatter (const Teuchos::ParameterList &pl) const
 Use preconstructed scatter evaluators.
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildGather (const Teuchos::ParameterList &pl) const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildGatherTangent (const Teuchos::ParameterList &pl) const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildGatherDomain (const Teuchos::ParameterList &pl) const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildGatherOrientation (const Teuchos::ParameterList &pl) const
 Use preconstructed gather evaluators.
 
template<typename EvalT >
Teuchos::RCP< PHX::Evaluator< Traits > > buildScatterDirichlet (const Teuchos::ParameterList &pl) const
 Use preconstructed dirichlet scatter evaluators.
 
virtual Teuchos::RCP< const panzer::GlobalIndexergetDomainGlobalIndexer () const =0
 Get the domain global indexer object associated with this factory.
 
virtual Teuchos::RCP< const panzer::GlobalIndexergetRangeGlobalIndexer () const =0
 Get the range global indexer object associated with this factory.
 
virtual void beginFill (LinearObjContainer &) const
 
virtual void endFill (LinearObjContainer &) const
 
- Public Member Functions inherited from panzer::ThyraObjFactory< double >
virtual ~ThyraObjFactory ()
 
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< double > > getThyraDomainSpace () const=0
 Get the domain space.
 
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< double > > getThyraRangeSpace () const=0
 Get the range space.
 
virtual Teuchos::RCP< Thyra::LinearOpBase< double > > getThyraMatrix () const=0
 Get a matrix operator.
 

Protected Member Functions

Teuchos::RCP< const GlobalIndexergetGlobalIndexer (int i) const
 
void makeRoomForBlocks (std::size_t blockCnt)
 Allocate the space in the std::vector objects so we can fill with appropriate Tpetra data.
 
void ghostToGlobalThyraVector (const Teuchos::RCP< const Thyra::VectorBase< ScalarT > > &in, const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &out) const
 
void ghostToGlobalThyraMatrix (const Thyra::LinearOpBase< ScalarT > &in, Thyra::LinearOpBase< ScalarT > &out) const
 
void globalToGhostThyraVector (const Teuchos::RCP< const Thyra::VectorBase< ScalarT > > &in, const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &out) const
 
void adjustForDirichletConditions (const VectorType &local_bcs, const VectorType &global_bcs, const Teuchos::Ptr< VectorType > &f, const Teuchos::Ptr< CrsMatrixType > &A, bool zeroVectorRows) const
 
void ghostToGlobalTpetraVector (int i, const VectorType &in, VectorType &out) const
 
void ghostToGlobalTpetraMatrix (int blockRow, const CrsMatrixType &in, CrsMatrixType &out) const
 
void globalToGhostTpetraVector (int i, const VectorType &in, VectorType &out) const
 
virtual Teuchos::RCP< const MapTypebuildTpetraMap (int i) const
 
virtual Teuchos::RCP< const MapTypebuildTpetraGhostedMap (int i) const
 
virtual Teuchos::RCP< const CrsGraphTypebuildTpetraGraph (int i, int j) const
 
virtual Teuchos::RCP< const CrsGraphTypebuildTpetraGhostedGraph (int i, int j) const
 

Protected Attributes

Teuchos::RCP< const GlobalIndexerblockProvider_
 
Teuchos::RCP< const BlockedDOFManagerblockedDOFManager_
 
std::vector< Teuchos::RCP< const GlobalIndexer > > gidProviders_
 
std::unordered_set< std::pair< int, int >, panzer::pair_hashexcludedPairs_
 
Teuchos::RCP< Thyra::ProductVectorSpaceBase< ScalarT > > rangeSpace_
 
Teuchos::RCP< Thyra::ProductVectorSpaceBase< ScalarT > > domainSpace_
 
Teuchos::RCP< Thyra::ProductVectorSpaceBase< ScalarT > > ghostedRangeSpace_
 
Teuchos::RCP< Thyra::ProductVectorSpaceBase< ScalarT > > ghostedDomainSpace_
 
Teuchos::RCP< const Teuchos::MpiComm< int > > comm_
 
std::vector< Teuchos::RCP< const MapType > > maps_
 
std::vector< Teuchos::RCP< const MapType > > ghostedMaps_
 
std::unordered_map< std::pair< int, int >, Teuchos::RCP< const CrsGraphType >, panzer::pair_hashgraphs_
 
std::unordered_map< std::pair< int, int >, Teuchos::RCP< const CrsGraphType >, panzer::pair_hashghostedGraphs_
 
std::vector< Teuchos::RCP< const ImportType > > importers_
 
std::vector< Teuchos::RCP< const ExportType > > exporters_
 

Detailed Description

template<typename Traits, typename ScalarT, typename LocalOrdinalT, typename GlobalOrdinalT, typename NodeT = panzer::TpetraNodeType>
class panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >

Definition at line 81 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

Member Typedef Documentation

◆ BTLOC

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef BlockedTpetraLinearObjContainer<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::BTLOC

Definition at line 84 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ VectorType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Vector<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::VectorType

Definition at line 85 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ CrsMatrixType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::CrsMatrix<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::CrsMatrixType

Definition at line 86 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ OperatorType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Operator<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::OperatorType

Definition at line 87 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ CrsGraphType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::CrsGraph<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::CrsGraphType

Definition at line 88 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ MapType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Map<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::MapType

Definition at line 89 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ImportType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Import<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ImportType

Definition at line 90 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ExportType

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Export<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ExportType

Definition at line 91 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ThyraVector

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Thyra::TpetraVector<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ThyraVector

Definition at line 93 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ThyraLinearOp

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Thyra::TpetraLinearOp<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ThyraLinearOp

Definition at line 94 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

Constructor & Destructor Documentation

◆ BlockedTpetraLinearObjFactory() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::BlockedTpetraLinearObjFactory ( const Teuchos::RCP< const Teuchos::MpiComm< int > > &  comm,
const Teuchos::RCP< const BlockedDOFManager > &  gidProvider 
)

◆ BlockedTpetraLinearObjFactory() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::BlockedTpetraLinearObjFactory ( const Teuchos::RCP< const Teuchos::MpiComm< int > > &  comm,
const std::vector< Teuchos::RCP< const panzer::GlobalIndexer > > &  gidProviders 
)

Ctor that takes a vector of DOFManagers instead of the BlockedDOFManager. Plan is to deprecate the BlockedDOFManager, but for now it is ingrained in all gather/scatter operators.

Definition at line 91 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ ~BlockedTpetraLinearObjFactory()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::~BlockedTpetraLinearObjFactory
virtual

Member Function Documentation

◆ readVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::readVector ( const std::string &  identifier,
LinearObjContainer loc,
int  id 
) const
inlinevirtual

Read in a vector from a file. Fill a particular vector in the linear object container.

Parameters
[in]identifierKey for specifying which file(s) to read
[in]locLinear object container to fill with the vector
[in]idId for the field to be filled

Implements panzer::LinearObjFactory< Traits >.

Definition at line 111 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ writeVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::writeVector ( const std::string &  identifier,
const LinearObjContainer loc,
int  id 
) const
inlinevirtual

Write in a vector from a file. Fill a particular vector in the linear object container.

Parameters
[in]identifierKey for specifying which file(s) to read
[in]locLinear object container to fill with the vector
[in]idId for the field to be filled

Implements panzer::LinearObjFactory< Traits >.

Definition at line 114 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildLinearObjContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< LinearObjContainer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildLinearObjContainer ( ) const
virtual

Build a container with all the neccessary linear algebra objects. This is the non-ghosted version.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 109 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ buildPrimitiveLinearObjContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual Teuchos::RCP< LinearObjContainer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildPrimitiveLinearObjContainer ( ) const
inlinevirtual

Build a container with all the neccessary linear algebra objects, purely on the single physics. This gives linear algebra objects that are relevant for a single physics solve. In many cases this is simply a call to buildLinearObjContainer however, in a few important cases (for instance in stochastic galerkin methods) this will return a container for a single instantiation of the physics. This is the non-ghosted version.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 119 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildGhostedLinearObjContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< LinearObjContainer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildGhostedLinearObjContainer ( ) const
virtual

Build a container with all the neccessary linear algebra objects. This is the ghosted version.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 125 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ buildPrimitiveGhostedLinearObjContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual Teuchos::RCP< LinearObjContainer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildPrimitiveGhostedLinearObjContainer ( ) const
inlinevirtual

Build a container with all the neccessary linear algebra objects, purely on the single physics. This gives linear algebra objects that are relevant for a single physics solve. In many cases this is simply a call to buildGhostedLinearObjContainer however, in a few important cases (for instance in stochastic galerkin methods) this will return a container for a single instantiation of the physics. This is the ghosted version.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 124 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ globalToGhostContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::globalToGhostContainer ( const LinearObjContainer container,
LinearObjContainer ghostContainer,
int  mem 
) const
virtual

◆ ghostToGlobalContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobalContainer ( const LinearObjContainer ghostContainer,
LinearObjContainer container,
int  mem 
) const
virtual

◆ adjustForDirichletConditions() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::adjustForDirichletConditions ( const LinearObjContainer localBCRows,
const LinearObjContainer globalBCRows,
LinearObjContainer ghostedObjs,
bool  zeroVectorRows = false,
bool  adjustX = false 
) const
virtual

Adjust the residual vector and Jacobian matrix (if they exist) for applied dirichlet conditions. The adjustment considers if a boundary condition was set globally and locally and based on that result adjust the ghosted matrix and residual vector so that when they are summed across processors they resulting Dirichlet condition is correct.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 186 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ applyDirichletBCs()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::applyDirichletBCs ( const LinearObjContainer counter,
LinearObjContainer result 
) const
virtual

Adjust a vector by replacing selected rows with the value of the evaluated dirichlet conditions. This is handled through the standard container mechanism.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 336 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ buildReadOnlyDomainContainer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildReadOnlyDomainContainer
virtual

Build a GlobalEvaluationDataContainer that handles all domain communication. This is used primarily for gather operations and hides the allocation and usage of the ghosted vector from the user.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 352 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getComm()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::MpiComm< int > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getComm ( ) const
virtual

Acess to the MPI Comm used in constructing this LOF.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 397 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ buildScatter()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildScatter ( ) const
inline

Use preconstructed scatter evaluators.

Definition at line 167 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildGather()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildGather ( ) const
inline

Use preconstructed gather evaluators.

Definition at line 172 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildGatherTangent()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildGatherTangent ( ) const
inline

Use preconstructed gather evaluators.

Definition at line 177 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildGatherDomain()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildGatherDomain ( ) const
inline

Use preconstructed gather evaluators.

Definition at line 182 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildGatherOrientation()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildGatherOrientation ( ) const
inline

Use preconstructed gather evaluators.

Definition at line 187 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ buildScatterDirichlet()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
template<typename EvalT >
Teuchos::RCP< panzer::CloneableEvaluator > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildScatterDirichlet ( ) const
inline

Use preconstructed dirichlet scatter evaluators.

Definition at line 192 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ initializeContainer() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initializeContainer ( int  mem,
LinearObjContainer loc 
) const
virtual

Initialize container with a specific set of member values.

Note
This will overwrite everything in the container and zero out values not requested.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 404 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ initializeContainer() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initializeContainer ( int  mem,
BTLOC loc 
) const

Initialize container with a specific set of member values.

Note
This will overwrite everything in the container and zero out values not requested.

Definition at line 423 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ initializeGhostedContainer() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initializeGhostedContainer ( int  mem,
LinearObjContainer loc 
) const
virtual

Initialize container with a specific set of member values.

Note
This will overwrite everything in the container and zero out values not requested.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 412 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ initializeGhostedContainer() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initializeGhostedContainer ( int  mem,
BTLOC loc 
) const

Initialize container with a specific set of member values.

Note
This will overwrite everything in the container and zero out values not requested.

Definition at line 444 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraDomainSpace() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraDomainSpace
virtual

Get the domain vector space (x and dxdt)

Implements panzer::ThyraObjFactory< double >.

Definition at line 506 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraRangeSpace() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraRangeSpace
virtual

Get the range vector space (f)

Implements panzer::ThyraObjFactory< double >.

Definition at line 523 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraDomainSpace() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraDomainSpace ( int  blk) const

Get the domain vector space (x and dxdt)

Definition at line 540 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraRangeSpace() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraRangeSpace ( int  blk) const

Get the range vector space (f)

Definition at line 552 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraDomainVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::VectorBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraDomainVector

Get a domain vector.

Definition at line 564 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraRangeVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::VectorBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraRangeVector

Get a range vector.

Definition at line 582 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getThyraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getThyraMatrix
virtual

Get a Thyra operator.

Implements panzer::ThyraObjFactory< double >.

Definition at line 594 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedThyraDomainSpace()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedThyraDomainSpace

Get the domain vector space (x and dxdt)

Definition at line 624 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedThyraRangeSpace()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedThyraRangeSpace

Get the range vector space (f)

Definition at line 641 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedThyraDomainVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::VectorBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedThyraDomainVector

Get a domain vector.

Definition at line 658 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedThyraRangeVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::VectorBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedThyraRangeVector

Get a range vector.

Definition at line 670 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedThyraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::BlockedLinearOpBase< ScalarT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedThyraMatrix

Get a Thyra operator.

Definition at line 682 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getMap()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getMap ( int  i) const
virtual

get the map from the matrix

Definition at line 860 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedMap()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedMap ( int  i) const
virtual

get the ghosted map from the matrix

Definition at line 871 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGraph()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGraph ( int  i,
int  j 
) const
virtual

get the graph of the crs matrix

Definition at line 883 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedGraph()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedGraph ( int  i,
int  j 
) const
virtual

get the ghosted graph of the crs matrix

Definition at line 903 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedImport()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Import< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedImport ( int  i) const
virtual

get importer for converting an overalapped object to a "normal" object

Definition at line 923 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getGhostedExport()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Export< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedExport ( int  j) const
virtual

get exporter for converting an overalapped object to a "normal" object

Definition at line 934 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getTpetraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::CrsMatrix< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getTpetraMatrix ( int  i,
int  j 
) const

◆ getGhostedTpetraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::CrsMatrix< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedTpetraMatrix ( int  i,
int  j 
) const

◆ getTpetraDomainVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getTpetraDomainVector ( int  i) const

◆ getGhostedTpetraDomainVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedTpetraDomainVector ( int  i) const

◆ getTpetraRangeVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getTpetraRangeVector ( int  i) const

◆ getGhostedTpetraRangeVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedTpetraRangeVector ( int  i) const

◆ getBlockRowCount()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
int panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getBlockRowCount

how many block rows

Definition at line 1144 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ getBlockColCount()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
int panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getBlockColCount

how many block columns

Definition at line 1152 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ addExcludedPair()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::addExcludedPair ( int  rowBlock,
int  colBlock 
)

exclude a block pair from the matrix

Definition at line 469 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ addExcludedPairs()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::addExcludedPairs ( const std::vector< std::pair< int, int > > &  exPairs)

exclude a vector of pairs from the matrix

Definition at line 476 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ beginFill()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::beginFill ( LinearObjContainer loc) const
virtual

◆ endFill()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::endFill ( LinearObjContainer loc) const
virtual

◆ getGlobalIndexer() [1/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP< const panzer::BlockedDOFManager > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGlobalIndexer ( ) const
inline

Definition at line 309 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ getDomainGlobalIndexer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP< const panzer::GlobalIndexer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getDomainGlobalIndexer ( ) const
inlinevirtual

Get the domain unique global indexer this factory was created with.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 313 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ getRangeGlobalIndexer()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP< const panzer::GlobalIndexer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getRangeGlobalIndexer ( ) const
inlinevirtual

Get the range unique global indexer this factory was created with.

Implements panzer::LinearObjFactory< Traits >.

Definition at line 317 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ getGlobalIndexer() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const GlobalIndexer > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGlobalIndexer ( int  i) const
protected

◆ makeRoomForBlocks()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::makeRoomForBlocks ( std::size_t  blockCnt)
protected

Allocate the space in the std::vector objects so we can fill with appropriate Tpetra data.

Definition at line 492 of file Panzer_BlockedTpetraLinearObjFactory_impl.hpp.

◆ ghostToGlobalThyraVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobalThyraVector ( const Teuchos::RCP< const Thyra::VectorBase< ScalarT > > &  in,
const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &  out 
) const
protected

◆ ghostToGlobalThyraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobalThyraMatrix ( const Thyra::LinearOpBase< ScalarT > &  in,
Thyra::LinearOpBase< ScalarT > &  out 
) const
protected

◆ globalToGhostThyraVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::globalToGhostThyraVector ( const Teuchos::RCP< const Thyra::VectorBase< ScalarT > > &  in,
const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &  out 
) const
protected

◆ adjustForDirichletConditions() [2/2]

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::adjustForDirichletConditions ( const VectorType local_bcs,
const VectorType global_bcs,
const Teuchos::Ptr< VectorType > &  f,
const Teuchos::Ptr< CrsMatrixType > &  A,
bool  zeroVectorRows 
) const
protected

◆ ghostToGlobalTpetraVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobalTpetraVector ( int  i,
const VectorType in,
VectorType out 
) const
protected

◆ ghostToGlobalTpetraMatrix()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobalTpetraMatrix ( int  blockRow,
const CrsMatrixType in,
CrsMatrixType out 
) const
protected

◆ globalToGhostTpetraVector()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::globalToGhostTpetraVector ( int  i,
const VectorType in,
VectorType out 
) const
protected

◆ buildTpetraMap()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildTpetraMap ( int  i) const
protectedvirtual

◆ buildTpetraGhostedMap()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildTpetraGhostedMap ( int  i) const
protectedvirtual

◆ buildTpetraGraph()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildTpetraGraph ( int  i,
int  j 
) const
protectedvirtual

◆ buildTpetraGhostedGraph()

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Tpetra::CrsGraph< LocalOrdinalT, GlobalOrdinalT, NodeT > > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::buildTpetraGhostedGraph ( int  i,
int  j 
) const
protectedvirtual

Member Data Documentation

◆ blockProvider_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const GlobalIndexer> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::blockProvider_
protected

Definition at line 329 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ blockedDOFManager_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const BlockedDOFManager> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::blockedDOFManager_
protected

Definition at line 330 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ gidProviders_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<Teuchos::RCP<const GlobalIndexer> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::gidProviders_
protected

Definition at line 331 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ excludedPairs_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::unordered_set<std::pair<int,int>,panzer::pair_hash> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::excludedPairs_
protected

Definition at line 334 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ rangeSpace_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<Thyra::ProductVectorSpaceBase<ScalarT> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::rangeSpace_
mutableprotected

Definition at line 344 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ domainSpace_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<Thyra::ProductVectorSpaceBase<ScalarT> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::domainSpace_
mutableprotected

Definition at line 345 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ghostedRangeSpace_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<Thyra::ProductVectorSpaceBase<ScalarT> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedRangeSpace_
mutableprotected

Definition at line 347 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ghostedDomainSpace_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<Thyra::ProductVectorSpaceBase<ScalarT> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedDomainSpace_
mutableprotected

Definition at line 348 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ comm_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const Teuchos::MpiComm<int> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::comm_
protected

Definition at line 371 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ maps_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<Teuchos::RCP<const MapType> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::maps_
mutableprotected

Definition at line 372 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ghostedMaps_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<Teuchos::RCP<const MapType> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedMaps_
mutableprotected

Definition at line 373 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ graphs_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::unordered_map<std::pair<int,int>,Teuchos::RCP<const CrsGraphType>,panzer::pair_hash> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::graphs_
mutableprotected

Definition at line 374 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ ghostedGraphs_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::unordered_map<std::pair<int,int>,Teuchos::RCP<const CrsGraphType>,panzer::pair_hash> panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedGraphs_
mutableprotected

Definition at line 375 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ importers_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<Teuchos::RCP<const ImportType> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::importers_
mutableprotected

Definition at line 377 of file Panzer_BlockedTpetraLinearObjFactory.hpp.

◆ exporters_

template<typename Traits , typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<Teuchos::RCP<const ExportType> > panzer::BlockedTpetraLinearObjFactory< Traits, ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::exporters_
mutableprotected

Definition at line 378 of file Panzer_BlockedTpetraLinearObjFactory.hpp.


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