pair_hybrid

Hi,
I’m modeling 3 atom types.Types 1 and 2 are both Carbon. The interactions are as follows,

1-1: airebo
2-2: airebo
1-2: lj/cut
1-3: lj/cut
2-3: lj/cut
3-3: eam

My commands are,

pair_style hybrid airebo A.A 1 0 eam lj/cut A.A lj/cut A.AAA
pair_coeff * * airebo CH.airebo C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 12 12 lj/cut 0.AAA A.A A.A
pair_coeff 1*2 3 lj/cut 0.0AA A.A5 A.AA

It doesn’t work because of pair coefficient errors. Can I have any advice?

yeah, go celebrate new year’s eve :smiley:

what error are you getting?

Exactly Same problem! I also have a problem modeling Nitrogen and Carbon bonding potentials. One of the members kindly replied and said to me that tersoff potential doesn’t work. This point was correct but I changed the potential to the airebo and still I don not know how can I find the Airebo potential which best applies to the Nitrogen-Carbon bonding and how can I use Hybrid command in LAMMPS to model it. Does anyone have any opinion toward this issue?

Regards,

Oh thanks and happy new year :D. I will celebrate tonight. I’m getting this

ERROR: Incorrect args for pair coefficients (…/pair_airebo.cpp:161)

me too. I think using hybrid command is very challenging and still I couldn’t figure out how to solve this issue.

Hi,
I'm modeling 3 atom types.Types 1 and 2 are both Carbon. The interactions
are as follows,

1-1: airebo
2-2: airebo
1-2: lj/cut
1-3: lj/cut
2-3: lj/cut
3-3: eam

My commands are,

pair_style hybrid airebo A.A 1 0 eam lj/cut A.A lj/cut A.AAA
pair_coeff * * airebo CH.airebo C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 1*2 lj/cut 0.AAA A.A A.A
pair_coeff 1*2 3 lj/cut 0.0AA A.A5 A.AA

It doesn't work because of pair coefficient errors. Can I have any advice?

it doesn't work because you don't follow the instructions of the pair
styles correctly.

the airebo coeffs line is missing one entry, and to model two separate
airebo groups (why??)
to have two airebo groups, you have to have two pair coeff lines for it.
the first lj/cut coeffs statement wipes out whatever the airebo definition was.

i don't understand what all the AAAs are for, but that isn't correct
syntax, of course. if you want serious help, please have at least the
decency to provide complete information and not a riddle.

axel.

Exactly Same problem! I also have a problem modeling Nitrogen and Carbon

sorry, but this is NOT AT ALL "exactly the same problem". not by a far margin.

axel.

Oh thanks and happy new year :D. I will celebrate tonight. I'm getting this

ERROR: Incorrect args for pair coefficients (../pair_airebo.cpp:161)

as you should. please consult the documentation (again ...and again).

these kind of systems have been modeled over and over again, and many
of the possible errors in input have been discussed in the past (see
the mailing list archives). as a consequence, you can rest assured
that the documentation relevant for these potentials have been
carefully reviewed many times and errors would have popped up. thus
the logical consequence is that the error is in your input.

perhaps, you should start with something simpler so you learn how all
of these things work in steps. not just take one big jump an be
confused.

axel.

Here’re the complete commands in my input file,

pair_style hybrid airebo 2.5 1 0 lj/cut 7.70625 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 0.02578 3.0825 7.70625
pair_coeff 1 2 lj/cut 0.00284 3.4 8.5

I fixed the AIREBO mistake but I still have a problem in lj/cut coefficients. Below, I copied a part of the log file with the error message. How epsilon and sigma are expected to be integer?

pair_style hybrid airebo 2.5 1 0 lj/cut 7.70625 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 0.02578 3.0825 7.70625
ERROR: Expected integer parameter in input script or data file (…/pair_hybrid.cpp:339)

Thanks

Here're the complete commands in my input file,

pair_style hybrid airebo 2.5 1 0 lj/cut 7.70625 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 0.02578 3.0825 7.70625
pair_coeff 1 2 lj/cut 0.00284 3.4 8.5

I fixed the AIREBO mistake but I still have a problem in lj/cut
coefficients. Below, I copied a part of the log file with the error message.
How epsilon and sigma are expected to be integer?

