git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@16053 f3b2605a-c512-4ea7-a41b...
[lammps.git] / doc / src / pair_vashishta.txt
blob902e6012f860a0a5dd613d935a2eacfa154b5346
1 "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
3 :link(lws,http://lammps.sandia.gov)
4 :link(ld,Manual.html)
5 :link(lc,Section_commands.html#comm)
7 :line
9 pair_style vashishta command :h3
10 pair_style vashishta/omp command :h3
11 pair_style vashishta/kk command :h3
12 pair_style vashishta/table command :h3
13 pair_style vashishta/table/omp command :h3
15 [Syntax:]
17 pair_style style args :pre
19 style = {vashishta} or {vashishta/table} or {vashishta/omp} or {vashishta/table/omp}
20 args = list of arguments for a particular style :ul
21   {vashishta} or {vashishta/omp} args = none
22   {vashishta/table} or {vashishta/table/omp} args = Ntable cutinner
23     Ntable = # of tabulation points
24     cutinner = tablulate from cutinner to cutoff :pre
26 [Examples:]
28 pair_style vashishta
29 pair_coeff * * SiC.vashishta Si C :pre
31 pair_style vashishta/table 100000 0.2
32 pair_coeff * * SiC.vashishta Si C :pre
34 [Description:]
36 The {vashishta} and {vashishta/table} styles compute the combined
37 2-body and 3-body family of potentials developed in the group of Priya
38 Vashishta and collaborators.  By combining repulsive, screened
39 Coulombic, screened charge-dipole, and dispersion interactions with a
40 bond-angle energy based on the Stillinger-Weber potential, this
41 potential has been used to describe a variety of inorganic compounds,
42 including SiO2 "Vashishta1990"_#Vashishta1990, SiC
43 "Vashishta2007"_#Vashishta2007, and InP "Branicio2009"_#Branicio2009.
45 The potential for the energy U of a system of atoms is
47 :c,image(Eqs/pair_vashishta.jpg)
49 where we follow the notation used in "Branicio2009"_#Branicio2009.
50 U2 is a two-body term and U3 is a three-body term.  The
51 summation over two-body terms is over all neighbors J within
52 a cutoff distance = {rc}.  The twobody terms are shifted and
53 tilted by a linear function so that the energy and force are
54 both zero at {rc}. The summation over three-body terms
55 is over all neighbors J and K within a cut-off distance = {r0},
56 where the exponential screening function becomes zero.
58 The {vashishta} style computes these formulas analytically.  The
59 {vashishta/table} style tabulates the analytic values for {Ntable}
60 points from cutinner to the cutoff of the potential.  The points are
61 equally spaced in R^2 space from cutinner^2 to cutoff^2.  For the
62 two-body term in the above equation, a linear interpolation for each
63 pairwise distance between adjacent points in the table.  In practice
64 the tabulated version can run 3-5x faster than the analytic version
65 with with moderate to little loss of accuracy for Ntable values
66 between 10000 and 1000000. It is not recommended to use less than
67 5000 tabulation points.
69 Only a single pair_coeff command is used with either style which
70 specifies a Vashishta potential file with parameters for all needed
71 elements.  These are mapped to LAMMPS atom types by specifying N
72 additional arguments after the filename in the pair_coeff command,
73 where N is the number of LAMMPS atom types:
75 filename
76 N element names = mapping of Vashishta elements to atom types :ul
78 See the "pair_coeff"_pair_coeff.html doc page for alternate ways
79 to specify the path for the potential file.
81 As an example, imagine a file SiC.vashishta has parameters for
82 Si and C.  If your LAMMPS simulation has 4 atoms types and you want
83 the 1st 3 to be Si, and the 4th to be C, you would use the following
84 pair_coeff command:
86 pair_coeff * * SiC.vashishta Si Si Si C :pre
88 The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
89 The first three Si arguments map LAMMPS atom types 1,2,3 to the Si
90 element in the file.  The final C argument maps LAMMPS atom type 4
91 to the C element in the file.  If a mapping value is specified as
92 NULL, the mapping is not performed.  This can be used when a {vashishta}
93 potential is used as part of the {hybrid} pair style.  The NULL values
94 are placeholders for atom types that will be used with other
95 potentials.
97 Vashishta files in the {potentials} directory of the LAMMPS
98 distribution have a ".vashishta" suffix.  Lines that are not blank or
99 comments (starting with #) define parameters for a triplet of
100 elements.  The parameters in a single entry correspond to the two-body
101 and three-body coefficients in the formulae above:
103 element 1 (the center atom in a 3-body interaction)
104 element 2
105 element 3
106 H (energy units)
108 Zi (electron charge units)
109 Zj (electron charge units)
110 lambda1 (distance units)
111 D (energy units)
112 lambda4 (distance units)
113 W (energy units)
114 rc (distance units)
115 B (energy units)
116 gamma
117 r0 (distance units)
119 costheta0 :ul
121 The non-annotated parameters are unitless.  The Vashishta potential
122 file must contain entries for all the elements listed in the
123 pair_coeff command.  It can also contain entries for additional
124 elements not being used in a particular simulation; LAMMPS ignores
125 those entries.  For a single-element simulation, only a single entry
126 is required (e.g. SiSiSi).  For a two-element simulation, the file
127 must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC,
128 CCSi, CCC), that specify parameters for all permutations of the two
129 elements interacting in three-body configurations.  Thus for 3
130 elements, 27 entries would be required, etc.
132 Depending on the particular version of the Vashishta potential, the
133 values of these parameters may be keyed to the identities of zero,
134 one, two, or three elements.  In order to make the input file format
135 unambiguous, general, and simple to code, LAMMPS uses a slightly
136 confusing method for specifying parameters.  All parameters are
137 divided into two classes: two-body and three-body.  Two-body and
138 three-body parameters are handled differently, as described below.
139 The two-body parameters are H, eta, lambda1, D, lambda4, W, rc, gamma,
140 and r0.  They appear in the above formulae with two subscripts.  The
141 parameters Zi and Zj are also classified as two-body parameters, even
142 though they only have 1 subscript.  The three-body parameters are B,
143 C, costheta0.  They appear in the above formulae with three
144 subscripts.  Two-body and three-body parameters are handled
145 differently, as described below.
147 The first element in each entry is the center atom in a three-body
148 interaction, while the second and third elements are two neighbor
149 atoms. Three-body parameters for a central atom I and two neighbors J
150 and K are taken from the IJK entry.  Note that even though three-body
151 parameters do not depend on the order of J and K, LAMMPS stores
152 three-body parameters for both IJK and IKJ.  The user must ensure that
153 these values are equal.  Two-body parameters for an atom I interacting
154 with atom J are taken from the IJJ entry, where the 2nd and 3rd
155 elements are the same. Thus the two-body parameters for Si interacting
156 with C come from the SiCC entry. Note that even though two-body
157 parameters (except possibly gamma and r0 in U3) do not depend on the
158 order of the two elements, LAMMPS will get the Si-C value from the
159 SiCC entry and the C-Si value from the CSiSi entry. The user must
160 ensure that these values are equal. Two-body parameters appearing in
161 entries where the 2nd and 3rd elements are different are stored but
162 never used. It is good practice to enter zero for these values. Note
163 that the three-body function U3 above contains the two-body parameters
164 gamma and r0. So U3 for a central C atom bonded to an Si atom and a
165 second C atom will take three-body parameters from the CSiC entry, but
166 two-body parameters from the CCC and CSiSi entries.
168 :line
170 Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
171 functionally the same as the corresponding style without the suffix.
172 They have been optimized to run faster, depending on your available
173 hardware, as discussed in "Section 5"_Section_accelerate.html
174 of the manual.  The accelerated styles take the same arguments and
175 should produce the same results, except for round-off and precision
176 issues.
178 These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
179 USER-OMP and OPT packages, respectively.  They are only enabled if
180 LAMMPS was built with those packages.  See the "Making
181 LAMMPS"_Section_start.html#start_3 section for more info.
183 You can specify the accelerated styles explicitly in your input script
184 by including their suffix, or you can use the "-suffix command-line
185 switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
186 use the "suffix"_suffix.html command in your input script.
188 See "Section 5"_Section_accelerate.html of the manual for
189 more instructions on how to use the accelerated styles effectively.
191 :line
193 [Mixing, shift, table, tail correction, restart, rRESPA info]:
195 For atom type pairs I,J and I != J, where types I and J correspond to
196 two different element types, mixing is performed by LAMMPS as
197 described above from values in the potential file.
199 This pair style does not support the "pair_modify"_pair_modify.html
200 shift, table, and tail options.
202 This pair style does not write its information to "binary restart
203 files"_restart.html, since it is stored in potential files.  Thus, you
204 need to re-specify the pair_style and pair_coeff commands in an input
205 script that reads a restart file.
207 This pair style can only be used via the {pair} keyword of the
208 "run_style respa"_run_style.html command.  It does not support the
209 {inner}, {middle}, {outer} keywords.
211 :line
213 [Restrictions:]
215 These pair style are part of the MANYBODY package.  They is only
216 enabled if LAMMPS was built with that package.  See the
217 "Making LAMMPS"_Section_start.html#start_3 section for more info.
219 These pair styles requires the "newton"_newton.html setting to be "on"
220 for pair interactions.
222 The Vashishta potential files provided with LAMMPS (see the potentials
223 directory) are parameterized for metal "units"_units.html.  You can
224 use the Vashishta potential with any LAMMPS units, but you would need
225 to create your own potential file with coefficients listed in the
226 appropriate units if your simulation doesn't use "metal" units.
228 [Related commands:]
230 "pair_coeff"_pair_coeff.html
232 [Default:] none
234 :line
236 :link(Vashishta1990)
237 [(Vashishta1990)] P. Vashishta, R. K. Kalia, J. P. Rino, Phys. Rev. B
238 41, 12197 (1990).
240 :link(Vashishta2007)
241 [(Vashishta2007)] P. Vashishta, R. K. Kalia, A. Nakano,
242 J. P. Rino. J. Appl. Phys. 101, 103515 (2007).
244 :link(Branicio2009)
245 [(Branicio2009)] Branicio, Rino, Gan and Tsuzuki, J. Phys Condensed
246 Matter 21 (2009) 095002