fix a few more .rst formatting issues flagged by pandoc

This commit is contained in:
Axel Kohlmeyer
2025-03-15 12:35:12 -04:00
parent b9218528cf
commit 546ea917c7
4 changed files with 235 additions and 234 deletions

View File

@ -49,7 +49,7 @@ computed according to the following relation:
where *m* is the number of species, :math:`c_{i,j}` is the where *m* is the number of species, :math:`c_{i,j}` is the
concentration of species *j* in particle *i*, :math:`u_j` is the concentration of species *j* in particle *i*, :math:`u_j` is the
internal energy of species j, :math:`\Delta H_{f,j} is the heat of internal energy of species j, :math:`\Delta H_{f,j}` is the heat of
formation of species *j*, N is the number of molecules represented formation of species *j*, N is the number of molecules represented
by the coarse-grained particle, :math:`k_B` is the Boltzmann constant, by the coarse-grained particle, :math:`k_B` is the Boltzmann constant,
and :math:`T` is the temperature of the system. Additionally, it is and :math:`T` is the temperature of the system. Additionally, it is

View File

@ -200,7 +200,7 @@ number of compute cores. If there are more devices than MPI tasks,
the additional devices will be unused. The auto-selection of GPUs/ the additional devices will be unused. The auto-selection of GPUs/
accelerator devices and platforms can be restricted by specifying accelerator devices and platforms can be restricted by specifying
a non-zero value for *Ngpu* and / or using the *gpuID*, *platform*, a non-zero value for *Ngpu* and / or using the *gpuID*, *platform*,
and *device_type* keywords as described below. If there are more MPI and *device\_type* keywords as described below. If there are more MPI
tasks (per node) than GPUs, multiple MPI tasks will share each GPU. tasks (per node) than GPUs, multiple MPI tasks will share each GPU.
Optional keyword/value pairs can also be specified. Each has a Optional keyword/value pairs can also be specified. Each has a
@ -274,8 +274,8 @@ the other particles.
The *gpuID* keyword is used to specify the first ID for the GPU or The *gpuID* keyword is used to specify the first ID for the GPU or
other accelerator that LAMMPS will use. For example, if the ID is other accelerator that LAMMPS will use. For example, if the ID is
1 and *Ngpu* is 3, GPUs 1-3 will be used. Device IDs should be 1 and *Ngpu* is 3, GPUs 1-3 will be used. Device IDs should be
determined from the output of nvc_get_devices, ocl_get_devices, determined from the output of nvc\_get\_devices, ocl\_get\_devices,
or hip_get_devices or hip\_get\_devices
as provided in the lib/gpu directory. When using OpenCL with as provided in the lib/gpu directory. When using OpenCL with
accelerators that have main memory NUMA, the accelerators can be accelerators that have main memory NUMA, the accelerators can be
split into smaller virtual accelerators for more efficient use split into smaller virtual accelerators for more efficient use
@ -308,15 +308,15 @@ The meaning of *Nthreads* is exactly the same for the GPU, INTEL,
and GPU packages. and GPU packages.
The *platform* keyword is only used with OpenCL to specify the ID for The *platform* keyword is only used with OpenCL to specify the ID for
an OpenCL platform. See the output from ocl_get_devices in the lib/gpu an OpenCL platform. See the output from ocl\_get\_devices in the lib/gpu
directory. In LAMMPS only one platform can be active at a time and by directory. In LAMMPS only one platform can be active at a time and by
default (id=-1) the platform is auto-selected to find the GPU with the default (id=-1) the platform is auto-selected to find the GPU with the
most compute cores. When *Ngpu* or other keywords are specified, the most compute cores. When *Ngpu* or other keywords are specified, the
auto-selection is appropriately restricted. For example, if *Ngpu* is auto-selection is appropriately restricted. For example, if *Ngpu* is
3, only platforms with at least 3 accelerators are considered. Similar 3, only platforms with at least 3 accelerators are considered. Similar
restrictions can be enforced by the *gpuID* and *device_type* keywords. restrictions can be enforced by the *gpuID* and *device\_type* keywords.
The *device_type* keyword can be used for OpenCL to specify the type of The *device\_type* keyword can be used for OpenCL to specify the type of
GPU to use or specify a custom configuration for an accelerator. In most GPU to use or specify a custom configuration for an accelerator. In most
cases this selection will be automatic and there is no need to use the cases this selection will be automatic and there is no need to use the
keyword. The *applegpu* type is not specific to a particular GPU vendor, keyword. The *applegpu* type is not specific to a particular GPU vendor,
@ -324,25 +324,25 @@ but is separate due to the more restrictive Apple OpenCL implementation.
For expert users, to specify a custom configuration, the *custom* keyword For expert users, to specify a custom configuration, the *custom* keyword
followed by the next parameters can be specified: followed by the next parameters can be specified:
CONFIG_ID, SIMD_SIZE, MEM_THREADS, SHUFFLE_AVAIL, FAST_MATH, CONFIG\_ID, SIMD\_SIZE, MEM\_THREADS, SHUFFLE\_AVAIL, FAST\_MATH,
THREADS_PER_ATOM, THREADS_PER_CHARGE, THREADS_PER_THREE, BLOCK_PAIR, THREADS\_PER\_ATOM, THREADS\_PER\_CHARGE, THREADS\_PER\_THREE, BLOCK\_PAIR,
BLOCK_BIO_PAIR, BLOCK_ELLIPSE, PPPM_BLOCK_1D, BLOCK_NBOR_BUILD, BLOCK\_BIO\_PAIR, BLOCK\_ELLIPSE, PPPM\_BLOCK\_1D, BLOCK\_NBOR\_BUILD,
BLOCK_CELL_2D, BLOCK_CELL_ID, MAX_SHARED_TYPES, MAX_BIO_SHARED_TYPES, BLOCK\_CELL\_2D, BLOCK\_CELL\_ID, MAX\_SHARED\_TYPES, MAX\_BIO\_SHARED\_TYPES,
PPPM_MAX_SPLINE, NBOR_PREFETCH. PPPM\_MAX\_SPLINE, NBOR\_PREFETCH.
CONFIG_ID can be 0. SHUFFLE_AVAIL in {0,1} indicates that inline-PTX CONFIG\_ID can be 0. SHUFFLE\_AVAIL in {0,1} indicates that inline-PTX
(NVIDIA) or OpenCL extensions (Intel) should be used for horizontal (NVIDIA) or OpenCL extensions (Intel) should be used for horizontal
vector operations. FAST_MATH in {0,1} indicates that OpenCL fast math vector operations. FAST\_MATH in {0,1} indicates that OpenCL fast math
optimizations are used during the build and hardware-accelerated optimizations are used during the build and hardware-accelerated
transcendental functions are used when available. THREADS_PER_* give the transcendental functions are used when available. THREADS\_PER\_\* give the
default *tpa* values for ellipsoidal models, styles using charge, and default *tpa* values for ellipsoidal models, styles using charge, and
any other styles. The BLOCK_* parameters specify the block sizes for any other styles. The BLOCK\_\* parameters specify the block sizes for
various kernel calls and the MAX_*SHARED*_ parameters are used to various kernel calls and the MAX\_\*SHARED\_\* parameters are used to
determine the amount of local shared memory to use for storing model determine the amount of local shared memory to use for storing model
parameters. parameters.
For OpenCL, the routines are compiled at runtime for the specified GPU For OpenCL, the routines are compiled at runtime for the specified GPU
or accelerator architecture. The *ocl_args* keyword can be used to or accelerator architecture. The *ocl\_args* keyword can be used to
specify additional flags for the runtime build. specify additional flags for the runtime build.
---------- ----------
@ -381,7 +381,7 @@ force calculation.
The *lrt* keyword can be used to enable "Long Range Thread (LRT)" The *lrt* keyword can be used to enable "Long Range Thread (LRT)"
mode. It can take a value of *yes* to enable and *no* to disable. mode. It can take a value of *yes* to enable and *no* to disable.
LRT mode generates an extra thread (in addition to any OpenMP threads LRT mode generates an extra thread (in addition to any OpenMP threads
specified with the OMP_NUM_THREADS environment variable or the *omp* specified with the OMP\_NUM\_THREADS environment variable or the *omp*
keyword). The extra thread is dedicated for performing part of the keyword). The extra thread is dedicated for performing part of the
:doc:`PPPM solver <kspace_style>` computations and communications. This :doc:`PPPM solver <kspace_style>` computations and communications. This
can improve parallel performance on processors supporting can improve parallel performance on processors supporting

View File

@ -32,20 +32,20 @@ Description
""""""""""" """""""""""
The *bop* pair style computes Bond-Order Potentials (BOP) based on The *bop* pair style computes Bond-Order Potentials (BOP) based on
quantum mechanical theory incorporating both :math:`\sigma` and :math:`\pi` bonding. quantum mechanical theory incorporating both :math:`\sigma` and
By analytically deriving the BOP from quantum mechanical theory its :math:`\pi` bonding. By analytically deriving the BOP from quantum
transferability to different phases can approach that of quantum mechanical theory its transferability to different phases can approach
mechanical methods. This potential is similar to the original BOP that of quantum mechanical methods. This potential is similar to the
developed by Pettifor (:ref:`Pettifor_1 <Pettifor_1>`, original BOP developed by Pettifor (:ref:`Pettifor_1 <Pettifor_1>`,
:ref:`Pettifor_2 <Pettifor_2>`, :ref:`Pettifor_3 <Pettifor_3>`) and later updated :ref:`Pettifor_2 <Pettifor_2>`, :ref:`Pettifor_3 <Pettifor_3>`) and
by Murdick, Zhou, and Ward (:ref:`Murdick <Murdick>`, :ref:`Ward <Ward>`). later updated by Murdick, Zhou, and Ward (:ref:`Murdick <Murdick>`,
Currently, BOP potential files for these systems are provided with :ref:`Ward <Ward>`). Currently, BOP potential files for these systems
LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A system with are provided with LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A
only a subset of these elements, including a single element (e.g. C or system with only a subset of these elements, including a single element
Cu or Al or Ga or Zn or CdZn), can also be modeled by using the (e.g. C or Cu or Al or Ga or Zn or CdZn), can also be modeled by using
appropriate alloy file and assigning all atom types to the the appropriate alloy file and assigning all atom types to the single
single element or subset of elements via the pair_coeff command, as element or subset of elements via the :doc:`pair_coeff command
discussed below. <pair_coeff>`, as discussed below.
The BOP potential consists of three terms: The BOP potential consists of three terms:
@ -58,7 +58,7 @@ representing the repulsion between a pair of ion cores,
:math:`\beta_{\sigma,ij}(r_{ij})` and :math:`\beta_{\sigma,ij}(r_{ij})` :math:`\beta_{\sigma,ij}(r_{ij})` and :math:`\beta_{\sigma,ij}(r_{ij})`
are respectively sigma and :math:`\pi` bond integrals, :math:`\Theta_{\sigma,ij}` are respectively sigma and :math:`\pi` bond integrals, :math:`\Theta_{\sigma,ij}`
and :math:`\Theta_{\pi,ij}` are :math:`\sigma` and :math:`\pi` and :math:`\Theta_{\pi,ij}` are :math:`\sigma` and :math:`\pi`
bond-orders, and U_prom is the promotion energy for sp-valent systems. bond-orders, and U\_prom is the promotion energy for sp-valent systems.
The detailed formulas for this potential are given in Ward The detailed formulas for this potential are given in Ward
(:ref:`Ward <Ward>`); here we provide only a brief description. (:ref:`Ward <Ward>`); here we provide only a brief description.
@ -96,7 +96,7 @@ length 4. This enables the incorporation of dihedral angles effects.
.. note:: .. note::
Note that unlike for other potentials, cutoffs for BOP Note that unlike for other potentials, cutoffs for BOP
potentials are not set in the pair_style or pair_coeff command; they potentials are not set in the pair\_style or pair\_coeff command; they
are specified in the BOP potential files themselves. Likewise, the are specified in the BOP potential files themselves. Likewise, the
BOP potential files list atomic masses; thus you do not need to use BOP potential files list atomic masses; thus you do not need to use
the :doc:`mass <mass>` command to specify them. Note that for BOP the :doc:`mass <mass>` command to specify them. Note that for BOP
@ -106,7 +106,7 @@ length 4. This enables the incorporation of dihedral angles effects.
:doc:`pair_coeff <pair_coeff>` command to read the BOP potential :doc:`pair_coeff <pair_coeff>` command to read the BOP potential
file. file.
One option can be specified as a keyword with the pair_style command. One option can be specified as a keyword with the pair\_style command.
The *save* keyword gives you the option to calculate in advance and The *save* keyword gives you the option to calculate in advance and
store a set of distances, angles, and derivatives of angles. The store a set of distances, angles, and derivatives of angles. The
@ -118,10 +118,10 @@ system configuration.
---------- ----------
Only a single pair_coeff command is used with the *bop* style which Only a single pair\_coeff command is used with the *bop* style which
specifies a BOP potential file, with parameters for all needed specifies a BOP potential file, with parameters for all needed
elements. These are mapped to LAMMPS atom types by specifying elements. These are mapped to LAMMPS atom types by specifying
N additional arguments after the filename in the pair_coeff command, N additional arguments after the filename in the pair\_coeff command,
where N is the number of LAMMPS atom types: where N is the number of LAMMPS atom types:
* filename * filename
@ -130,7 +130,7 @@ where N is the number of LAMMPS atom types:
As an example, imagine the CdTe.bop file has BOP values for Cd As an example, imagine the CdTe.bop file has BOP values for Cd
and Te. If your LAMMPS simulation has 4 atoms types and you want the and Te. If your LAMMPS simulation has 4 atoms types and you want the
first 3 to be Cd, and the fourth to be Te, you would use the following first 3 to be Cd, and the fourth to be Te, you would use the following
pair_coeff command: pair\_coeff command:
.. code-block:: LAMMPS .. code-block:: LAMMPS
@ -143,8 +143,8 @@ element in the BOP file. The final Te argument maps LAMMPS atom type
BOP files in the *potentials* directory of the LAMMPS distribution BOP files in the *potentials* directory of the LAMMPS distribution
have a ".bop" suffix. The potentials are in tabulated form containing have a ".bop" suffix. The potentials are in tabulated form containing
pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), pre-tabulated pair functions for phi\_ij(r\_ij), beta\_(sigma,ij)(r\_ij),
and beta_pi,ij)(r_ij). and beta\_pi,ij)(r\_ij).
The parameters/coefficients format for the different kinds of BOP The parameters/coefficients format for the different kinds of BOP
files are given below with variables matching the formulation of Ward files are given below with variables matching the formulation of Ward
@ -170,89 +170,89 @@ the tabulated functions are given.
* Line 1: nr, nBOt (nr is the number of divisions the radius is broken * Line 1: nr, nBOt (nr is the number of divisions the radius is broken
into for function tables and MUST be a factor of 5; nBOt is the number into for function tables and MUST be a factor of 5; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij) of divisions for the tabulated values of THETA\_(S,ij)
* Line 2: delta_1-delta_7 (if all are not used in the particular * Line 2: delta\_1-delta\_7 (if all are not used in the particular
* formulation, set unused values to 0.0) * formulation, set unused values to 0.0)
Following this N lines for e_1-e_N containing p_pi. Following this N lines for e\_1-e\_N containing p\_pi.
* Line 3: p_pi (for e_1) * Line 3: p\_pi (for e\_1)
* Line 4: p_pi (for e_2 and continues to e_N) * Line 4: p\_pi (for e\_2 and continues to e\_N)
The next section contains several pair constants for the number of The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N interaction types e\_i-e\_j, with i=1->N, j=i->N
* Line 1: r_cut (for e_1-e_1 interactions) * Line 1: r\_cut (for e\_1-e\_1 interactions)
* Line 2: c_sigma, a_sigma, c_pi, a_pi * Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi
* Line 3: delta_sigma, delta_pi * Line 3: delta\_sigma, delta\_pi
* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of * Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of
the previous section but is interaction type dependent) the previous section but is interaction type dependent)
The next section contains a line for each three body interaction type The next section contains a line for each three body interaction type
e_j-e_i-e_k with i=0->N, j=0->N, k=j->N e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N
* Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for * Line 1: g\_(sigma0), g\_(sigma1), g\_(sigma2) (These are coefficients for
g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. :ref:`Ward <Ward>` g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. :ref:`Ward <Ward>`
contains the full expressions for the constants as functions of contains the full expressions for the constants as functions of
b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) b\_(sigma,ijk), p\_(sigma,ijk), u\_(sigma,ijk))
* Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) * Line 2: g\_(sigma0), g\_(sigma1), g\_(sigma2) (for e\_1-e\_1-e\_2)
The next section contains a block for each interaction type for the The next section contains a block for each interaction type for the
phi_ij(r_ij). Each block has nr entries with 5 entries per line. phi\_ij(r\_ij). Each block has nr entries with 5 entries per line.
* Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 * Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e\_1-e\_1
interaction type) interaction type)
* Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues * Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues
until nr) until nr)
* ... * ...
* Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the * Line nr/5\_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the
e_1-e_1 interaction type) e\_1-e\_1 interaction type)
The next section contains a block for each interaction type for the The next section contains a block for each interaction type for the
beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per beta\_(sigma,ij)(r\_ij). Each block has nr entries with 5 entries per
line. line.
* Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), * Line 1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3), beta\_sigma(r4),
beta_sigma(r5) (for the e_1-e_1 interaction type) beta\_sigma(r5) (for the e\_1-e\_1 interaction type)
* Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), * Line 2: beta\_sigma(r6), beta\_sigma(r7), beta\_sigma(r8), beta\_sigma(r9),
beta_sigma(r10) (this continues until nr) beta\_sigma(r10) (this continues until nr)
* ... * ...
* Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), * Line nr/5+1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3),
beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) beta\_sigma(r4), beta\_sigma(r5) (for the e\_1-e\_2 interaction type)
The next section contains a block for each interaction type for The next section contains a block for each interaction type for
beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. beta\_(pi,ij)(r\_ij). Each block has nr entries with 5 entries per line.
* Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) * Line 1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4), beta\_pi(r5)
(for the e_1-e_1 interaction type) (for the e\_1-e\_1 interaction type)
* Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), * Line 2: beta\_pi(r6), beta\_pi(r7), beta\_pi(r8), beta\_pi(r9),
beta_pi(r10) (this continues until nr) beta\_pi(r10) (this continues until nr)
* ... * ...
* Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), * Line nr/5+1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4),
beta_pi(r5) (for the e_1-e_2 interaction type) beta\_pi(r5) (for the e\_1-e\_2 interaction type)
The next section contains a block for each interaction type for the The next section contains a block for each interaction type for the
THETA_(S,ij)((THETA_(sigma,ij))\^(1/2), f_(sigma,ij)). Each block has THETA\_(S,ij)((THETA\_(sigma,ij))\^(1/2), f\_(sigma,ij)). Each block has
nBOt entries with 5 entries per line. nBOt entries with 5 entries per line.
* Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), * Line 1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3),
THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type)
* Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), * Line 2: THETA\_(S,ij)(r6), THETA\_(S,ij)(r7), THETA\_(S,ij)(r8),
THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) THETA\_(S,ij)(r9), THETA\_(S,ij)(r10) (this continues until nBOt)
* ... * ...
* Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), * Line nBOt/5+1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3),
THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type)
The next section contains a block of N lines for e_1-e_N The next section contains a block of N lines for e\_1-e\_N
* Line 1: delta\^mu (for e_1) * Line 1: delta\^mu (for e\_1)
* Line 2: delta\^mu (for e_2 and repeats to e_N) * Line 2: delta\^mu (for e\_2 and repeats to e\_N)
The last section contains more constants for e_i-e_j interactions with The last section contains more constants for e\_i-e\_j interactions with
i=0->N, j=i->N i=0->N, j=i->N
* Line 1: (A_ij)\^(mu\*nu) (for e1-e1) * Line 1: (A\_ij)\^(mu\*nu) (for e1-e1)
* Line 2: (A_ij)\^(mu\*nu) (for e1-e2 and repeats as above) * Line 2: (A\_ij)\^(mu\*nu) (for e1-e2 and repeats as above)
---------- ----------
@ -274,34 +274,34 @@ the tabulated functions are given.
* Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken
into for function tables and MUST be a factor of 5; ntheta is the power of the into for function tables and MUST be a factor of 5; ntheta is the power of the
power of the spline used to fit the angular function; nBOt is the number power of the spline used to fit the angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij) of divisions for the tabulated values of THETA\_(S,ij)
* Line 2: delta_1-delta_7 (if all are not used in the particular * Line 2: delta\_1-delta\_7 (if all are not used in the particular
* formulation, set unused values to 0.0) * formulation, set unused values to 0.0)
Following this N lines for e_1-e_N containing p_pi. Following this N lines for e\_1-e\_N containing p\_pi.
* Line 3: p_pi (for e_1) * Line 3: p\_pi (for e\_1)
* Line 4: p_pi (for e_2 and continues to e_N) * Line 4: p\_pi (for e\_2 and continues to e\_N)
The next section contains several pair constants for the number of The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N interaction types e\_i-e\_j, with i=1->N, j=i->N
* Line 1: r_cut (for e_1-e_1 interactions) * Line 1: r\_cut (for e\_1-e\_1 interactions)
* Line 2: c_sigma, a_sigma, c_pi, a_pi * Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi
* Line 3: delta_sigma, delta_pi * Line 3: delta\_sigma, delta\_pi
* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of * Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of
the previous section but is interaction type dependent) the previous section but is interaction type dependent)
The next section contains a line for each three body interaction type The next section contains a line for each three body interaction type
e_j-e_i-e_k with i=0->N, j=0->N, k=j->N e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N
* Line 1: g0, g1, g2... (These are coefficients for the angular spline * Line 1: g0, g1, g2... (These are coefficients for the angular spline
of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The of the g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. The
function can contain up to 10 term thus 10 constants. The first line function can contain up to 10 term thus 10 constants. The first line
can contain up to five constants. If the spline has more than five can contain up to five constants. If the spline has more than five
terms the second line will contain the remaining constants The terms the second line will contain the remaining constants The
following lines will then contain the constants for the remaining g0, following lines will then contain the constants for the remaining g0,
g1, g2... (for e_1-e_1-e_2) and the other three body g1, g2... (for e\_1-e\_1-e\_2) and the other three body
interactions interactions
The rest of the table has the same structure as the previous section The rest of the table has the same structure as the previous section
@ -327,34 +327,34 @@ the tabulated functions are given.
* Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken
into for function tables and MUST be a factor of 5; ntheta is the number of into for function tables and MUST be a factor of 5; ntheta is the number of
divisions for the tabulated values of the g angular function; nBOt is the number divisions for the tabulated values of the g angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij) of divisions for the tabulated values of THETA\_(S,ij)
* Line 2: delta_1-delta_7 (if all are not used in the particular * Line 2: delta\_1-delta\_7 (if all are not used in the particular
* formulation, set unused values to 0.0) * formulation, set unused values to 0.0)
Following this N lines for e_1-e_N containing p_pi. Following this N lines for e\_1-e\_N containing p\_pi.
* Line 3: p_pi (for e_1) * Line 3: p\_pi (for e\_1)
* Line 4: p_pi (for e_2 and continues to e_N) * Line 4: p\_pi (for e\_2 and continues to e\_N)
The next section contains several pair constants for the number of The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N interaction types e\_i-e\_j, with i=1->N, j=i->N
* Line 1: r_cut (for e_1-e_1 interactions) * Line 1: r\_cut (for e\_1-e\_1 interactions)
* Line 2: c_sigma, a_sigma, c_pi, a_pi * Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi
* Line 3: delta_sigma, delta_pi * Line 3: delta\_sigma, delta\_pi
* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of * Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of
the previous section but is interaction type dependent) the previous section but is interaction type dependent)
The next section contains a line for each three body interaction type The next section contains a line for each three body interaction type
e_j-e_i-e_k with i=0->N, j=0->N, k=j->N e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N
* Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 * Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e\_1-e\_1-e\_1
interaction type) interaction type)
* Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues * Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues
until ntheta) until ntheta)
* ... * ...
* Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the * Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the
e_1-e_1-e_2 interaction type) e\_1-e\_1-e\_2 interaction type)
The rest of the table has the same structure as the previous section (see above). The rest of the table has the same structure as the previous section (see above).

View File

@ -37,10 +37,11 @@ energy of the system E is given by
E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left(r_{ij}\right) + \sum_{i=1}^{N}E_i\left(q_i,\sigma_i\right) E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left(r_{ij}\right) + \sum_{i=1}^{N}E_i\left(q_i,\sigma_i\right)
The first term is a double pairwise sum over the J neighbors of all I The first term is a double pairwise sum over the J neighbors of all I
atoms, where :math:`\phi_{ij}` is a pair potential. The second term sums over atoms, where :math:`\phi_{ij}` is a pair potential. The second term
the embedding energy E_i of atom I, which is a function of its charge sums over the embedding energy :math:`E_i` of atom I, which is a
q_i and the electrical potential :math:`\sigma_i` at its location. E_i, q_i, function of its charge :math:`q_i` and the electrical potential
and :math:`sigma_i` are calculated as :math:`\sigma_i` at its location. :math:`E_i`, :math:`q_i`, and
:math:`\sigma_i` are calculated as
.. math:: .. math::
@ -77,7 +78,7 @@ atoms in the atomic pair.
charge on each atom and thus requires you to assign a charge to each charge on each atom and thus requires you to assign a charge to each
atom, e.g. the *charge* or *full* atom styles. This is because the atom, e.g. the *charge* or *full* atom styles. This is because the
EIM potential infers the charge on an atom from the equation above for EIM potential infers the charge on an atom from the equation above for
q_i; you do not assign charges explicitly. :math:`q_i`; you do not assign charges explicitly.
---------- ----------
@ -90,15 +91,15 @@ A system with any combination of these elements can be modeled. This
file is parameterized in terms of LAMMPS :doc:`metal units <units>`. file is parameterized in terms of LAMMPS :doc:`metal units <units>`.
Note that unlike other potentials, cutoffs for EIM potentials are not Note that unlike other potentials, cutoffs for EIM potentials are not
set in the pair_style or pair_coeff command; they are specified in the set in the pair\_style or pair\_coeff command; they are specified in the
EIM potential file itself. Likewise, the EIM potential file lists EIM potential file itself. Likewise, the EIM potential file lists
atomic masses; thus you do not need to use the :doc:`mass <mass>` atomic masses; thus you do not need to use the :doc:`mass <mass>`
command to specify them. command to specify them.
Only a single pair_coeff command is used with the *eim* style which Only a single pair\_coeff command is used with the *eim* style which
specifies an EIM potential file and the element(s) to extract specifies an EIM potential file and the element(s) to extract
information for. The EIM elements are mapped to LAMMPS atom types by information for. The EIM elements are mapped to LAMMPS atom types by
specifying N additional arguments after the filename in the pair_coeff specifying N additional arguments after the filename in the pair\_coeff
command, where N is the number of LAMMPS atom types: command, where N is the number of LAMMPS atom types:
* Elem1, Elem2, ... * Elem1, Elem2, ...
@ -111,7 +112,7 @@ to specify the path for the potential file.
As an example like one of those above, suppose you want to model a As an example like one of those above, suppose you want to model a
system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms
types and you want the first 3 to be Na, and the fourth to be Cl, you would types and you want the first 3 to be Na, and the fourth to be Cl, you would
use the following pair_coeff command: use the following pair\_coeff command:
.. code-block:: LAMMPS .. code-block:: LAMMPS
@ -147,9 +148,9 @@ radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive
energy (LAMMPS ignores it), and q0 (must be 0). energy (LAMMPS ignores it), and q0 (must be 0).
Lines starting with "pair:" are entered as: element 1, element 2, Lines starting with "pair:" are entered as: element 1, element 2,
r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, r\_(c,phi), r\_(c,phi) (redundant for historical reasons), E\_b, r\_e,
alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, alpha, beta, r\_(c,eta), A\_(eta), r\_(s,eta), r\_(c,psi), A\_(psi), zeta,
r_(s,psi), and p. r\_(s,psi), and p.
The lines in the file can be in any order; LAMMPS extracts the info it The lines in the file can be in any order; LAMMPS extracts the info it
needs. needs.