Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_Details_CanChangeMatrix.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4//
5// Copyright 2009 NTESS and the Ifpack2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef IFPACK2_DETAILS_CANCHANGEMATRIX_HPP
11#define IFPACK2_DETAILS_CANCHANGEMATRIX_HPP
12
19
20#include <Ifpack2_ConfigDefs.hpp>
21#include <Tpetra_RowMatrix_decl.hpp>
22
23namespace Ifpack2 {
24namespace Details {
25
59template <class RowMatrixType>
61 public:
84 virtual void
85 setMatrix(const Teuchos::RCP<const RowMatrixType>& A) = 0;
86
88 virtual ~CanChangeMatrix() {}
89};
90
91} // namespace Details
92} // namespace Ifpack2
93
94#endif // IFPACK2_DETAILS_CANCHANGEMATRIX_HPP
Mix-in interface for preconditioners that can change their matrix after construction.
Definition Ifpack2_Details_CanChangeMatrix.hpp:60
virtual ~CanChangeMatrix()
Destructor.
Definition Ifpack2_Details_CanChangeMatrix.hpp:88
virtual void setMatrix(const Teuchos::RCP< const RowMatrixType > &A)=0
Set the new matrix.
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition Ifpack2_AdditiveSchwarz_decl.hpp:40