42 #ifndef EPETRAEXT_RESTRICTEDCRSMATRIXWRAPPER_H 43 #define EPETRAEXT_RESTRICTEDCRSMATRIXWRAPPER_H 45 #include <Teuchos_RCP.hpp> 52 class Epetra_CrsMatrix;
55 class RestrictedCrsMatrixWrapper{
58 RestrictedCrsMatrixWrapper();
60 ~RestrictedCrsMatrixWrapper();
67 int SetMPISubComm(MPI_Comm MPI_SubComm);
70 MPI_Comm GetMPISubComm(){
return MPI_SubComm_;}
73 const Epetra_MpiComm & RestrictedComm(){
return *RestrictedComm_;}
76 bool RestrictedProcIsActive(){
return proc_is_active;}
79 Teuchos::RCP<Epetra_CrsMatrix> InputMatrix(){
return input_matrix_;}
82 Teuchos::RCP<Epetra_CrsMatrix> RestrictedMatrix(){
return restricted_matrix_;}
94 int restrict_comm(Teuchos::RCP<Epetra_CrsMatrix> input_matrix);
100 MPI_Comm MPI_SubComm_;
101 Epetra_MpiComm *RestrictedComm_;
102 Epetra_Map *ResRowMap_;
103 Epetra_Map *ResColMap_;
105 Teuchos::RCP<Epetra_CrsMatrix> input_matrix_;
106 Teuchos::RCP<Epetra_CrsMatrix> restricted_matrix_;
108 template<
typename int_type>
109 int Trestrict_comm(Teuchos::RCP<Epetra_CrsMatrix> input_matrix);
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.