***linear_solver dissection#

Description#

This keyword specifies that the dissection solver is used to solve the linear system of equations involved in the global step of the Newton-Raphson algorithm. All parameters below are optional. Default values are already set and satisfactory in most cases.

Note

The use of this tool requires the Dissection interface to be compiled, which can be checked by the presence of libZDissection in your library path.

Syntax#

[ **scaling scaling_type ] [ **ordering ordering_type ] [ **pivoting_threshold threshold ] [ **kernel_detection_all ] [ **number_iterations int ] [ **minimal_nodes_per_leaf int ] [ **dim_aug_kern dim for kernel detectiontype ] [ **check_solution ] [ **dump_operator ]

Where

**scaling

specifies the scaling used to increase the accuracy of the solution. scaling can take these three values none (i.e. scaling disabled), diagonal (i.e. scaling using diagonal coefficients of the matrix) or kkt (i.e. scaling based on infinite norm of rows and columns). Default value is diagonal.

**ordering

specifies the renumbering used to reduce fill in. ordering can take these two values tridiag (i.e. Cuthill-McKee algorithm), scotch (i.e. ordering using SCOTCH software). Default value is scotch.

**pivoting_threshold

specifies the threshold used to determine null pivots. Default value is set to \(10^{-2}\).

**kernel_detection_all

activate the full detection of kernel. Not needed for semi-definite matrices. Must be enabled for indefinite matrices. Disabled by default.

**number_iterations

specifies the number of nested dissections. It is by default set to \(-1\) (i.e. automatic choice).

**minimal_nodes_per_leaf

specifies the minimal size of dissected parts. It is by default set to \(128\).

**dim_aug_kern

specifies the size of Schur complements involved for null pivots detection. Default value is \(4\) (i.e \(2 \times 2\) Schur complements).

**check_solution

checks the residual. Only for debugging purpose.

**dump_operator

dumps the matrix. Only for debugging purpose.

Example#

***linear_solver dissection
  **scaling kkt
  **ordering scotch
  **pivoting_threshold 1.0e-2