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: Axel Kohlmeyer <akohlmey@...24...>
Date: Wed, 26 Jul 2017 11:11:37 -0400

On Wed, Jul 26, 2017 at 9:13 AM, ouyang <w.g.ouyang@...24...> wrote:
> 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!

i said "skip the pairs" not "skip the pairs of types". the skipping
*must* be done inside the ::compute() method. what you are doing is a
hack and will not do what you expect it should do. the clean and
rational approach would be to have a neighborlist with all necessary
pairs and then, build the required sublists from them or do nested
loops and skip over unwanted pairs.

overall, i have to warn you that my patience is very short with people
that a) do not follow my advice and b) continue asking for something
that i have recommended against or that is not possible. worst of all,
it appears to me, you have not really thought things through, and are
trying to do quick hacks. i strongly dislike that kind of programming
and will not provide advice along those lines.

axel.

>
> 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@...24...> 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@lists.sourceforge.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.
>>
>>
>



-- 
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.