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. |
| |
| 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 |
| 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 }