43 #ifndef __Panzer_BlockedTpetraLinearObjContainer_hpp__ 
   44 #define __Panzer_BlockedTpetraLinearObjContainer_hpp__ 
   46 #include "PanzerDiscFE_config.hpp" 
   49 #include "Tpetra_Vector.hpp" 
   50 #include "Tpetra_CrsMatrix.hpp" 
   58 #include "Thyra_PhysicallyBlockedLinearOpBase.hpp" 
   59 #include "Thyra_ProductVectorBase.hpp" 
   60 #include "Thyra_TpetraThyraWrappers.hpp" 
   62 #include <unordered_map> 
   69 template <
typename ScalarT,
typename LocalOrdinalT,
typename GlobalOrdinalT,
typename NodeT=panzer::TpetraNodeType>
 
   70 class BlockedTpetraLinearObjContainer : 
public LinearObjContainer
 
   71                                       , 
public ThyraObjContainer<ScalarT> {
 
   76    typedef Tpetra::Map<LocalOrdinalT,GlobalOrdinalT,NodeT> 
MapType;
 
void set_x_th(const Teuchos::RCP< VectorType > &in)
Teuchos::RCP< VectorType > get_dxdt() const 
bool checkCompatibility() const 
Make sure row and column spaces match up. 
std::vector< Teuchos::RCP< const MapType > > blockMaps_
Teuchos::RCP< VectorType > get_x() const 
void set_f_th(const Teuchos::RCP< VectorType > &in)
void set_dxdt(const Teuchos::RCP< VectorType > &in)
void initializeMatrix(ScalarT value)
Put a particular scalar in the matrix. 
Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > MapType
void set_dxdt_th(const Teuchos::RCP< VectorType > &in)
Thyra::VectorBase< ScalarT > VectorType
virtual void initialize()
Teuchos::RCP< VectorType > get_x_th() const 
Teuchos::RCP< VectorType > dxdt
Teuchos::RCP< const MapType > getMapForBlock(std::size_t i) const 
Teuchos::RCP< CrsMatrixType > A
Teuchos::RCP< VectorType > get_dxdt_th() const 
void set_A_th(const Teuchos::RCP< CrsMatrixType > &in)
Thyra::LinearOpBase< ScalarT > CrsMatrixType
void set_x(const Teuchos::RCP< VectorType > &in)
Teuchos::RCP< VectorType > f
Teuchos::RCP< VectorType > x
Teuchos::RCP< VectorType > get_f() const 
Teuchos::RCP< CrsMatrixType > get_A_th() const 
Teuchos::RCP< CrsMatrixType > get_A() const 
Teuchos::RCP< VectorType > get_f_th() const 
void set_f(const Teuchos::RCP< VectorType > &in)
void setMapsForBlocks(const std::vector< Teuchos::RCP< const MapType > > &blockMaps)
void set_A(const Teuchos::RCP< CrsMatrixType > &in)