MIXING
Define type and parameters for mixing the active-space density matrix during self-consistent embedding. This mixing is independent of the SCF method used for the reference calculation, including OT. NBUFFER controls the mixing history; N_SIMPLE_MIX controls the initial direct-mixing steps. [Edit on GitHub]
Keywords
Keyword descriptions
SECTION_PARAMETERS
Type: logical
Default: T
Lone keyword: T
Usage: &MIXING ON
Description: Controls the activation of the mixing procedure [Edit on GitHub]
ALPHA
Type: real
Default: 4.00000000E-001
Usage: ALPHA 0.2
Description: Fraction of new density to be included [Edit on GitHub]
ALPHA_MAG
Type: real
Default: -1.00000000E+000
Usage: ALPHA_MAG 0.8
Description: Fraction of new magnetization density to be included (for spin-polarized calculations, ispin=2 channel after rho_total/m transform). A negative value (default) means: use the same value as ALPHA. For magnetic transition-metal systems, a larger value (e.g. 0.8-1.6) than ALPHA often improves convergence. [Edit on GitHub]
BETA
Type: real
Default: 5.00000000E-001 [bohr^-1]
Usage: BETA 1.5
Description: 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]
BETA_MAG
Type: real
Default: -1.00000000E+000 [bohr^-1]
Usage: BETA_MAG 0.0
Description: Kerker damping parameter for the magnetization channel (for spin-polarized calculations). A negative value (default) means: use the same value as BETA. Set to 0.0 to disable Kerker screening on the magnetization density, which avoids suppression of long-range magnetic order formation in transition-metal systems. [Edit on GitHub]
BROY_W0
Type: real
Default: 1.00000000E-002
Usage: BROY_W0 0.03
Description: Regularization weight used in Broyden mixing. For the original BROYDEN_MIXING method this is the constant diagonal regularization of the small Broyden system. For MODIFIED_BROYDEN_MIXING it is the corresponding diagonal regularization of the dynamically weighted Broyden system. The default follows tblite. [Edit on GitHub]
BROY_WMAX
Type: real
Default: 1.00000000E+005
Usage: BROY_WMAX 100000.0
Description: Upper bound for the dynamic residual weight. This keyword is only used by MODIFIED_BROYDEN_MIXING; the original BROYDEN_MIXING path is unchanged. The lower bound is fixed to 1.0. The default follows tblite. [Edit on GitHub]
BROY_WREF
Type: real
Default: 1.00000000E-002
Usage: BROY_WREF 0.01
Description: Reference factor for the dynamic residual weight. This keyword is only used by MODIFIED_BROYDEN_MIXING; the original BROYDEN_MIXING path is unchanged. The effective history weight is proportional to BROY_WREF divided by the residual norm, clipped to the interval [1, BROY_WMAX]. The default follows tblite. [Edit on GitHub]
GMIX_P
Type: logical
Default: F
Lone keyword: T
Usage: GMIX_P
Description: Activate the mixing of the density matrix, using the same mixing coefficient applied for the g-space mixing. [Edit on GitHub]
MAX_GVEC_EXP
Type: real
Default: -1.00000000E+000
Usage: MAX_GVEC_EXP 3.
Description: 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
Type: real
Default: 1.00000000E-001
Usage: MAX_STEP .2
Description: Upper bound for the magnitude of the unpredicted step size in the update by the multisecant mixing scheme [Edit on GitHub]
METHOD
Type: enum
Default: DIRECT_P_MIXING
Usage: METHOD KERKER_MIXING
Description: Mixing method to be applied [Edit on GitHub]
Valid values:
NONENo mixing is appliedDIRECT_P_MIXINGDirect mixing of new and old density matricesKERKER_MIXINGMixing of the potential in reciprocal space using the Kerker dampingPULAY_MIXINGPulay mixingBROYDEN_MIXINGOriginal CP2K Broyden mixing with a constant BROY_W0 regularizationMODIFIED_BROYDEN_MIXINGModified Broyden mixing with dynamic residual weights controlled by BROY_W0, BROY_WREF, and BROY_WMAXMULTISECANT_MIXINGMultisecant scheme for mixingNEW_PULAY_MIXINGNew Pulay mixing using Sundararaman et al.’s metric and preconditioner, with improved convergence behavior and suitable for grand canonical SCF
NBUFFER
Type: integer
Default: 4
Aliases: NPULAY, NBROYDEN, NMULTISECANT
Usage: NBUFFER 2
Description: Number of previous steps stored for the actual mixing scheme [Edit on GitHub]
NMIXING
Type: integer
Default: 2
Usage: NMIXING 1
Description: Legacy SCF DIIS keyword with no effect on active-space mixing [Edit on GitHub]
Warning
The keyword NMIXING is deprecated and may be removed in a future version.
NMIXING has no effect in ACTIVE_SPACE%MIXING. Use NBUFFER for the history length or N_SIMPLE_MIX for initial direct-mixing steps; these have different meanings.
NSKIP
Type: integer
Default: 0
Aliases: NSKIP_MIXING
Usage: NSKIP 10
Description: Number of initial iteration for which the mixing is skipped [Edit on GitHub]
N_SIMPLE_MIX
Type: integer
Default: 0
Aliases: NSIMPLEMIX
Usage: NSIMPLEMIX
Description: Number of initial direct-mixing iterations after NSKIP before starting the selected mixing procedure [Edit on GitHub]
PULAY_ALPHA
Type: real
Default: 0.00000000E+000
Usage: PULAY_ALPHA 0.2
Description: Fraction of new density to be added to the Pulay expansion [Edit on GitHub]
PULAY_BETA
Type: real
Default: 1.00000000E+000
Usage: PULAY_BETA 0.2
Description: Fraction of residual contribution to be added to Pulay expansion [Edit on GitHub]
QK
Type: real
Default: 3.00000000E+000 [bohr^-1]
Usage: QK 3.0
Description: The control parameter in the denominator of the Kerker preconditioner used in the new Pulay mixing, introduced to suppress charge sloshing: Kerker preconditioner: K(g) = alpha * (g^2 + qkapa^2)/(g^2 + qk^2 + qkapa^2) [Edit on GitHub]
QKAPPA
Type: real
Default: 2.50000000E-001 [bohr^-1]
Usage: QKAPPA 0.25
Description: The control parameter in the numerator and the denominator of the Pulay metric and the Kerker preconditioner used in the new Pulay mixing, introduced to ensure a finite and well-defined Pulay metric at g=0 and a non-zero and well-defined Kerker preconditioner at g=0 [Edit on GitHub]
QM
Type: real
Default: 7.50000000E-001 [bohr^-1]
Usage: QM 0.75
Description: The control parameter in the numerator of the Pulay metric used in the new Pulay mixing, introduced to suppress charge sloshing: Pulay metric: M(g) = (g^2 + qm^2 + qkapa^2)/(g^2 + qkapa^2) [Edit on GitHub]
REGULARIZATION
Type: real
Default: 1.00000000E-005
Usage: REGULARIZATION 0.000001
Description: Regularization parameter to stabilize the inversion of the residual matrix {Yn^t Yn} in the multisecant mixing scheme (noise) [Edit on GitHub]
R_FACTOR
Type: real
Default: 5.00000000E-002
Usage: R_FACTOR .12
Description: Control factor for the magnitude of the unpredicted step size in the update by the multisecant mixing scheme [Edit on GitHub]