ALMO_OPTIMIZER_PCG
Controls the PCG optimization of block-diagonal ALMOs. [Edit on GitHub]
Keywords
Keyword descriptions
- CONJUGATOR: enum = HAGER_ZHANG
Usage: CONJUGATOR POLAK_RIBIERE
Valid values:
ZEROSteepest descentPOLAK_RIBIEREPolak and RibiereFLETCHER_REEVESFletcher and ReevesHESTENES_STIEFELHestenes and StiefelFLETCHERFletcher (Conjugate descent)LIU_STOREYLiu and StoreyDAI_YUANDai and YuanHAGER_ZHANGHager and Zhang
Various methods to compute step directions in the PCG optimization [Edit on GitHub]
- EPS_ERROR: real = 1.00000000E-005
Usage: EPS_ERROR 1.E-6
Target value of the MAX norm of the error [Edit on GitHub]
- EPS_ERROR_EARLY: real = -1.00000000E+000
Usage: EPS_ERROR_EARLY 1.E-2
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: real = 1.00000000E-003
Usage: LIN_SEARCH_EPS_ERROR 1.E-2
Target value of the gradient norm during the linear search [Edit on GitHub]
- LIN_SEARCH_STEP_SIZE_GUESS: real = 1.00000000E+000
Usage: LIN_SEARCH_STEP_SIZE_GUESS 0.1
The size of the first step in the linear search [Edit on GitHub]
- MAX_ITER: integer = 20
Usage: MAX_ITER 100
Maximum number of iterations [Edit on GitHub]
- MAX_ITER_EARLY: integer = -1
Usage: MAX_ITER_EARLY 5
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: integer = 0
Usage: MAX_ITER 10
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: enum = DEFAULT
Usage: PRECONDITIONER DOMAIN
Valid values:
NONEDo not use preconditionerDEFAULTSame as DOMAIN preconditionerDOMAINInvert preconditioner domain-by-domain. The main component of the linear scaling algorithmFULLSolve linear equations step=-H.grad on the entire space
Select a preconditioner for the conjugate gradient optimization [Edit on GitHub]
- PRECOND_FILTER_THRESHOLD: real = -1.00000000E+000
Usage: PRECOND_FILTER_THRESHOLD 0.1
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]