6.3.2. Tpetra Solvers
6.3.2.1. Klu2 Solver
- Scope
Tpetra Equation Solver
- Summary
Use a KLU2 direct solver.
begin Klu2 Solver end Klu2 Solver
6.3.2.2. Superlu Solver
- Scope
Tpetra Equation Solver
- Summary
Use a SUPERLU direct solver.
begin Superlu Solver end Superlu Solver
6.3.2.3. Umfpack Solver
- Scope
Tpetra Equation Solver
- Summary
Use a UMFPACK direct solver.
begin Umfpack Solver end Umfpack Solver
6.3.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
6.3.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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.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
6.3.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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.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
6.3.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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.2.7. Flexible Gmres Solver
- Scope
Tpetra Equation Solver
- Summary
Use a flexible GMRES solver. This is required whenever some component of the preconditioner may change on a per-iteration basis. For example, if the preconditioner relies on an inner GMRES solver.
begin Flexible 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 Flexible Gmres Solver
6.3.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 |
Residual Output
- Syntax
Residual Output [ ]
- Summary
Output the linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.2.8. 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
6.3.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 |
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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.2.9. 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
6.3.2.9.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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 |
6.3.2.10. 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
6.3.2.10.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 |
– |
6.3.2.11. 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
6.3.2.11.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 linear residual history to files in the residual_output/ directory, which is created automatically. For timestep NNN and linear system NAME, this will output a .csv file named residual_output/linear_solves_NAME.stepNNN. This file includes information about the linear residual at every iteration across all nonlinear iterations.
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 | high_aspect_continuity | multiphysics | scalar_transport | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric} |
– |