How to make atoms of the same type interacting through different potential using AIREBO

Dear all,

I am running molecular dynamics to study deposition of CH3 onto a hydrogenated carbon surface.
Thus the substrate is made with few carbon layers terminated with a hydrogen layer (on the top) and the methyl group is incoming onto that surface.
All atoms are interacting through a rebo potential.
I would like to add between the 4 atoms of the CH3 radical and the top surface (the upper carbon layer + the hydrogen layer) a long-ranged interaction using the LJ potential.
I know that the AIREBO has the capability to add long-ranged interaction to the REBO potential.
But the parameters for AIREBO potential (C and H) are mapped to LAMMPS atom type using the argument C and H after the file name in the pair_coeff.
Is it possible to make the carbon atoms in the subsrate bulk interacting each other through a REBO potential (only short-ranged interactions) whereas the upper C layer and the top H
layer are interacting with the atoms of the incoming CH3 radical through a REBO + LJ potential ?
That means I would need to split the C atoms ensemble into two different groups and to make the substrate C atoms interacting through a REBO potential whereas the upper C layer of the substrate together with
the H atoms layer interact with the CH3 radical atoms through a REBO+LJ potential.
Is it possible ?
If not is there any possibility to do that ?
Thanks in advance.

Dear all,

I am running molecular dynamics to study deposition of CH3 onto a
hydrogenated carbon surface.
Thus the substrate is made with few carbon layers terminated with a
hydrogen layer (on the top) and the methyl group is incoming onto that
surface.
All atoms are interacting through a rebo potential.
I would like to add between the 4 atoms of the CH3 radical and the top
surface (the upper carbon layer + the hydrogen layer) a long-ranged
interaction using the LJ potential.
I know that the AIREBO has the capability to add long-ranged interaction
to the REBO potential.
But the parameters for AIREBO potential (C and H) are mapped to LAMMPS
atom type using the argument C and H after the file name in the pair_coeff.

Is it possible to make the carbon atoms in the subsrate bulk interacting
each other through a REBO potential (only short-ranged interactions)
whereas the upper C layer and the top H
layer are interacting with the atoms of the incoming CH3 radical through
a REBO + LJ potential ?

it should be possible to do with pair_style hybrid/overlay
you can partition your C atoms any which way you like
but then map *all* of those atom types to the C element
in the REBO potential file and define an LJ interaction between
the desired atom types only. this potential will be added
to the other terms.

please check out the documentation...

cheers,
    axel.

Hello,

So in the simulation described below, I would like to make
1) all substrate atoms (C and H) interacting with the REBO potenial
2) all atoms (C and H) of the CH3 radical interacting with the REBO potential
3) the C atom of the CH3 radical and the C atoms of the substrate interacting with the REBO potential plus LJ.
But instead of using a REBO potential to which superimpose a LJ potential for the 3rd case, I want to use the AIREBO potential which combine the REBO and the LJ.

So I suppose having 4 different atom types:

type 1 for the substrate C atoms
type 2 for the substrate H atoms
type 3 for the methyl radical C atom
type 4 for the methyl radical H atoms

In the commands

pair_style hybrid rebo rebo airebo 2.5 1 0
pair_coeff * * CH.airebo C H NULL NULL #1
pair_coeff * * CH.airebo NULL NULL C H #2
pair_coeff * * CH.airebo C NULL C NULL #3

how can I be sure that the pair_coeff are attributed in the right order, that is the same than the potenial list order in the pair_style:

the #1 is attributed to the rebo
the #2 is attributed to the rebo
the #3 is attributed to the airebo 2.5 1 0

?
Thanks in advance.

Laurent.

Hello,

So in the simulation described below, I would like to make
1) all substrate atoms (C and H) interacting with the REBO potenial
2) all atoms (C and H) of the CH3 radical interacting with the REBO
potential
3) the C atom of the CH3 radical and the C atoms of the substrate
interacting with the REBO potential plus LJ.
But instead of using a REBO potential to which superimpose a LJ potential
for the 3rd case, I want to use the AIREBO potential which combine the REBO
and the LJ.

So I suppose having 4 different atom types:

type 1 for the substrate C atoms
type 2 for the substrate H atoms
type 3 for the methyl radical C atom
type 4 for the methyl radical H atoms

In the commands

pair_style hybrid rebo rebo airebo 2.5 1 0
pair_coeff * * CH.airebo C H NULL NULL #1
pair_coeff * * CH.airebo NULL NULL C H #2
pair_coeff * * CH.airebo C NULL C NULL #3

