All pair coeffs are not set with pair_style hybrid command

Dear LAMMPS users

I want to simulate ternary alloy system with Al, Cr, Ni alloy.

So, I am trying to use pair_style hybrid command but it doesn’t work.

My atom type 1,2 and 3 are Al, Cr and Ni.

The part of my input script is,

pair_style hybrid eam/alloy lj/cut 5.0
pair_coeff * * eam/alloy Al_wkg_MSMSE_2009.set Al NULL NULL
pair_coeff * * eam/alloy Mishin-Ni-Al-Co-2013.eam.alloy Al NULL Ni
pair_coeff * * eam/alloy Mishin-Ni-Al-Co-2013.eam.alloy NULL NULL Ni
pair_coeff * * eam/alloy FeNiCr_Bonny_2013_ptDef.eam.alloy NULL Cr NULL
pair_coeff * * eam/alloy FeNiCr_Bonny_2013_ptDef.eam.alloy NULL Cr Ni
pair_coeff 1 2 lj/cut 1.0 1.5

neigh_modify delay 0 every 1 check yes page 500000 one 50000
balance 1.0 shift xy 100 1.0 out tmp.balance_xy

And, the error is printed out like,

ERROR: All pair coeffs are not set (…/pair.cpp:230).

I use pair coefficients for all pairs so I wonder why this error happens…

How can I fix the problem?

Kind regards,
Woo Cheol Jeon

Dear LAMMPS users

I want to simulate ternary alloy system with Al, Cr, Ni alloy.

So, I am trying to use pair_style hybrid command but it doesn't work.

My atom type 1,2 and 3 are Al, Cr and Ni.

The part of my input script is,

pair_style hybrid eam/alloy lj/cut 5.0
pair_coeff * * eam/alloy Al_wkg_MSMSE_2009.set Al NULL NULL
pair_coeff * * eam/alloy Mishin-Ni-Al-Co-2013.eam.alloy Al NULL Ni
pair_coeff * * eam/alloy Mishin-Ni-Al-Co-2013.eam.alloy NULL NULL Ni
pair_coeff * * eam/alloy FeNiCr_Bonny_2013_ptDef.eam.alloy NULL Cr NULL
pair_coeff * * eam/alloy FeNiCr_Bonny_2013_ptDef.eam.alloy NULL Cr Ni
pair_coeff 1 2 lj/cut 1.0 1.5

neigh_modify delay 0 every 1 check yes page 500000 one 50000
balance 1.0 shift xy 100 1.0 out tmp.balance_xy

And, the error is printed out like,

ERROR: All pair coeffs are not set (../pair.cpp:230).

I use pair coefficients for all pairs so I wonder why this error happens..

this happens because each pair_coeff * * eam/alloy line wipes out the
setting of the previous.

How can I fix the problem?

you cannot. even if you can work around the technical issue, your
simulation will be garbage.
at the very conceptual level, you need to have a single potential file
to get meaningful results for an alloy with eam.alloy potentials.
EAM is *not* a pairwise additive potential. you'll completely screw up
the embedding term computation with using the hybrid potential
approach.

axel.

Dear Axel,

Thank you for your comments.

I understand what happend on the output file.

Then, I have one more question.

Can I use pair_style hybrid command with one EAM potential and other pairwise interactions like LJ potentials?

Kind regards,
Woo Cheol Jeon

Dear Axel,

Thank you for your comments.

I understand what happend on the output file.

Then, I have one more question.

Can I use pair_style hybrid command with one EAM potential and other
pairwise interactions like LJ potentials?

is it technically possible? yes.
does it make sense for your system? no. you'll still get garbage
thanks to the GI-GO nature.

axel.

Dear Axel,

Thank you for your time in answering my questions.

You said that nothing seems to change.

But I’m still wondering why one EAM and LJ potentials don’t work together.

In the page,

http://lammps.sandia.gov/doc/pair_hybrid.html,

the example of pair_style hybrid shows that one EAM potential and LJ potentials can be used together as below,

pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
pair_coeff * * eam/alloy nialhjea Ni Ni NULL
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.8 1.3

Also, in the paper published in Scientific Reports,

http://www.nature.com/articles/srep31028,

they also used EAM potential and LJ potentials together.

What’s the difference between the examples and my case?

Is it because there is no EAM potential for ternary alloy?

Thanks.

Kind regards,
Woo Cheol Jeon

Dear Axel,

Thank you for your time in answering my questions.

You said that nothing seems to change.

that is not what i said.

But I'm still wondering why one EAM and LJ potentials don't work together.

i didn't say that either.

In the page,

http://lammps.sandia.gov/doc/pair_hybrid.html,

the example of pair_style hybrid shows that one EAM potential and LJ
potentials can be used together as below,

pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
pair_coeff * * eam/alloy nialhjea Ni Ni NULL
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.8 1.3

yes, of course.

Also, in the paper published in Scientific Reports,

http://www.nature.com/articles/srep31028,

they also used EAM potential and LJ potentials together.

yes, and apparently they got lucky to get something acceptable with an
inconsistent and problematic approach. in their specific case, they
were likely aided by the fact, that they have a very small percentage
of the element represented by LJ. considering, that it isn't exactly
rocket science to build an all-EAM potential file, after spending a
little time understanding how EAM potentials work, i personally find
this approach substandard, and would have never accepted such a paper
as reviewer.

What's the difference between the examples and my case?

Is it because there is no EAM potential for ternary alloy?

the major issue here is, that you don't seem to understand how EAM
potentials work, and thus why for alloys combining them with pair
style hybrid does not make sense.

axel.

Dear Axel,

I’m sorry Axel. I understand that the meaning “additive” and eam/alloy potentials can’t be additive exactly.

Thank you for your kind words to my questions.

Best regards,
Woo Cheol Jeon

Dear Axel,

I'm sorry Axel. I understand that the meaning "additive" and eam/alloy
potentials can't be additive exactly.

that is only a formal explanation and missing the core of the problem.
the main issue here is the computation of the embedding term and more
specifically the contributions to the density.

axel.