no. that would make no sense.

you have specified lj/cut twice (for no good reason) in the pair_style
line and that has implications for pair_coeff where you have to label
each entry with a number so that they can be told apart. please
re-read the docs or just drop the useless lj/cut entry.

Some info about my model…
Carbon atoms are divided into two parts (atom type 1 and 2) having lj interaction between them and both of those parts are interacting with Cu (atom type 3) by another lj interaction. So how can I ignore any of them?

Some info about my model...
Carbon atoms are divided into two parts (atom type 1 and 2) having lj
interaction between them and both of those parts are interacting with Cu
(atom type 3) by another lj interaction. So how can I ignore any of them?

you are not thinking straight. re-read what i wrote and re-read the
docs and realize your mistake.

that being said, your input is not consistent with your description.
the way you specify airebo, you must override the 1-2 interaction with
lj/cut or else your simulation will be bogus.

axel.

I labeled the two lj interactions as,

pair_style hybrid airebo 2.5 1 0 lj/cut 7.70625 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 1 0.02578 3.0825 7.70625
pair_coeff 1 2 lj/cut 2 0.00284 3.4 8.5

Now, It’s running and I think it works properly.
Thank you

I labeled the two lj interactions as,

pair_style hybrid airebo 2.5 1 0 lj/cut 7.70625 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 1 0.02578 3.0825 7.70625
pair_coeff 1 2 lj/cut 2 0.00284 3.4 8.5

Now, It's running and I think it works properly.

why so complicated? this one works just as well.

pair_style hybrid airebo 2.5 1 0 lj/cut 8.5 eam
pair_coeff * * airebo CH.airebo C C NULL
pair_coeff 3 3 eam cuu6.txt
pair_coeff 1*2 3 lj/cut 0.02578 3.0825 7.70625
pair_coeff 1 2 lj/cut 0.00284 3.4 8.5

You specifying AIREBO between your C atoms (type 1 and 2),
and then also specifiying LJ interactions between types 1 and 2.
That seems like a conceptual error. AIREBO is a complete
description of C-C interactions. Also if you use hybrid, then
the 1-2 LJ may wipe out the AIREBO interaction or part of it,
which would be bad. At a minimum you want hybrid/overlay
to use both AIREBO and lj/cut on the same pairs of atom types.

Steve

1 and 2 are separate CNTs. I only want AIREBO for the interaction inside one tube and LJ for the interaction between tube 1 and 2.

I suggest you read the many-body section of the pair hybrid doc page.
What you are doing currently will not work.

Steve

In the doc I found,

“For the hybrid style, each atom type pair I,J is assigned to exactly one sub-style. Just as with a simulation using a single pair style, if you specify the same atom type pair in a second pair_coeff command, the previous assignment will be overwritten.”

That makes it doable but in the same time I found this in the many-body part,

“But you should not, as a general rule, attempt to exclude the many-body interactions for some subset of the type pairs within the set of 1,3,4 interactions, e.g. exclude 1-1 or 1-3 interactions. That is not conceptually well-defined for many-body interactions, since the potential will typically calculate energies and foces for small groups of atoms, e.g. 3 or 4 atoms, using the neighbor lists of the atoms to find the additional atoms in the group. It is typically non-physical to think of excluding an interaction between a particular pair of atoms when the potential computes 3-body or 4-body interactions.”

But it’s also mentioned that,

“For example, imagine you have two atom types in your model, type 1 for atoms in one surface, and type 2 for atoms in the other, and you wish to use a Tersoff potential to compute interactions within each surface, but not between surfaces. Then either of these two command sequences would implement that model:
pair_style hybrid tersoff
pair_coeff * * tersoff SiC.tersoff C C
pair_coeff 1 2 none
pair_style tersoff
pair_coeff * * SiC.tersoff C C
neigh_modify exclude type 1 2”

For my case, If I’m physically sure that atoms pair 1-2 is only lennard jones AND IT HAS A MEANING, will assigning l/j interaction after AIREBO to these pair atoms exclude and overwrite the previous atoms pair (1-2) and eventually pair 1-2 will be only l/j?