# 7.5. Linear Solvers

This section is referenced in the following other sections

- Simulation Setup: Solving the problem

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

  - maxits: 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 1 (or -1): The linear solver encountered a recoverable internal error. As always, check the final linear solver residual reported in the log file to determine if it is serious or not.

  - 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 {=} {exact | exact_no_column_mod | remove | solver | solver_no_column_mod}

       Failed Solve Matrix Output {=} value

       Matrix Output {=} value

       Matrix Output Time Range {=} value1[ value2]

       Matrix Scaling {=} {diagonal | one_norm}

       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 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 {=} {exact | exact_no_column_mod | remove | solver | solver_no_column_mod}

Summary

  Control how Dirichlet BC’s are enforced. Fuego only.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {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} | –
value | real1[ real2] | –

###### Matrix Scaling

Syntax

  Matrix Scaling {=} {diagonal | one_norm}

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} | –
value | {diagonal | one_norm} | –

## 7.5.2. Solvers

### 7.5.2.1. Klu2 Solver

Scope

  Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a KLU2 direct solver.

    begin Klu2 Solver

    end Klu2 Solver

### 7.5.2.2. Superlu Solver

Scope

  Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a SUPERLU direct solver.

    begin Superlu Solver

    end Superlu Solver

### 7.5.2.3. Umfpack Solver

Scope

  Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a UMFPACK direct solver.

    begin Umfpack Solver

    end Umfpack Solver

### 7.5.2.4. Cg Solver

