abacus-develop icon indicating copy to clipboard operation
abacus-develop copied to clipboard

HSE can not converge

Open Shen-Zhen-Xiong opened this issue 1 year ago • 3 comments

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 avatar Mar 27 '24 08:03 Shen-Zhen-Xiong

@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.

QuantumMisaka avatar Apr 01 '24 02:04 QuantumMisaka

@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  

abacus.log

@PeizeLin @WHUweiqingzhou Do you have any comment ? I consider the convergence performance have some improvement space.

QuantumMisaka avatar Apr 01 '24 06:04 QuantumMisaka

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

job.log

Shen-Zhen-Xiong avatar Apr 01 '24 08:04 Shen-Zhen-Xiong

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.

Shen-Zhen-Xiong avatar Nov 25 '24 01:11 Shen-Zhen-Xiong

Great! I will close this issue.

mohanchen avatar Jan 05 '25 12:01 mohanchen