[CP2K-user] [CP2K:22127] Re: The KERKER mixing method may be more suitable than the BROYDEN mixing method for calculations involving magnetic systems.
yis...@163.com
yisichi at 163.com
Sun Mar 1 14:53:15 UTC 2026
Thank you for your reply.
在2026年2月28日星期六 UTC+8 03:40:12<Shiyang Wang (W0728)> 写道:
> Based on my experience, at least for the Broyden scheme, setting ALPHA too
> small (below 0.1 or even 0.05) or too large (above the default value of
> 0.4) is generally detrimental to convergence.
>
> In your tests, the reduction of the convergence metric with
> smaller ALPHA values can indeed be seen as a positive sign. However, the
> convergence remains rather slow, and it is unclear whether oscillations may
> occur near the convergence threshold — something that CP2K frequently
> exhibits for this type of system.
>
> In my view, the difficulty of achieving SCF convergence for such systems
> in CP2K is primarily related to the underlying algorithms and
> characteristics of the basis functions, while the choice of density mixing
> scheme plays a secondary role. If you look into it, you will find that VASP
> also employs a Broyden-type mixing scheme for charge density.
>
> Perhaps further improvements in this direction should become a focus for
> future development.
>
> 在2026年2月27日星期五 UTC+8 23:31:42<yis... at 163.com> 写道:
>
>> Sorry, I might have lost my cool just now. You understand that when
>> computational time is relatively limited, encountering non-convergence is
>> always a bit of a hair-pulling experience. Thank you very much for your
>> selfless help. I will retest the similarities and differences between
>> KERKER and BROYDEN for convergence in magnetic systems. CP2K is indeed a
>> very powerful piece of software. Here, I would like to ask a question: when
>> I use KERKER and encounter non-convergence, I usually lower the ALPHA
>> parameter to 0.001. While running CP2K, I observe that the Convergence
>> parameter always decreases as the number of iterations increases. However,
>> with BROYDEN, it feels like it oscillates. Could this be a numerical
>> artifact caused by ALPHA being too low?
>>
>> 在2026年2月27日星期五 UTC+8 21:28:30<yis... at 163.com> 写道:
>>
>>> Thank you for your reply. However, based on the test results, it is
>>> still difficult to converge.
>>>
>>> 在2026年2月26日星期四 UTC+8 18:43:32<Shiyang Wang (W0728)> 写道:
>>>
>>>> Dear yisichi-design,
>>>>
>>>> For BROYDEN_MIXING, you should use NBROYDEN instead of BETA to help
>>>> convergence. Default NBROYDEN is 4, which often hinders convergence. You
>>>> can increase it to 8 or even 12. BETA is used for KERKER_MIXING.
>>>>
>>>> For such systems, reducing the ALPHA value does indeed help with
>>>> convergence (the default is 0.4), and this is often done in practice (we
>>>> often use 0.3 or even 0.15). However, setting ALPHA too small may lead to
>>>> numerical issues.
>>>>
>>>> To understand what *“Spin contamination estimate not implemented for
>>>> k‑points”* means, you may need to look up what *spin contamination*
>>>> refers to. In CP2K, in most cases this warning can be safely ignored.
>>>>
>>>> If there’s anything else that needs to be discussed, feel free to add
>>>> it at any time.
>>>>
>>>> 在2026年2月26日星期四 UTC+8 12:37:55<yis... at 163.com> 写道:
>>>>
>>>>> Hello CP2K developers,
>>>>> A few days ago on GitHub, we discussed whether the KERKER
>>>>> or BROYDEN mixing method is more suitable for magnetic system calculations.
>>>>> Following up on that, I have done some tests and found that the KERKER
>>>>> mixing method may be more appropriate for magnetic systems than BROYDEN.
>>>>> Below is my testing procedure.
>>>>> I used two test models: a unit cell model of NiFe(OH)₂
>>>>> and the (010) surface of gamma-NiOOH. For the NiFe(OH)₂ unit cell, the test
>>>>> procedure was as follows. First, with SMEAR enabled, the number of
>>>>> iterations for the SCF calculation was set to 100. I then tested the
>>>>> effects of different mixing methods, ALPHA, and BETA on convergence. The
>>>>> test results are shown in Table 1. Figure 1 shows a screenshot of the SCF
>>>>> results for the first 50 steps of Test1, which used the KERKER mixing
>>>>> method with ALPHA = 0.2 and BETA at its default value. Both Table 1 and
>>>>> Figure 1 indicate that under these parameters, SCF does not converge and
>>>>> shows no trend toward convergence. In Test2, ALPHA was reduced to 0.03
>>>>> while keeping other parameters the same as in Test1. Figure 1 and Table 1
>>>>> show that a convergence trend appears, albeit slowly. After 100 iterations,
>>>>> the convergence value reached 0.00041471. Although it has not yet met the
>>>>> convergence criterion, I believe that increasing the number of iterations
>>>>> would lead to successful convergence. Test3 further reduced BETA to 0.8
>>>>> based on Test2. After 100 iterations, the convergence value was 0.00159217,
>>>>> which is slower than Test2. However, based on my previous experience, if
>>>>> the parameters in Test2 struggle to converge, trying the parameters in
>>>>> Test3 can be a useful alternative.
>>>>> [image: 图片2.jpg]
>>>>> [image: 图片3.jpg]
>>>>> Fingure 1 Convergence results for
>>>>> unit cell
>>>>> I further tested BROYDEN as the wavefunction mixing method,
>>>>> as shown in Figure 1 and Table 1. Compared to KERKER, its convergence
>>>>> performance is noticeably worse. The SCF results show persistent
>>>>> oscillations without a clear trend of convergence. Additionally, compared
>>>>> to Test4, reducing both ALPHA and BETA to 0.01 still resulted in a
>>>>> convergence value of 0.07070099 after 100 iterations, but without a
>>>>> distinct convergence trend. Subsequently, I disabled SMEAR and reran the
>>>>> same tests. The results are shown in the lower half of Table 1. Compared to
>>>>> the cases with SMEAR enabled, convergence did not improve. For the same
>>>>> wavefunction mixing method, ALPHA, and BETA, convergence actually worsened.
>>>>> For example, with SMEAR disabled, using the KERKER method with ALPHA = 0.03
>>>>> gave a convergence value of 0.00082845 after 100 iterations, which is
>>>>> higher than the case with SMEAR enabled. For the BROYDEN method with ALPHA
>>>>> = 0.2 and default BETA, the convergence value increased to 0.07480723,
>>>>> still worse than KERKER. Moreover, as shown in Figure 1, when appropriate
>>>>> ALPHA and BETA values are used with the KERKER method, convergence steadily
>>>>> improves with increasing iterations rather than oscillating continuously.
>>>>> Based on these results, I draw the following conclusions:
>>>>> 1. The KERKER mixing method may be more suitable for magnetic
>>>>> systems than BROYDEN.
>>>>> 2. Default parameters for KERKER generally struggle to
>>>>> achieve convergence; ALPHA needs to be reduced to 0.03 or even lower.
>>>>> Further, I selected the (010) surface of gamma-NiOOH to
>>>>> test SCF convergence. The results are shown in Table 2 and Figure 2. First,
>>>>> I tested convergence with SMEAR enabled and ADDED_MOS set to 20. Similar to
>>>>> the unit cell calculations, when ALPHA = 0.2, KERKER failed to converge and
>>>>> showed no trend toward convergence. For TEST3 and TEST4, after lowering
>>>>> ALPHA, an interesting phenomenon was observed. In both cases, a clear
>>>>> convergence trend initially appeared, but after reaching a certain value,
>>>>> the convergence residual began to increase again. For TEST3 (ALPHA reduced
>>>>> to 0.03), the residual gradually decreased to 0.0350084 within the first 50
>>>>> iterations, but then it started to diverge. For TEST4 (BETA reduced to 0.8
>>>>> and ALPHA reduced to 0.01), the residual decreased to 0.00089041 within the
>>>>> first 75 steps, then gradually increased to 0.02504273.
>>>>> [image: 图片4.jpg]
>>>>> [image: 图片5.jpg]
>>>>> Figure 2 Convergence results for slab
>>>>> For BROYDEN, the convergence behavior was more complex. With
>>>>> ALPHA = 0.2 and BETA = 0.8, the residual reached 0.05432726 after 200
>>>>> iterations. However, when ALPHA and BETA were both reduced to 0.01, the
>>>>> convergence worsened, and the SCF residual oscillated continuously without
>>>>> a clear trend.
>>>>> Considering that unoccupied orbitals might affect
>>>>> convergence, I set ADDED_MOS to -1 -1 and reran the tests. The results in
>>>>> the lower half of Table 2 show no significant differences.
>>>>> In summary, I conclude:
>>>>> 1. KERKER may be more suitable than BROYDEN for
>>>>> convergence in magnetic systems.
>>>>> 2. Default parameters for KERKER generally struggle to
>>>>> achieve convergence; ALPHA needs to be reduced to 0.03 or even lower.
>>>>> The difficulty of achieving SCF convergence for magnetic
>>>>> systems in CP2K has been a longstanding issue. I would like to ask the CP2K
>>>>> developers to review my testing procedure and input files and provide
>>>>> suggestions for optimizing the input. Additionally, I have a question:
>>>>> 1. What does the warning "WARNING in qs_scf_post_gpw.F:1841
>>>>> :: Spin contamination estimate not implemented for k-points" mean, and how
>>>>> can it be resolved?
>>>>> The input files and results have been compressed into a ZIP
>>>>> file and are provided as an attachment.
>>>>> Thank you very much
>>>>>
>>>>>
>>>>>
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/608561b4-e7be-4613-acb7-1d6b9f969378n%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20260301/33a04ead/attachment.htm>
More information about the CP2K-user
mailing list