On this page:
12.1 direct (release)
12.1.1 lu (release)
12.1.2 multi_  frontal (release)

12 linear_equation_solvers (release)

The linear_equation_solvers objects define parameters for linear equation solution strategies.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

The user defined identifier for this linear solver object.

 

direct (release)

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

linear_equation_solvers: [ { label: "multi_frontal", direct: { multi_frontal: { use_diagonal_scaling: true } } } ]

12.1 direct (release)

Specifies that a direct solver will be used in the linear solve.

Name

 

Type

 

Description

 

Default

lu (release) | multi_frontal (release)

 

SUB OBJECT | SUB OBJECT

 

User must define one of the given keywords that specify the type of direct solver to be used.

 

Example Usage:

direct: { multi_frontal: { use_diagonal_scaling: true } }

12.1.1 lu (release)

Specifies a direct linear solver that uses a Lower-Upper (LU) factorization.

Name

 

Type

 

Description

 

Default

use_diagonal_scaling [optional]

 

true|false

 

If true, symmetric diagonal scaling is performed on the system before solving. For a linear system , this transforms the system into , where is unless is zero and then it is 1. This should NOT be used if the linear solver is being used by a nonlinear solver that utilizes a line-search.

 

false

Example Usage:

lu: { use_diagonal_scaling: false }

12.1.2 multi_frontal (release)

Specifies a direct linear solver that uses multifrontal factorization. This method performs LU or LDL factorizations (depending on symmetry of the linear system) on multiple subsets of the linear system. Each subset is a “front” and is essentially the transition region between the part of the system already finished and the part not touched yet. Because of this approach, the multifrontal solver typically uses considerably less memory than the LU method and, as a result, is typically faster than the LU approach. Internal testing at Coreform has found the multifrontal method to be slightly less robust than the LU method, sometimes resulting in inexplicable failures to converge.

Name

 

Type

 

Description

 

Default

use_diagonal_scaling [optional]

 

true|false

 

If true, symmetric diagonal scaling is performed on the system before solving. For a linear system , this transforms the system into , where is unless is zero and then it is 1. This should NOT be used if the linear solver is being used by a nonlinear solver that utilizes a line-search.

 

false

Example Usage:

multi_frontal: { use_diagonal_scaling: true }