LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] Structure of AIREBO potential
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] Structure of AIREBO potential

From: Huang <nongyanhuang@...223...>
Date: Fri, 18 Aug 2017 05:01:43 +0800 (CST)

Hi Axel,
Thanks for your file and suggestion! I will first read your file carefully and then try to implement the new potential.


At 2017-08-18 04:43:11, "Axel Kohlmeyer" <akohlmey@...24...> wrote:

On Thu, Aug 17, 2017 at 4:34 PM, Huang <nongyanhuang@...223...> wrote:
Hi Axel,
Thanks for your suggestion! It would be great if you can send the copy to me if you can find it:)

are attached. they're just called lj/cut/full

please note, that this is set up to compute each pair twice and that requires some tweaks to when calling Pair::ev_tally() to account for that.
Actually, I have tried to change the neighbor list request like follows:
int irequest = neighbor->request(this,instance_me);
  neighbor->requests[irequest]->half = 0;
  neighbor->requests[irequest]->full = 1;
  neighbor->requests[irequest]->ghost = 1;
which is simiar to that in the pair_airebo.cpp.
But this would cause another difficulty, assume there are two layers of graphene, interact with the new potential, to calculate the normals, the neighbor list within one layer is needed. So after building the full neighbor list, I build a sublist from it (again similar to that in pair_airebo.cpp) to calculate the local normals. However, to calculate the interaction between two layers, only the neighbor list for atom in different layers is needed. As a result, I need to exclude the interaction between atoms within one layer. But I don't find a good way to skip the unwanted pairs until I read pair_airebo.cpp more carefully. I think the way to skip the LJ interaction within one layer by introducing switching functions in airebo potential is smart, so I also want to skip the unwanted pairs in a similar way. This is the another reason why I ask this question.

i would make it a condition, that atoms in different layers would have to have different atom types. then you can skip unwanted pairs with a simple: "if (itype != jtype) continue;"


Well, this is the whole story. Do you have any idea to skip the unwanted pairs smartly? Or maybe my solution to this pair style is not a good one?


Dr. Axel Kohlmeyer  akohlmey@...24...
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.