16 #ifndef dealii__iterative_inverse_h 17 #define dealii__iterative_inverse_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/smartpointer.h> 21 #include <deal.II/lac/solver_selector.h> 22 #include <deal.II/lac/vector_memory.h> 23 #include <deal.II/lac/pointer_matrix.h> 25 DEAL_II_NAMESPACE_OPEN
78 template <
typename VectorType>
86 template <
typename MatrixType,
typename PreconditionerType>
87 void initialize (
const MatrixType &,
const PreconditionerType &);
97 void vmult (VectorType &dst,
const VectorType &src)
const;
104 template <
class OtherVectorType>
105 void vmult (OtherVectorType &dst,
const OtherVectorType &src)
const;
117 std_cxx11::shared_ptr<PointerMatrixBase<VectorType> >
matrix;
126 template <
typename VectorType>
127 template <
typename MatrixType,
typename PreconditionerType>
138 template <
typename VectorType>
148 template <
typename VectorType>
155 solver.solve(*matrix, dst, src, *preconditioner);
159 template <
typename VectorType>
160 template <
class OtherVectorType>
171 solver.solve(*matrix, *sol, *rhs, *preconditioner);
177 DEAL_II_NAMESPACE_CLOSE
SolverSelector< VectorType > solver
static ::ExceptionBase & ExcNotInitialized()
PointerMatrixBase< VectorType > * new_pointer_matrix_base(MatrixType &matrix, const VectorType &, const char *name="PointerMatrixAux")
#define Assert(cond, exc)
void initialize(const MatrixType &, const PreconditionerType &)
void vmult(VectorType &dst, const VectorType &src) const
std_cxx11::shared_ptr< PointerMatrixBase< VectorType > > matrix
std_cxx11::shared_ptr< PointerMatrixBase< VectorType > > preconditioner