Class SUNLinSolSPTFQMR¶
Defined in File sundials_linsol_wrapper.h
Inheritance Relationships¶
Base Type¶
public amici::SUNLinSolWrapper
(Class SUNLinSolWrapper)
Class Documentation¶
-
class
amici
::
SUNLinSolSPTFQMR
: public amici::SUNLinSolWrapper¶ SUNDIALS scaled preconditioned TFQMR (Transpose-Free Quasi-Minimal Residual method) (SPTFQMR) solver.
Public Functions
-
SUNLinSolSPTFQMR
(N_Vector x, int pretype = PREC_NONE, int maxl = SUNSPTFQMR_MAXL_DEFAULT)¶ Create SPTFQMR solver.
- Parameters
x
: A template for cloning vectors needed within the solver.pretype
: Preconditioner type (PREC_NONE, PREC_LEFT, PREC_RIGHT, PREC_BOTH)maxl
: Maximum number of solver iterations
-
SUNLinSolSPTFQMR
(AmiVector const &x, int pretype = PREC_NONE, int maxl = SUNSPTFQMR_MAXL_DEFAULT)¶ Create SPTFQMR solver.
- Parameters
x
: A template for cloning vectors needed within the solver.pretype
: Preconditioner type (PREC_NONE, PREC_LEFT, PREC_RIGHT, PREC_BOTH)maxl
: Maximum number of solver iterations
-
int
setATimes
(void *A_data, ATimesFn ATimes)¶ Sets the function pointer for ATimes (see sundials/sundials_linearsolver.h).
- Return
- Parameters
A_data
:ATimes
:
-
int
setPreconditioner
(void *P_data, PSetupFn Pset, PSolveFn Psol)¶ Sets function pointers for PSetup and PSolve routines inside of iterative linear solver objects (see sundials/sundials_linearsolver.h).
- Return
- Parameters
P_data
:Pset
:Psol
:
-
int
setScalingVectors
(N_Vector s, N_Vector nul)¶ Sets pointers to left/right scaling vectors for the linear system solve (see sundials/sundials_linearsolver.h).
- Return
- Parameters
s
:nul
:
-
int
getNumIters
() const¶ Returns the number of linear iterations performed in the last ‘Solve’ call.
- Return
Number of iterations
-
realtype
getResNorm
() const¶ Returns the final residual norm from the last ‘Solve’ call.
- Return
residual norm
-
N_Vector
getResid
() const¶ Get preconditioned initial residual (see sundials/sundials_linearsolver.h).
- Return
-