16 #ifndef dealii_solver_relaxation_h 17 #define dealii_solver_relaxation_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/logstream.h> 23 #include <deal.II/base/subscriptor.h> 25 #include <deal.II/lac/solver.h> 26 #include <deal.II/lac/solver_control.h> 28 DEAL_II_NAMESPACE_OPEN
58 template <
typename VectorType = Vector<
double>>
85 template <
typename MatrixType,
class RelaxationType>
87 solve(
const MatrixType & A,
90 const RelaxationType &R);
95 template <
class VectorType>
103 template <
class VectorType>
108 template <
class VectorType>
109 template <
typename MatrixType,
class RelaxationType>
113 const VectorType & b,
114 const RelaxationType &R)
121 VectorType & r = *Vr;
124 VectorType & d = *Vd;
142 conv = this->iteration_status(iter, r.l2_norm(), x);
155 DEAL_II_NAMESPACE_CLOSE
void solve(const MatrixType &A, VectorType &x, const VectorType &b, const RelaxationType &R)
virtual ~SolverRelaxation()
#define AssertThrow(cond, exc)
Stop iteration, goal reached.
SolverRelaxation(SolverControl &cn, const AdditionalData &data=AdditionalData())