convert pair styles srp to tersoff

This commit is contained in:
Axel Kohlmeyer 2020-02-16 13:37:39 -05:00
parent 3f5bb96aed
commit 4a2f05d333
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
22 changed files with 207 additions and 247 deletions

Binary file not shown.

Before

(image error) Size: 3.5 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
F^{SRP}_{ij} & = & C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 5.5 KiB

View File

@ -1,10 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
F_{i1}^{SRP} & = & F^{SRP}_{ij}(L) \\
F_{i2}^{SRP} & = & F^{SRP}_{ij}(1-L)
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 28 KiB

View File

@ -1,18 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
E & = & \sum_i \sum_{j > i} \phi_2 (r_{ij}) +
\sum_i \sum_{j \neq i} \sum_{k > j}
\phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\
\phi_2(r_{ij}) & = & A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} -
(\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right]
\exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\
\phi_3(r_{ij},r_{ik},\theta_{ijk}) & = & \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} -
\cos \theta_{0ijk} \right]^2
\exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right)
\exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right)
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 35 KiB

Binary file not shown.

Before

(image error) Size: 36 KiB

View File

@ -1,24 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = & A \exp (-\lambda_1 r) \\
f_A(r) & = & -B \exp (-\lambda_2 r) \\
b_{ij} & = & \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\
g(\theta) & = & \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} -
\frac{c^2}{\left[ d^2 +
(\cos \theta - \cos \theta_0)^2\right]} \right)
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 13 KiB

View File

@ -1,14 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
\lambda_1^{i,j} &=& \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\
\lambda_2^{i,j} &=& \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\
A_{i,j} &=& (A_{i}A_{j})^{1/2}\\
B_{i,j} &=& \chi_{ij}(B_{i}B_{j})^{1/2}\\
R_{i,j} &=& (R_{i}R_{j})^{1/2}\\
S_{i,j} &=& (S_{i}S_{j})^{1/2}\\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 90 KiB

View File

@ -1,24 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = & A \exp (-\lambda_1 r) \\
f_A(r) & = & -B \exp (-\lambda_2 r) \\
b_{ij} & = & \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\
g(\theta) & = & c_1 + g_o(\theta) g_a(\theta) \\
g_o(\theta) & = & \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\
g_a(\theta) & = & 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 4.1 KiB

View File

@ -1,10 +0,0 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right]
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

(image error) Size: 384 KiB

View File

@ -1,33 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = & (1 - f_F(r_{ij})) V^{ZBL}_{ij} + f_F(r_{ij}) V^{Tersoff}_{ij} \\
f_F(r_{ij}) & = & \frac{1}{1 + e^{-A_F(r_{ij} - r_C)}}\\
\\
\\
V^{ZBL}_{ij} & = & \frac{1}{4\pi\epsilon_0} \frac{Z_1 Z_2 \,e^2}{r_{ij}} \phi(r_{ij}/a) \\
a & = & \frac{0.8854\,a_0}{Z_{1}^{0.23} + Z_{2}^{0.23}}\\
\phi(x) & = & 0.1818e^{-3.2x} + 0.5099e^{-0.9423x} + 0.2802e^{-0.4029x} + 0.02817e^{-0.2016x}\\
\\
\\
V^{Tersoff}_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = & A \exp (-\lambda_1 r) \\
f_A(r) & = & -B \exp (-\lambda_2 r) \\
b_{ij} & = & \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\
g(\theta) & = & \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} -
\frac{c^2}{\left[ d^2 +
(\cos \theta - \cos \theta_0)^2\right]} \right)
\end{eqnarray*}
\end{document}

View File

