ALMO_OPTIMIZER_PCG

Controls the PCG optimization of block-diagonal ALMOs. [Edit on GitHub]

Keywords

Keyword descriptions

CONJUGATOR

Type: enum
Default: HAGER_ZHANG
Usage: CONJUGATOR POLAK_RIBIERE

Description: Various methods to compute step directions in the PCG optimization

Valid values:

  • ZERO Steepest descent

  • POLAK_RIBIERE Polak and Ribiere

  • FLETCHER_REEVES Fletcher and Reeves

  • HESTENES_STIEFEL Hestenes and Stiefel

  • FLETCHER Fletcher (Conjugate descent)

  • LIU_STOREY Liu and Storey

  • DAI_YUAN Dai and Yuan

  • HAGER_ZHANG Hager and Zhang

[Edit on GitHub]

EPS_ERROR

Type: real
Default: 1.00000000E-005
Usage: EPS_ERROR 1.E-6

Description: Target value of the MAX norm of the error

[Edit on GitHub]

EPS_ERROR_EARLY

Type: real
Default: -1.00000000E+000
Usage: EPS_ERROR_EARLY 1.E-2

Description: Target value of the MAX norm of the error for truncated SCF (e.g. Langevin-corrected MD). Negative values mean that this keyword is not used.

[Edit on GitHub]

LIN_SEARCH_EPS_ERROR

Type: real
Default: 1.00000000E-003
Usage: LIN_SEARCH_EPS_ERROR 1.E-2

Description: Target value of the gradient norm during the linear search

[Edit on GitHub]

LIN_SEARCH_STEP_SIZE_GUESS

Type: real
Default: 1.00000000E+000
Usage: LIN_SEARCH_STEP_SIZE_GUESS 0.1

Description: The size of the first step in the linear search

[Edit on GitHub]

MAX_ITER

Type: integer
Default: 20
Usage: MAX_ITER 100

Description: Maximum number of iterations

[Edit on GitHub]

MAX_ITER_EARLY

Type: integer
Default: -1
Usage: MAX_ITER_EARLY 5

Description: Maximum number of iterations for truncated SCF (e.g. Langevin-corrected MD). Negative values mean that this keyword is not used.

[Edit on GitHub]

MAX_ITER_OUTER_LOOP

Type: integer
Default: 0
Usage: MAX_ITER_OUTER_LOOP 10

Description: Maximum number of iterations in the outer loop. Use the outer loop to update the preconditioner and reset the conjugator. This can speed up convergence significantly.

[Edit on GitHub]

PRECONDITIONER

Type: enum
Default: DEFAULT
Usage: PRECONDITIONER DOMAIN

Description: Select a preconditioner for the conjugate gradient optimization

Valid values:

  • NONE Do not use preconditioner

  • DEFAULT Same as DOMAIN preconditioner

  • DOMAIN Invert preconditioner domain-by-domain. The main component of the linear scaling algorithm

  • FULL Solve linear equations step=-H.grad on the entire space

[Edit on GitHub]

PRECOND_FILTER_THRESHOLD

Type: real
Default: -1.00000000E+000
Usage: PRECOND_FILTER_THRESHOLD 0.1

Description: Select eigenvalues of the preconditioner that are smaller than the threshold and project out the corresponding eigenvectors from the gradient. No matter how large the threshold is the maximum number of projected eienvectors for a fragment equals to the number of occupied orbitals of fragment’s neighbors.

[Edit on GitHub]