forked from lijiext/lammps
255 lines
9.9 KiB
Plaintext
255 lines
9.9 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
pair_style tersoff command :h3
|
|
pair_style tersoff/table command :h3
|
|
pair_style tersoff/cuda :h3
|
|
pair_style tersoff/gpu :h3
|
|
pair_style tersoff/intel :h3
|
|
pair_style tersoff/kk :h3
|
|
pair_style tersoff/omp :h3
|
|
pair_style tersoff/table/omp command :h3
|
|
|
|
[Syntax:]
|
|
|
|
pair_style style :pre
|
|
|
|
style = {tersoff} or {tersoff/table} or {tersoff/cuda} or {tersoff/gpu} or {tersoff/omp} or {tersoff/table/omp}
|
|
|
|
[Examples:]
|
|
|
|
pair_style tersoff
|
|
pair_coeff * * Si.tersoff Si
|
|
pair_coeff * * SiC.tersoff Si C Si :pre
|
|
|
|
pair_style tersoff/table
|
|
pair_coeff * * SiCGe.tersoff Si(D) :pre
|
|
|
|
[Description:]
|
|
|
|
The {tersoff} style computes a 3-body Tersoff potential
|
|
"(Tersoff_1)"_#Tersoff_1 for the energy E of a system of atoms as
|
|
|
|
:c,image(Eqs/pair_tersoff_1.jpg)
|
|
|
|
where f_R is a two-body term and f_A includes three-body interactions.
|
|
The summations in the formula are over all neighbors J and K of atom I
|
|
within a cutoff distance = R + D.
|
|
|
|
The {tersoff/table} style uses tabulated forms for the two-body,
|
|
environment and angular functions. Linear interpolation is performed
|
|
between adjacent table entries. The table length is chosen to be
|
|
accurate within 10^-6 with respect to the {tersoff} style energy.
|
|
The {tersoff/table} should give better performance in terms of speed.
|
|
|
|
Only a single pair_coeff command is used with the {tersoff} style
|
|
which specifies a Tersoff potential file with parameters 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 Tersoff elements to atom types :ul
|
|
|
|
See the "pair_coeff"_pair_coeff.html doc page for alternate ways
|
|
to specify the path for the potential file.
|
|
|
|
As an example, imagine the SiC.tersoff file has Tersoff values for Si
|
|
and C. 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:
|
|
|
|
pair_coeff * * SiC.tersoff Si Si Si C :pre
|
|
|
|
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 Tersoff file. The final C argument maps LAMMPS atom
|
|
type 4 to the C element in the Tersoff file. If a mapping value is
|
|
specified as NULL, the mapping is not performed. This can be used
|
|
when a {tersoff} 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.
|
|
|
|
Tersoff files in the {potentials} directory of the LAMMPS distribution
|
|
have a ".tersoff" suffix. Lines that are not blank or comments
|
|
(starting with #) define parameters for a triplet of elements. The
|
|
parameters in a single entry correspond to coefficients in the formula
|
|
above:
|
|
|
|
element 1 (the center atom in a 3-body interaction)
|
|
element 2 (the atom bonded to the center atom)
|
|
element 3 (the atom influencing the 1-2 bond in a bond-order sense)
|
|
m
|
|
gamma
|
|
lambda3 (1/distance units)
|
|
c
|
|
d
|
|
costheta0 (can be a value < -1 or > 1)
|
|
n
|
|
beta
|
|
lambda2 (1/distance units)
|
|
B (energy units)
|
|
R (distance units)
|
|
D (distance units)
|
|
lambda1 (1/distance units)
|
|
A (energy units) :ul
|
|
|
|
The n, beta, lambda2, B, lambda1, and A parameters are only used for
|
|
two-body interactions. The m, gamma, lambda3, c, d, and costheta0
|
|
parameters are only used for three-body interactions. The R and D
|
|
parameters are used for both two-body and three-body interactions. The
|
|
non-annotated parameters are unitless. The value of m must be 3 or 1.
|
|
|
|
The Tersoff potential file must contain entries for all the elements
|
|
listed in the pair_coeff command. It can also contain entries for
|
|
additional elements not being used in a particular simulation; LAMMPS
|
|
ignores those entries.
|
|
|
|
For a single-element simulation, only a single entry is required
|
|
(e.g. SiSiSi). For a two-element simulation, the file must contain 8
|
|
entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that
|
|
specify Tersoff parameters for all permutations of the two elements
|
|
interacting in three-body configurations. Thus for 3 elements, 27
|
|
entries would be required, etc.
|
|
|
|
As annotated above, the first element in the entry is the center atom
|
|
in a three-body interaction and it is bonded to the 2nd atom and the
|
|
bond is influenced by the 3rd atom. Thus an entry for SiCC means Si
|
|
bonded to a C with another C atom influencing the bond. Thus
|
|
three-body parameters for SiCSi and SiSiC entries will not, in
|
|
general, be the same. The parameters used for the two-body
|
|
interaction come from the entry where the 2nd element is repeated.
|
|
Thus the two-body parameters for Si interacting with C, comes from the
|
|
SiCC entry.
|
|
|
|
The parameters used for a particular
|
|
three-body interaction come from the entry with the corresponding
|
|
three elements. The parameters used only for two-body interactions
|
|
(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd
|
|
element are different (e.g. SiCSi) are not used for anything and can
|
|
be set to 0.0 if desired.
|
|
|
|
Note that the twobody parameters in entries such as SiCC and CSiSi
|
|
are often the same, due to the common use of symmetric mixing rules,
|
|
but this is not always the case. For example, the beta and n parameters in
|
|
Tersoff_2 "(Tersoff_2)"_#Tersoff_2 are not symmetric.
|
|
|
|
We chose the above form so as to enable users to define all commonly
|
|
used variants of the Tersoff potential. In particular, our form
|
|
reduces to the original Tersoff form when m = 3 and gamma = 1, while
|
|
it reduces to the form of "Albe et al."_#Albe when beta = 1 and m = 1.
|
|
Note that in the current Tersoff implementation in LAMMPS, m must be
|
|
specified as either 3 or 1. Tersoff used a slightly different but
|
|
equivalent form for alloys, which we will refer to as Tersoff_2
|
|
potential "(Tersoff_2)"_#Tersoff_2. The {tersoff/table} style implements
|
|
Tersoff_2 parameterization only.
|
|
|
|
LAMMPS parameter values for Tersoff_2 can be obtained as follows:
|
|
gamma_ijk = omega_ik, lambda3 = 0 and the value of
|
|
m has no effect. The parameters for species i and j can be calculated
|
|
using the Tersoff_2 mixing rules:
|
|
|
|
:c,image(Eqs/pair_tersoff_2.jpg)
|
|
|
|
Tersoff_2 parameters R and S must be converted to the LAMMPS
|
|
parameters R and D (R is different in both forms), using the following
|
|
relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the
|
|
Tersoff_2 parameters.
|
|
|
|
In the potentials directory, the file SiCGe.tersoff provides the
|
|
LAMMPS parameters for Tersoff's various versions of Si, as well as his
|
|
alloy parameters for Si, C, and Ge. This file can be used for pure Si,
|
|
(three different versions), pure C, pure Ge, binary SiC, and binary
|
|
SiGe. LAMMPS will generate an error if this file is used with any
|
|
combination involving C and Ge, since there are no entries for the GeC
|
|
interactions (Tersoff did not publish parameters for this
|
|
cross-interaction.) Tersoff files are also provided for the SiC alloy
|
|
(SiC.tersoff) and the GaN (GaN.tersoff) alloys.
|
|
|
|
Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou
|
|
for helping clarify how Tersoff parameters for alloys have been
|
|
defined in various papers.
|
|
|
|
:line
|
|
|
|
Styles with a {cuda}, {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
|
functionally the same as the corresponding style without the suffix.
|
|
They have been optimized to run faster, depending on your available
|
|
hardware, as discussed in "Section_accelerate"_Section_accelerate.html
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.
|
|
|
|
These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL,
|
|
KOKKOS, USER-OMP and OPT packages, respectively. They are only
|
|
enabled if LAMMPS was built with those packages. See the "Making
|
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
|
|
|
You can specify the accelerated styles explicitly in your input script
|
|
by including their suffix, or you can use the "-suffix command-line
|
|
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
|
|
use the "suffix"_suffix.html command in your input script.
|
|
|
|
See "Section_accelerate"_Section_accelerate.html of the manual for
|
|
more instructions on how to use the accelerated styles effectively.
|
|
|
|
:line
|
|
|
|
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
|
|
|
For atom type pairs I,J and I != J, where types I and J correspond to
|
|
two different element types, mixing is performed by LAMMPS as
|
|
described above from values in the potential file.
|
|
|
|
This pair style does not support the "pair_modify"_pair_modify.html
|
|
shift, table, and tail options.
|
|
|
|
This pair style does not write its information to "binary restart
|
|
files"_restart.html, 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.
|
|
|
|
This pair style can only be used via the {pair} keyword of the
|
|
"run_style respa"_run_style.html command. It does not support the
|
|
{inner}, {middle}, {outer} keywords.
|
|
|
|
:line
|
|
|
|
[Restrictions:]
|
|
|
|
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 "Making LAMMPS"_Section_start.html#start_3 section for more info.
|
|
|
|
This pair style requires the "newton"_newton.html setting to be "on"
|
|
for pair interactions.
|
|
|
|
The Tersoff potential files provided with LAMMPS (see the potentials
|
|
directory) are parameterized for metal "units"_units.html. You can
|
|
use the Tersoff potential with any LAMMPS units, but you would need to
|
|
create your own Tersoff potential file with coefficients listed in the
|
|
appropriate units if your simulation doesn't use "metal" units.
|
|
|
|
[Related commands:]
|
|
|
|
"pair_coeff"_pair_coeff.html
|
|
|
|
[Default:] none
|
|
|
|
:line
|
|
|
|
:link(Tersoff_1)
|
|
[(Tersoff_1)] J. Tersoff, Phys Rev B, 37, 6991 (1988).
|
|
|
|
:link(Albe)
|
|
[(Albe)] J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.:
|
|
Condens. Matter, 15, 5649(2003).
|
|
|
|
:link(Tersoff_2)
|
|
[(Tersoff_2)] J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248)
|