Help with SCF Convergence Issue in ABACUS Despite Force Convergence
Details
Dear developers
I am currently using the ABACUS package for structural relaxations and have encountered a problem that I would greatly appreciate your advice on.
Although the ionic relaxation in my calculation successfully reaches the force convergence criteria, the SCF energy convergence remains very poor and exhibits persistent oscillations. I have already tried reducing the mixing parameter and increasing the electronic smearing (sigma), but unfortunately the SCF behavior is still unstable and far from smooth convergence.
I am concerned about the reliability of the final structure and energy results in this case.
Any suggestions or examples would be extremely helpful. Thank you very much for your time and support.
Best regards, Chao Zhou
Have you read FAQ on the online manual http://abacus.deepmodeling.com/en/latest/community/faq.html
- [x] Yes, I have read the FAQ part on online manual.
Hello, I did a calculation using input files from you. Since there's no INPUT file in the provided compressed file, I used INPUT file from my previous calculation in a similar system and did a SCF calculation. Both the SCF energy and DRHO decreases smoothly and DRHO reached the criteria 1e-7 after 51 cycles, and SCF energy change is -6.87e-8 in the last cycle. Here is output file of my calculation:
@ahxbcn Thank you very much for your reply, and I’m sorry I forgot to attach my input file earlier. I adjusted several parameters based on the input you provided, but the calculation still fails to converge. I also noticed that your SCF run includes an external electric field, which seems quite unusual. Could you please double-check this?
After removing parameters about external electric field, the SCF calculation converged in 33 steps. What kind of convergence problem you met? If your relax calculation didn't converge, you can try to set relax_method to other avaliable options.
@ahxbcn Thank you very much for your reply. I have indeed conducted various tests, specifically as follows: 1.On Bohrium, it does converge as you mentioned, and it uses OneAPI compilation. 2. I have no issues with local GNU compilation either. 3.The conda-installed version 3.9.0.2 on the supercomputer also converges with 48-core parallelization. 4.However, when using the OneAPI toolchain compilation, 24-core parallelization can converge, but 48-core cannot - this applies to both LTS/3.9.0.9 versions, and it seems unrelated to the OneAPI version. This should be a bug during the compilation process. However, this is indeed not easy to discover because most calculations can converge under normal circumstances - this is quite specific. I'm not sure how to handle this. So I might try compiling the GNU version again, or use the conda 3.9.0.2 version first, which might be more stable. So 3.9.0.2 have some bugs? I'm not sure how to address this issue. If anyone has good suggestions or solutions, please provide them. Much appreciated.