Mixing
Name MixField
Section SCF::Mixing
Type integer
Selects what should be mixed during the SCF cycle. Note that
currently the exact-exchange part of hybrid functionals is not
mixed at all, which would require wavefunction-mixing, not yet
implemented. This may lead to instabilities in the SCF cycle,
so starting from a converged LDA/GGA calculation is recommended
for hybrid functionals. The default depends on the TheoryLevel
and the exchange-correlation potential used.
This is not used in case of imaginary-time evolution.
Options:
- none:
No mixing is done. This is the default for independent
particles.
- potential:
The Kohn-Sham potential is mixed. This is the default for other cases.
- density:
Mix the density.
- states:
(Experimental) Mix the states. In this case, the mixing is always linear.
Name Mixing
Section SCF::Mixing
Type float
Default 0.3
The linear, Broyden and DIIS scheme depend on a "mixing parameter", set by this variable.
Must be 0 < Mixing <= 1.
Name MixingKerker
Section SCF::Mixing
Type logical
Default false
(Experimental) If set to yes, Octopus will use the Kerker preconditioner
for the mixing operator applied in the linear and Broyden mixing schemes.
When using preconditioning with the Broyden scheme, the user should increase the Mixing from its default
to between 0.5 and 0.8, for optimal results.
The implementation follows Yoshinori Shiihara et al., Modelling Simul. Mater. Sci. Eng. 16 (2008), 035004
Name MixingKerkerFactor
Section SCF::Mixing
Type float
Default 1.0
The screening factor, $q_0$ in the Kerker preconditioner in units of inverse length.
For small wave vectors, q, screening behaves like $\frac{Aq}{q_0}$, where A is the mixing coefficient.
An optimal value is determined empirically for a given system and mixing coeffient, however the default
is a reasonable choice in many cases.
Name MixingPreconditioner
Section SCF::Mixing
Type logical
Default false
(Experimental) If set to yes, Octopus will use a preconditioner
for the mixing operator.
This preconditioner is disabled for systems with dimension other than 3.
Name MixingResidual
Section SCF::Mixing
Type float
Default 0.05
In the DIIS mixing it is benefitial to include a bit of
residual into the mixing. This parameter controls this amount.
Name MixingRestart
Section SCF::Mixing
Type integer
Default 20
In the Broyden scheme, the mixing is restarted after
the number of iterations given by this variable.
Set this to zero to disable restarting the mixing.
Name MixingScheme
Section SCF::Mixing
Type integer
Default broyden
The scheme used to produce, at each iteration in the self-consistent cycle
that attempts to solve the Kohn-Sham equations, the input density from the value
of the input and output densities of previous iterations.
Options:
- linear:
Simple linear mixing.
- broyden:
Broyden scheme [C. G Broyden, Math. Comp. 19, 577 (1965);
D. D. Johnson, Phys. Rev. B 38, 12807 (1988)].
The scheme is slightly adapted, see the comments in the code.
For complex functions (e.g. Sternheimer with EMEta > 0), we use the generalization
with a complex dot product.
- diis:
Direct inversion in the iterative subspace (diis)
scheme [P. Pulay, Chem. Phys. Lett., 73, 393
(1980)] as described in [G. Kresse, and J. Furthmueller,
Phys. Rev. B 54, 11169 (1996)].
Name MixInterval
Section SCF::Mixing
Type integer
Default 1
When this variable is set to a value different than 1 (the
default) a combined mixing scheme will be used, with MixInterval
- 1 steps of linear mixing followed by 1 step of the selected
mixing. For the moment this variable only works with DIIS mixing.
Name MixNumberSteps
Section SCF::Mixing
Type integer
Default 4
In the Broyden scheme, the new input density or potential is constructed
from the values of the densities/potentials of a given number of previous iterations.
This number is set by this variable. Must be greater than 1.