10 #ifndef IFPACK2_DETAILS_GETCRSMATRIX_HPP
11 #define IFPACK2_DETAILS_GETCRSMATRIX_HPP
13 #include "Ifpack2_ConfigDefs.hpp"
14 #include "Tpetra_CrsMatrix.hpp"
15 #include "Tpetra_BlockCrsMatrix.hpp"
16 #include "Ifpack2_Details_AdditiveSchwarzFilter.hpp"
23 template<
typename SC,
typename LO,
typename GO,
typename NO>
26 using row_matrix_type = Tpetra::RowMatrix<SC, LO, GO, NO>;
27 using crs_matrix_type = Tpetra::CrsMatrix<SC, LO, GO, NO>;
28 auto Acrs = Teuchos::rcp_dynamic_cast<
const crs_matrix_type>(A);
33 return Aasf->getFilteredMatrix();
39 template<
typename SC,
typename LO,
typename GO,
typename NO>
42 using bcrs_matrix_type = Tpetra::BlockCrsMatrix<SC, LO, GO, NO>;
43 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...