@ -56,19 +56,25 @@ Bonds of specified type *btype* interact with one another through a
bond-pairwise potential, such that the force on bond *i* due to bond bond-pairwise potential, such that the force on bond *i* due to bond
*j* is as follows *j* is as follows
.. image:: Eqs/pair_srp1.jpg .. math::
:align: center
where *r* and *rij* are the distance and unit vector between the two F^{SRP}_{ij} & = C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c
bonds. Note that *btype* can be specified as an asterisk "\*", which
case the interaction is applied to all bond types. The *mid* option
computes *r* and *rij* from the midpoint distance between bonds. The where *r* and :math:`\hat{r}_{ij}` are the distance and unit vector
*min* option computes *r* and *rij* from the minimum distance between between the two bonds. Note that *btype* can be specified as an
bonds. The force acting on a bond is mapped onto the two bond atoms asterisk "\*", which case the interaction is applied to all bond types.
according to the lever rule, The *mid* option computes *r* and :math:`\hat{r}_{ij}` from the midpoint
distance between bonds. The *min* option computes *r* and
:math:`\hat{r}_{ij}` from the minimum distance between bonds. The force
acting on a bond is mapped onto the two bond atoms according to the
lever rule,
.. math::
F_{i1}^{SRP} & = F^{SRP}_{ij}(L) \\
F_{i2}^{SRP} & = F^{SRP}_{ij}(1-L)
.. image:: Eqs/pair_srp2.jpg
:align: center
where *L* is the normalized distance from the atom to the point of where *L* is the normalized distance from the atom to the point of
closest approach of bond *i* and *j*\ . The *mid* option takes *L* as closest approach of bond *i* and *j*\ . The *mid* option takes *L* as
@ -80,7 +86,7 @@ the data file or restart file read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands: or :doc:`read_restart <read_restart>` commands:
* *C* (force units) * *C* (force units)
* *rc* (distance units) * :math:`r_c` (distance units)
The last coefficient is optional. If not specified, the global cutoff The last coefficient is optional. If not specified, the global cutoff
is used. is used.
@ -114,7 +120,7 @@ Pair style *srp* turns off normalization of thermodynamic properties
by particle number, as if the command :doc:`thermo_modify norm no <thermo_modify>` had been issued. by particle number, as if the command :doc:`thermo_modify norm no <thermo_modify>` had been issued.
The pairwise energy associated with style *srp* is shifted to be zero The pairwise energy associated with style *srp* is shifted to be zero
at the cutoff distance *rc*\ . at the cutoff distance :math:`r_c`.
---------- ----------
@ -127,7 +133,7 @@ This pair styles does not support mixing.
This pair style does not support the :doc:`pair_modify <pair_modify>` This pair style does not support the :doc:`pair_modify <pair_modify>`
shift option for the energy of the pair interaction. Note that as shift option for the energy of the pair interaction. Note that as
discussed above, the energy term is already shifted to be 0.0 at the discussed above, the energy term is already shifted to be 0.0 at the
cutoff distance *rc*\ . cutoff distance :math:`r_c`.
The :doc:`pair_modify <pair_modify>` table option is not relevant for The :doc:`pair_modify <pair_modify>` table option is not relevant for
this pair style. this pair style.

View File

