42 #ifndef EPETRAEXT_RESTRICTEDMULTIVECTORWRAPPER_H 43 #define EPETRAEXT_RESTRICTEDMULTIVECTORWRAPPER_H 45 #include <Teuchos_RCP.hpp> 51 class Epetra_BlockMap;
52 class Epetra_MultiVector;
55 class RestrictedMultiVectorWrapper{
58 RestrictedMultiVectorWrapper();
60 ~RestrictedMultiVectorWrapper();
73 int SetMPISubComm(MPI_Comm MPI_SubComm);
76 MPI_Comm GetMPISubComm(){
return MPI_SubComm_;}
79 const Epetra_MpiComm & RestrictedComm(){
return *RestrictedComm_;}
82 bool RestrictedProcIsActive(){
return proc_is_active;}
85 Teuchos::RCP<Epetra_MultiVector> InputMultiVector(){
return input_mv_;}
88 Teuchos::RCP<Epetra_MultiVector> RestrictedMultiVector(){
return restricted_mv_;}
105 int restrict_comm(Teuchos::RCP<Epetra_MultiVector> input_mv);
113 MPI_Comm MPI_SubComm_;
114 Epetra_MpiComm *RestrictedComm_;
115 Epetra_BlockMap *ResMap_;
117 Teuchos::RCP<Epetra_MultiVector> input_mv_;
118 Teuchos::RCP<Epetra_MultiVector> restricted_mv_;
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.