Scope

  Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a conjugate gradient solver.

    begin Cg Solver

       Convergence Tolerance {=} value [ Minimum = tolerance_floor  ]

       Maximum Iterations {=} value

       Residual Output {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       begin Dd-Ilu Preconditioner
       end

       begin Dd-Ilut Preconditioner
       end

       begin Dd-Parilut Preconditioner
       end

       begin Expert Ifpack2 Preconditioner
       end

       begin Fastilu Preconditioner
       end

       begin Jacobi Preconditioner
       end

       begin Muelu Preconditioner
       end

       begin Preset 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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {none | preconditioned_r0 | r0 | rhs} | r0

### 7.5.2.5. Bicgstab Solver

Scope

  Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a bicgstab solver.

    begin Bicgstab Solver

       Convergence Tolerance {=} value [ Minimum = tolerance_floor  ]

       Maximum Iterations {=} value

       Residual Output {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       begin Dd-Ilu Preconditioner
       end

       begin Dd-Ilut Preconditioner
       end

       begin Dd-Parilut Preconditioner
       end

       begin Expert Ifpack2 Preconditioner
       end

       begin Fastilu Preconditioner
       end

       begin Jacobi Preconditioner
       end

       begin Muelu Preconditioner
       end

       begin Preset 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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {none | preconditioned_r0 | r0 | rhs} | r0

### 7.5.2.6. Gmres Solver

Scope

  Teko Block Solver, Teko Subblock Solver, Tpetra Equation Solver

Summary

  Use a GMRES solver.

    begin Gmres Solver

       Convergence Tolerance {=} value [ Minimum = tolerance_floor  ]

       Maximum Iterations {=} value

       Residual Output {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       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 Preset Preconditioner
       end

       begin Sgs Preconditioner
       end

       begin Sgs2 Preconditioner
       end

       begin Teko 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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {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

  Teko Subblock Solver, 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 {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       Restart Iterations {=} value

       begin Dd-Ilu Preconditioner
       end

       begin Dd-Ilut Preconditioner
       end

       begin Dd-Parilut Preconditioner
       end

       begin Expert Ifpack2 Preconditioner
       end

       begin Fastilu Preconditioner
       end

       begin Jacobi Preconditioner
       end

       begin Muelu Preconditioner
       end

       begin Preset 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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {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

  Teko Subblock Solver, 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 {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       Restart Iterations {=} value

       begin Dd-Ilu Preconditioner
       end

       begin Dd-Ilut Preconditioner
       end

       begin Dd-Parilut Preconditioner
       end

       begin Expert Ifpack2 Preconditioner
       end

       begin Fastilu Preconditioner
       end

       begin Jacobi Preconditioner
       end

       begin Muelu Preconditioner
       end

       begin Preset 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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {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

  Teko Block Solver, Teko Subblock Solver, 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 Preset Preconditioner
       end

       begin Sgs Preconditioner
       end

       begin Sgs2 Preconditioner
       end

       begin Teko 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

  Teko Subblock Solver, 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 {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       Solver Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric}

    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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {none | preconditioned_r0 | r0 | rhs} | r0

###### Solver Type

Syntax

  Solver Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric}

Summary

  Set the preset solver type

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric} | –

### 7.5.2.11. Preset Solver

Scope

  Teko Block Solver, Teko Subblock Solver, 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 {=} [ {disabled | enabled}  ]

       Residual Scaling {=} {none | preconditioned_r0 | r0 | rhs}

       Solver Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric}

    end Preset Solver

#### 7.5.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 {=} [ {disabled | enabled} ]

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 {=} {none | preconditioned_r0 | r0 | rhs}

Summary

  Set the residual scaling for the linear solver

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {none | preconditioned_r0 | r0 | rhs} | r0

###### Solver Type

Syntax

  Solver Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric}

Summary

  Set the preset solver type

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_bicgstab | thermal_multigrid | thermal_symmetric} | –

## 7.5.3. Preconditioners

### 7.5.3.1. Expert Teko Preconditioner

Scope

  Expert Belos Solver, Gmres 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.1.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 | –

### 7.5.3.2. Teko Preconditioner

Scope

  Expert Belos Solver, Gmres Solver, Teko Block Preconditioner

Summary

  Use a teko preconditioner with parameters specified through the input deck.

    begin Teko Preconditioner

       Define Matrix Subblock Number = number Dof = dof name

       begin Block Gauss-Seidel Solver
       end

       begin Block Jacobi Solver
       end

       begin Hierarchical Block Gauss-Seidel Solver
       end

       begin Simple Solver
       end

       begin Teko Block Preconditioner Solver Name
       end

       begin Teko Block Solver Solver Name
       end

       begin Teko Subblock Preconditioner Solver Name
       end

       begin Teko Subblock Solver Solver Name
       end

    end Teko Preconditioner

#### 7.5.3.2.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 | –

### 7.5.3.3. Teko Subblock Solver

Scope

  Teko Preconditioner

Summary

  Define a solver to be used for one or more subblock(s)

    begin Teko Subblock Solver Solver Name

       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 Preset Solver
       end

       begin Superlu Solver
       end

       begin Umfpack Solver
       end

    end Teko Subblock Solver Solver Name

### 7.5.3.4. Teko Subblock Preconditioner

Scope

  Teko Preconditioner

Summary

  Define a preconditioner to be used to approximate the inverse of one or more subblock(s)

    begin Teko Subblock Preconditioner Solver Name

       begin Dd-Ilu Preconditioner
       end

       begin Dd-Ilut Preconditioner
       end

       begin Dd-Parilut Preconditioner
       end

       begin Expert Ifpack2 Preconditioner
       end

       begin Fastilu Preconditioner
       end

       begin Jacobi Preconditioner
       end

       begin Muelu Preconditioner
       end

       begin Preset Preconditioner
       end

       begin Sgs Preconditioner
       end

       begin Sgs2 Preconditioner
       end

    end Teko Subblock Preconditioner Solver Name

### 7.5.3.5. Teko Block Solver

Scope

  Teko Preconditioner

Summary

  Define a solver to be used to approximate the inverse of a set of subblocks in a hierarchical block Gauss-Seidel scheme.

    begin Teko Block Solver Solver Name

       begin Expert Belos Solver
       end

       begin Gmres Solver
       end

       begin Preset Solver
       end

    end Teko Block Solver Solver Name

### 7.5.3.6. Teko Block Preconditioner

Scope

  Teko Preconditioner

Summary

  Define a preconditioner to be used to approximate the inverse of a set of subblocks in a hierarchical block Gauss-Seidel scheme.

    begin Teko Block Preconditioner Solver Name

       begin Preset Preconditioner
       end

       begin Teko Preconditioner
       end

    end Teko Block Preconditioner Solver Name

### 7.5.3.7. Hierarchical Block Gauss-Seidel Solver

Scope

  Teko Preconditioner

Summary

  Use a Hierarchical Block Gauss-Seidel solver inside a Teko preconditioner.

    begin Hierarchical Block Gauss-Seidel Solver

       Use Block Inverse block inverse For Hierarchical Block number

       Use Subblocks subblocks... For Hierarchical Block number

       Use Upper Triangle {=} {false | true}

    end Hierarchical Block Gauss-Seidel Solver

#### 7.5.3.7.1. Line Commands

###### Use Block Inverse

Syntax

  Use Block Inverse block inverse For Hierarchical Block number

Summary

  Define the block solver to be used for a given hierarchical block.

Parameter | Value | Default
--- | --- | ---
block inverse | string | –
number | integer | –

###### Use Subblocks

Syntax

  Use Subblocks subblocks… For Hierarchical Block number

Summary

  Map subblock(s) to a hierarchical block, which is a set containing one or more blocks.

Parameter | Value | Default
--- | --- | ---
subblocks | integer… | –
number | integer | –

###### Use Upper Triangle

Syntax

  Use Upper Triangle {=} {false | true}

Summary

  Define whether to use upper triangular hierarchical block Gauss-Seidel

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {false | true} | FALSE

### 7.5.3.8. Muelu Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a MueLu preconditioner.

    begin Muelu Preconditioner

       Xml File {=} value

    end Muelu Preconditioner

#### 7.5.3.8.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.9. Jacobi Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a Jacobi preconditioner.

    begin Jacobi Preconditioner

       Damping Factor {=} value

       Number Of Sweeps {=} value

    end Jacobi Preconditioner

#### 7.5.3.9.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.10. Sgs2 Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

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.10.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.11. Sgs Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a symmetric Gauss-Seidel preconditioner.

    begin Sgs Preconditioner

       Damping Factor {=} value

       Number Of Sweeps {=} value

    end Sgs Preconditioner

#### 7.5.3.11.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.12. Dd-Ilu Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a domain-decomposition ILU(k) preconditioner.

    begin Dd-Ilu Preconditioner

       Fill Level {=} value

       Number Of Gpu Streams {=} value

       Reordering {=} {metis | off | on | rcm}

       Subdomain Overlap Level {=} value

       Use Thread Parallel Implementation {=} {off | on}

    end Dd-Ilu Preconditioner

#### 7.5.3.12.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

###### Number Of Gpu Streams

Syntax

  Number Of Gpu Streams {=} value

Summary

  DEVELOPER COMMAND: Set the number of GPU streams to use in GPU builds.

Description

  On each MPI rank the local matrix will be further decomposed into this number of diagonal sub-matrices and the ILU preconditioner will be applied to each diagonal sub-matrix in parallel using GPU streams.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | integer | 0

###### Reordering

Syntax

  Reordering {=} {metis | off | on | rcm}

Summary

  Choose the reordering method to apply to the local matrices.

Description

  By default reordering is ON which corresponds to the reordering method that typically performs best. In CPU builds the default reorder method is RCM, but in GPU builds it is METIS. METIS usually requires slightly higher iteration counts than RCM, but provides more parallelism for ILU on the GPU and usually runs faster on those machines as a result. If necessary REORDERING = RCM|METIS can be used to ensure the same reordering method is used regardless of machine type.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {metis | off | on | rcm} | 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 {=} {off | on}

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} | –
value | {off | on} | ON

### 7.5.3.13. Dd-Ilut Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a domain-decomposition ILUT preconditioner.

    begin Dd-Ilut Preconditioner

       Drop Tolerance {=} value

       Fill Fraction {=} value

       Reordering {=} {metis | off | on | rcm}

       Subdomain Overlap Level {=} value

    end Dd-Ilut Preconditioner

#### 7.5.3.13.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 {=} {metis | off | on | rcm}

Summary

  Choose the reordering method to apply to the local matrices.

Description

  By default reordering is ON which corresponds to the reordering method that typically performs best. In CPU builds the default reorder method is RCM, but in GPU builds it is METIS. METIS usually requires slightly higher iteration counts than RCM, but provides more parallelism for ILU on the GPU and usually runs faster on those machines as a result. If necessary REORDERING = RCM|METIS can be used to ensure the same reordering method is used regardless of machine type.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {metis | off | on | rcm} | 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.14. Dd-Parilut Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

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 {=} {metis | off | on | rcm}

       Subdomain Overlap Level {=} value

    end Dd-Parilut Preconditioner

#### 7.5.3.14.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 {=} {metis | off | on | rcm}

Summary

  Choose the reordering method to apply to the local matrices.

Description

  By default reordering is ON which corresponds to the reordering method that typically performs best. In CPU builds the default reorder method is RCM, but in GPU builds it is METIS. METIS usually requires slightly higher iteration counts than RCM, but provides more parallelism for ILU on the GPU and usually runs faster on those machines as a result. If necessary REORDERING = RCM|METIS can be used to ensure the same reordering method is used regardless of machine type.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {metis | off | on | rcm} | 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.15. Fastilu Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

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 {=} {metis | off | on | rcm}

       Subdomain Overlap Level {=} value

       Sweeps {=} value

       Triangular Solver Type {=} {fast | standard}

    end Fastilu Preconditioner

#### 7.5.3.15.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 {=} {metis | off | on | rcm}

Summary

  Choose the reordering method to apply to the local matrices.

Description

  By default reordering is ON which corresponds to the reordering method that typically performs best. In CPU builds the default reorder method is RCM, but in GPU builds it is METIS. METIS usually requires slightly higher iteration counts than RCM, but provides more parallelism for ILU on the GPU and usually runs faster on those machines as a result. If necessary REORDERING = RCM|METIS can be used to ensure the same reordering method is used regardless of machine type.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {metis | off | on | rcm} | 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 {=} {fast | standard}

Summary

  Set the triangular solver type for FastILU

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {fast | standard} | Fast

### 7.5.3.16. Expert Ifpack2 Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

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.16.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.17. Preset Preconditioner

Scope

  Bicgstab Solver, Cg Solver, Expert Belos Solver, Gcrodr Solver, Gmres Solver, Poly Solver, Teko Subblock Preconditioner

Summary

  Use a preset preconditioner for a specific linear system type.

Description

  The preset preconditioner 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 preconditioner settings. The equivalent command which produces the preconditioner 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 Chebyshev degree in a MueLu preconditioner).

    begin Preset Preconditioner

       Preconditioner Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid}

    end Preset Preconditioner

