GPUMD icon indicating copy to clipboard operation
GPUMD copied to clipboard

typewise cutoffs

Open brucefan1983 opened this issue 7 months ago • 2 comments

  • In this PR, I propose to make the NEP cutoffs (radial and angular) and the ZBL cutoffs (outer and inner) type (species) dependent. They will be calculated based on the so-called covalent radii of the elements (taken from the DFT-D3 method).

  • I also removed NEP2.

pseudo code:

rc_radial[i][j] = min(rc_radial_global,  (covalent_radius[i] + covalent_radius[j]) * 2.5)
rc_angular[i][j] = min(rc_angular_global,  (covalent_radius[i] + covalent_radius[j]) * 2.0)
rc_zbl_outer[i][j] = min(rc_zbl_global,  (covalent_radius[i] + covalent_radius[j]) * 0.7)

Usage example for nep.in:

cutoff 8 6 # global NEP cutoff
zbl      2    # global ZBL cutoff
use_typewise_cutoff # enable this feature

For C-C we will have

rc_radial = 5
rc_angular = 4
rc_zbl_outer = 1.4

For O-H we will have

rc_radial = 3.1667
rc_angular = 2.5333
rc_zbl_outer = 0.8867

Potential benefits compared to using large global cutoffs only:

  • More accurate: there should be optimal cutoffs for different species, both for NEP and ZBL.
  • More stable and data efficient: less redundant features
  • More efficient: will have less neighbors

Status:

  • Training part is finished and to be tested.
  • MD part is to be done.

brucefan1983 avatar Jun 29 '24 16:06 brucefan1983