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().