IterativeParams Class¶
- class plask.IterativeParams¶
Iterative matrix parameters
This class holds parameters for iterative matrix used by solvers implementing Finite Element Method. PLaSK uses NSPCG package for performing iterations. Please refer to its documentation for explanation of most of the settings.
Attributes¶
Solver accelerator |
|
True if the solver converged |
|
Residual error in the last run |
|
Number of iterations in the last run |
|
Truncation level |
|
Fill-in level |
|
Maximum allowed residual iteration |
|
Maximum number of iterations |
|
Polynomial degree |
|
Frequency of partial factorization |
|
Desired behavior if the iterative solver does not converge. |
|
Restart frequency |
|
Saved vectors number |
|
Relaxation parameter |
|
Solver preconditioner |
Descriptions¶
Attribute Details¶
- IterativeParams.accelerator = <property object>¶
Solver accelerator
This is current iterative matrix solver acceleration algorithm.
Possible choices:¶ cgConjugate Gradient acceleration (default)
siChebyshev acceleration or Semi-Iteration
sorSuccessive Overrelaxation (can use only SOR preconditioner)
srcgSymmetric Successive Overrelaxation Conjugate Gradient Algorithm (can use only SSOR preconditioner)
srsiSymmetric Successive Overrelaxation Semi-Iteration Algorithm (can use only SSOR preconditioner)
basicBasic Iterative Method
meMinimal Error Algorithm
cgnrConjugate Gradient applied to the Normal Equations
lsqrLeast Squares Algorithm
odirORTHODIR, a truncated/restarted method useful for nonsymmetric systems of equations
ominORTHOMIN, a common truncated/restarted method used for nonsymmetric systems
oresORTHORES, another truncated/restarted method for nonsymmetric systems
iomIncomplete Orthogonalization Method
gmresGeneralized Minimal Residual Method
usymlqUnsymmetric LQ
usymqrUnsymmetric QR
landirLanczos/ORTHODIR
lanminLanczos/ORTHOMIN or Biconjugate Gradient Method
lanresLanczos/ORTHORES or “two-sided” Lanczos Method
cgcrConstrained Generalized Conjugate Residual Method
bcgsBiconjugate Gradient Squared Method
- IterativeParams.converged = <property object>¶
True if the solver converged
- IterativeParams.err = <property object>¶
Residual error in the last run
- IterativeParams.iters = <property object>¶
Number of iterations in the last run
- IterativeParams.ltrunc = <property object>¶
Truncation level
Truncation bandwidth to be used when approximating the inverses of matrices with dense banded matrices. An increase in this value means a more accurate factorization at the expense of increased storage.
- IterativeParams.lvfill = <property object>¶
Fill-in level
Level of fill-in for incomplete Cholesky preconditioners. Increasing this value will result in more accurate factorizations at the expense of increased memory usage and factorization time.
- IterativeParams.maxerr = <property object>¶
Maximum allowed residual iteration
- IterativeParams.maxit = <property object>¶
Maximum number of iterations
- IterativeParams.ndeg = <property object>¶
Polynomial degree
Degree of the polynomial to be used for the polynomial preconditioners.
- IterativeParams.nfact = <property object>¶
Frequency of partial factorization
This number initializes the frequency of partial factorizations. It specifies the number of linear system evaluatations between factorizations. The default value is 1, which means that a factorization is performed at every iteration.
- IterativeParams.noconv = <property object>¶
Desired behavior if the iterative solver does not converge.
Possible choices are:
error,warning,continue
- IterativeParams.nrestart = <property object>¶
Restart frequency
The number of iterations between restarts for restarted acceleration methods.
- IterativeParams.nsave = <property object>¶
Saved vectors number
The number of old vectors to be saved for the truncated acceleration methods.
- IterativeParams.omega = <property object>¶
Relaxation parameter
- IterativeParams.preconditioner = <property object>¶
Solver preconditioner
This is current preconditioner used for iterative matrix solver.
Possible choices:¶ richRichardson’s method
jacJacobi method
ljacLine Jacobi method
ljacxLine Jacobi method (approx. inverse)
sorSuccessive Overrelaxation (can be used only with SOR accelerator)
ssorSymmetric SOR
icIncomplete Cholesky (default)
micModified Incomplete Cholesky
lspLeast Squares Polynomial
neuNeumann Polynomial
lsorLine SOR
lssorLine SSOR
llspLine Least Squares Polynomial
lneuLine Neumann Polynomial
bicBlock Incomplete Cholesky (ver. 1)
bicxBlock Incomplete Cholesky (ver. 2)
mbicModified Block Incomplete Cholesky (ver. 1)
mbicxModified Block Incomplete Cholesky (ver. 2)