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 LinSolParamsget () 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 LinSolParamssolParams
 Reference to linear solver parameters.
 
const ProcessAdmadm
 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: