AMDiS 2.11-git
The Adaptive Multi-Dimensional Simulation Toolbox
 
Loading...
Searching...
No Matches
DirectSolverCreator< Solver, Traits > Struct Template Reference

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.
 
std::unique_ptr< typename Traits::Solver > createSolver (typename Traits::M const &mat, typename Traits::Comm const &comm) const override
 

Protected Attributes

bool reuseVector_ = true
 
- Protected Attributes inherited from ISTLSolverCreatorBase< Traits >
int info_ = 0
 

Detailed Description

template<class Solver, class Traits>
struct AMDiS::DirectSolverCreator< Solver, Traits >

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.

Member Function Documentation

◆ createSolver()

template<class Solver , class Traits >
std::unique_ptr< typename Traits::Solver > createSolver ( typename Traits::M const &  mat,
typename Traits::Comm const &  comm 
) const
inlineoverridevirtual

◆ init()

template<class Solver , class Traits >
void init ( std::string const &  prefix)
inlineoverridevirtual

Prepare the solver for the creation.

Reimplemented from ISTLSolverCreatorBase< Traits >.

References Initfile::get(), and ISTLSolverCreatorBase< Traits >::init().


The documentation for this struct was generated from the following file: