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

accelerator

Solver accelerator

converged

True if the solver converged

err

Residual error in the last run

iters

Number of iterations in the last run

ltrunc

Truncation level

lvfill

Fill-in level

maxerr

Maximum allowed residual iteration

maxit

Maximum number of iterations

ndeg

Polynomial degree

nfact

Frequency of partial factorization

noconv

Desired behavior if the iterative solver does not converge.

nrestart

Restart frequency

nsave

Saved vectors number

omega

Relaxation parameter

preconditioner

Solver preconditioner

Descriptions

Attribute Details

IterativeParams.accelerator = <property object>

Solver accelerator

This is current iterative matrix solver acceleration algorithm.

Possible choices:

cg

Conjugate Gradient acceleration (default)

si

Chebyshev acceleration or Semi-Iteration

sor

Successive Overrelaxation (can use only SOR preconditioner)

srcg

Symmetric Successive Overrelaxation Conjugate Gradient Algorithm (can use only SSOR preconditioner)

srsi

Symmetric Successive Overrelaxation Semi-Iteration Algorithm (can use only SSOR preconditioner)

basic

Basic Iterative Method

me

Minimal Error Algorithm

cgnr

Conjugate Gradient applied to the Normal Equations

lsqr

Least Squares Algorithm

odir

ORTHODIR, a truncated/restarted method useful for nonsymmetric systems of equations

omin

ORTHOMIN, a common truncated/restarted method used for nonsymmetric systems

ores

ORTHORES, another truncated/restarted method for nonsymmetric systems

iom

Incomplete Orthogonalization Method

gmres

Generalized Minimal Residual Method

usymlq

Unsymmetric LQ

usymqr

Unsymmetric QR

landir

Lanczos/ORTHODIR

lanmin

Lanczos/ORTHOMIN or Biconjugate Gradient Method

lanres

Lanczos/ORTHORES or “two-sided” Lanczos Method

cgcr

Constrained Generalized Conjugate Residual Method

bcgs

Biconjugate 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:

rich

Richardson’s method

jac

Jacobi method

ljac

Line Jacobi method

ljacx

Line Jacobi method (approx. inverse)

sor

Successive Overrelaxation (can be used only with SOR accelerator)

ssor

Symmetric SOR

ic

Incomplete Cholesky (default)

mic

Modified Incomplete Cholesky

lsp

Least Squares Polynomial

neu

Neumann Polynomial

lsor

Line SOR

lssor

Line SSOR

llsp

Line Least Squares Polynomial

lneu

Line Neumann Polynomial

bic

Block Incomplete Cholesky (ver. 1)

bicx

Block Incomplete Cholesky (ver. 2)

mbic

Modified Block Incomplete Cholesky (ver. 1)

mbicx

Modified Block Incomplete Cholesky (ver. 2)