The PBE0 calculation can't converge in systems with a single C atom
Describe the bug
When I tried to run SCF in a system consisting of only one C atom with PBE0, I found that I could not get convergent results. I have tried mixing_restart+mixing_dmr, exx_pca_threshold, etc, as 0, and exx_separate_loop as True/False, but none of these worked.
Expected behavior
No response
To Reproduce
Here is an example with exx_separate_loop as False. PBE0_C_github.zip
Environment
No response
Additional Context
No response
Task list for Issue attackers (only for developers)
- [ ] Verify the issue is not a duplicate.
- [ ] Describe the bug.
- [ ] Steps to reproduce.
- [ ] Expected behavior.
- [ ] Error message.
- [ ] Environment details.
- [ ] Additional context.
- [ ] Assign a priority level (low, medium, high, urgent).
- [ ] Assign the issue to a team member.
- [ ] Label the issue with relevant tags.
- [ ] Identify possible related issues.
- [ ] Create a unit test or automated test to reproduce the bug (if applicable).
- [ ] Fix the bug.
- [ ] Test the fix.
- [ ] Update documentation (if necessary).
- [ ] Close the issue and inform the reporter (if applicable).
@xuan112358 single C atoms should be a radical, you should use nspin=2 to describe its electronic structure
@PeizeLin @maki49 But is it truly a problem ? I have some test which cannot lead to scf_thr 1e-6 convergence (although the energy difference seems to be converged)
it seems EXX update for spin polarized system have some convergence problem ( as it in my FeCx systems?)
@WHUweiqingzhou any comments ?
@xuan112358 single C atoms should be a radical, you should use
nspin=2to describe its electronic structure @PeizeLin @maki49 But is it truly a problem ? I have some test which cannot lead toscf_thr 1e-6convergence (although the energy difference seems to be converged)it seems EXX update for spin polarized system have some convergence problem ( as it in my FeCx systems?)
@WHUweiqingzhou any comments ?
@QuantumMisaka it is not simply radical, @PeizeLin used to inform me of a keyword "ocp_set" https://abacus.deepmodeling.com/en/latest/advanced/input_files/input-main.html#ocp-set, it can help to get more reasonable result. On the other hand for single atom calculation, the mixing parameter choice, as far as I remember, is a little bit tricky.
Interesting @xuan112358 FYI, C dimer which have 1.6 bond length can converge in HSE calculation
@xuan112358 In my calculation, single C atom can be converged by HSE. This is my attachments C-HSE.tar.gz
but PBE0 seems to have problem. refer to https://github.com/deepmodeling/abacus-develop/issues/5036
In this example above, HSE do not converge to scf_thr 1e-7, but will stuck around. However, the EDIFF can reach 1e-7 eV convergence.