#### 7.5.3.17.1. Line Commands

###### Preconditioner Type

Syntax

  Preconditioner Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid}

Summary

  Set the preset preconditioner type

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid} | –

### 7.5.3.18. Preset Preconditioner

Scope

  Teko Block Preconditioner

Summary

  Use a preset preconditioner for a specific linear system type.

Description

  The preset preconditioner 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 preconditioner settings. The equivalent command which produces the preconditioner 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 Chebyshev degree in a MueLu preconditioner).

    begin Preset Preconditioner

       Preconditioner Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid}

    end Preset Preconditioner

#### 7.5.3.18.1. Line Commands

###### Preconditioner Type

Syntax

  Preconditioner Type {=} {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid}

Summary

  Set the preset preconditioner type

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {continuity | displacement_multigrid | high_aspect_continuity | multiphysics | scalar_transport | teko_multiphysics | teko_ns | thermal | thermal_multigrid} | –

### 7.5.3.19. Block Gauss-Seidel Solver

Scope

  Teko Preconditioner

Summary

  Use a Block Gauss-Seidel solver inside a Teko preconditioner.

    begin Block Gauss-Seidel Solver

       Use Default Inverse subblock inverse For Subblocks

       Use Inverse subblock inverse For Subblock number

       Use Upper Triangle {=} {false | true}

    end Block Gauss-Seidel Solver

