Five charge mixing schemes in OpenMX Ver. 3.6 are available by the keyword 'scf.Mixing.Type':
Relevant keywords: scf.Init.Mixing.Weight, scf.Min.Mixing.Weight, scf.Max.Mixing.Weight
Relevant keywords:
scf.Init.Mixing.Weight,
scf.Min.Mixing.Weight,
scf.Max.Mixing.Weight,
scf.Mixing.History,
scf.Mixing.StartPulay
Relevant keywords:
scf.Init.Mixing.Weight,
scf.Min.Mixing.Weight,
scf.Max.Mixing.Weight,
scf.Mixing.History,
scf.Mixing.StartPulay
Relevant keywords:
scf.Init.Mixing.Weight,
scf.Min.Mixing.Weight,
scf.Max.Mixing.Weight,
scf.Kerker.factor
Relevant keywords:
scf.Init.Mixing.Weight,
scf.Min.Mixing.Weight,
scf.Max.Mixing.Weight,
scf.Mixing.History,
scf.Mixing.StartPulay,
scf.Mixing.EveryPulay,
scf.Kerker.factor
In addition, the charge sloshing, which comes from charge components with long wave length, can be significantly suppressed by tuning Kerker's factor by the keyword 'scf.Kerker.factor', where Kerker's metric is defined by
Furthermore, the behavior of 'RMM-DIISK' can be controlled by the following keyword:
scf.Mixing.EveryPulay 5 # default = 1
The residual vectors in the Pulay-type mixing schemes tend to become linearly dependent each other as the mixing steps accumulate, and the linear dependence among the residual vectors makes the convergence difficult. A way of avoiding the linear dependence is to do the Pulay-type mixing occasionally during the Kerker mixing. With this prescription, you can specify the frequency using the keyword 'scf.Mixing.EveryPulay'. For example, in case of 'scf.Mixing.EveryPulay=5', the Pulay-mixing is made at every five SCF iteration, while Kerker-type mixing is used at the other steps. 'scf.Mixing.EveryPulay=1' corresponds to the conventional Pulay-type mixing. It is noted that the keyword 'scf.Mixing.EveryPulay' is supported for only 'RMM-DIISK', and the default value is one.
The above prescription works in some cases. But the most recommended prescription to accelerate the convergence is the following:
In Fig. 6 a comparison of five mixing schemes is shown for the SCF convergence for (a) a sialic acid molecule, (b) a Pt cluster, and (c) a Pt cluster, where the norm of residual density matrix or charge density can be found as NormRD in the file *.out and the input files are SialicAcid.dat, Pt13.dat, and Pt63.dat in the directory 'work'. We see that 'RMM-DIISK' works with robustness for all the systems shown in Fig. 6. In most cases, 'RMM-DIISK' will be the best choice, while the use of 'Kerker' is required with a large 'scf.Kerker.factor' and a small 'scf.Max.Mixing.Weight' for quite difficult cases in which the convergence is hardly obtained.