CDFT_OPT
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]
Keywords
Keyword descriptions
- BROYDEN_TYPE: enum = BT1
Usage: BROYDEN_TYPE BT1
Valid values:
BT1
Broyden’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_EXPLICIT
Same as BT1, but computes the explicit Jacobian with finite differences. Requires a CDFT SCF procedure to be active.BT2
Same as BT1, but uses Broyden’s second method, also known as the bad method.BT2_EXPLICIT
Same as BT1_EXPLICIT, but using Broyden’s second method.BT1_LS
Same as BT1, but uses backtracking line search for optimizing the step size (see optimizer NEWTON_LS).BT1_EXPLICIT_LS
Same as BT1_EXPLICIT, but uses backtracking line search for optimizing the step size.BT2_LS
Same as BT2, but uses backtracking line search for optimizing the step size.BT2_EXPLICIT_LS
Same 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
Lone keyword:
T
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[2] = 1 1
Usage: JACOBIAN_FREQ 1 1
Mentions: ⭐Constrained DFT
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
Lone keyword:
T
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
Valid values:
FD1
First order forward difference (one extra energy evaluation per constraint).FD1_BACKWARD
First order backward difference (one extra energy evaluation per constraint).FD2
Second order forward difference (two extra energy evaluations per constraint).FD2_BACKWARD
Second order backward difference (two extra energy evaluations per constraint).FD1_CENTRAL
First 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]
- MAX_LS: integer = 5
Usage: MAX_LS 5
The maximum number of backtracking line search steps to perform. [Edit on GitHub]