7.5. Linear Solvers
This section is referenced in the following other sections
7.5.1. Tpetra
7.5.1.1. Tpetra Equation Solver
- Scope
Sierra
- Summary
Use a Tpetra-based linear solver.
- Description
If the linear solve fails it will report an error code. While these codes are not universally standardized across linear solvers, they can generally be interpreted with the following rules:
Error 1 (or -1): The linear solver reached the maximum number of linear solver iterations and did not reach a solution. Check the final linear solver residual to see if this is serious or not. Even if the error is not serious (residuals are small) this usually means the solve is much more expensive than necessary and a better solver/preconditioner combination should be used.
Error 2 (or -2, 4, -4, 5, -5): The linear solver encountered a fatal internal error. This is often because of a singular matrix or a NaN or Infinite term. This is almost always a serious error.
Error 3 (or -3): The linear solver had an internal loss of precision. This is often not a serious error, but may indicate the need for a better solver/preconditioner combination. As always, check the final linear solver residual reported in the log file to determine if it is serious or not.
begin Tpetra Equation Solver Solver Name Bc Enforcement Failed Solve Matrix Output value Matrix Output value Matrix Output Time Range value1[ value2] Matrix Scaling begin Bicgstab Solver end begin Cg Solver end begin Expert Belos Solver end begin Gcrodr Solver end begin Gmres Solver end begin Klu2 Solver end begin Poly Solver end begin Preset Solver end begin Superlu Solver end begin Umfpack Solver end end Tpetra Equation Solver Solver Name
7.5.1.1.1. Line Commands
Bc Enforcement
- Syntax
Bc Enforcement
- Summary
Control how Dirichlet BC’s are enforced. Fuego only.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{exact | exact_no_column_mod | remove | solver | solver_no_column_mod} |
– |
Failed Solve Matrix Output
- Syntax
Failed Solve Matrix Output value
- Summary
On a failed linear solve, output the matrix to the specified file name.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Matrix Output
- Syntax
Matrix Output value
- Summary
Output the matrix to the specified file name.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Matrix Output Time Range
- Syntax
Matrix Output Time Range value1[ value2]
- Summary
Range of simulation time to output the matrix to file, default is dump out all matrices per step.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
real1[ real2] |
– |
Matrix Scaling
- Syntax
Matrix Scaling
- Summary
Apply a pre-solve scaling to the matrix.
- Description
In some problems scaling the matrix prior to the linear solve can help reduce the condition number of the matrix. This should be used in addition to an appropriate preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{diagonal | one_norm} |
– |
7.5.2. Solvers
7.5.2.1. Klu2 Solver
- Scope
Tpetra Equation Solver
- Summary
Use a KLU2 direct solver.
begin Klu2 Solver end Klu2 Solver
7.5.2.2. Superlu Solver
- Scope
Tpetra Equation Solver
- Summary
Use a SUPERLU direct solver.
begin Superlu Solver end Superlu Solver
7.5.2.3. Umfpack Solver
- Scope
Tpetra Equation Solver
- Summary
Use a UMFPACK direct solver.
begin Umfpack Solver end Umfpack Solver
7.5.2.4. Cg Solver
- Scope
Tpetra Equation Solver
- Summary
Use a conjugate gradient solver.
begin Cg Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Residual Output [ ] Residual Scaling begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Cg Solver
7.5.2.4.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
7.5.2.5. Bicgstab Solver
- Scope
Tpetra Equation Solver
- Summary
Use a bicgstab solver.
begin Bicgstab Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Residual Output [ ] Residual Scaling begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Bicgstab Solver
7.5.2.5.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
7.5.2.6. Gmres Solver
- Scope
Tpetra Equation Solver
- Summary
Use a GMRES solver.
begin Gmres Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Residual Output [ ] Residual Scaling Restart Iterations value begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Gmres Solver
7.5.2.6.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
Restart Iterations
- Syntax
Restart Iterations value
- Summary
Set the number of iterations between GMRES restarts.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
30 |
7.5.2.7. Poly Solver
- Scope
Tpetra Equation Solver
- Summary
Use a poly solver.
begin Poly Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Polynomial Order value Residual Output [ ] Residual Scaling Restart Iterations value begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Poly Solver
7.5.2.7.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Polynomial Order
- Syntax
Polynomial Order value
- Summary
Set the polynomial order of polynomial preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
5 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
Restart Iterations
- Syntax
Restart Iterations value
- Summary
Set the number of iterations between GMRES restarts.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
30 |
7.5.2.8. Gcrodr Solver
- Scope
Tpetra Equation Solver
- Summary
Use a GCRODR solver.
begin Gcrodr Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Recycled Blocks value Residual Output [ ] Residual Scaling Restart Iterations value begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Gcrodr Solver
7.5.2.8.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Recycled Blocks
- Syntax
Recycled Blocks value
- Summary
Set the number of recycle blocks in GCRODR.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
5 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
Restart Iterations
- Syntax
Restart Iterations value
- Summary
Set the number of iterations between GCRODR restarts.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
30 |
7.5.2.9. Expert Belos Solver
- Scope
Tpetra Equation Solver
- Summary
Use a Belos solver with parameters specified in an XML file.
begin Expert Belos Solver Xml File value begin Dd-Ilu Preconditioner end begin Dd-Ilut Preconditioner end begin Dd-Parilut Preconditioner end begin Expert Ifpack2 Preconditioner end begin Expert Teko Preconditioner end begin Fastilu Preconditioner end begin Jacobi Preconditioner end begin Muelu Preconditioner end begin Sgs Preconditioner end begin Sgs2 Preconditioner end end Expert Belos Solver
7.5.2.9.1. Line Commands
Xml File
- Syntax
Xml File value
- Summary
Supply the name of an XML file containing a Belos parameter list.
- Description
The supplied XML file must contain a ParameterList with a “solution method” string parameter corresponding to the desired type of Belos solver. Any additional parameters that should be passed on to Belos should be part of a nested ParameterList with name=”Belos-Tpetra”.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
7.5.2.10. Preset Solver
- Scope
Tpetra Equation Solver
- Summary
Use a preset solver for a specific linear system type.
- Description
The preset solver for a given linear system type is intended to provide reasonable behavior for many problems of that type. If this proves to be insufficient, the user must provide more fine-grained control over solver settings. The equivalent command which produces the solver will be output to the log file, and this may be used as a starting point from which changes for robustness may be made (i.e. increasing GMRES subspace size or changing the preconditioner).
begin Preset Solver Convergence Tolerance value [ Minimum = tolerance_floor ] Maximum Iterations value Residual Output [ ] Residual Scaling Solver Type end Preset Solver
7.5.2.10.1. Line Commands
Convergence Tolerance
- Syntax
Convergence Tolerance value [ Minimum = tolerance_floor ]
- Summary
Set the convergence tolerance for the linear solver. Setting CONVERGENCE TOLERANCE = AUTOMATIC enables an autonomous linear convergence tolerance calculation, which is computed from a combination of the initial linear residual and user-specified nonlinear residual tolerance. An additional floor value on the linear convergence tolerance can be declared with CONVERGENCE TOLERANCE = AUTOMATIC MINIMUM = <val>, where the default floor value is 1.0e-6
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations taken by the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
300 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the residuals for every linear solve to the logfile.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
Residual Scaling
- Syntax
Residual Scaling
- Summary
Set the residual scaling for the linear solver
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{none | preconditioned_r0 | r0 | rhs} |
r0 |
Solver Type
- Syntax
Solver Type
- Summary
Set the preset solver type
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{continuity | multiphysics | scalar_transport | thermal | thermal_bicgstab | thermal_symmetric} |
– |
7.5.3. Preconditioners
7.5.3.1. Muelu Preconditioner
- Scope
Cg Solver
- Summary
Use a MueLu preconditioner.
begin Muelu Preconditioner Xml File value end Muelu Preconditioner
7.5.3.1.1. Line Commands
Xml File
- Syntax
Xml File value
- Summary
Supply the name of an XML file containing a MueLu parameter list.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
7.5.3.2. Jacobi Preconditioner
- Scope
Cg Solver
- Summary
Use a Jacobi preconditioner.
begin Jacobi Preconditioner Damping Factor value Number Of Sweeps value end Jacobi Preconditioner
7.5.3.2.1. Line Commands
Damping Factor
- Syntax
Damping Factor value
- Summary
Set the relaxation damping factor.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
1 |
Number Of Sweeps
- Syntax
Number Of Sweeps value
- Summary
Set the number of relaxation sweeps to perform.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
3 |
7.5.3.3. Sgs2 Preconditioner
- Scope
Cg Solver
- Summary
Use a Two-stage symmetric Gauss-Seidel preconditioner.
begin Sgs2 Preconditioner Damping Factor value Number Of Sweeps value end Sgs2 Preconditioner
7.5.3.3.1. Line Commands
Damping Factor
- Syntax
Damping Factor value
- Summary
Set the relaxation damping factor.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
1 |
Number Of Sweeps
- Syntax
Number Of Sweeps value
- Summary
Set the number of relaxation sweeps to perform.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
3 |
7.5.3.4. Sgs Preconditioner
- Scope
Cg Solver
- Summary
Use a symmetric Gauss-Seidel preconditioner.
begin Sgs Preconditioner Damping Factor value Number Of Sweeps value end Sgs Preconditioner
7.5.3.4.1. Line Commands
Damping Factor
- Syntax
Damping Factor value
- Summary
Set the relaxation damping factor.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
1 |
Number Of Sweeps
- Syntax
Number Of Sweeps value
- Summary
Set the number of relaxation sweeps to perform.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
3 |
7.5.3.5. Dd-Ilu Preconditioner
- Scope
Cg Solver
- Summary
Use a domain-decomposition ILU(k) preconditioner.
begin Dd-Ilu Preconditioner Fill Level value Reordering Subdomain Overlap Level value Use Thread Parallel Implementation end Dd-Ilu Preconditioner
7.5.3.5.1. Line Commands
Fill Level
- Syntax
Fill Level value
- Summary
Set the level of fill, k, for ILU(k).
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
Reordering
- Syntax
Reordering
- Summary
Determine whether or not to apply an RCM reordering.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
ON |
Subdomain Overlap Level
- Syntax
Subdomain Overlap Level value
- Summary
Set the level of subdomain overlap used in constructing the preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
Use Thread Parallel Implementation
- Syntax
Use Thread Parallel Implementation
- Summary
Control whether or not to use the thread parallel ILU implementation from Kokkos-Kernels.
- Description
This will default to the appropriate value based on the platform Aria is built for, but in rare cases it may be helpful to disable the thread parallel implementation in a GPU build for debugging purposes.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
ON |
7.5.3.6. Dd-Ilut Preconditioner
- Scope
Cg Solver
- Summary
Use a domain-decomposition ILUT preconditioner.
begin Dd-Ilut Preconditioner Drop Tolerance value Fill Fraction value Reordering Subdomain Overlap Level value end Dd-Ilut Preconditioner
7.5.3.6.1. Line Commands
Drop Tolerance
- Syntax
Drop Tolerance value
- Summary
Set the drop tolerance for ilut.
- Description
Off-diagonal entries of the incomplete factorization smaller than the specified tolerance will be dropped.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
0 |
Fill Fraction
- Syntax
Fill Fraction value
- Summary
Set the fill fraction for ilut.
- Description
This parameter controls the number of nonzero entries that are kept in each row of the incomplete factorization. Larger values will use more memory and runtime, but may result in a more effective preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
1 |
Reordering
- Syntax
Reordering
- Summary
Determine whether or not to apply an RCM reordering.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
ON |
Subdomain Overlap Level
- Syntax
Subdomain Overlap Level value
- Summary
Set the level of subdomain overlap used in constructing the preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
7.5.3.7. Dd-Parilut Preconditioner
- Scope
Cg Solver
- Summary
Use a domain-decomposition ParILUT preconditioner.
- Description
ParILUT is similar to ILUT, but uses an iterative approach to compute the approximate L and U factors in order to enable fine grained parallelism that can improve performance on GPUs.
begin Dd-Parilut Preconditioner Fill Fraction value Maximum Iterations value Reordering Subdomain Overlap Level value end Dd-Parilut Preconditioner
7.5.3.7.1. Line Commands
Fill Fraction
- Syntax
Fill Fraction value
- Summary
Set the fill level for par_ilut.
- Description
This parameter controls the number of nonzero entries that are kept in each row of the incomplete factorization. Larger values will use more memory and runtime, but may result in a more effective preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
1 |
Maximum Iterations
- Syntax
Maximum Iterations value
- Summary
Set the maximum number of iterations of the par_ilut algorithm.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
5 |
Reordering
- Syntax
Reordering
- Summary
Determine whether or not to apply an RCM reordering.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
ON |
Subdomain Overlap Level
- Syntax
Subdomain Overlap Level value
- Summary
Set the level of subdomain overlap used in constructing the preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
7.5.3.8. Fastilu Preconditioner
- Scope
Cg Solver
- Summary
Use a domain-decomposition FastILU(k) preconditioner.
- Description
FastILU is a beta preconditioner that uses an iterative approximation to the standard DD-ILU preconditioner in order to expose more parallelism for potentially better performance on GPUs.
begin Fastilu Preconditioner Damping Factor value Fill Level value Reordering Subdomain Overlap Level value Sweeps value Triangular Solver Type end Fastilu Preconditioner
7.5.3.8.1. Line Commands
Damping Factor
- Syntax
Damping Factor value
- Summary
Set the damping factor for the FastILU algorithm.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
0.2 |
Fill Level
- Syntax
Fill Level value
- Summary
Set the level of fill, k, for FastILU(k).
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
Reordering
- Syntax
Reordering
- Summary
Determine whether or not to apply an RCM reordering.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
ON |
Subdomain Overlap Level
- Syntax
Subdomain Overlap Level value
- Summary
Set the level of subdomain overlap used in constructing the preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
0 |
Sweeps
- Syntax
Sweeps value
- Summary
Set the number of sweeps for iteratively computing the ILU approximation via the FastILU algorithm.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
integer |
5 |
Triangular Solver Type
- Syntax
Triangular Solver Type
- Summary
Set the triangular solver type for FastILU
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{fast | standard} |
Fast |
7.5.3.9. Expert Ifpack2 Preconditioner
- Scope
Cg Solver
- Summary
Use an Ifpack2 preconditioner with parameters specified in an XML file.
begin Expert Ifpack2 Preconditioner Xml File value end Expert Ifpack2 Preconditioner
7.5.3.9.1. Line Commands
Xml File
- Syntax
Xml File value
- Summary
Supply the name of an XML file containing an Ifpack2 parameter list.
- Description
The supplied XML file must contain a ParameterList with a “preconditioner type:” string parameter corresponding to the desired type of Ifpack2 preconditioner as well as any additional parameters for that preconditioner.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
7.5.3.10. Expert Teko Preconditioner
- Scope
Cg Solver
- Summary
Use a teko preconditioner with parameters specified in an XML file.
begin Expert Teko Preconditioner Define Matrix Subblock Number = number Dof = dof name Inverse Method value Xml File value end Expert Teko Preconditioner
7.5.3.10.1. Line Commands
Define Matrix Subblock
- Syntax
Define Matrix Subblock Number = number Dof = dof name
- Summary
Define the dof associated with a matrix subblock for block preconditioning.
- Description
Define the matrix subblock number and the equation to apply to that subblock. Please see https://trilinos.github.io/teko.html for more details
Parameter |
Value |
Default |
|---|---|---|
number |
integer |
– |
dof name |
string |
– |
Inverse Method
- Syntax
Inverse Method value
- Summary
Supply the name of the inverse method.
- Description
The name of the inverse method must correspond to the name of a parameter list specified in the teko XML file. Please see https://trilinos.github.io/teko.html for more details
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |
Xml File
- Syntax
Xml File value
- Summary
Supply the name of an XML file containing a teko parameter list.
- Description
The supplied XML file must contain a ParameterList with a valid teko parameter list. Please see https://trilinos.github.io/teko.html for more details
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
string |
– |