git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13517 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2015-07-06 14:03:53 +00:00
parent 9d3ab0f52f
commit 6f3946bab5
4 changed files with 336 additions and 340 deletions

View File

@ -49,16 +49,26 @@ style must be applied to both faces of a dimension.
</P>
<P>The styles <I>f</I>, <I>s</I>, and <I>m</I> mean the box is non-periodic, so that
particles do not interact across the boundary and do not move from one
side of the box to the other. For style <I>f</I>, the position of the face
is fixed. If an atom moves outside the face it may be lost. For
style <I>s</I>, the position of the face is set so as to encompass the
side of the box to the other.
</P>
<P>For style <I>f</I>, the position of the face is fixed. If an atom moves
outside the face it will be deleted on the next timestep that
reneighboring occurs. This will typically generate an error unless
you have set the <A HREF = "thermo_modify.html">thermo_modify lost</A> option to
allow for lost atoms.
</P>
<P>For style <I>s</I>, the position of the face is set so as to encompass the
atoms in that dimension (shrink-wrapping), no matter how far they
move. For style <I>m</I>, shrink-wrapping occurs, but is bounded by the
value specified in the data or restart file or set by the
move.
</P>
<P>For style <I>m</I>, shrink-wrapping occurs, but is bounded by the value
specified in the data or restart file or set by the
<A HREF = "create_box.html">create_box</A> command. For example, if the upper z
face has a value of 50.0 in the data file, the face will always be
positioned at 50.0 or above, even if the maximum z-extent of all the
atoms becomes less than 50.0.
atoms becomes less than 50.0. This can be useful if you start a
simulation with an empty box or if you wish to leave room on one side
of the box, e.g. for atoms to evaporate from a surface.
</P>
<P>For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension
of a tilt factor (e.g. y for xy) is periodic, then the periodicity is

View File

@ -44,16 +44,26 @@ style must be applied to both faces of a dimension.
The styles {f}, {s}, and {m} mean the box is non-periodic, so that
particles do not interact across the boundary and do not move from one
side of the box to the other. For style {f}, the position of the face
is fixed. If an atom moves outside the face it may be lost. For
style {s}, the position of the face is set so as to encompass the
side of the box to the other.
For style {f}, the position of the face is fixed. If an atom moves
outside the face it will be deleted on the next timestep that
reneighboring occurs. This will typically generate an error unless
you have set the "thermo_modify lost"_thermo_modify.html option to
allow for lost atoms.
For style {s}, the position of the face is set so as to encompass the
atoms in that dimension (shrink-wrapping), no matter how far they
move. For style {m}, shrink-wrapping occurs, but is bounded by the
value specified in the data or restart file or set by the
move.
For style {m}, shrink-wrapping occurs, but is bounded by the value
specified in the data or restart file or set by the
"create_box"_create_box.html command. For example, if the upper z
face has a value of 50.0 in the data file, the face will always be
positioned at 50.0 or above, even if the maximum z-extent of all the
atoms becomes less than 50.0.
atoms becomes less than 50.0. This can be useful if you start a
simulation with an empty box or if you wish to leave room on one side
of the box, e.g. for atoms to evaporate from a surface.
For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension
of a tilt factor (e.g. y for xy) is periodic, then the periodicity is

View File

