Parameters controlling optimization methods that are compatible only with CDFT based constraints (i.e. CDFT SCF is active). Specifically, the control parameters for the Broyden and Newton optimizers are defined in this section. [Edit on GitHub]
- BROYDEN_TYPE: enum = BT1
Usage: BROYDEN_TYPE BT1
BT1Broyden’s first method, also known as the good method. The initial Jacobian is built from MD history if available. Otherwise switches to SD for one SCF iteration until a Jacobian can be built from the SCF history.
BT1_EXPLICITSame as BT1, but computes the explicit Jacobian with finite differences. Requires a CDFT SCF procedure to be active.
BT2Same as BT1, but uses Broyden’s second method, also known as the bad method.
BT2_EXPLICITSame as BT1_EXPLICIT, but using Broyden’s second method.
BT1_LSSame as BT1, but uses backtracking line search for optimizing the step size (see optimizer NEWTON_LS).
BT1_EXPLICIT_LSSame as BT1_EXPLICIT, but uses backtracking line search for optimizing the step size.
BT2_LSSame as BT2, but uses backtracking line search for optimizing the step size.
BT2_EXPLICIT_LSSame as BT2_EXPLICIT, but uses backtracking line search for optimizing the step size.
Specifies the Broyden optimizer variant to use. [Edit on GitHub]
- CONTINUE_LS: logical = F
Usage: CONTINUE_LS TRUE
Continue backtracking line search until MAX_LS steps are reached or the norm of the CDFT gradient no longer decreases. Default (false) behavior exits the line search procedure on the first step that the gradient decreases. [Edit on GitHub]
- FACTOR_LS: real = 5.00000000E-001
Usage: FACTOR_LS 0.5
Control parameter for backtracking line search. The step size is reduced by this factor on every line search iteration. Value must be between 0 and 1 (exclusive). [Edit on GitHub]
- JACOBIAN_FREQ: integer = 1 1
Usage: JACOBIAN_FREQ 1 1
Defines parameters that control how often the explicit Jacobian is built, which is needed by some optimizers. Expects two values. The first value determines how many consecutive CDFT SCF iterations should skip a rebuild, whereas the latter how many MD steps. The values can be zero (meaning never rebuild) or positive. Both values cannot be zero. [Edit on GitHub]
- JACOBIAN_RESTART: logical = F
Usage: JACOBIAN_RESTART TRUE
Restart the inverse Jacobian using the vector defined with keyword JACOBIAN_VECTOR. [Edit on GitHub]
- JACOBIAN_STEP: real = 5.00000000E-003
Usage: JACOBIAN_STEP 5.0E-3
Step size to use in the calculation of the inverse Jacobian with finite differences. Expects one value for all constraints, or one value per constraint. [Edit on GitHub]
- JACOBIAN_TYPE: enum = FD1
Usage: JACOBIAN_TYPE FD1
FD1First order forward difference (one extra energy evaluation per constraint).
FD1_BACKWARDFirst order backward difference (one extra energy evaluation per constraint).
FD2Second order forward difference (two extra energy evaluations per constraint).
FD2_BACKWARDSecond order backward difference (two extra energy evaluations per constraint).
FD1_CENTRALFirst order central difference (two extra energy evaluations per constraint).
Finite difference method used to calculate the inverse Jacobian needed by some optimizers. Compatible only with CDFT constraints. [Edit on GitHub]
- JACOBIAN_VECTOR: real
Usage: JACOBIAN_VECTOR 1.0 0.0
Defines the inverse Jacobian matrix. Useful for restarting calculations. Expects n^2 values where n is the total number of constraints. The matrix should be given in row major order. [Edit on GitHub]