this class defines the solver options for a linear or non-linear solver.
The option also supports the handling of diagnostic informations.
|
|
__init__(self)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature |
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
acceptConvergenceFailure(self)
Returns True if a failure to meet the stopping criteria within the
given number of iteration steps is not raising in exception. |
|
|
|
bool
|
adaptInnerTolerance(self)
Returns True if the tolerance of the inner solver is selected automatically. |
|
|
in the list SolverOptions.CLASSIC_INTERPOLATION_WITH_FF_COUPLING, SolverOptions.CLASSIC_INTERPOLATION', `SolverOptions.DIRECT_INTERPOLATION
|
getAMGInterpolation(self)
Returns key of the interpolation method for the AMG preconditioner |
|
|
|
float
|
getAbsoluteTolerance(self)
Returns the absolute tolerance for the solver |
|
|
|
in the list SolverOptions.DEFAULT, SolverOptions.YAIR_SHAPIRA_COARSENING, SolverOptions.RUGE_STUEBEN_COARSENING, SolverOptions.AGGREGATION_COARSENING, SolverOptions.CIJP_FIXED_RANDOM_COARSENING, SolverOptions.CIJP_COARSENING, SolverOptions.FALGOUT_COARSENING, SolverOptions.PMIS_COARSENING, SolverOptions.HMIS_COARSENING
|
getCoarsening(self)
Returns the key of the coarsening algorithm to be applied AMG or AMLI or BoomerAMG |
|
|
|
float
|
getCoarseningThreshold(self)
Returns the threshold for coarsening in the algebraic multi level solver or preconditioner |
|
|
|
int
|
getCycleType(self)
Returns the cyle type (V- or W-cycle) to be used in an algebraic multi level solver or preconditioner |
|
|
|
|
|
|
float
|
getDiagonalDominanceThreshold(self)
Returns the threshold for diagonal dominant rows which are eliminated during AMG coarsening. |
|
|
|
float
|
getDropStorage(self)
Returns the maximum allowed increase in storage for ILUT |
|
|
|
float
|
getDropTolerance(self)
Returns the relative drop tolerance in ILUT |
|
|
|
int
|
getInnerIterMax(self)
Returns maximum number of inner iteration steps |
|
|
|
float
|
getInnerTolerance(self)
Returns the relative tolerance for an inner iteration scheme |
|
|
|
int
|
getIterMax(self)
Returns maximum number of iteration steps |
|
|
|
int
|
getLevelMax(self)
Returns the maximum number of coarsening levels to be used in an algebraic multi level solver or preconditioner |
|
|
|
int
|
getMinCoarseMatrixSize(self)
Returns the minumum size of the coarsest level matrix in AMG or AMLI |
|
|
|
float
|
|
|
|
getName(self,
key)
returns the name of a given key |
|
|
|
non-negative int
|
getNumCoarseMatrixRefinements(self)
Returns the number of resfinement steps to refine the solution on the coarset level when a direct solver is applied. |
|
|
|
int
|
getNumPostSweeps(self)
Returns he number of sweeps in the post-smoothing step of a multi level solver or preconditioner |
|
|
|
int
|
getNumPreSweeps(self)
Returns he number of sweeps in the pre-smoothing step of a multi level solver or preconditioner |
|
|
|
non-negative int
|
getNumRefinements(self)
Returns the number of refinement steps to refine the solution when a direct solver is applied. |
|
|
|
int
|
getNumSweeps(self)
Returns the number of sweeps in a Jacobi or Gauss-Seidel/SOR preconditioner. |
|
|
|
|
getODESolver(self,
method=None)
Returns key of the solver method for ODEs . |
|
|
|
in the list SolverOptions.DEFAULT, SolverOptions.PASO, SolverOptions.SUPER_LU, SolverOptions.PASTIX, SolverOptions.MKL, SolverOptions.UMFPACK, SolverOptions.TRILINOS
|
getPackage(self)
Returns the solver package key |
|
|
in the list SolverOptions.ILU0, SolverOptions.ILUT, SolverOptions.JACOBI, SolverOptions.AMLI,
SolverOptions.AMG, SolverOptions.REC_ILU, SolverOptions.GAUSS_SEIDEL, SolverOptions.RILU, Solveroptions.BOOMERAMG,
SolverOptions.NO_PRECONDITIONER
|
getPreconditioner(self)
Returns key of the preconditioner to be used. |
|
|
|
float
|
getRelaxationFactor(self)
Returns the relaxation factor used to add dropped elements in RILU to the main diagonal. |
|
|
|
ordering in 'SolverOptions.NO_REORDERING', 'SolverOptions.MINIMUM_FILL_IN', 'SolverOptions.NESTED_DISSECTION', 'SolverOptions.DEFAULT_REORDERING'
|
getReordering(self)
Returns the key of the reordering method to be applied if supported by the solver. |
|
|
|
int or None
|
getRestart(self)
Returns the number of iterations steps after which GMRES is performing a restart. |
|
|
|
in the list SolverOptions.JACOBI, SolverOptions.GAUSS_SEIDEL
|
getSmoother(self)
Returns key of the smoother to be used. |
|
|
|
in the list SolverOptions.DEFAULT, SolverOptions.DIRECT, SolverOptions.CHOLEVSKY, SolverOptions.PCG,
SolverOptions.CR, SolverOptions.CGS, SolverOptions.BICGSTAB,
SolverOptions.GMRES, SolverOptions.PRES20, SolverOptions.ROWSUM_LUMPING, SolverOptions.HRZ_LUMPING, SolverOptions.ITERATIVE,
SolverOptions.NONLINEAR_GMRES, SolverOptions.TFQMR, SolverOptions.MINRES
|
getSolverMethod(self)
Returns key of the solver method to be used. |
|
|
|
|
getSummary(self)
Returns a string reporting the current settings |
|
|
|
float
|
getTolerance(self)
Returns the relative tolerance for the solver |
|
|
|
int
|
getTruncation(self)
Returns the number of residuals in GMRES to be stored for orthogonalization |
|
|
|
|
hasConverged(self)
Returns True if the last solver call has been finalized successfully. |
|
|
|
bool
|
isSymmetric(self)
Checks if symmetry of the coefficient matrix is indicated. |
|
|
|
bool
|
isVerbose(self)
Returns True if the solver is expected to be verbose. |
|
|
|
|
|
|
|
setAMGInterpolation(self,
method=None)
Set the interpolation method for the AMG preconditioner. |
|
|
|
|
|
|
|
|
|
|
setAcceptanceConvergenceFailureOff(self)
Switches the acceptance of a failure of convergence off. |
|
|
|
|
setAcceptanceConvergenceFailureOn(self)
Switches the acceptance of a failure of convergence on |
|
|
|
|
setCoarsening(self,
method=0)
Sets the key of the coarsening method to be applied in AMG or AMLI or BoomerAMG |
|
|
|
|
setCoarseningThreshold(self,
theta=0.25)
Sets the threshold for coarsening in the algebraic multi level solver or preconditioner |
|
|
|
|
setCycleType(self,
cycle_type=1)
Sets the cycle type (V-cycle or W-cycle) to be used in an algebraic multi level solver or preconditioner |
|
|
|
|
|
|
|
setDropStorage(self,
storage=2.0)
Sets the maximum allowed increase in storage for ILUT. |
|
|
|
|
|
|
|
setInnerIterMax(self,
iter_max=10)
Sets the maximum number of iteration steps for the inner iteration. |
|
|
|
|
setInnerTolerance(self,
rtol=0.9)
Sets the relative tolerance for an inner iteration scheme for instance on the coarsest level in a multi-level scheme. |
|
|
|
|
|
|
|
setInnerToleranceAdaptionOff(self)
Switches the automatic selection of inner tolerance off. |
|
|
|
|
setInnerToleranceAdaptionOn(self)
Switches the automatic selection of inner tolerance on |
|
|
|
|
setIterMax(self,
iter_max=100000)
Sets the maximum number of iteration steps |
|
|
|
|
setLevelMax(self,
level_max=100)
Sets the maximum number of coarsening levels to be used in an algebraic multi level solver or preconditioner |
|
|
|
|
|
|
|
setLocalPreconditionerOff(self)
Sets the flag to use local preconditioning to off |
|
|
|
|
setLocalPreconditionerOn(self)
Sets the flag to use local preconditioning to on |
|
|
|
|
|
|
|
|
|
|
setNumCoarseMatrixRefinements(self,
refinements=2)
Sets the number of refinement steps to refine the solution on the coarset level when a direct solver is applied. |
|
|
|
|
setNumPostSweeps(self,
sweeps=1)
Sets the number of sweeps in the post-smoothing step of a multi level solver or preconditioner |
|
|
|
|
setNumPreSweeps(self,
sweeps=1)
Sets the number of sweeps in the pre-smoothing step of a multi level solver or preconditioner |
|
|
|
|
setNumRefinements(self,
refinements=2)
Sets the number of refinement steps to refine the solution when a direct solver is applied. |
|
|
|
|
setNumSweeps(self,
sweeps=1)
Sets the number of sweeps in a Jacobi or Gauss-Seidel/SOR preconditioner. |
|
|
|
|
setODESolver(self,
method=None)
Set the solver method for ODEs . |
|
|
|
|
setPackage(self,
package=0)
Sets the solver package to be used as a solver. |
|
|
|
|
|
|
|
setRelaxationFactor(self,
factor=0.3)
Sets the relaxation factor used to add dropped elements in RILU to the main diagonal. |
|
|
|
|
setReordering(self,
ordering=30)
Sets the key of the reordering method to be applied if supported by the solver. |
|
|
|
|
setRestart(self,
restart=None)
Sets the number of iterations steps after which GMRES is performing a restart. |
|
|
|
|
setSmoother(self,
smoother=None)
Sets the smoother to be used. |
|
|
|
|
|
|
|
setSymmetry(self,
flag=False)
Sets the symmetry flag for the coefficient matrix to flag. |
|
|
|
|
setSymmetryOff(self)
Clears the symmetry flag for the coefficient matrix. |
|
|
|
|
setSymmetryOn(self)
Sets the symmetry flag to indicate that the coefficient matrix is symmetric. |
|
|
|
|
setTolerance(self,
rtol=1e-08)
Sets the relative tolerance for the solver |
|
|
|
|
setTruncation(self,
truncation=20)
Sets the number of residuals in GMRES to be stored for orthogonalization. |
|
|
|
|
setUsePanel(self,
use=True)
Sets the flag to use a panel to find unknowns in AMG coarsening |
|
|
|
|
setUsePanelOff(self)
Sets the flag to use a panel to find unknowns in AMG coarsening to off |
|
|
|
|
setUsePanelOn(self)
Sets the flag to use a panel to find unknowns in AMG coarsening |
|
|
|
|
setVerbosity(self,
verbose=False)
Sets the verbosity flag for the solver to flag. |
|
|
|
|
setVerbosityOff(self)
Switches the verbosity of the solver off. |
|
|
|
|
setVerbosityOn(self)
Switches the verbosity of the solver on. |
|
|
|
bool
|
|
|
bool
|
usePanel(self)
Returns True if a panel is used to serach for unknown in the AMG coarsening, The panel approach is normally faster
but can lead to larger coarse level systems. |
|
|
|
Inherited from object:
__delattr__,
__format__,
__getattribute__,
__hash__,
__new__,
__reduce__,
__reduce_ex__,
__repr__,
__setattr__,
__sizeof__,
__subclasshook__
|
|
|
AGGREGATION_COARSENING = 35
AMG and AMLI coarsening using (symmetric) aggregation
|
|
|
AMG = 22
Algebraic Multi Grid
|
|
|
AMLI = 38
Algebraic Multi Level Iteration
|
|
|
BACKWARD_EULER = 68
backward Euler scheme
|
|
|
BICGSTAB = 6
The stabilized Bi-Conjugate Gradient method
|
|
|
BOOMERAMG = 60
Boomer AMG in hypre library
|
|
|
CGS = 5
The conjugate gradient square method
|
|
|
CHOLEVSKY = 2
The direct solver based on LDLt factorization (can only be applied for symmetric PDEs)
|
|
|
CIJP_COARSENING = 62
BoomerAMG parallel coarsening method CIJP
|
|
|
CIJP_FIXED_RANDOM_COARSENING = 61
BoomerAMG parallel coarsening method CIJP by using fixed random vector
|
|
|
CLASSIC_INTERPOLATION = 51
classical interpolation in AMG
|
|
|
CLASSIC_INTERPOLATION_WITH_FF_COUPLING = 50
classical interpolation in AMG with enforced
|
|
|
CR = 4
The conjugate residual method
|
|
|
CRANK_NICOLSON = 67
Crank-Nicolson scheme
|
|
|
DEFAULT = 0
The default method used to solve the system of linear equations
|
|
|
DEFAULT_REORDERING = 30
the reordering method recommended by the solver
|
|
|
DIRECT = 1
The direct solver based on LDU factorization
|
|
|
DIRECT_INTERPOLATION = 52
direct interploation in AMG
|
|
|
FALGOUT_COARSENING = 63
|
|
|
GAUSS_SEIDEL = 28
Gauss-Seidel preconditioner
|
|
|
GMRES = 11
The Gram-Schmidt minimum residual method
|
|
|
HMIS_COARSENING = 65
|
|
|
HRZ_LUMPING = 14
Matrix lumping using the HRZ approach
|
|
|
ILU0 = 8
The incomplete LU factorization preconditioner with no fill-in
|
|
|
ILUT = 9
The incomplete LU factorization preconditioner with fill-in
|
|
|
ITERATIVE = 20
The default iterative solver
|
|
|
JACOBI = 10
The Jacobi preconditioner
|
|
|
LINEAR_CRANK_NICOLSON = 66
linerized Crank-Nicolson scheme
|
|
|
LUMPING = 13
|
|
|
MINIMUM_FILL_IN = 18
Reorder matrix to reduce fill-in during factorization
|
|
|
MINRES = 27
Minimum residual method
|
|
|
MIN_COARSE_MATRIX_SIZE = 37
minimum size of the coarsest level matrix to use direct solver.
|
|
|
MKL = 15
Intel's MKL solver library
|
|
|
NESTED_DISSECTION = 19
Reorder matrix to improve load balancing during factorization
|
|
|
NONLINEAR_GMRES = 25
|
|
|
NO_PRECONDITIONER = 36
no preconditioner is applied.
|
|
|
NO_REORDERING = 17
No matrix reordering allowed
|
|
|
PASO = 21
PASO solver package
|
|
|
PASO_FALGOUT_COARSENING
BoomerAMG parallel coarsening method falgout
|
|
|
PASO_HMIS_COARSENING
BoomerAMG parallel coarsening method HMIS
|
|
|
PASO_PMIS_COARSENING
BoomerAMG parallel coarsening method PMIS
|
|
|
PASTIX = 32
the Pastix direct solver_package
|
|
|
PCG = 3
The preconditioned conjugate gradient method (can only be applied for symmetric PDEs)
|
|
|
PMIS_COARSENING = 64
|
|
|
PRES20 = 12
Special GMRES with restart after 20 steps and truncation after 5 residuals
|
|
|
REC_ILU = 23
recursive ILU0
|
|
|
RILU = 29
relaxed ILU0
|
|
|
ROWSUM_LUMPING = 13
Matrix lumping using row sum
|
|
|
RUGE_STUEBEN_COARSENING = 34
AMG and AMLI coarsening method by Ruge and Stueben
|
|
|
SCSL
SGI SCSL solver library
|
|
|
STANDARD_COARSENING = 39
AMG and AMLI standard coarsening using mesure of importance of the unknowns
|
|
|
SUPER_LU = 31
the Super_LU solver package
|
|
|
TFQMR = 26
Transpose Free Quasi Minimal Residual method
|
|
|
TRILINOS = 24
The TRILINOS parallel solver class library from Sandia National Labs
|
|
|
UMFPACK = 16
The UMFPACK library
|
|
|
YAIR_SHAPIRA_COARSENING = 33
AMG and AMLI coarsening method by Yair-Shapira
|