Default solver creator for iterative solvers. More...
#include <ISTLSolverCreator.hpp>
Inherits CreatorInterfaceName< LinearSolverInterface< M, X, Y > >, and ISTLIterativeSolverCreatorBase< Traits >.
Public Types | |
| using | SolverBase = LinearSolverInterface< M, X, Y > |
| using | T = typename M::Scalar |
| template<class Precon > | |
| using | Solver = IterativeRunner< M, X, Y, IterativeSolver< Precon > > |
| template<class Ordering > | |
| using | IncompleteCholesky = Solver< Eigen::IncompleteCholesky< T, Eigen::Lower|Eigen::Upper, Ordering > > |
Public Member Functions | |
| std::unique_ptr< SolverBase > | createWithString (std::string prefix) override |
| Must be implemented by sub classes of CreatorInterfaceName. Creates a new instance of the sub class of BaseClass by passing a string to the constructor. More... | |
| std::unique_ptr< Interface > | createSolver (typename Traits::M const &mat, typename Traits::Comm const &comm) const override |
Public Member Functions inherited from CreatorInterfaceName< LinearSolverInterface< M, X, Y > > | |
| std::unique_ptr< LinearSolverInterface< M, X, Y > > | create () final |
| Must be implemented by sub classes of CreatorInterface. Creates a new instance of the sub class of BaseClass. More... | |
| virtual std::unique_ptr< LinearSolverInterface< M, X, Y > > | createWithString (std::string)=0 |
| Must be implemented by sub classes of CreatorInterfaceName. Creates a new instance of the sub class of BaseClass by passing a string to the constructor. More... | |
| virtual std::unique_ptr< LinearSolverInterface< M, X, Y > > | create ()=0 |
| Must be implemented by sub classes of CreatorInterface. Creates a new instance of the sub class of BaseClass. More... | |
Public Member Functions inherited from ISTLIterativeSolverCreatorBase< Traits > | |
| void | init (std::string const &prefix) override |
| Prepare the solver for the creation. More... | |
| virtual void | init (std::string const &prefix) |
| Prepare the solver for the creation. More... | |
| virtual std::unique_ptr< Dune::InverseOperator< X, Y > > | createSolver (typename Traits::M const &A, typename Traits::Comm const &comm) const =0 |
| virtual std::unique_ptr< tag::solver< Traits > > | create ()=0 |
| Must be implemented by sub classes of CreatorInterface. Creates a new instance of the sub class of BaseClass. | |
Additional Inherited Members | |
Protected Member Functions inherited from ISTLIterativeSolverCreatorBase< Traits > | |
| template<class Solver , class... Args> | |
| auto | create_impl (typename Traits::M const &mat, typename Traits::Comm const &comm, Args &&... args) const |
Protected Attributes inherited from ISTLIterativeSolverCreatorBase< Traits > | |
| int | maxIter_ = 500 |
| real_type | rTol_ = 1.e-6 |
| ISTLPreconCreatorBase< Traits > * | preconCreator_ = nullptr |
Protected Attributes inherited from ISTLSolverCreatorBase< Traits > | |
| int | info_ = 0 |
Default solver creator for iterative solvers.
Constructs a linear solver, using the constructor signature Solver(LinOp, ScalarProd, Precon, rTol, maxIter, info)
|
inlineoverridevirtual |
Implements ISTLSolverCreatorBase< Traits >.
|
inlineoverridevirtual |
Must be implemented by sub classes of CreatorInterfaceName. Creates a new instance of the sub class of BaseClass by passing a string to the constructor.
Implements CreatorInterfaceName< LinearSolverInterface< M, X, Y > >.
References Initfile::get().