Class SUNLinSolPCG¶
Defined in File sundials_linsol_wrapper.h
Inheritance Relationships¶
Base Type¶
public amici::SUNLinSolWrapper(Class SUNLinSolWrapper)
Class Documentation¶
-
class
amici::SUNLinSolPCG: public amici::SUNLinSolWrapper¶ SUNDIALS scaled preconditioned CG (Conjugate Gradient method) (PCG) solver.
Public Functions
-
SUNLinSolPCG(N_Vector y, int pretype, int maxl)¶ Create PCG solver.
- Parameters
y: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
-