@ -39,12 +39,23 @@ Description
The *sw* style computes a 3-body :ref:`Stillinger-Weber <Stillinger2>` The *sw* style computes a 3-body :ref:`Stillinger-Weber <Stillinger2>`
potential for the energy E of a system of atoms as potential for the energy E of a system of atoms as
.. image:: Eqs/pair_sw.jpg .. math::
:align: center
where phi2 is a two-body term and phi3 is a three-body term. The E & = \sum_i \sum_{j > i} \phi_2 (r_{ij}) +
summations in the formula are over all neighbors J and K of atom I \sum_i \sum_{j \neq i} \sum_{k > j}
within a cutoff distance = a\*sigma. \phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\
\phi_2(r_{ij}) & = A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} -
(\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right]
\exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\
\phi_3(r_{ij},r_{ik},\theta_{ijk}) & = \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} -
\cos \theta_{0ijk} \right]^2
\exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right)
\exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right)
where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a
three-body term. The summations in the formula are over all neighbors J
and K of atom I within a cutoff distance :math:`a `\sigma`.
Only a single pair\_coeff command is used with the *sw* style which Only a single pair\_coeff command is used with the *sw* style which
specifies a Stillinger-Weber potential file with parameters for all specifies a Stillinger-Weber potential file with parameters for all
@ -86,24 +97,25 @@ and three-body coefficients in the formula above:
* element 1 (the center atom in a 3-body interaction) * element 1 (the center atom in a 3-body interaction)
* element 2 * element 2
* element 3 * element 3
* epsilon (energy units) * :math:`\epsilon` (energy units)
* sigma (distance units) * :math:`\sigma` (distance units)
* a * a
* lambda * :math:`\lambda`
* gamma * :math:`\gamma`
* costheta0 * :math:`\cos\theta_0`
* A * A
* B * B
* p * p
* q * q
* tol * tol
The A, B, p, and q parameters are used only for two-body The A, B, p, and q parameters are used only for two-body interactions.
interactions. The lambda and costheta0 parameters are used only for The :math:`\lambda` and :math:`\cos\theta_0` parameters are used only
three-body interactions. The epsilon, sigma and a parameters are used for three-body interactions. The :math:`\epsilon`, :math:`\sigma` and
for both two-body and three-body interactions. gamma is used only in the *a* parameters are used for both two-body and three-body
three-body interactions, but is defined for pairs of atoms. interactions. :math:`\gamma` is used only in the three-body
The non-annotated parameters are unitless. interactions, but is defined for pairs of atoms. The non-annotated
parameters are unitless.
LAMMPS introduces an additional performance-optimization parameter tol LAMMPS introduces an additional performance-optimization parameter tol
that is used for both two-body and three-body interactions. In the that is used for both two-body and three-body interactions. In the
@ -141,9 +153,9 @@ are usually defined by simple formulas involving two sets of pair-wise
parameters, corresponding to the ij and ik pairs, where i is the parameters, corresponding to the ij and ik pairs, where i is the
center atom. The user must ensure that the correct combining rule is center atom. The user must ensure that the correct combining rule is
used to calculate the values of the three-body parameters for used to calculate the values of the three-body parameters for
alloys. Note also that the function phi3 contains two exponential alloys. Note also that the function :math:`\phi_3` contains two exponential
screening factors with parameter values from the ij pair and ik screening factors with parameter values from the ij pair and ik
pairs. So phi3 for a C atom bonded to a Si atom and a second C atom pairs. So :math:`\phi_3` for a C atom bonded to a Si atom and a second C atom
will depend on the three-body parameters for the CSiC entry, and also will depend on the three-body parameters for the CSiC entry, and also
on the two-body parameters for the CCC and CSiSi entries. Since the on the two-body parameters for the CCC and CSiSi entries. Since the
order of the two neighbors is arbitrary, the three-body parameters for order of the two neighbors is arbitrary, the three-body parameters for
@ -152,8 +164,8 @@ parameters for entries SiCC and CSiSi should also be the same. The
parameters used only for two-body interactions (A, B, p, and q) in parameters used only for two-body interactions (A, B, p, and q) in
entries whose 2nd and 3rd element are different (e.g. SiCSi) are not 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. used for anything and can be set to 0.0 if desired.
This is also true for the parameters in phi3 that are This is also true for the parameters in :math:`\phi_3` that are
taken from the ij and ik pairs (sigma, a, gamma) taken from the ij and ik pairs (:math:`\sigma`, *a*\ , :math:`\gamma`)
---------- ----------

View File

@ -50,12 +50,28 @@ Description
The *tersoff* style computes a 3-body Tersoff potential The *tersoff* style computes a 3-body Tersoff potential
:ref:`(Tersoff\_1) <Tersoff_11>` for the energy E of a system of atoms as :ref:`(Tersoff\_1) <Tersoff_11>` for the energy E of a system of atoms as
.. image:: Eqs/pair_tersoff_1.jpg .. math::
:align: center
where f\_R is a two-body term and f\_A includes three-body interactions. E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
The summations in the formula are over all neighbors J and K of atom I V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
within a cutoff distance = R + D. f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = A \exp (-\lambda_1 r) \\
f_A(r) & = -B \exp (-\lambda_2 r) \\
b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\
g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} -
\frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right)
where :math:`f_R` is a two-body term and :math:`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, The *tersoff/table* style uses tabulated forms for the two-body,
environment and angular functions. Linear interpolation is performed environment and angular functions. Linear interpolation is performed
@ -104,22 +120,24 @@ above:
* element 2 (the atom bonded to the center atom) * element 2 (the atom bonded to the center atom)
* element 3 (the atom influencing the 1-2 bond in a bond-order sense) * element 3 (the atom influencing the 1-2 bond in a bond-order sense)
* m * m
* gamma * :math:`\gamma`
* lambda3 (1/distance units) * :math:`\lambda_3` (1/distance units)
* c * c
* d * d
* costheta0 (can be a value < -1 or > 1) * :math:`\cos\theta_0` (can be a value < -1 or > 1)
* n * n
* beta * :math:`\beta`
* lambda2 (1/distance units) * :math:`\lambda_2` (1/distance units)
* B (energy units) * B (energy units)
* R (distance units) * R (distance units)
* D (distance units) * D (distance units)
* lambda1 (1/distance units) * :math:`\lambda_1` (1/distance units)
* A (energy units) * A (energy units)
The n, beta, lambda2, B, lambda1, and A parameters are only used for The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A
two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for
two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d,
and :math:`\cos\theta_0`
parameters are only used for three-body interactions. The R and D parameters are only used for three-body interactions. The R and D
parameters are used for both two-body and three-body interactions. The 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. non-annotated parameters are unitless. The value of m must be 3 or 1.
@ -149,7 +167,8 @@ SiCC entry.
The parameters used for a particular The parameters used for a particular
three-body interaction come from the entry with the corresponding three-body interaction come from the entry with the corresponding
three elements. The parameters used only for two-body interactions three elements. The parameters used only for two-body interactions
(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd (n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A)
in entries whose 2nd and 3rd
element are different (e.g. SiCSi) are not used for anything and can element are different (e.g. SiCSi) are not used for anything and can
be set to 0.0 if desired. be set to 0.0 if desired.
@ -165,16 +184,24 @@ it reduces to the form of :ref:`Albe et al. <Albe>` when beta = 1 and m = 1.
Note that in the current Tersoff implementation in LAMMPS, m must be Note that in the current Tersoff implementation in LAMMPS, m must be
specified as either 3 or 1. Tersoff used a slightly different but specified as either 3 or 1. Tersoff used a slightly different but
equivalent form for alloys, which we will refer to as Tersoff\_2 equivalent form for alloys, which we will refer to as Tersoff\_2
potential :ref:`(Tersoff\_2) <Tersoff_21>`. The *tersoff/table* style implements potential :ref:`(Tersoff\_2) <Tersoff_21>`.
The *tersoff/table* style implements
Tersoff\_2 parameterization only. Tersoff\_2 parameterization only.
LAMMPS parameter values for Tersoff\_2 can be obtained as follows: LAMMPS parameter values for Tersoff\_2 can be obtained as follows:
gamma\_ijk = omega\_ik, lambda3 = 0 and the value of :math:`\gamma_{ijk} = \omega_{ik}`, :math:`\lambda_3 = 0` and the value of
m has no effect. The parameters for species i and j can be calculated m has no effect. The parameters for species i and j can be calculated
using the Tersoff\_2 mixing rules: using the Tersoff\_2 mixing rules:
.. image:: Eqs/pair_tersoff_2.jpg .. math::
:align: center
\lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\
\lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\
A_{i,j} & = (A_{i}A_{j})^{1/2}\\
B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\
R_{i,j} & = (R_{i}R_{j})^{1/2}\\
S_{i,j} & = (S_{i}S_{j})^{1/2}
Tersoff\_2 parameters R and S must be converted to the LAMMPS 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 parameters R and D (R is different in both forms), using the following

View File

@ -49,21 +49,40 @@ potential :ref:`(Tersoff\_1) <Tersoff_12>`, :ref:`(Tersoff\_2) <Tersoff_22>` wit
modified cutoff function and angular-dependent term, giving the energy modified cutoff function and angular-dependent term, giving the energy
E of a system of atoms as E of a system of atoms as
.. image:: Eqs/pair_tersoff_mod.jpg .. math::
:align: center
where f\_R is a two-body term and f\_A includes three-body interactions. E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = A \exp (-\lambda_1 r) \\
f_A(r) & = -B \exp (-\lambda_2 r) \\
b_{ij} & = \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\
g(\theta) & = c_1 + g_o(\theta) g_a(\theta) \\
g_o(\theta) & = \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\
g_a(\theta) & = 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\
where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions.
The summations in the formula are over all neighbors J and K of atom I The summations in the formula are over all neighbors J and K of atom I
within a cutoff distance = R + D. within a cutoff distance = R + D.
The *tersoff/mod/c* style differs from *tersoff/mod* only in the The *tersoff/mod/c* style differs from *tersoff/mod* only in the
formulation of the V\_ij term, where it contains an additional c0 term. formulation of the V\_ij term, where it contains an additional c0 term.
.. image:: Eqs/pair_tersoff_mod_c.jpg .. math::
:align: center
The modified cutoff function f\_C proposed by :ref:`(Murty) <Murty>` and V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right]
The modified cutoff function :math:`f_C` proposed by :ref:`(Murty) <Murty>` and
having a continuous second-order differential is employed. The having a continuous second-order differential is employed. The
angular-dependent term g(theta) was modified to increase the angular-dependent term :math:`g(\theta)` was modified to increase the
flexibility of the potential. flexibility of the potential.
The *tersoff/mod* potential is fitted to both the elastic constants The *tersoff/mod* potential is fitted to both the elastic constants
@ -105,30 +124,30 @@ not blank or comments (starting with #) define parameters for a triplet
of elements. The parameters in a single entry correspond to of elements. The parameters in a single entry correspond to
coefficients in the formulae above: coefficients in the formulae above:
element 1 (the center atom in a 3-body interaction) * element 1 (the center atom in a 3-body interaction)
element 2 (the atom bonded to the center atom) * element 2 (the atom bonded to the center atom)
element 3 (the atom influencing the 1-2 bond in a bond-order sense) * element 3 (the atom influencing the 1-2 bond in a bond-order sense)
beta * :math:`\beta`
alpha * :math:`\alpha`
h * h
eta * :math:`\eta`
beta\_ters = 1 (dummy parameter) * :math:`\beta_{ters}` = 1 (dummy parameter)
lambda2 (1/distance units) * :math:`\lambda_2` (1/distance units)
B (energy units) * B (energy units)
R (distance units) * R (distance units)
D (distance units) * D (distance units)
lambda1 (1/distance units) * :math:`\lambda_1` (1/distance units)
A (energy units) * A (energy units)
n * n
c1 * c1
c2 * c2
c3 * c3
c4 * c4
c5 * c5
c0 (energy units, tersoff/mod/c only):ul * c0 (energy units, tersoff/mod/c only):ul
The n, eta, lambda2, B, lambda1, and A parameters are only used for The n, :math:`\eta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A parameters are only used for
two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h two-body interactions. The :math:`\beta`, :math:`\alpha`, c1, c2, c3, c4, c5, h
parameters are only used for three-body interactions. The R and D parameters are only used for three-body interactions. The R and D
parameters are used for both two-body and three-body interactions. parameters are used for both two-body and three-body interactions.
The c0 term applies to *tersoff/mod/c* only. The non-annotated The c0 term applies to *tersoff/mod/c* only. The non-annotated

View File

@ -38,26 +38,53 @@ based on a Coulomb potential and the Ziegler-Biersack-Littmark
universal screening function :ref:`(ZBL) <zbl-ZBL>`, giving the energy E of a universal screening function :ref:`(ZBL) <zbl-ZBL>`, giving the energy E of a
system of atoms as system of atoms as
.. image:: Eqs/pair_tersoff_zbl.jpg .. math::
:align: center
The f\_F term is a fermi-like function used to smoothly connect the ZBL E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = (1 - f_F(r_{ij})) V^{ZBL}_{ij} + f_F(r_{ij}) V^{Tersoff}_{ij} \\
f_F(r_{ij}) & = \frac{1}{1 + e^{-A_F(r_{ij} - r_C)}}\\
\\
\\
V^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_1 Z_2 \,e^2}{r_{ij}} \phi(r_{ij}/a) \\
a & = \frac{0.8854\,a_0}{Z_{1}^{0.23} + Z_{2}^{0.23}}\\
\phi(x) & = 0.1818e^{-3.2x} + 0.5099e^{-0.9423x} + 0.2802e^{-0.4029x} + 0.02817e^{-0.2016x}\\
\\
\\
V^{Tersoff}_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\
f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = A \exp (-\lambda_1 r) \\
f_A(r) & = -B \exp (-\lambda_2 r) \\
b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk})
\exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\
g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} -
\frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right)
The :math:`f_F` term is a fermi-like function used to smoothly connect the ZBL
repulsive potential with the Tersoff potential. There are 2 repulsive potential with the Tersoff potential. There are 2
parameters used to adjust it: A\_F and r\_C. A\_F controls how "sharp" parameters used to adjust it: :math:`A_F` and :math:`r_C`. :math:`A_F`
the transition is between the two, and r\_C is essentially the cutoff controls how "sharp"
the transition is between the two, and :math:`r_C` is essentially the cutoff
for the ZBL potential. for the ZBL potential.
For the ZBL portion, there are two terms. The first is the Coulomb For the ZBL portion, there are two terms. The first is the Coulomb
repulsive term, with Z1, Z2 as the number of protons in each nucleus, repulsive term, with Z1, Z2 as the number of protons in each nucleus,
e as the electron charge (1 for metal and real units) and epsilon0 as e as the electron charge (1 for metal and real units) and :math:`\epsilon_0`
the permittivity of vacuum. The second part is the ZBL universal as the permittivity of vacuum. The second part is the ZBL universal
screening function, with a0 being the Bohr radius (typically 0.529 screening function, with a0 being the Bohr radius (typically 0.529
Angstroms), and the remainder of the coefficients provided by the Angstroms), and the remainder of the coefficients provided by the
original paper. This screening function should be applicable to most original paper. This screening function should be applicable to most
systems. However, it is only accurate for small separations systems. However, it is only accurate for small separations
(i.e. less than 1 Angstrom). (i.e. less than 1 Angstrom).
For the Tersoff portion, f\_R is a two-body term and f\_A includes For the Tersoff portion, :math:`f_R` is a two-body term and :math:`f_A`
includes
three-body interactions. The summations in the formula are over all three-body interactions. The summations in the formula are over all
neighbors J and K of atom I within a cutoff distance = R + D. neighbors J and K of atom I within a cutoff distance = R + D.
@ -102,29 +129,32 @@ in the formula above:
* element 2 (the atom bonded to the center atom) * element 2 (the atom bonded to the center atom)
* element 3 (the atom influencing the 1-2 bond in a bond-order sense) * element 3 (the atom influencing the 1-2 bond in a bond-order sense)
* m * m
* gamma * :math:`\gamma`
* lambda3 (1/distance units) * :math:`\lambda_3` (1/distance units)
* c * c
* d * d
* costheta0 (can be a value < -1 or > 1) * :math:`\cos\theta_0` (can be a value < -1 or > 1)
* n * n
* beta * :math:`\beta`
* lambda2 (1/distance units) * :math:`\lambda_2` (1/distance units)
* B (energy units) * B (energy units)
* R (distance units) * R (distance units)
* D (distance units) * D (distance units)
* lambda1 (1/distance units) * :math:`\lambda_1` (1/distance units)
* A (energy units) * A (energy units)
* Z\_i * :math:`Z_i`
* Z\_j * :math:`Z_j`
* ZBLcut (distance units) * ZBLcut (distance units)
* ZBLexpscale (1/distance units) * ZBLexpscale (1/distance units)
The n, beta, lambda2, B, lambda1, and A parameters are only used for The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A
two-body interactions. The m, gamma, lambda3, c, d, and costheta0 parameters are only used for
two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d,
and :math:`\cos\theta_0`
parameters are only used for three-body interactions. The R and D parameters are only used for three-body interactions. The R and D
parameters are used for both two-body and three-body interactions. The parameters are used for both two-body and three-body interactions. The
Z\_i,Z\_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive :math:`Z_i`, :math:`Z_j`, ZBLcut, ZBLexpscale parameters are used in the
ZBL repulsive
portion of the potential and in the Fermi-like function. The portion of the potential and in the Fermi-like function. The
non-annotated parameters are unitless. The value of m must be 3 or 1. non-annotated parameters are unitless. The value of m must be 3 or 1.
@ -153,7 +183,8 @@ SiCC entry.
The parameters used for a particular The parameters used for a particular
three-body interaction come from the entry with the corresponding three-body interaction come from the entry with the corresponding
three elements. The parameters used only for two-body interactions three elements. The parameters used only for two-body interactions
(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd (n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A)
in entries whose 2nd and 3rd
element are different (e.g. SiCSi) are not used for anything and can element are different (e.g. SiCSi) are not used for anything and can
be set to 0.0 if desired. be set to 0.0 if desired.
@ -172,12 +203,19 @@ different but equivalent form for alloys, which we will refer to as
Tersoff\_2 potential :ref:`(Tersoff\_2) <zbl-Tersoff_2>`. Tersoff\_2 potential :ref:`(Tersoff\_2) <zbl-Tersoff_2>`.
LAMMPS parameter values for Tersoff\_2 can be obtained as follows: LAMMPS parameter values for Tersoff\_2 can be obtained as follows:
gamma = omega\_ijk, lambda3 = 0 and the value of :math:`\gamma = \omega_{ijk}`, :math:`\lambda_3 = 0` and the value of
m has no effect. The parameters for species i and j can be calculated m has no effect. The parameters for species i and j can be calculated
using the Tersoff\_2 mixing rules: using the Tersoff\_2 mixing rules:
.. image:: Eqs/pair_tersoff_2.jpg .. math::
:align: center
\lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\
\lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\
A_{i,j} & = (A_{i}A_{j})^{1/2}\\
B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\
R_{i,j} & = (R_{i}R_{j})^{1/2}\\
S_{i,j} & = (S_{i}S_{j})^{1/2}\\
Tersoff\_2 parameters R and S must be converted to the LAMMPS 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 parameters R and D (R is different in both forms), using the following