Linear solvers: Advanced options
This section targets advanced users and wants to help understanding what solver parameters do. Most advanced users who wants to select manually the solver to use and not only the type of solver must change their user mode:
, then close and reopen Flux to apply that change. In the advanced mode, the solving options box displays significantly more options for linear solvers. Here is the list of linear solvers for instance:For parallel and distributed solvers, you can set computing parameters globally in parallel computing for more details.
. These parameters are used to set some default options for Mumps and PETSc, seeBelow the details of each solver parameter is provided.
ICCG
ICCG is an iterative solver which uses the conjugate gradient for the solving and the incomplete Cholesky factorization of LDLT for the preconditioning. In steady State AC, ICCG uses the conjugate bigradient for the solving and the incomplete factorization LDU for the preconditioning.
Options
Parameter | Description |
---|---|
Precision for the Conjugate Gradient |
Relative precision to satisfy before stopping the iterative process. Default value: 1.0e-6 |
Maximum number of iterations for the Conjugate Gradient |
Maximum number of iterations to compute before stopping the iterative process. Two options are available to set the number of iterations:
Default value: Linear function with A = 1 and B = 1, which is the number of equations of the problem. |
Tolerance for the LDU preconditioning | Precision of the preconditioner. Default value: 1.0e-7 |
Print messages of the convergence evolution | Flag indicating to verbosity level of the iterative process. Set to “Yes” to prompt the evolution of the iteration process during the solving. Default value: “No” |
PETSc
Options
Parameter | Description |
---|---|
Precision for the PETSc solver |
Relative precision to satisfy before stopping the iterative process. Four options are available: Automatic, Low (1e-4), Medium (1e-8) and High (1e-12). Default value: Automatic |
Maximum number of iterations |
Maximum number of iterations to compute before stopping the iterative process. Default value:5,000 |
GMRes
GMRes is an iterative solver which uses the restart generalized minimum residual for the solving and the incomplete factorization with ILUT for the preconditioning.
Options
Parameter | Description |
---|---|
Precision for GMRes |
Relative precision to satisfy before stopping the iterative process. Default value: 1.0e-6 |
Maximum number of iterations for the GMRes |
Maximum number of iterations to compute before stopping the iterative process. Two options are available to set the number of iterations:
Default value: Linear function with A = 1 and B = 1, which is the number of equations of the problem. |
Tolerance for the ILUT preconditioning |
Precision of the preconditioner. Default value: 1.0e-6 |
Coefficient for the level of fill for the ILUT preconditioning |
Filling factor of the ILUT preconditioner. Default value: 6.0 |
Dimension of the Krylov space |
Number of vectors to store in order to build Krylov space. Default value: 120 |
Print messages of the convergence evolution |
Flag indicating to verbosity level of the iterative process. Set to “Yes” to prompt the evolution of the iteration process during the solving. Default value: “No” |
BiCGStab
BiCGStab is an iterative solver which uses the stabilized conjugate bi-gradient for the solving and the incomplete Choleski factorization of LDLT for the preconditioning. In steady State AC, BiCGStab uses incomplete factorization LDU for the preconditioning
Options
Parameter | Description |
---|---|
Precision for the BiCGStab |
Relative precision to satisfy before stopping the iterative process. Default value: 1.0e-6 |
Maximum number of iterations for BiCGStab |
Maximum number of iterations to compute before stopping the iterative process. Two options are available to set the number of iterations:
Default value: Linear function with A = 1 and B = 1, which is the number of equations of the problem. |
Tolerance for the LDU preconditioning |
Precision of the preconditioner. Default value: 1.0e-7 |
Print messages of the convergence evolution |
Flag indicating to verbosity level of the iterative process. Set to “Yes” to prompt the evolution of the iteration process during the solving. Default value: “No” |
SuperLU
SuperLU is a direct method which uses the Gaussian elimination algorithm.
Options
Parameter | Description |
---|---|
Column reordering algorithm |
Specifies how to permute the columns of the matrix for sparsity preservation. The reordering methods are:
Default value: “Automatically specified reordering method” |
Partial row pivoting |
Set the row pivoting method. Two choices are available:
Default value: 0.0 |
Iterative refinement |
Specifies whether to perform iterative refinement, and in what precision to compute the residual. Default value: “Without” |
Symmetric mode |
Specifies whether to use the symmetric mode. Symmetric mode gives preference to diagonal pivots and uses an (AT + A)-based column permutation algorithm. Default value: “Without” |
Pivot growth computation |
Specifies whether to compute the reciprocal pivot growth. Default value: “Without” |
Condition number computation |
Specifies whether to compute the reciprocal condition number. Default value: “Without” |
Mumps
Mumps is a direct solver, based on a multi frontal approach.
Mumps (Local) is a mono-process, but multithread solver. There is only one process while number of threads is fixed by cores number choose by the user from the Flux supervisor.
Mumps (Distributed) is a multi-process and multithread solver. Process and thread numbers are defined in Flux Supervisor, see parallel computing for details.
Options
Parameter | Description |
---|---|
Verbosity level |
Set the level of verbosity during the solving process. Four levels are available to decide what information will be prompted:
Default value: “1- Only errors messages” |
Using disk memory |
Set the options regarding disk usage. Four options are available:
Default value: “No” |
Reordering method |
Set the reordering method to use. Five methods can be used:
Default value: “Automatic – Choice in Mumps” |
Memory limitation (RAM) |
Set the memory limitation. It allows the user to limit the memory Mumps can use (in MB). Default value: Unlimited |
MPI Options |
Only for MUMPS (Distributed). Set to define MPI Options. To enable MPI computations, the MPI number can be specified with the Thread number. Default value: “No" |