HSE can not converge
Describe the bug
v20240327_hse_case.tar.gz I calculate a 2D CrTe2 system with HSE, it is can not converged for 500 scf steps.
Expected behavior
No response
To Reproduce
No response
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).
@Shen-Zhen-Xiong I'm trying to testing your system with the newest LibRI. but your system is much large and complex, it is common to have hard convergence.
For reference. issue #3343 contain some calculation example of myself.
@Shen-Zhen-Xiong I've changed your input setting by:
INPUT_PARAMETERS
#Parameters (1.General)
suffix Cr
stru_file STRU
kpoint_file KPT
pseudo_dir /lustre/home/2201110432/example/abacus/PP
orbital_dir /lustre/home/2201110432/example/abacus/ORB
calculation scf
ntype 2
nspin 2
# kspacing 0
symmetry 0
noncolin 0
lspinorb 0
out_mul 1
#Parameters (2.PW)
ecutwfc 100
scf_thr 1.0e-6
init_chg atomic
out_chg 0
out_dos 0
out_band 0
restart_save true
restart_load false
#Parameters (4.Relaxation)
ks_solver genelpa
#scf_nmax 500
out_bandgap 0
#Parameters (5.LCAO)
basis_type lcao
gamma_only 1
#Parameters (6.Smearing)
smearing_method mp
smearing_sigma 0.010
#Parameters (7.Charge Mixing)
mixing_type broyden
mixing_beta 0.4
mixing_gg0 0.0
#Parameters (14.exx)
dft_functional hse
exx_pca_threshold 0.0001
exx_c_threshold 0.0001
exx_dm_threshold 0.0001
exx_cauchy_threshold 0
exx_ccp_rmesh_times 1.5
exx_real_number 1
exx_separate_loop 1
exx_hybrid_alpha 0.25
And use the separate_loop method to do HSE calculation.
the SCF performance is good at the beginning, but after some EXX step and inner loop, the SCF convergence is also bad, with the first electronic step out of EXX loop always have the 1.5e-05 DRHO and the SCF process is stuck there. Luckily it will finally converge
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 3.039e-06 2.039e+01
GE4 1.14e+02 2.23e+02 -3.452026e+05 1.848227e-07 5.182e-07 1.950e+01
Updating EXX and rerun SCF 7.362e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.046e-05 2.027e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 6.369800e-07 6.699e-07 1.982e+01
Updating EXX and rerun SCF 7.364e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.417e-05 1.988e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 -2.331815e-07 4.239e-07 1.982e+01
Updating EXX and rerun SCF 7.398e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 8.308e-06 2.026e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 7.340441e-08 5.620e-07 1.977e+01
Updating EXX and rerun SCF 7.371e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.176e-05 2.089e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 -7.297873e-07 2.323e-07 1.971e+01
Updating EXX and rerun SCF 7.353e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 3.715e-06 2.107e+01
GE4 1.14e+02 2.23e+02 -3.452026e+05 3.157429e-07 5.746e-07 2.033e+01
Updating EXX and rerun SCF 7.379e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.227e-05 2.045e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 -8.523425e-08 6.043e-07 2.019e+01
Updating EXX and rerun SCF 7.428e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.298e-05 2.054e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 2.542178e-07 5.851e-07 2.035e+01
Updating EXX and rerun SCF 7.403e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.228e-05 2.060e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 -4.296361e-08 6.761e-07 2.005e+01
Updating EXX and rerun SCF 7.370e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.427e-05 2.017e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 7.958661e-07 6.627e-07 2.028e+01
Updating EXX and rerun SCF 7.367e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.330e-05 2.090e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 8.077950e-07 7.922e-07 1.956e+01
Updating EXX and rerun SCF 7.416e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.648e-05 2.070e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 1.552728e-07 7.870e-07 2.049e+01
Updating EXX and rerun SCF 7.392e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.501e-05 2.032e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 1.145614e-06 9.506e-07 1.992e+01
Updating EXX and rerun SCF 7.350e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.966e-05 2.033e+01
GE4 1.14e+02 2.23e+02 -3.452026e+05 -7.663658e-07 4.298e-06 2.013e+01
Updating EXX and rerun SCF 7.365e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 1.725e-05 2.035e+01
GE2 1.14e+02 2.23e+02 -3.452026e+05 7.049210e-04 1.424e-04 2.015e+01
GE3 1.14e+02 2.23e+02 -3.452026e+05 -9.186698e-04 8.566e-06 2.007e+01
GE4 1.14e+02 2.23e+02 -3.452026e+05 -1.376865e-06 3.675e-06 2.067e+01
GE5 1.14e+02 2.23e+02 -3.452026e+05 7.568128e-08 1.135e-06 2.040e+01
GE6 1.14e+02 2.23e+02 -3.452026e+05 -1.169620e-07 4.917e-08 2.015e+01
Updating EXX and rerun SCF 7.409e+01 (s)
GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 8.419e-07 2.005e+01
@PeizeLin @WHUweiqingzhou Do you have any comment ? I consider the convergence performance have some improvement space.
Thanks you very much, when changing to exx_separate_loop 1 and mixing_beta 0.2 is ok, but there are some performance improvement. Updating EXX and rerun SCF 2.248e+02 (s) GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 8.356e-06 3.347e+01 GE2 1.14e+02 2.23e+02 -3.452026e+05 -8.133090e-06 9.886e-06 3.401e+01 GE3 1.14e+02 2.23e+02 -3.452026e+05 -2.786447e-06 2.557e-06 3.223e+01 GE4 1.14e+02 2.23e+02 -3.452026e+05 -1.670532e-07 1.360e-06 3.299e+01 GE5 1.14e+02 2.23e+02 -3.452026e+05 2.860941e-07 5.901e-07 3.054e+01 Updating EXX and rerun SCF 2.271e+02 (s) GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 7.191e-06 3.343e+01 GE2 1.14e+02 2.23e+02 -3.452026e+05 -4.966999e-06 8.505e-06 3.228e+01 GE3 1.14e+02 2.23e+02 -3.452026e+05 -2.142934e-06 2.305e-06 3.153e+01 GE4 1.14e+02 2.23e+02 -3.452026e+05 4.472571e-07 1.268e-06 3.263e+01 GE5 1.14e+02 2.23e+02 -3.452026e+05 -2.782240e-07 6.843e-07 3.095e+01 Updating EXX and rerun SCF 2.237e+02 (s) GE1 1.14e+02 2.23e+02 -3.452026e+05 0.000000e+00 8.765e-06 3.269e+01 GE2 1.14e+02 2.23e+02 -3.452026e+05 -8.133189e-06 1.071e-05 3.224e+01 GE3 1.14e+02 2.23e+02 -3.452026e+05 -3.274886e-06 2.545e-06 3.176e+01 GE4 1.14e+02 2.23e+02 -3.452026e+05 -5.635261e-07 1.219e-06 3.153e+01 GE5 1.14e+02 2.23e+02 -3.452026e+05 4.004822e-07 7.397e-07 3.076e+01
hse_case_v20241125.tar.gz @mohanchen @WHUweiqingzhou @PeizeLin I have test the same example in ABACUS 3.8.3, it is converged in 63 steps that is seem ok.
Great! I will close this issue.