@ -15,23 +15,21 @@
</P>
<PRE>pair_style bop keyword ...
</PRE>
<UL><LI>zero or more keywords may be appended
<LI>zero or more keywords may be appended
<LI>keyword = <I>table</I> or <I>save</I> or <I>sigmaoff</I>
<LI>keyword = <I>save</I>
<PRE> <I>table</I> = BOP potential file has tabulated form
<I>save</I> = pre-compute and save some values
<I>sigmaoff</I> = assume a_sigma = 0
<PRE> save = pre-compute and save some values
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>pair_style bop
<PRE>pair_style bop
pair_coeff * * ../potentials/CdTe_bop Cd Te
pair_style bop table save
pair_style bop 4.90 save
pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te
communicate single cutoff 14.70
comm_modify cutoff 14.70
</PRE>
<P><B>Description:</B>
</P>
@ -39,12 +37,10 @@ communicate single cutoff 14.70
quantum mechanical theory incorporating both sigma and pi bondings.
By analytically deriving the BOP from quantum mechanical theory its
transferability to different phases can approach that of quantum
mechanical methods. This particlular BOP is extremely effective at
modeling III-V and II-VI compounds such as GaAs and CdTe. This
potential is similar to the original BOP developed by Pettifor
(<A HREF = "#Pettifor_1">Pettifor_1</A>, <A HREF = "#Pettifor_2">Pettifor_2</A>,
<A HREF = "#Pettifor_3">Pettifor_3</A>) and later updated by Murdick, Zhou, and Ward
(<A HREF = "#Murdick">Murdick</A>, <A HREF = "#Ward">Ward</A>).
mechanical methods. This potential is similar to the original BOP
developed by Pettifor (<A HREF = "#Pettifor_1">Pettifor_1</A>,
<A HREF = "#Pettifor_2">Pettifor_2</A>, <A HREF = "#Pettifor_3">Pettifor_3</A>) and later updated
by Murdick, Zhou, and Ward (<A HREF = "#Murdick">Murdick</A>, <A HREF = "#Ward">Ward</A>).
</P>
<P>The BOP potential consists of three terms:
</P>
@ -81,49 +77,24 @@ levels of the recursive representations for both the sigma and the pi
bond-orders. Bond-order terms can be understood in terms of molecular
orbital hopping paths based upon the Cyrot-Lackmann theorem
(<A HREF = "#Pettifor_1">Pettifor_1</A>). The sigma bond-order with a half-full
valence band filling. This pi bond-order expression also contains
also contains a three-member ring term that allows implementation of
an asymmetric density of states, which helps to either stabilize or
destabilize close-packed structures. The pi bond-order includes
hopping paths of length 4. This enables the incorporation of dihedral
angles effects.
valence shell is used to interpolate the bond-order expressiont that
incorporated explicite valance band filling. This pi bond-order
expression also contains also contains a three-member ring term that
allows implementation of an asymmetric density of states, which helps
to either stabilize or destabilize close-packed structures. The pi
bond-order includes hopping paths of length 4. This enables the
incorporation of dihedral angles effects.
</P>
<P>The cutoffs for the various interactions are defined in the BOP
potential file.
<P>One option can be specified as a keyword with the
pair_style command.
</P>
<P>IMPORTANT NOTE: You must use the <A HREF = "communicate.html">communicate cutoff</A>
command to insure ghost atoms are acquired at a distance 3x further
than the largest BOP cutoff (for a particular pair of elements).
E.g. if the BOP cutoff is 4.9 Angstroms, then the ghost atom
communication needs to be 14.7 Angstroms or greater as in the example
above. This is because the BOP formulation uses neighbors of
neighbors of neighbors to enumerate all the required many-body
interactions. LAMMPS will generate an error if you do not use an
appropriate setting for the <A HREF = "communicate.html">communicate cutoff</A>
command.
</P>
<P>Several options can be specified as keywords with the pair_style
command.
</P>
<P>The <I>table</I> keyword tells LAMMPS what format the BOP potential file is
in. The default is a non-tabulated form. If the <I>table</I> keyword is
used, the file is in a tabulated form containing pre-tabulated pair
functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), and
beta_(pi,ij)(r_ij). This allows you to use your own functional
form for various interactions.
</P>
<P>The <I>save</I> keyword gives you the option to calculate and store in
advance a set of distances, angles, and derivatives of angles. The
default is to not do this, but to calculate the various quantities
on-the-fly each time they are needed. The former may be faster, but
takes more memory. The latter requires less memory, but may be
slower. It is best to test this option to see if it makes a
difference on your machine for the specific problem you are modeling.
</P>
<P>The <I>sigmaoff</I> keyword optimizes the BOP equations for the case of
a_sigma = 0. For some published BOP potentials, a_sigma = 0 and
several terms in the BOP equationas drop out. If this is the case,
specifying <I>sigmaoff</I> will typically speed up the BOP pair style.
<P>The <I>save</I> keyword gives you the option to calculate in advance and
store a set of distances, angles, and derivatives of angles. The
default is to not do this, but to calculate them on-the-fly each time
they are needed. The former may be faster, but takes more memory.
The latter requires less memory, but may be slower. It is best to
test this option to optimize the speed of BOP for your particular
system configuration.
</P>
<HR>
@ -136,9 +107,6 @@ where N is the number of LAMMPS atom types:
<UL><LI>filename
<LI>N element names = mapping of BOP elements to atom types
</UL>
<P>See the <A HREF = "pair_coeff.html">pair_coeff</A> doc page for alternate ways
to specify the path for the potential file.
</P>
<P>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
1st 3 to be Cd, and the 4th to be Te, you would use the following
@ -149,129 +117,31 @@ pair_coeff command:
<P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd
element in the BOP file. The final Te argument maps LAMMPS atom type
4 to the Te element in the BOP file. If a mapping value is specified
as NULL, the mapping is not performed. This can be used when a
<I>bop</I> potential is used as part of the <I>hybrid</I> pair style. The
NULL values are placeholders for atom types that will be used with
other potentials.
4 to the Te element in the BOP file.
</P>
<P>BOP files in the <I>potentials</I> directory of the LAMMPS distribution
have a ".bop" or ".bop.table" suffix, depending on whether they are of
the non-tabulated or tabulated form, as described above.
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),
and beta_pi,ij)(r_ij).
</P>
<P>The parameters/coefficients format for the both kinds of BOP files are
given below with variables matching the formulation of Ward
(<A HREF = "#Ward">Ward</A>). Each header line containing a ":" is preceded by a
blank line.
</P>
<UL><LI>Line 1: elements: (header)
<LI>Line 2: #elements <I>N</I>
</UL>
<P>The first two lines are followed by N lines containing the atomic
number and mass of each element.
<P>The parameters/coefficients format for the different kinds of BOP
files are given below with variables matching the formulation of Ward
(<A HREF = "#Ward">Ward</A>) and Zhou (<A HREF = "#Zhou">Zhou</A>). Each header line containing a
":" is preceded by a blank line.
</P>
<HR>
<P><B>Non-tabulated potential file format</B>:
<P><B>No angular table file format</B>:
</P>
<P>Following the definition of the elements is the block of global
variables for spline and quadratic fits of THETA_(S,ij) and its
components THETA_0, THETA_1, and S.
</P>
<UL><LI>Line 1: global: (header)
<LI>Line 2: delta_1-delta_7 (if all are not used in the particular
formulation, set unused values to 0.0)
<LI>Line 3: ncutoff, r_big, r_small (r_big and r_small are parameters for
pairwise paramters gamma typically set to 0.99 and 0.01, respectively)
<LI>Line 4: which, alpha, nfunc (these are options for the spline
which=1.0 (means using a smooth function); which=2.0 (spline), alpha is
a parameter in the spline, nfunc is the type of GSP function (f_ij)
(nfunc=1 is the published equation from Ward (<A HREF = "#Ward">Ward</A>); nfunc=2
f_ij(r_ij)=exp(n_ij*r_ij); nfunc=3 f_ij(r_ij)=1/(r_ij)^(n_ij)).
<LI>Line 5: alpha_1, beta_1, gamma_1 (alpha_1=first coefficient for
THETA_0; beta_1=first exponent for THETA_0; gamma_1=second exponent for
THETA_0)
<LI>Line 6: alpha_2, beta_2 (alpha_2=second coefficient for S; beta_2=first
exponent for S)
<LI>Line 7: alpha_3, beta_3 (alpha_3=first coefficient for THETA_1;
beta_3=second coefficient for THETA_1)
</UL>
<P>The next block contains constants for the environment depend
promotional energy for sp-valent systems, each of which are species
dependent. Refer to Pettifor (<A HREF = "#Pettifor_3">Pettifor_3</A>) for constant
definitions. As well as one species dependent parameter p_pi.
</P>
<UL><LI>Line 1: ptrs: (header)
</UL>
<P>Following the ptrs header there are N lines for e_1-e_N containing
(A_ij)^(mu*nu), delta^mu, p_pi
</P>
<UL><LI>Line 2: (A_ij)^(mu*nu), delta^mu, p_pi (for e_1)
<LI>Line 3: (A_ij)^(mu*nu), delta^mu, p_pi (for e_2 and continues to e_N)
</UL>
<P>The next block contains constants for the pair interactions.
</P>
<UL><LI>Line 1: pairs: (header)
</UL>
<P>Following the header the block contains a series of constants for the
number of pair interaction types, the block will be broken up into
parameters for e_i-e_j with i=0->N, j=i->N. Each single interaction
section for this block will contain (see <A HREF = "#Ward">Ward</A> for parameter
definitions):
</P>
<UL><LI>Line 2: r_0, r_c, r_1, r_cut (for e_1-e_2 interactions)
<LI>Line 3: m, n, n_c
<LI>Line 4: phi_0, beta_(sigma,0), beta_(pi,0)
<LI>Line 5: a_sigma, c_sigma, delta_sigma (From complete formulation of 1/2
full valance shell for this particular formulation delta_sigma=0)
<LI>Line 6: a_pi, c_pi, delta_pi
<LI>Line 7: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent)
<LI>Line 8: r_0, r_c, r_1, r_cut (for e_1-e_2 interactions and repeats as
above)
</UL>
<P>The next block contains tris.
</P>
<UL><LI>Line 1: tris: (header)
</UL>
<P>Following the header there is a line for each three body interaction
types as e_j-e_i-e_k with i->N, j->N, k=j->N
</P>
<UL><LI>Line 2: g_sigma0, g_sigma1, g_sigma2 (these are coefficients for
g_(sigma,ijk)(theta_ijk) for e_1-e_1-e_1 interaction. <A HREF = "#Ward">Ward</A>
contains the full expressions for the constants as functions of
b_(sigma,ijk), p_(sigma,ijk), u(sigma,ijk)
<LI>Line 3: g_sigma0, g_sigma1, g_sigma2 (for e_1-e_1-e_2)
</UL>
<P>This would be the end of the potential parameter file without pre-
tabulated data.
</P>
<HR>
<P><B>Tabulated potential file format</B>:
</P>
<P>The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of is given below with variables
matching the formulation of Ward (<A HREF = "#Ward">Ward</A>).
<P>The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward (<A HREF = "#Ward">Ward</A>). This format also
assumes the angular functions have the formulation of (<A HREF = "#Ward">Ward</A>).
</P>
<UL><LI>Line 1: # elements N
</UL>
<P>The first two lines are followed by N lines containing the atomic
number and mass of each element THETA_0 and THETA_1 (see
<A HREF = "#Ward">Ward</A>).
<P>The first line is followed by N lines containing the atomic
number, mass, and element symbol of each element.
</P>
<P>Following the definition of the elements several global variables for
the tabulated functions are given.
@ -382,6 +252,120 @@ i=0->N, j=i->N
</UL>
<HR>
<P><B>Angular spline table file format</B>:
</P>
<P>The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward (<A HREF = "#Ward">Ward</A>). This format also
assumes the angular functions have the formulation of (<A HREF = "#Zhou">Zhou</A>).
</P>
<UL><LI>Line 1: # elements N
</UL>
<P>The first line is followed by N lines containing the atomic
number, mass, and element symbol of each element.
</P>
<P>Following the definition of the elements several global variables for
the tabulated functions are given.
</P>
<UL><LI>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
power of the spline used to fit the angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij)
<LI>Line 2: delta_1-delta_7 (if all are not used in the particular
<LI>formulation, set unused values to 0.0)
</UL>
<P>Following this N lines for e_1-e_N containing p_pi.
</P>
<UL><LI>Line 3: p_pi (for e_1)
<LI>Line 4: p_pi (for e_2 and continues to e_N)
</UL>
<P>The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N
</P>
<UL><LI>Line 1: r_cut (for e_1-e_1 interactions)
<LI>Line 2: c_sigma, a_sigma, c_pi, a_pi
<LI>Line 3: delta_sigma, delta_pi
<LI>Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent)
</UL>
<P>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
</P>
<LI>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 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 terms
the second g0, g1, g2 (for e_1-e_1-e_2)
</UL>
<P>The rest of the table has the same structure as the previous section
(see above).
</P>
<HR>
<P><B>Angular no-spline table file format</B>:
</P>
<P>The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward (<A HREF = "#Ward">Ward</A>). This format also
assumes the angular functions have the formulation of (<A HREF = "#Zhou">Zhou</A>).
</P>
<UL><LI>Line 1: # elements N
</UL>
<P>The first two lines are followed by N lines containing the atomic
number, mass, and element symbol of each element.
</P>
<P>Following the definition of the elements several global variables for
the tabulated functions are given.
</P>
<UL><LI>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
divisions for the tabulated values of the g angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij)
<LI>Line 2: delta_1-delta_7 (if all are not used in the particular
<LI>formulation, set unused values to 0.0)
</UL>
<P>Following this N lines for e_1-e_N containing p_pi.
</P>
<UL><LI>Line 3: p_pi (for e_1)
<LI>Line 4: p_pi (for e_2 and continues to e_N)
</UL>
<P>The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N
</P>
<UL><LI>Line 1: r_cut (for e_1-e_1 interactions)
<LI>Line 2: c_sigma, a_sigma, c_pi, a_pi
<LI>Line 3: delta_sigma, delta_pi
<LI>Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent)
</UL>
<P>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
</P>
<UL><LI>Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1
interaction type)
<LI>Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues
until ntheta)
<LI>...
<LI>Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the
e_1-e_1-e_2 interaction type)
</UL>
<P>The rest of the table has the same structure as the previous section (see above).
</P>
<HR>
<P><B>Mixing, shift, table tail correction, restart</B>:
</P>
<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A>
@ -449,4 +433,8 @@ Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006).
<P><B>(Ward)</B> D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A.
Zimmerman, Phys. Rev. B, 85,115206 (2012).
</P>
<A NAME = "Zhou"></A>
<P><B>(Zhou)</B> X.W. Zhou, D.K. Ward, M. Foster (TBP).
</P>
</HTML>

