Seven charge mixing schemes in OpenMX Ver. 3.9 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
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
Relevant keywords:
scf.Init.Mixing.Weight,
scf.Min.Mixing.Weight,
scf.Max.Mixing.Weight,
scf.Mixing.History,
scf.Mixing.StartPulay,
scf.Mixing.EveryPulay,
|
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 on 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 iterations, while the 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 '1'.
The above prescription works in some cases. But the most recommended prescription to accelerate the convergence is the following:
In Fig. 7 a comparison of seven 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 'System.Name.out' and the input files are 'SialicAcid.dat', 'Pt13.dat', and 'Pt63.dat' in the directory 'work'. We see that 'RMM-DIISK' and 'RMM-DIISV' work with robustness for all the systems shown in Fig. 7. In most cases, 'RMM-DIISK' and 'RMM-DIISV' 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. Also our experiences imply that 'RMM-DIISH' is suitable for the plus U method and the constraint schemes, while such a case is not shown in Fig. 7.