Default creator for direct solvers. More...
#include <ISTLSolverCreator.hpp>
Inherits ISTLSolverCreatorBase< Traits >.
Public Types | |
| using | Super = ISTLSolverCreatorBase< Traits > |
Public Member Functions | |
| void | init (std::string const &prefix) override |
| Prepare the solver for the creation. More... | |
| std::unique_ptr< typename Traits::Solver > | createSolver (typename Traits::M const &mat, typename Traits::Comm const &comm) const override |
| 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. | |
Protected Attributes | |
| bool | reuseVector_ = true |
Protected Attributes inherited from ISTLSolverCreatorBase< Traits > | |
| int | info_ = 0 |
Default creator for direct solvers.
Constructs a linear solver, using the constructor signature Solver(Mat, info, reuseVector)
Initfile parameters:
[SOLVER]->reuse vector: Reuse vectors in subsequent calls to apply [true]Note: The reuse parameter is used by SuperLU only, and should be set to false in case of multi-threaded applications using the same solver object in multiple threads.
|
inlineoverridevirtual |
Implements ISTLSolverCreatorBase< Traits >.
|
inlineoverridevirtual |
Prepare the solver for the creation.
Reimplemented from ISTLSolverCreatorBase< Traits >.
References Initfile::get(), and ISTLSolverCreatorBase< Traits >::init().