how can I be sure that the pair_coeff are attributed in the right order,
that is the same than the potenial list order in the pair_style:

LAMMPS Molecular Dynamics Simulator discusses in detail how
having multiple substyles of the same type are handled and has
examples.

axel

Thanks Axel,

Ok i found in the doc the information I need:

" /In the pair_coeff commands, the name of a pair style must be added after the I,J type specification, with the remaining coefficients being those appropriate to that style. If the pair style is used multiple times in the pair_style command with, then an additional numeric argument must also be included which is the number from 1 to M where M is the number of times the sub-style was listed in the pair style command. The extra number indicates which instance of the sub-style these coefficients apply to./ "

But when I apply to my problem:

pair_style hybrid airebo 1.0 0 0 airebo 2.5 1 0
pair_coeff * * CH.airebo C H NULL NULL 1
pair_coeff * * CH.airebo NULL NULL C H 1
pair_coeff * * CH.airebo C NULL C NULL 2

and run the simulation, I get the error message:

ERROR: Pair style hybrid cannot use same pair style twice (pair_hybrid.cpp:242)

which is contradictory !!

Is there somebody who has an idea ?
Regards.

laurent.

Thanks Axel,

Ok i found in the doc the information I need:

" In the pair_coeff commands, the name of a pair style must be added after
the I,J type specification, with the remaining coefficients being those
appropriate to that style. If the pair style is used multiple times in the
pair_style command with, then an additional numeric argument must also be
included which is the number from 1 to M where M is the number of times the
sub-style was listed in the pair style command. The extra number indicates
which instance of the sub-style these coefficients apply to. "

But when I apply to my problem:

pair_style hybrid airebo 1.0 0 0 airebo 2.5 1 0
pair_coeff * * CH.airebo C H NULL NULL 1
pair_coeff * * CH.airebo NULL NULL C H 1
pair_coeff * * CH.airebo C NULL C NULL 2

and run the simulation, I get the error message:

ERROR: Pair style hybrid cannot use same pair style twice
(pair_hybrid.cpp:242)

which is contradictory !!

do you use a current version of LAMMPS?

also, but that is not causing the error, your pair_coeff statements
are wrong. see the example using tersoff multiple times.

axel.

Thanks Axel,

Ok i found in the doc the information I need:

" In the pair_coeff commands, the name of a pair style must be added after
the I,J type specification, with the remaining coefficients being those
appropriate to that style. If the pair style is used multiple times in the
pair_style command with, then an additional numeric argument must also be
included which is the number from 1 to M where M is the number of times the
sub-style was listed in the pair style command. The extra number indicates
which instance of the sub-style these coefficients apply to. "

But when I apply to my problem:

pair_style hybrid airebo 1.0 0 0 airebo 2.5 1 0
pair_coeff * * CH.airebo C H NULL NULL 1
pair_coeff * * CH.airebo NULL NULL C H 1
pair_coeff * * CH.airebo C NULL C NULL 2

and run the simulation, I get the error message:

ERROR: Pair style hybrid cannot use same pair style twice
(pair_hybrid.cpp:242)

which is contradictory !!

do you use a current version of LAMMPS?

also, but that is not causing the error, your pair_coeff statements
are wrong. see the example using tersoff multiple times.

...and there is a conceptual problem, too. the third pair_coeff line
wants to try using a manybody-potential like a pairwise additive
potential. that cannot work. manybody potentials always have to be
applied to *all* "self" and "mixed" terms between the selected atom
types. thus for the "cross" terms, you would have to use something
like lj/cut, for example.

axel.

Laurent,

Please note that AIREBO is not a simple REBO + LJ, rather the LJ part of AIREBO is controlled by a switching function that depends on bond order, connectivity and distance. Chances are great that even if you use AIREBO for your third case described below, the LJ part will be switched off automatically by the potential function.

If you wish to impose a LJ between these two types of C atoms, Axel’s suggestion of hybriding REBO + LJ may be your best option. If you don’t want to hybrid REBO + LJ, you can simply use AIREBO without any complicated hybriding with itself. The LJ will be automatically switched off for most scenarios, but will be switched back on automatically when LJ is important.

Ray

  1. all substrate atoms (C and H) interacting with the REBO potenial
  2. all atoms (C and H) of the CH3 radical interacting with the REBO
    potential
  3. the C atom of the CH3 radical and the C atoms of the substrate
    interacting with the REBO potential plus LJ.
    But instead of using a REBO potential to which superimpose a LJ
    potential for the 3rd case, I want to use the AIREBO potential which
    combine the REBO and the LJ.

[…]