MIXING
Define type and parameters for mixing procedures to be applied to the density matrix. Normally, only one type of mixing method should be accepted. The mixing procedures activated by this section are only active for diagonalization methods and linear scaling SCF, i.e. not with minimization methods based on OT. [Edit on GitHub]
Keywords
Keyword descriptions
- SECTION_PARAMETERS: logical = T
Lone keyword:
T
Usage: &MIXING ON
Controls the activation of the mixing procedure [Edit on GitHub]
- ALPHA: real = 4.00000000E-001
Usage: ALPHA 0.2
Fraction of new density to be included [Edit on GitHub]
- BETA: real = 5.00000000E-001 [bohr^-1]
Usage: BETA 1.5
Denominator parameter in Kerker damping introduced to suppress charge sloshing: rho_mix(g) = rho_in(g) + alphag^2/(g^2 + beta^2)(rho_out(g)-rho_in(g)) [Edit on GitHub]
- BROY_W0: real = 1.00000000E-002
Usage: BROY_W0 0.03
w0 parameter used in Broyden mixing [Edit on GitHub]
- BROY_WMAX: real = 3.00000000E+001
Usage: BROY_WMAX 10.0
- BROY_WREF: real = 1.00000000E+002
Usage: BROY_WREF 0.2
- GMIX_P: logical = F
Lone keyword:
T
Usage: GMIX_P
Activate the mixing of the density matrix, using the same mixing coefficient applied for the g-space mixing. [Edit on GitHub]
- MAX_GVEC_EXP: real = -1.00000000E+000
Usage: MAX_GVEC_EXP 3.
Restricts the G-space mixing to lower part of G-vector spectrum, up to a G0, by assigning the exponent of the Gaussian that can be represented by vectors smaller than G0 within a certain accuracy. [Edit on GitHub]
- MAX_STEP: real = 1.00000000E-001
Usage: MAX_STEP .2
Upper bound for the magnitude of the unpredicted step size in the update by the multisecant mixing scheme [Edit on GitHub]
- METHOD: enum = DIRECT_P_MIXING
Usage: METHOD KERKER_MIXING
Valid values:
NONE
No mixing is appliedDIRECT_P_MIXING
Direct mixing of new and old density matricesKERKER_MIXING
Mixing of the potential in reciprocal space using the Kerker dampingPULAY_MIXING
Pulay mixingBROYDEN_MIXING
Broyden mixingBROYDEN_MIXING_NEW
Broyden mixing second versionMULTISECANT_MIXING
Multisecant scheme for mixing
Mixing method to be applied [Edit on GitHub]
- NBUFFER: integer = 4
Aliases: NPULAY ,NBROYDEN ,NMULTISECANT
Usage: NBUFFER 2
Number of previous steps stored for the actual mixing scheme [Edit on GitHub]
- NMIXING: integer = 2
Usage: NMIXING 1
Minimal number of density mixing (should be greater than 0), before starting DIIS [Edit on GitHub]
- NSKIP: integer = 0
Aliases: NSKIP_MIXING
Usage: NSKIP 10
Number of initial iteration for which the mixing is skipped [Edit on GitHub]
- N_SIMPLE_MIX: integer = 0
Aliases: NSIMPLEMIX
Usage: NSIMPLEMIX
Number of kerker damping iterations before starting other mixing procedures [Edit on GitHub]
- PULAY_ALPHA: real = 0.00000000E+000
Usage: PULAY_ALPHA 0.2
Fraction of new density to be added to the Pulay expansion [Edit on GitHub]
- PULAY_BETA: real = 1.00000000E+000
Usage: PULAY_BETA 0.2
Fraction of residual contribution to be added to Pulay expansion [Edit on GitHub]
- REGULARIZATION: real = 1.00000000E-005
Usage: REGULARIZATION 0.000001
Regularization parameter to stabilize the inversion of the residual matrix {Yn^t Yn} in the multisecant mixing scheme (noise) [Edit on GitHub]
- R_FACTOR: real = 5.00000000E-002
Usage: R_FACTOR .12
Control factor for the magnitude of the unpredicted step size in the update by the multisecant mixing scheme [Edit on GitHub]