brucefan1983 / GPUMD

Graphics Processing Units Molecular Dynamics
https://gpumd.org/dev
GNU General Public License v3.0
466 stars 116 forks source link

adding -C/r^6 to NEP #298

Closed brucefan1983 closed 1 year ago

brucefan1983 commented 1 year ago

Penghua wants to have this explicit dispersion term.

Either let the user to input C parameters or let the powerful SNES to optimize them.

We will study if NEP-C/r^6 will output pure NEP.

hityingph commented 1 year ago

In addition to the repulsion term, maybe we should make the full Lennard-Jones potential avaible in NEP framework. This would be helpful in some cases. For example, I want to simulate the methane difussion in the MOFs, in which the interactions between methane and MOFs can be described by the Lennard-Jones potential, while the interactions between atoms of MOFs can be described by the pristine NEP potential. Because directly fitting the long-range interactions in this system still remains challenge, this is a balance way to investigate the gas difussion in flexible frameworks. A similar example can be found: https://doi.org/10.1021/acs.jctc.2c00010.

erhart1 commented 1 year ago

I agree with @hityingph comments regarding the LJ potential. It could be generally useful to be able to provide a "simpler" potential as a reference that can capture essential physical features such as longer-ranged dispersive interactions, and then leave the "details" to the NEP. One can even imagine the "simpler" potential having a longer interaction range.

brucefan1983 commented 1 year ago

We are doing experiments using this branch (https://github.com/brucefan1983/GPUMD/tree/lj) which has an extra LJ ptential for NEP training. So far our impression is that there is no benefit to add an explicit LJ. But I will keep this branch for others to test.

To use this branch, write

lj

in nep.in, and modify the find_force_LJ function in src/main_nep/nep3.cu to set up your fitted (or guessed) LJ parameters for the different atom types. Good luck!

brucefan1983 commented 1 year ago

Now we find a better way to solve this old issue, i.e., adding the DFT-D3 correction to NEP. #482