# 6.3.3. Tpetra Preconditioners

## 6.3.3.1. Muelu Preconditioner

Scope

  Cg Solver

Summary

  Use a MueLu preconditioner.

    begin Muelu Preconditioner

       Xml File {=} value

    end Muelu Preconditioner

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

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

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

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

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

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

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

## 6.3.3.5. Dd-Ilu Preconditioner

Scope

  Cg Solver

Summary

  Use a domain-decomposition ILU(k) preconditioner.

    begin Dd-Ilu Preconditioner

       Fill Level {=} value

       Reordering {=} {off | on}

       Subdomain Overlap Level {=} value

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

    end Dd-Ilu Preconditioner

### 6.3.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 {=} {off | on}

Summary

  Determine whether or not to apply an RCM reordering.

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

## 6.3.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 {=} {off | on}

       Subdomain Overlap Level {=} value

    end Dd-Ilut Preconditioner

### 6.3.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 {=} {off | on}

Summary

  Determine whether or not to apply an RCM reordering.

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

## 6.3.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 {=} {off | on}

       Subdomain Overlap Level {=} value

    end Dd-Parilut Preconditioner

### 6.3.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 {=} {off | on}

Summary

  Determine whether or not to apply an RCM reordering.

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

## 6.3.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 {=} {off | on}

       Subdomain Overlap Level {=} value

       Sweeps {=} value

       Triangular Solver Type {=} {fast | standard}

    end Fastilu Preconditioner

### 6.3.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 {=} {off | on}

Summary

  Determine whether or not to apply an RCM reordering.

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

Summary

  Set the triangular solver type for FastILU

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

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

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

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

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