deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
172 stars 131 forks source link

Q: We need applicable recommendations for setting `ecutwfc` in LCAO tasks #4521

Closed QuantumMisaka closed 4 months ago

QuantumMisaka commented 4 months ago

Details

Background:

  1. In the (pre-released) v2.1 orbital from APNS project, the default ecutwfc for these NAOs have been updated from 100 Ry to 150 Ry (C) ,200Ry(O) and other larger numbers.
  2. After #3260 , the mGGA convergence problem for Fe5C2(510) surfaces (with 100 atoms and 15 Ang vacuum layer) remained to be unsolved until I tried the v2.1 NAOs (new) and v2.0 NAOs (now) with ecutwfc 200.
  3. With ecutwfc 200 and the v2.0 NAOs. , the SCAN SCF for Fe5C2(510) surfaces can be converged to scf_the 1e-7 within 61 steps. But for default setting from v2.0 NAOs ecutwfc 100, the convergence is failed in 300 SCF steps (However, the convergence can be reached within 160 steps by using TZDP NAOs) . which can be seen in attachments.
  4. In lots of tutorial case of ABACUS, the ecutwfc tend to be low, like the default number in ABACUS docs, which is 50 Ry, and another common number is 60 Ry, which will lead misguidance.

Question: I consider that applicable recommendations and related discussion for setting ecutwfc in LCAO tasks is in urgent need

Thanks to @kirk0830

Attachments: stdout from ABACUS abacus-100wfc.log abacus-200wfc.log

Have you read FAQ on the online manual http://abacus.deepmodeling.com/en/latest/community/faq.html

Task list for Issue attackers (only for developers)

kirk0830 commented 4 months ago

I think it is good to see the energy decreases significantly from v2.0 to v2.1 nao. Could you also post that result? It is very valuable for our fine tunning of orbtials. cc @jinzx10

QuantumMisaka commented 4 months ago
@kirk0830 Surely. after relaxed from the same STRU, which is opted by Fe5C2-100Ry-orb2.0 setting and the largest gradient is 0.03 eV/Ang^2 Item ETOT (eV)
Fe5C2-100Ry-orb2.0 -263158.5619482244
Fe5C2-100Ry-orb2.1 -263180.5034987823455594
Fe5C2-200Ry-orb2.0 -263158.5616359621053562
Fe5C2-200Ry-orb2.1 -263180.5030189962126315

Also the relax trajectory seems to changed due to the change of orbital and ecutwfc.

For Fe5C2-100Ry-orb2.0

 LARGEST GRAD (eV/A)  : 0.032124

For Fe5C2-100Ry-orb2.1

 LARGEST GRAD (eV/A)  : 0.162966
 LARGEST GRAD (eV/A)  : 0.227569
 LARGEST GRAD (eV/A)  : 0.083520
 LARGEST GRAD (eV/A)  : 0.051609
 LARGEST GRAD (eV/A)  : 0.039767

For Fe5C2-200Ry-orb2.0

 LARGEST GRAD (eV/A)  : 0.062887
 LARGEST GRAD (eV/A)  : 0.371758
 LARGEST GRAD (eV/A)  : 0.102190
 LARGEST GRAD (eV/A)  : 0.020413

For Fe5C2-200Ry-orb2.1

 LARGEST GRAD (eV/A)  : 0.162580
 LARGEST GRAD (eV/A)  : 0.228535
 LARGEST GRAD (eV/A)  : 0.083570
 LARGEST GRAD (eV/A)  : 0.051949
 LARGEST GRAD (eV/A)  : 0.039928

Attachments:

abacus-Fe5C2-200Ry-orb21.tar.gz abacus-Fe5C2-200Ry-orb20.tar.gz

Discussion:

  1. the new orbital will give significantly drop of energy and some change of force, so the change of version of orbital will also lead the change of absolute value in calculation, but the change of orbital will not affect the convergence efficiency (in PBE and SCAN, from my calculation example.)
  2. the value ecutwfc will have influence on energy and force, and also the efficiency of SCF convergence. the origin of these influence need to be analyzed.
QuantumMisaka commented 4 months ago

Another Problem: For user using LCAO NAOs which have different recommended ecutwfc, how can users set ecutwfc in pratical ? like ENCUT in VASP to use the largest? @kirk0830 @jinzx10

kirk0830 commented 4 months ago

My personal experience is "always use metaGGA functionals with much care on grids". The ecutwfc in LCAO calculation controls the spacing of grid, therefore I think it seems to be reasonable that you use a finer grid and get convergence. Another thing is recently there is, another user report similar problem he met when using a numerical orbital to do calculation but left ecutwfc as default 50 Ry and got highly unreasonable result. After backtrace I found it is because the pseudopotential he used was the one more rigid than others of that element. @WHUweiqingzhou will update the strategy for setting ecutwfc value for LCAO (from 50 to 100 Ry), although for your case 100 Ry is still not enough. A temporary solution would be updating our doc in both explanation of ecutwfc and dft_functional that "metaGGA always requires a finer grid for numerical integration, additional tests on performance and efficiency are recommended". Although perhaps, it is always possible for designing more sophisticated strategy for setting default value of parameters... We will evaluate this.

QuantumMisaka commented 4 months ago

@kirk0830 For general PBE calculation, does ecutwfc 100 enough? The ecutwfc parameter seems need to be larger to 150 Ry or 200 Ry to meet the recommendation of v2.1 NAOs, but in v2.0 NAOs the recommendation is always 100 Ry,

kirk0830 commented 4 months ago

@QuantumMisaka no, not this logic that "v2.0 NAOs the recommendation is always 100 Ry", instead, it is just the orbital that generated from the PW calculation that set ecutwfc to be 100 Ry, no clear reason why is this value. For general PBE calculation, similarly, no one can know whether 100 Ry is enough (for which element? which pseudopotential? what property? at what precision?). One may have different expect on efficiency and precision, so personal decision deviate. My suggestion would be, browse the APNS website and select pseudopotentials you prefer, then use corresponding orbitals for LCAO calculation. @pxlxingliang any comment?