forked from lijiext/lammps
246 lines
9.8 KiB
HTML
246 lines
9.8 KiB
HTML
|
<HTML>
|
||
|
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||
|
</CENTER>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<HR>
|
||
|
|
||
|
<H3>pair_style polymorphic command
|
||
|
</H3>
|
||
|
<P><B>Syntax:</B>
|
||
|
</P>
|
||
|
<PRE>pair_style polymorphic
|
||
|
</PRE>
|
||
|
<P>style = <I>polymorphic</I>
|
||
|
</P>
|
||
|
<P><B>Examples:</B>
|
||
|
</P>
|
||
|
<PRE>pair_style polymorphic
|
||
|
pair_coeff * * TlBr_msw.polymorphic Tl Br
|
||
|
pair_coeff * * AlCu_eam.polymorphic Al Cu
|
||
|
pair_coeff * * GaN_tersoff.polymorphic Ga N
|
||
|
pair_coeff * * GaN_sw.polymorphic GaN
|
||
|
</PRE>
|
||
|
<P><B>Description:</B>
|
||
|
</P>
|
||
|
<P>The <I>polymorphic</I> pair style computes a 3-body free-form potential
|
||
|
(<A HREF = "#Zhou">Zhou</A>) for the energy E of a system of atoms as
|
||
|
</P>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic1.jpg">
|
||
|
</CENTER>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic2.jpg">
|
||
|
</CENTER>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic2.jpg">
|
||
|
</CENTER>
|
||
|
<P>where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N
|
||
|
represents a list of i's neighbors, delta_ij is a Direc constant
|
||
|
(i.e., delta_ij = 1 when i = j, and delta_ij = 0 otherwise), eta_ij is
|
||
|
similar constant that can be set either to eta_ij = delta_ij or eta_ij
|
||
|
= 1 - delta_ij depending on the potential type, U_IJ(r_ij),
|
||
|
V_IJ(r_ij), W_IK(r_ik) are pair functions, G_JIK(cos(theta)) is an
|
||
|
angular function, P_IK(delta r_jik) is a function of atomic spacing
|
||
|
differential delta r_jik = r_ij - xi_IJ*r_ik with xi_IJ being a
|
||
|
pair-dependent parameter, and F_IJ(X_ij) is a function of the local
|
||
|
environment variable X_ij. This generic potential is fully defined
|
||
|
once the constants eta_ij and xi_IJ, and the six functions U_IJ(r_ij),
|
||
|
V_IJ(r_ij), W_IK(r_ik), G_JIK(cos(theta)), P_IK(delta r_jik), and
|
||
|
F_IJ(X_ij) are given. Note that these six functions are all one
|
||
|
dimensional, and hence can be provided in an analytic or tabular
|
||
|
form. This allows users to design different potentials solely based on
|
||
|
a manipulation of these functions. For instance, the potential reduces
|
||
|
to Stillinger-Weber potential (<A HREF = "#SW">SW</A>) if we set
|
||
|
</P>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic4.jpg">
|
||
|
</CENTER>
|
||
|
<P>The potential reduces to Tersoff types of potential
|
||
|
(<A HREF = "#Tersoff,<A HREF = "#Albe">Tersoff</A>">Albe</A>) if we set
|
||
|
</P>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic5.jpg">
|
||
|
</CENTER>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic6.jpg">
|
||
|
</CENTER>
|
||
|
<P>The potential reduces to Rockett-Tersoff (<A HREF = "#Wang">Wang</A>) type if we set
|
||
|
</P>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic7.jpg">
|
||
|
</CENTER>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic6.jpg">
|
||
|
</CENTER>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic8.jpg">
|
||
|
</CENTER>
|
||
|
<P>The potential becomes embedded atom method (<A HREF = "#Daw">Daw</A>) if we set
|
||
|
</P>
|
||
|
<CENTER><IMG SRC = "Eqs/polymorphic9.jpg">
|
||
|
</CENTER>
|
||
|
<P>In the embedded atom method case, phi_IJ(r_ij) is the pair energy,
|
||
|
F_I(X) is the embedding energy, X is the local electron density, and
|
||
|
f_K(r) is the atomic electron density function.
|
||
|
</P>
|
||
|
<P>If the tabulated functions are created using the parameters of sw,
|
||
|
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 atom properties (energies and stresses) as the
|
||
|
corresponding tersoff and eam pair styles. However, due to a different
|
||
|
partition of global properties to atom properties, the polymorphic
|
||
|
pair style will produce different 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 in this case. It just
|
||
|
means that the definitions of the atom energies and atom stresses are
|
||
|
different.
|
||
|
</P>
|
||
|
<P>Only a single pair_coeff command is used with the polymorphic style
|
||
|
which specifies an 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:
|
||
|
</P>
|
||
|
<P> filename
|
||
|
N element names = mapping of Tersoff elements to atom types
|
||
|
</P>
|
||
|
<P>See the pair_coeff doc page for alternate ways to specify the path for
|
||
|
the potential file.
|
||
|
</P>
|
||
|
<P>As an example, imagine the SiC_tersoff.polymorphic file has tabulated
|
||
|
functions for Si-C tersoff potential. If your LAMMPS simulation has 4
|
||
|
atoms types and you want the 1st 3 to be Si, and the 4th to be C, you
|
||
|
would use the following pair_coeff command:
|
||
|
</P>
|
||
|
<P>pair_coeff * * SiC_tersoff.polymorphic Si Si Si C
|
||
|
</P>
|
||
|
<P>The 1st 2 arguments must be * * so as to span all LAMMPS atom
|
||
|
types. The first three Si arguments map LAMMPS atom types 1,2,3 to the
|
||
|
Si element in the polymorphic file. The final C argument maps LAMMPS
|
||
|
atom type 4 to the C 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.
|
||
|
</P>
|
||
|
<P>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:
|
||
|
</P>
|
||
|
<P>ntypes eta
|
||
|
</P>
|
||
|
<P>Here ntypes represent total number of species defined in the potential
|
||
|
file, and eta = 0 or 1. The number ntypes must equal the total number
|
||
|
of different species defined in the pair_coeff command. When eta = 1,
|
||
|
eta_ij defined in the potential functions above is set to 1 -
|
||
|
delta_ij, otherwise eta_ij is set to delta_ij. The next ntypes lines
|
||
|
each lists two numbers and a character string representing atomic
|
||
|
number, atomic mass, and name of the species of the ntypes elements:
|
||
|
</P>
|
||
|
<P>atomic_number atomic-mass element (1)
|
||
|
atomic_number atomic-mass element (2)
|
||
|
...
|
||
|
atomic_number atomic-mass element (ntypes)
|
||
|
</P>
|
||
|
<P>The next ntypes*(ntypes+1)/2 lines contain two numbers:
|
||
|
</P>
|
||
|
<P>cut xi (1)
|
||
|
cut xi (2)
|
||
|
...
|
||
|
cut xi (ntypes*(ntypes+1)/2)
|
||
|
</P>
|
||
|
<P>Here cut means the cutoff distance of the pair functions, xi is the
|
||
|
same as defined in the potential functions above. The
|
||
|
ntypes*(ntypes+1)/2 lines are related to the pairs according to the
|
||
|
sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then
|
||
|
then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ...,
|
||
|
ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12,
|
||
|
13, 14, ..., 23, 24, ...).
|
||
|
</P>
|
||
|
<P>The final blocks of the potential file are the 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, W, and P functions. Then G functions
|
||
|
are given for all the ntypes*ntypes*ntypes ijk triplets in a natural
|
||
|
sequence i from 1 to ntypes, j from 1 to ntypes, and k from 1 to
|
||
|
ntypes (i.e., ijk = 111, 112, 113, ..., 121, 122, 123 ..., 211, 212,
|
||
|
...). Each of the ijk functions contains ng values. Finally, the F
|
||
|
functions are listed for all ntypes*(ntypes+1)/2 pairs, each
|
||
|
containing nx values. Either analytic or tabulated functions can be
|
||
|
specified. Currently, constant, exponential, sine and cosine analytic
|
||
|
functions are available which are specified with: constant c1 , where
|
||
|
f(x) = c1 exponential c1 c2 , where f(x) = c1 exp(c2*x) sine c1 c2 ,
|
||
|
where f(x) = c1 sin(c2*x) cos c1 c2 , where f(x) = c1 cos(c2*x)
|
||
|
Tabulated functions are specified by spline n x1 x2, where n=number of
|
||
|
point, (x1,x2)=range and then followed by n values evaluated uniformly
|
||
|
over these argument ranges. The valid argument ranges of the
|
||
|
functions are between 0 <= r <= cut for the U(r), V(r), W(r)
|
||
|
functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions,
|
||
|
-1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX
|
||
|
for the F(X) functions.
|
||
|
</P>
|
||
|
<P>This concludes the potential files for the polymorphic pair style.
|
||
|
</P>
|
||
|
<P><B>Mixing, shift, table tail correction, restart</B>:
|
||
|
</P>
|
||
|
<P>This pair styles does not support the <A HREF = "pair_modify.html">pair_modify</A>
|
||
|
shift, table, and tail options.
|
||
|
</P>
|
||
|
<P>This pair style does not write their information to <A HREF = "restart.html">binary restart
|
||
|
files</A>, 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.
|
||
|
</P>
|
||
|
<HR>
|
||
|
|
||
|
<P><B>Restrictions:</B>
|
||
|
</P>
|
||
|
<P>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.
|
||
|
</P>
|
||
|
<P>This pair style is part of the MANYBODY package. It is only enabled if
|
||
|
LAMMPS was built with that package (which it is by default). See the
|
||
|
<A HREF = "Section_start.html#start_3">Making LAMMPS</A> section for more info.
|
||
|
</P>
|
||
|
<P>This pair potential requires the <A HREF = "newton.html">newtion</A> setting to be
|
||
|
"on" for pair interactions.
|
||
|
</P>
|
||
|
<P>The potential files provided with LAMMPS (see the potentials
|
||
|
directory) are parameterized for metal <A HREF = "units.html">units</A>. You can use
|
||
|
any LAMMPS units, but you would need to create your own potential
|
||
|
files.
|
||
|
</P>
|
||
|
<P><B>Related commands:</B>
|
||
|
</P>
|
||
|
<P><A HREF = "pair_coeff.html">pair_coeff</A>
|
||
|
</P>
|
||
|
<HR>
|
||
|
|
||
|
<A NAME = "Zhou"></A>
|
||
|
|
||
|
<P><B>(Zhou)</B> X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and
|
||
|
F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015).
|
||
|
</P>
|
||
|
<A NAME = "SW"></A>
|
||
|
|
||
|
<P><B>(SW)</B> F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985).
|
||
|
</P>
|
||
|
<A NAME = "Tersoff"></A>
|
||
|
|
||
|
<P><B>(Tersoff)</B> J. Tersoff, Phys. Rev. B, 39, 5566 (1989).
|
||
|
</P>
|
||
|
<A NAME = "Albe"></A>
|
||
|
|
||
|
<P><B>(Albe)</B> K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B,
|
||
|
66, 035205 (2002).
|
||
|
</P>
|
||
|
<A NAME = "Wang"></A>
|
||
|
|
||
|
<P><B>(Wang)</B> J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991).
|
||
|
</P>
|
||
|
<A NAME = "Daw"></A>
|
||
|
|
||
|
<P><B>(Daw)</B> M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984).
|
||
|
</P>
|
||
|
</HTML>
|