View File

@ -12,20 +12,18 @@ pair_style bop command :h3
pair_style bop keyword ... :pre
zero or more keywords may be appended :ulb,l
keyword = {table} or {save} or {sigmaoff} :l
{table} = BOP potential file has tabulated form
{save} = pre-compute and save some values
{sigmaoff} = assume a_sigma = 0 :pre
zero or more keywords may be appended :l
keyword = {save} :l
save = pre-compute and save some values :pre
:ule
[Examples:]
pair_style bop
pair_style bop
pair_coeff * * ../potentials/CdTe_bop Cd Te
pair_style bop table save
pair_style bop 4.90 save
pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te
communicate single cutoff 14.70 :pre
comm_modify cutoff 14.70 :pre
[Description:]
@ -33,12 +31,10 @@ The {bop} pair style computes Bond-Order Potentials (BOP) based on
quantum mechanical theory incorporating both sigma and pi bondings.
By analytically deriving the BOP from quantum mechanical theory its
transferability to different phases can approach that of quantum
mechanical methods. This particlular BOP is extremely effective at
modeling III-V and II-VI compounds such as GaAs and CdTe. This
potential is similar to the original BOP developed by Pettifor
("Pettifor_1"_#Pettifor_1, "Pettifor_2"_#Pettifor_2,
"Pettifor_3"_#Pettifor_3) and later updated by Murdick, Zhou, and Ward
("Murdick"_#Murdick, "Ward"_#Ward).
mechanical methods. This potential is similar to the original BOP
developed by Pettifor ("Pettifor_1"_#Pettifor_1,
"Pettifor_2"_#Pettifor_2, "Pettifor_3"_#Pettifor_3) and later updated
by Murdick, Zhou, and Ward ("Murdick"_#Murdick, "Ward"_#Ward).
The BOP potential consists of three terms:
@ -75,49 +71,24 @@ levels of the recursive representations for both the sigma and the pi
bond-orders. Bond-order terms can be understood in terms of molecular
orbital hopping paths based upon the Cyrot-Lackmann theorem
("Pettifor_1"_#Pettifor_1). The sigma bond-order with a half-full
valence band filling. This pi bond-order expression also contains
also contains a three-member ring term that allows implementation of
an asymmetric density of states, which helps to either stabilize or
destabilize close-packed structures. The pi bond-order includes
hopping paths of length 4. This enables the incorporation of dihedral
angles effects.
valence shell is used to interpolate the bond-order expressiont that
incorporated explicite valance band filling. This pi bond-order
expression also contains also contains a three-member ring term that
allows implementation of an asymmetric density of states, which helps
to either stabilize or destabilize close-packed structures. The pi
bond-order includes hopping paths of length 4. This enables the
incorporation of dihedral angles effects.
The cutoffs for the various interactions are defined in the BOP
potential file.
One option can be specified as a keyword with the
pair_style command.
IMPORTANT NOTE: You must use the "communicate cutoff"_communicate.html
command to insure ghost atoms are acquired at a distance 3x further
than the largest BOP cutoff (for a particular pair of elements).
E.g. if the BOP cutoff is 4.9 Angstroms, then the ghost atom
communication needs to be 14.7 Angstroms or greater as in the example
above. This is because the BOP formulation uses neighbors of
neighbors of neighbors to enumerate all the required many-body
interactions. LAMMPS will generate an error if you do not use an
appropriate setting for the "communicate cutoff"_communicate.html
command.
Several options can be specified as keywords with the pair_style
command.
The {table} keyword tells LAMMPS what format the BOP potential file is
in. The default is a non-tabulated form. If the {table} keyword is
used, the file is in a tabulated form containing pre-tabulated pair
functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), and
beta_(pi,ij)(r_ij). This allows you to use your own functional
form for various interactions.
The {save} keyword gives you the option to calculate and store in
advance a set of distances, angles, and derivatives of angles. The
default is to not do this, but to calculate the various quantities
on-the-fly each time they are needed. The former may be faster, but
takes more memory. The latter requires less memory, but may be
slower. It is best to test this option to see if it makes a
difference on your machine for the specific problem you are modeling.
The {sigmaoff} keyword optimizes the BOP equations for the case of
a_sigma = 0. For some published BOP potentials, a_sigma = 0 and
several terms in the BOP equationas drop out. If this is the case,
specifying {sigmaoff} will typically speed up the BOP pair style.
The {save} keyword gives you the option to calculate in advance and
store a set of distances, angles, and derivatives of angles. The
default is to not do this, but to calculate them on-the-fly each time
they are needed. The former may be faster, but takes more memory.
The latter requires less memory, but may be slower. It is best to
test this option to optimize the speed of BOP for your particular
system configuration.
:line
@ -130,9 +101,6 @@ where N is the number of LAMMPS atom types:
filename
N element names = mapping of BOP 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 CdTe.bop file has BOP values for Cd
and Te. If your LAMMPS simulation has 4 atoms types and you want the
1st 3 to be Cd, and the 4th to be Te, you would use the following
@ -143,116 +111,32 @@ pair_coeff * * CdTe Cd Cd Cd Te :pre
The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd
element in the BOP file. The final Te argument maps LAMMPS atom type
4 to the Te element in the BOP file. If a mapping value is specified
as NULL, the mapping is not performed. This can be used when a
{bop} 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.
4 to the Te element in the BOP file.
BOP files in the {potentials} directory of the LAMMPS distribution
have a ".bop" or ".bop.table" suffix, depending on whether they are of
the non-tabulated or tabulated form, as described above.
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),
and beta_pi,ij)(r_ij).
The parameters/coefficients format for the both kinds of BOP files are
given below with variables matching the formulation of Ward
("Ward"_#Ward). Each header line containing a ":" is preceded by a
blank line.
The parameters/coefficients format for the different kinds of BOP
files are given below with variables matching the formulation of Ward
("Ward"_#Ward) and Zhou ("Zhou"_#Zhou). Each header line containing a
":" is preceded by a blank line.
Line 1: elements: (header)
Line 2: #elements {N} :ul
The first two lines are followed by N lines containing the atomic
number and mass of each element.
:line
[Non-tabulated potential file format]:
[No angular table file format]:
Following the definition of the elements is the block of global
variables for spline and quadratic fits of THETA_(S,ij) and its
components THETA_0, THETA_1, and S.
Line 1: global: (header) :ulb,l
Line 2: delta_1-delta_7 (if all are not used in the particular
formulation, set unused values to 0.0) :l
Line 3: ncutoff, r_big, r_small (r_big and r_small are parameters for
pairwise paramters gamma typically set to 0.99 and 0.01, respectively) :l
Line 4: which, alpha, nfunc (these are options for the spline
which=1.0 (means using a smooth function); which=2.0 (spline), alpha is
a parameter in the spline, nfunc is the type of GSP function (f_ij)
(nfunc=1 is the published equation from Ward ("Ward"_#Ward); nfunc=2
f_ij(r_ij)=exp(n_ij*r_ij); nfunc=3 f_ij(r_ij)=1/(r_ij)^(n_ij)). :l
Line 5: alpha_1, beta_1, gamma_1 (alpha_1=first coefficient for
THETA_0; beta_1=first exponent for THETA_0; gamma_1=second exponent for
THETA_0) :l
Line 6: alpha_2, beta_2 (alpha_2=second coefficient for S; beta_2=first
exponent for S) :l
Line 7: alpha_3, beta_3 (alpha_3=first coefficient for THETA_1;
beta_3=second coefficient for THETA_1) :l,ule
The next block contains constants for the environment depend
promotional energy for sp-valent systems, each of which are species
dependent. Refer to Pettifor ("Pettifor_3"_#Pettifor_3) for constant
definitions. As well as one species dependent parameter p_pi.
Line 1: ptrs: (header) :ul
Following the ptrs header there are N lines for e_1-e_N containing
(A_ij)^(mu*nu), delta^mu, p_pi
Line 2: (A_ij)^(mu*nu), delta^mu, p_pi (for e_1)
Line 3: (A_ij)^(mu*nu), delta^mu, p_pi (for e_2 and continues to e_N) :ul
The next block contains constants for the pair interactions.
Line 1: pairs: (header) :ul
Following the header the block contains a series of constants for the
number of pair interaction types, the block will be broken up into
parameters for e_i-e_j with i=0->N, j=i->N. Each single interaction
section for this block will contain (see "Ward"_#Ward for parameter
definitions):
Line 2: r_0, r_c, r_1, r_cut (for e_1-e_2 interactions) :ulb,l
Line 3: m, n, n_c :l
Line 4: phi_0, beta_(sigma,0), beta_(pi,0) :l
Line 5: a_sigma, c_sigma, delta_sigma (From complete formulation of 1/2
full valance shell for this particular formulation delta_sigma=0) :l
Line 6: a_pi, c_pi, delta_pi :l
Line 7: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent) :l
Line 8: r_0, r_c, r_1, r_cut (for e_1-e_2 interactions and repeats as
above) :l,ule
The next block contains tris.
Line 1: tris: (header) :ul
Following the header there is a line for each three body interaction
types as e_j-e_i-e_k with i->N, j->N, k=j->N
Line 2: g_sigma0, g_sigma1, g_sigma2 (these are coefficients for
g_(sigma,ijk)(theta_ijk) for e_1-e_1-e_1 interaction. "Ward"_#Ward
contains the full expressions for the constants as functions of
b_(sigma,ijk), p_(sigma,ijk), u(sigma,ijk) :ulb,l
Line 3: g_sigma0, g_sigma1, g_sigma2 (for e_1-e_1-e_2) :l,ule
This would be the end of the potential parameter file without pre-
tabulated data.
:line
[Tabulated potential file format]:
The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of is given below with variables
matching the formulation of Ward ("Ward"_#Ward).
The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward ("Ward"_#Ward). This format also
assumes the angular functions have the formulation of ("Ward"_#Ward).
Line 1: # elements N :ul
The first two lines are followed by N lines containing the atomic
number and mass of each element THETA_0 and THETA_1 (see
"Ward"_#Ward).
The first line is followed by N lines containing the atomic
number, mass, and element symbol of each element.
Following the definition of the elements several global variables for
the tabulated functions are given.
@ -345,6 +229,107 @@ Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above) :ul
:line
[Angular spline table file format]:
The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward ("Ward"_#Ward). This format also
assumes the angular functions have the formulation of ("Zhou"_#Zhou).
Line 1: # elements N :ul
The first line is followed by N lines containing the atomic
number, mass, and element symbol of each element.
Following the definition of the elements several global variables for
the tabulated functions are given.
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
power of the spline used to fit the angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij) :ulb,l
Line 2: delta_1-delta_7 (if all are not used in the particular :l
formulation, set unused values to 0.0) :l,ule
Following this N lines for e_1-e_N containing p_pi.
Line 3: p_pi (for e_1)
Line 4: p_pi (for e_2 and continues to e_N) :ul
The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N
Line 1: r_cut (for e_1-e_1 interactions) :ulb,l
Line 2: c_sigma, a_sigma, c_pi, a_pi :l
Line 3: delta_sigma, delta_pi :l
Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent) :l,ule
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
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 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 terms
the second g0, g1, g2 (for e_1-e_1-e_2) :l,ule
The rest of the table has the same structure as the previous section
(see above).
:line
[Angular no-spline table file format]:
The parameters/coefficients format for the BOP potentials input file
containing pre-tabulated functions of g is given below with variables
matching the formulation of Ward ("Ward"_#Ward). This format also
assumes the angular functions have the formulation of ("Zhou"_#Zhou).
Line 1: # elements N :ul
The first two lines are followed by N lines containing the atomic
number, mass, and element symbol of each element.
Following the definition of the elements several global variables for
the tabulated functions are given.
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
divisions for the tabulated values of the g angular function; nBOt is the number
of divisions for the tabulated values of THETA_(S,ij) :ulb,l
Line 2: delta_1-delta_7 (if all are not used in the particular :l
formulation, set unused values to 0.0) :l,ule
Following this N lines for e_1-e_N containing p_pi.
Line 3: p_pi (for e_1)
Line 4: p_pi (for e_2 and continues to e_N) :ul
The next section contains several pair constants for the number of
interaction types e_i-e_j, with i=1->N, j=i->N
Line 1: r_cut (for e_1-e_1 interactions) :ulb,l
Line 2: c_sigma, a_sigma, c_pi, a_pi :l
Line 3: delta_sigma, delta_pi :l
Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of
the previous section but is interaction type dependent) :l,ule
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
Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1
interaction type) :ulb,l
Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues
until ntheta) :l
... :l
Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the
e_1-e_1-e_2 interaction type) :l,ule
The rest of the table has the same structure as the previous section (see above).
:line
[Mixing, shift, table tail correction, restart]:
This pair style does not support the "pair_modify"_pair_modify.html
@ -406,3 +391,6 @@ Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006).
:link(Ward)
[(Ward)] D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A.
Zimmerman, Phys. Rev. B, 85,115206 (2012).
:link(Zhou)
[(Zhou)] X.W. Zhou, D.K. Ward, M. Foster (TBP).