#### 7.5.3.19.1. Line Commands

###### Use Default Inverse

Syntax

  Use Default Inverse subblock inverse For Subblocks

Summary

  Define a default solver/preconditioner to be used for across subblocks.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –

###### Use Inverse

Syntax

  Use Inverse subblock inverse For Subblock number

Summary

  Define the solver/preconditioner to be used for a given subblock.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –
number | integer | –

###### Use Upper Triangle

Syntax

  Use Upper Triangle {=} {false | true}

Summary

  Define whether to use upper triangular block Gauss-Seidel

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {false | true} | FALSE

### 7.5.3.20. Block Jacobi Solver

Scope

  Teko Preconditioner

Summary

  Use a Block Jacobi solver inside a Teko preconditioner.

    begin Block Jacobi Solver

       Use Default Inverse subblock inverse For Subblocks

       Use Inverse subblock inverse For Subblock number

    end Block Jacobi Solver

#### 7.5.3.20.1. Line Commands

###### Use Default Inverse

Syntax

  Use Default Inverse subblock inverse For Subblocks

Summary

  Define a default solver/preconditioner to be used for across subblocks.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –

###### Use Inverse

Syntax

  Use Inverse subblock inverse For Subblock number

Summary

  Define the solver/preconditioner to be used for a given subblock.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –
number | integer | –

### 7.5.3.21. Simple Solver

Scope

  Teko Preconditioner

Summary

  Use a SIMPLE/SIMPLEC solver inside a Teko preconditioner.

    begin Simple Solver

       Alpha {=} value

       Explicit Velocity Inverse Type {=} {absrowsum | diagonal | lumped}

       Use Default Inverse subblock inverse For Subblocks

       Use Inverse subblock inverse For Subblock number

    end Simple Solver

#### 7.5.3.21.1. Line Commands

###### Alpha

Syntax

  Alpha {=} value

Summary

  Set alpha value in SIMPLE block decomposition.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | real | 1

###### Explicit Velocity Inverse Type

Syntax

  Explicit Velocity Inverse Type {=} {absrowsum | diagonal | lumped}

Summary

  Set inverse type used for velocity term when forming the Pressure Schur complement operator.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
value | {absrowsum | diagonal | lumped} | ABSROWSUM

###### Use Default Inverse

Syntax

  Use Default Inverse subblock inverse For Subblocks

Summary

  Define a default solver/preconditioner to be used for across subblocks.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –

###### Use Inverse

Syntax

  Use Inverse subblock inverse For Subblock number

Summary

  Define the solver/preconditioner to be used for a given subblock.

Parameter | Value | Default
--- | --- | ---
subblock inverse | string | –
number | integer | –