pair_style polymorphic command¶
Examples¶
pair_style polymorphic
pair_coeff * * FeCH_BOP_I.poly Fe C H
pair_coeff * * TlBr_msw.poly Tl Br
pair_coeff * * CuTa_eam.poly Cu Ta
pair_coeff * * GaN_tersoff.poly Ga N
pair_coeff * * GaN_sw.poly Ga N
Description¶
The polymorphic pair style computes a 3-body free-form potential (Zhou3) for the energy E of a system of atoms as
where I, J, K represent species of atoms i, j, and k,
The potential reduces to a Tersoff potential (Tersoff or Albe) if we set
where
The potential reduces to a modified Stillinger-Weber potential (Zhou3) if we set
The potential reduces to a Rockett-Tersoff potential (Wang3) if we set
where
The potential becomes the embedded atom method (Daw) if we set
In the embedded atom method case,
The potential reduces to another type of Tersoff potential (Zhou4) if we set
where
If the tabulated functions are created using the parameters of Stillinger-Weber, Tersoff, and EAM potentials, the polymorphic pair style will produce the same global properties (energies and stresses) and the same forces as the sw, tersoff, and eam pair styles. The polymorphic pair style also produces the same per-atom properties (energies and stresses) as the corresponding tersoff and eam pair styles. However, due to a different partitioning of global properties to per-atom properties, the polymorphic pair style will produce different per-atom properties (energies and stresses) as the sw pair style. This does not mean that polymorphic pair style is different from the sw pair style. It just means that the definitions of the atom energies and atom stresses are different.
Only a single pair_coeff command is used with the polymorphic pair style which specifies a potential file for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types:
filename
N element names = mapping of polymorphic potential elements to atom types
See the pair_coeff page for alternate ways to specify the path for the potential file. Several files for polymorphic potentials are included in the potentials directory of the LAMMPS distribution. They have a “poly” suffix.
As an example, imagine the GaN_tersoff.poly file has tabulated functions for Ga-N tersoff potential. If your LAMMPS simulation has 4 atom types and you want the first 3 to be Ga, and the fourth to be N, you would use the following pair_coeff command:
pair_coeff * * GaN_tersoff.poly Ga Ga Ga N
The first two arguments must be * * to span all pairs of LAMMPS atom types. The first three Ga arguments map LAMMPS atom types 1,2,3 to the Ga element in the polymorphic file. The final N argument maps LAMMPS atom type 4 to the N element in the polymorphic file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when an polymorphic potential is used as part of the hybrid pair style. The NULL values are placeholders for atom types that will be used with other potentials.
Potential files in the potentials directory of the LAMMPS distribution have a “.poly” suffix. At the beginning of the files, an unlimited number of lines starting with ‘#’ are used to describe the potential and are ignored by LAMMPS. The next line lists two numbers:
ntypes eta
Here ntypes represent total number of species defined in the potential
file,
atomic-number atomic-mass element-name(1)
atomic-number atomic-mass element-name(2)
...
atomic-number atomic-mass element-name(ntypes)
The next line contains four numbers:
nr ntheta nx xmax
Here nr is total number of tabular points for radial functions U, V, W,
P, ntheta is total number of tabular points for the angular function G,
nx is total number of tabular points for the function F, xmax is a
maximum value of the argument of function F. Note that the pair
functions
The next ntypes*(ntypes+1)/2 lines contain two numbers:
cut xi(1) cut xi(2) ... cut xi(ntypes*(ntypes+1)/2)
Here cut means the cutoff distance of the pair functions, “xi” is
In the final blocks of the potential file, U, V, W, P, G, and F
functions are listed sequentially. First, U functions are given for each
of the ntypes*(ntypes+1)/2 pairs according to the sequence described
above. For each of the pairs, nr values are listed. Next, similar arrays
are given for V and W functions. If P functions depend only on pair
species, i.e.,
Mixing, shift, table, tail correction, restart, rRESPA info¶
This pair style does not support the pair_modify shift, table, and tail options.
This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file.
Restrictions¶
If using create_atoms command, atomic masses must be defined in the input script. If using read_data, atomic masses must be defined in the atomic structure data file.
This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the Build package page for more info.
This pair potential requires the newton setting to be “on” for pair interactions.
The potential files provided with LAMMPS (see the potentials directory) are parameterized for metal units. You can use any LAMMPS units, but you would need to create your own potential files.