LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] Neighbor list for calculating the local normals for Kolmogorov-Crespi potential
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] Neighbor list for calculating the local normals for Kolmogorov-Crespi potential


From: ouyang <w.g.ouyang@...24...>
Date: Wed, 26 Jul 2017 21:13:46 +0800

Dear Axel,
I just checked that the codes calculate the normals correctly  by using "pair_coeff     1*2 1*2 kolmogorov/crespi/z  CC.KC   C C".

About your suggestion to skip over the unwanted pairs, I tried to set the setflag[i][j] = 0 when i=j. It really skipped the pairs for 1 1 and 2 2, but the neighbor list also did not build. How can I build the neighbor list for types 1 1 and 2 2 but to avoid calculating the forces between them? Can I just set the force to be zero (i.e., f[i][j]=0) when i=j?
Could you give me more hints? Thank you very much!

Best,
Ouyang

On Wed, Jul 26, 2017 at 7:41 PM, ouyang <w.g.ouyang@...24...> wrote:
Dear Axel,
Thanks for your information!
Maybe you are right, it's easier to modify the pair style to skip over the unwanted pairs. I will try to modify it in such a way to see if it works.

Best,
Ouyang

On Wed, Jul 26, 2017 at 7:26 PM, Axel Kohlmeyer <akohlmey@...24...> wrote:


On Wed, Jul 26, 2017 at 7:19 AM, ouyang <w.g.ouyang@...24...> wrote:
Dear Axel,
Thanks! I think it will be OK if there is only KC potential. However, people usually use REBO+KC potential to simulate few layers of graphene. The command is like follows, as is in the documentation of pair_style kolmogorov/crespi/z:
pair_style     hybrid/overlay rebo kolmogorov/crespi/z 14.0
pair_coeff     * * rebo                 CH.airebo  C C
pair_coeff     1 2 kolmogorov/crespi/z  CC.KC   C C

In this case, I can not use "pair_coeff     1*2 1*2 kolmogorov/crespi/z  CC.KC   C C" instead since it will change the interaction.
I know that the neighbor list is already built for types 1 1 in pair_airebo.cpp. My question is how to invoke this neighbor list in the new pair style I'm implementing?

​you cannot. the neighbor list handed to the airebo pair style contains *all* pairs, anyway. you would have to create new a new pair style for the sole purpose of generating a suitable neighbor list request.
Do you have any suggestion?

​my suggestion is the only way. since you are already modifying the pair style, it is up to you ​to modify it in such a way, that you skip over the unwanted pairs.

axel.

 
Thank you very much!

Best,
Ouyang

On Wed, Jul 26, 2017 at 6:26 PM, Axel Kohlmeyer <akohlmey@...24...> wrote:


On Wed, Jul 26, 2017 at 3:16 AM, ouyang <w.g.ouyang@...1125.....> wrote:
Hi all,
Recently I want to add the correct local normals to the Kolmogorov-Crespi (KC) potential based on the present version of KC potential (pair_kolmogorov_crespi_z.cpp) in USER-MISC package in LAMMPS. 
The present version of KC potential in LAMMPS assumes that all normals are along the z-axis, which leads this potential only valid for flat surfaces (e.g., not valid for carbon nanotubes). So I want to add the correct local normals to this KC potential.
When implementing the code, I met a problem. Assuming there are two layers of graphene with the atoms in the bottom layer setting to type 1 and the atoms in the top layer setting to type 2. This present KC potential is invoked in the input file like follows:
pair_style     hybrid/overlay kolmogorov/crespi/z 20.0
pair_coeff     * * none
pair_coeff     1 2 kolmogorov/crespi/z  CC.KC   C C
As a result, only the neighbor list between types 1 and 2 is built and there is no neighbor list built for the atoms within one layer (i.e., types 1 1 and types 2 2). Therefore, to calculate the local normals, I need to build a neighbor list for the atoms within one layer. I tried to build this neighbor list by introducing another cutoff but I failed.
Does anyone has an idea for how to build this neighbor list? Thank you in advance!

​please replace:

​pair_coeff     1 2 kolmogorov/crespi/z  CC.KC   C C

with:

pair_coeff     1*2 1*2 kolmogorov/crespi/z  CC.KC   C C

and the neighbor list handed to the kolmogorov/crespi/z calculation will contain all pairs you are asking for.
for details of the syntax, please see the documentation of the pair_coeff command.

axel.

 

Best,
Ouyang

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
lammps-users mailing list
lammps-users@...655....net
https://lists.sourceforge.net/lists/listinfo/lammps-users




--
Dr. Axel Kohlmeyer  akohlmey@...24...  http://goo.gl/1wk0
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.




--
Dr. Axel Kohlmeyer  akohlmey@...24...  http://goo.gl/1wk0
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.