IFEM  90A354
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ISTLSolParams Class Reference

Class for ISTL solver parameters. More...

#include <ISTLSolParams.h>

Collaboration diagram for ISTLSolParams:
Collaboration graph
[legend]

Public Member Functions

 ISTLSolParams (const LinSolParams &spar, const ProcessAdm &padm)
 Constructor. More...
 
std::tuple< std::unique_ptr< ISTL::InverseOperator >, std::unique_ptr< ISTL::Preconditioner >, std::unique_ptr< ISTL::Operator > > setupPC (ISTL::Mat &A)
 Setup solver and preconditioner. More...
 
const LinSolParams & get () const
 Obtain linear solver parameters.
 

Protected Member Functions

ISTL::Preconditioner * setupPCInternal (ISTL::Mat &A, ISTL::Operator &op, size_t block, std::unique_ptr< ISTL::InverseOperator > *solver)
 Internal helper function for setting up a preconditioner. More...
 

Protected Attributes

const LinSolParams & solParams
 Reference to linear solver parameters.
 
const ProcessAdm & adm
 Reference to process administrator.
 

Detailed Description

Class for ISTL solver parameters.

It contains information about solver method, preconditioner and convergence criteria.

Constructor & Destructor Documentation

◆ ISTLSolParams()

ISTLSolParams::ISTLSolParams ( const LinSolParams &  spar,
const ProcessAdm &  padm 
)
inline

Constructor.

Parameters
sparLinear solver parameters to use
padmProcess administrator to use

Member Function Documentation

◆ setupPC()

std::tuple< std::unique_ptr< ISTL::InverseOperator >, std::unique_ptr< ISTL::Preconditioner >, std::unique_ptr< ISTL::Operator > > ISTLSolParams::setupPC ( ISTL::Mat &  A)

◆ setupPCInternal()

ISTL::Preconditioner * ISTLSolParams::setupPCInternal ( ISTL::Mat &  A,
ISTL::Operator &  op,
size_t  block,
std::unique_ptr< ISTL::InverseOperator > *  solver 
)
protected

Internal helper function for setting up a preconditioner.

Parameters
AMatrix to construct preconditioner for
opMatrix adaptor to use (used with AMG)
blockBlock to read settings from
solverSolver object to instance. nullptr to do nothing.

References adm, ProcessAdm::dd, LinSolParams::getBlock(), SettingMap::getIntValue(), ProcessAdm::getNoProcs(), SettingMap::getStringValue(), DomainDecomposition::getSubdomains(), setupAMG2(), setupSolver(), and solParams.

Referenced by setupPC().


The documentation for this class was generated from the following files: