isayev / ASE_ANI

ANI-1 neural net potential with python interface (ASE)
MIT License
220 stars 56 forks source link

What is 'default_neighborlist' method in aev.py doing? #26

Closed yifanyang96 closed 5 years ago

yifanyang96 commented 5 years ago

Hi,

When I was trying to understand your code I got confused about the default_neighborlist method. I thought it should select the atoms within the cutoff range but the result is not the case:

neighborhood_list

In this example I set cutoff to 1.1 but species with distance > 1.1 are also included. Could you please explain the method's function or is it implemented incorrectly?

Thanks!

zasdfgbnm commented 5 years ago

Hi @yifanyang96, sorry for the late reply, next time please go to https://github.com/aiqm/torchani for TorchANI related issues, because I am not watching this the ASE_ANI repository. Species with distance > 1.1 are included, this is an expected behavior. The reason for this is basically padding them to the same size so that you could put everything into a tensor of shape (molecule, atom, neighbor). Without doing so, you have to store the list of neighbors of each atom separately, which hurts the performance greatly .

zasdfgbnm commented 5 years ago

Also, @yifanyang96 , I have completely rewrote the AEVComputer, so the default_neighborlist no longer exist...

yifanyang96 commented 5 years ago

Thanks a lot @zasdfgbnm ! I figured it out soon after I posted this issue.