[lammps-users] The format of eam potential for alloy

Hi,

I’m trying to calculate self-diffusivity of some binary alloys but not much familiar with the pair_style of “eam” in LAMMPS and meet a problem, I will be very appreciative if you can help answer this.

For example, for a NiPt equimolar system, I used “.in” file like,

"

units metal
atom_style atomic
timestep 0.002
dimension 3
boundary p p p

read_data NiPt_50_1Vac.dat

group Ni type 1
group Pt type 2

pair_style eam
pair_coeff 1 1 Ni_u3.eam
pair_coeff 2 2 Pt_u3.eam

neighbor 1.0 bin
neigh_modify every 1 delay 0 check yes

thermo_style custom step temp press pe ke pxx pyy pzz pxy pyz pxz lx ly lz
thermo_modify flush yes
thermo 10000

variable T1 equal 1000

#variable SEED equal 111
velocity all create {T1} {SEED} mom yes dist gaussian loop all

fix npt_thermostat all npt temp {T1} {T1} 0.2 iso 0.0 0.0 0.2 drag 0.20
run 10000

compute my_msd_1 Ni msd com no
fix my_msd_ave_1 Ni ave/time 1000 1 1000 c_my_msd_1[1] c_my_msd_1[2] c_my_msd_1[3] c_my_msd_1[4] file A_MSD_Ni.dat

compute my_msd_2 Pt msd com no
fix my_msd_ave_2 Pt ave/time 1000 1 1000 c_my_msd_2[1] c_my_msd_2[2] c_my_msd_2[3] c_my_msd_2[4] file A_MSD_Pt.dat

compute my_msd_3 all msd com no
fix my_msd_ave_3 all ave/time 1000 1 1000 c_my_msd_3[1] c_my_msd_3[2] c_my_msd_3[3] c_my_msd_3[4] file A_MSD_All.dat

run 20000000

"
such commands to set up pair coefficients to compute msd values, but the result I got was very unreasonable. Is there anything I messed up? I read the LAMMPS manual and it states that mixing pair interactions will automatically be done so I do not need to specify it. Thanks for your help.

Best regards,
WJ

You can't use two eam potentials like that for two different set of atoms, just like you would do with LJ parameters. The best option would be finding a specific eam potential that represents all your system, or make one yourself, but this is not a trivial task.

Álvaro

You can’t use two eam potentials like that for two different set of
atoms, just like you would do with LJ parameters. The best option would
be finding a specific eam potential that represents all your system, or
make one yourself, but this is not a trivial task.

Sorry, but this is not correct.

Plain EAM potentials MAY be used like this and LAMMPS will generate the missing terms through an EAM specific mixing rule.
The problem with this is, however, that the mixed terms may not be very realistic, especially if the two metals are quite different (like Nickel and Platinum).
In that case a more complex formulation with explicit mixed terms is needed (e.g. in eam/fs or eam/alloy format).
But even that may not be sufficient and then more complex approaches like MEAM may be needed.

Axel.

There is crucial information missing here so it is not possible to provide any specific recommendation.
But there are a few things that you can do:

  • check if the two EAM potentials you are using are suitable for the kind of system and the conditions you are looking at. in classical/empirical models just having a potential for the element is only a requirement, but not automatically sufficient to get accurate results. potentials often have limited transferability.
  • check if your method of computing the MSD is correct. That is best done by trying to reproduce published results with a “known” potential (and you can get access to the exact potential) and for similar boundary conditions.
  • check if there are studies like you want to do for the material you want to investigate already in the published literature and check what potentials and methods they used.

You should have a look at openkim.org .It seems there are models specifically parameterized for Ni-Pt systems which most likely perform better than mixing rules .

The models are more complex than eam nonetheless.

evangelos

Στις Τρίτη, 30 Νοεμβρίου 2021, ο χρήστης Axel Kohlmeyer <[email protected]> έγραψε: