43#ifndef IFPACK2_DETAILS_GETCRSMATRIX_HPP
44#define IFPACK2_DETAILS_GETCRSMATRIX_HPP
46#include "Ifpack2_ConfigDefs.hpp"
47#include "Tpetra_CrsMatrix.hpp"
48#include "Ifpack2_Details_AdditiveSchwarzFilter.hpp"
55template<
typename SC,
typename LO,
typename GO,
typename NO>
56Teuchos::RCP<const Tpetra::CrsMatrix<SC, LO, GO, NO>> getCrsMatrix(
const Teuchos::RCP<
const Tpetra::RowMatrix<SC, LO, GO, NO>>& A)
58 using row_matrix_type = Tpetra::RowMatrix<SC, LO, GO, NO>;
59 using crs_matrix_type = Tpetra::CrsMatrix<SC, LO, GO, NO>;
60 auto Acrs = Teuchos::rcp_dynamic_cast<const crs_matrix_type>(A);
63 auto Aasf = Teuchos::rcp_dynamic_cast<const AdditiveSchwarzFilter<row_matrix_type>>(A);
65 return Aasf->getFilteredMatrix();
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition: Ifpack2_AdditiveSchwarz_decl.hpp:74