43 #ifndef IFPACK2_DETAILS_GETCRSMATRIX_HPP
44 #define IFPACK2_DETAILS_GETCRSMATRIX_HPP
46 #include "Ifpack2_ConfigDefs.hpp"
47 #include "Tpetra_CrsMatrix.hpp"
48 #include "Tpetra_BlockCrsMatrix.hpp"
49 #include "Ifpack2_Details_AdditiveSchwarzFilter.hpp"
56 template<
typename SC,
typename LO,
typename GO,
typename NO>
59 using row_matrix_type = Tpetra::RowMatrix<SC, LO, GO, NO>;
60 using crs_matrix_type = Tpetra::CrsMatrix<SC, LO, GO, NO>;
61 auto Acrs = Teuchos::rcp_dynamic_cast<
const crs_matrix_type>(A);
66 return Aasf->getFilteredMatrix();
72 template<
typename SC,
typename LO,
typename GO,
typename NO>
75 using bcrs_matrix_type = Tpetra::BlockCrsMatrix<SC, LO, GO, NO>;
76 auto Abcrs = Teuchos::rcp_dynamic_cast<
const bcrs_matrix_type>(A);
Wraps a Tpetra::CrsMatrix or Ifpack2::OverlappingRowMatrix in a filter that removes off-process edges...