9#include <kernel/solver/base.hpp> 
   22    template<
typename Matrix_, 
typename Filter_>
 
   24      public SolverBase<typename Matrix_::VectorTypeL>
 
   27      typedef Matrix_ MatrixType;
 
   28      typedef Filter_ FilterType;
 
   29      typedef typename MatrixType::VectorTypeL VectorType;
 
   30      typedef typename MatrixType::DataType DataType;
 
   34      const MatrixType& _matrix;
 
   35      const FilterType& _filter;
 
   47      explicit MatrixPrecond(
const MatrixType& matrix, 
const FilterType& filter) :
 
   69                             const MatrixType& matrix, 
const FilterType& filter) :
 
   79        return "MatrixPrecond";
 
   94      virtual Status apply(VectorType& vec_cor, 
const VectorType& vec_def)
 override 
   96        _matrix.apply(vec_cor, vec_def);
 
   97        this->_filter.filter_cor(vec_cor);
 
  114    template<
typename Matrix_, 
typename Filter_>
 
  116      const Matrix_& matrix, 
const Filter_& filter)
 
  118      return std::make_shared<MatrixPrecond<Matrix_, Filter_>>(matrix, filter);
 
  139    template<
typename Matrix_, 
typename Filter_>
 
  142      const Matrix_& matrix, 
const Filter_& filter)
 
  144      return std::make_shared<MatrixPrecond<Matrix_, Filter_>>(section_name, section, matrix, filter);
 
A class organizing a tree of key-value pairs.
Matrix preconditioner implementation.
MatrixPrecond(const String §ion_name, const PropertyMap *section, const MatrixType &matrix, const FilterType &filter)
Constructor.
MatrixPrecond(const MatrixType &matrix, const FilterType &filter)
Constructor.
virtual void init_numeric() override
Numeric initialization method.
virtual void init_symbolic() override
Symbolic initialization method.
virtual String name() const override
Returns the name of the solver.
virtual void done_symbolic() override
Symbolic finalization method.
Polymorphic solver interface.
String class implementation.
std::shared_ptr< MatrixPrecond< Matrix_, Filter_ > > new_matrix_precond(const Matrix_ &matrix, const Filter_ &filter)
Creates a new MatrixPrecond solver object.
Status
Solver status return codes enumeration.
@ success
solving successful (convergence criterion fulfilled)