Problem with input file for MEAM potential

Hi All,

I am trying to model the deposition of Cu on Si(001) using the MEAM potential. So I used the following commands:

pair_style meam
pair_coeff * * library.meam Si Cu SiCu.meam Si Cu

The problem is that I don’t know how to write the second input file. I have read the documentation on the LAMMPS guide and, using as example the “SiC.meam” file (given during the installation of LAMMPS) and the data in a paper for the coefficients, I was able to write the following script “SiCu.meam”:

UNITS: metal

rc = 4.0
delr = 0.1
rho0(2) = 1.1
delta(1,2) = 0.14
alpha(1,2) = 4.74
re(1,2) = 2.46
Cmin(1,2,1) = 0
Cmax(1,2,1) = 2.8
Cmin(2,1,2) = 0
Cmax(2,1,2) = 2.8
Cmin(1,1,2) = 2.0
Cmax(1,1,2) = 2.8
Cmin(1,2,2) = 2.0
Cmax(1,2,2) = 2.8
lattce(1,2) = ‘fcc’

I receive this error message:

ERROR: Incorrect args for pair coefficients (src/MEAM/pair_meam.cpp:239)

How should it be written?

Thank you to everyone in advance.

This specific error is not about the contents of the file, but about the pair_coeff command.
For testing purposes, you may also use NULL as the second file. That way you can rule out any issues with the format of that file, and fix the bigger issues first.

Has your system one or two or more atom types?

Thank you for the fast response!
The system has only two atom types.
I think that I tried what you suggested, so I wrote:

pair_coeff * * library.meam Si Cu NULL

and I obtain the same exact error. What could be the problem?

That command is most certainly incorrect. For two atom types with type 1 being silicon and 2 being copper the command would have to be:

pair_coeff * * library.meam Si Cu NULL Si Cu

The first list of elements “extracts” per element information from the library file, the second maps them to the numeric atom types. If the atom types would be reversed (1 for copper and 2 for silicon) the line would have to be:

pair_coeff * * library.meam Si Cu NULL Cu Si

In order to eliminate all doubts, please insert the command info system before the failing pair_coeff command and report the output.

I apologize for the misunderstanding, but I have just started using the software recently. Thank you for your patience.

This is the report output:

LAMMPS (23 Jun 2022 - Update 4)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
Loaded 1 plugins from C:\Users\scott\AppData\Local\LAMMPS 64-bit 23Jun2022\plugins
Created orthogonal box = (0 0 0) to (54.3 54.3 100)
1 by 1 by 1 MPI processor grid
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)

Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
Printed on Thu Jul 27 17:39:37 2023

System information:
Units = metal
Atom style = atomic
Atom map = none
Atoms = 0, types = 2, style = meam
Kspace style = none

Dimensions = 3
Orthogonal box = 54.3 x 54.3 x 100
Boundaries = p,p p,p f,f
xlo, xhi = 0, 54.3
ylo, yhi = 0, 54.3
zlo, zhi = 0, 100

Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info

Lattice spacing in x,y,z = 5.43 5.43 5.43
Created 4200 atoms
using lattice units in orthogonal box = (0 0 0) to (54.3 54.3 100)
create_atoms CPU = 0.001 seconds
4200 atoms in group gbottlay
0 atoms in group gthermlay
0 atoms in group gfreelay
0 atoms in group gverlet
ERROR: All pair coeffs are not set (src/pair.cpp:246)
Last command: run 10
PS C:\Users\scott\PROGETTO> lmp -in .\CuonSiinput.lammps
LAMMPS (23 Jun 2022 - Update 4)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
Loaded 1 plugins from C:\Users\scott\AppData\Local\LAMMPS 64-bit 23Jun2022\plugins
Created orthogonal box = (0 0 0) to (54.3 54.3 100)
1 by 1 by 1 MPI processor grid
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)
WARNING: Ignoring unknown or incorrect info command flag (src/info.cpp:263)

Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
Printed on Thu Jul 27 17:43:12 2023

System information:
Units = metal
Atom style = atomic
Atom map = none
Atoms = 0, types = 2, style = meam
Kspace style = none

Dimensions = 3
Orthogonal box = 54.3 x 54.3 x 100
Boundaries = p,p p,p f,f
xlo, xhi = 0, 54.3
ylo, yhi = 0, 54.3
zlo, zhi = 0, 100

Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info

Lattice spacing in x,y,z = 5.43 5.43 5.43
Created 4200 atoms
using lattice units in orthogonal box = (0 0 0) to (54.3 54.3 100)
create_atoms CPU = 0.001 seconds
4200 atoms in group gbottlay
0 atoms in group gthermlay
0 atoms in group gfreelay
0 atoms in group gverlet
ERROR: All pair coeffs are not set (src/pair.cpp:246)
Last command: run 10

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

is a different error than

ERROR: Incorrect args for pair coefficients (src/MEAM/pair_meam.cpp:239)

This means that the pair_coeff syntax was accepted, but that some settings are missing.
That is very strange for the information you have provided, please provide the entire input.

This is the input file (obviously it is not finished since I just wanted to see if the first lines were correct):

#Measure units - metal because of the MEAM potential
units metal #distance [A], time [ps], energy [eV], temperature [K], pressure [bar], massa [g/mol]

#Boundary conditions: p = periodic per x e y, f = fixed per z
dimension 3
boundary p p f

#Atom description - Mass
atom_style atomic

#Interactions - MEAM (Modified Embedded Atom Method)
pair_style meam

#System construction
region simulation_block block 0 54.3 0 54.3 0 100
create_box 2 simulation_block

#Parameters
info system pair_coeff * * library.meam Si Cu SiCu.meam Si Cu
mass 1 28.09 #Si
mass 2 63.55 #Cu

#Substrate of Si
region substrate block 0 54.3 0 54.3 0 27.15
lattice diamond 5.43 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
create_atoms 1 region substrate

#Substrate layers (5/20 bottomo layer, 12/20 thermal layer, 3/20 free layer)
region bottlay block 0 54.3 0 54.3 0 6.7875
region thermlay block 0 54.3 0 54.3 6.7875 23.0775
region freelay block 0 54.3 0 54.3 23.0775 27.15

#Substrate groups
group gbottlay region bottlay
group gthermlay region thermlay
group gfreelay region freelay

#Substrate layers initial conditions
fix fbottlay gbottlay setforce 0.0 0.0 0.0
fix fthermlay gthermlay temp/berendsen 300 300 10 #velocities adjusted every 10 timesteps (=10 fs)

#Dynamics setting for deposition
group gverlet union gfreelay gthermlay
fix fverlet gverlet nve

#Deposition process - Working in progress

timestep 0.001
run 10
write_data all atom dump.lammpstrj

This is the “SiCu.meam”:

DATE: 27-07-23 UNITS: metal

rc = 4.0
delr = 0.1
rho0(2) = 1.1
delta(1,2) = 0.14
alpha(1,2) = 4.74
re(1,2) = 2.46
Cmin(1,2,1) = 0
Cmax(1,2,1) = 2.8
Cmin(2,1,2) = 0
Cmax(2,1,2) = 2.8
Cmin(1,1,2) = 2.0
Cmax(1,1,2) = 2.8
Cmin(1,2,2) = 2.0
Cmax(1,2,2) = 2.8
lattce(1,2) = ‘fcc’

you are putting two commands “info” and “pair_coeff” in the same line. That is wrong and hence the many warnings. It also explains the different error message, since the pair_coeff command is interpreted as (unknown) arguments to the info command.

If you remove the “info system” text and delete the first line of the SiCu.meam file, the input should work, except for the very last line, which - again - has incorrect syntax.

1 Like

Oh you’re right, the last one should have been write_dump.
In any case now it works!!
Thank you for everything :grin: