Merge pull request #3316 from jkelowitt/develop

Add Stillinger-Weber Three-body loop optional keyword argument
This commit is contained in:
Axel Kohlmeyer
2022-07-07 16:31:52 -04:00
committed by GitHub
12 changed files with 508 additions and 86 deletions

View File

@ -24,13 +24,16 @@ Syntax
pair_style style keyword values
* style = *sw* or *sw/mod*
* keyword = *maxdelcs*
* keyword = *maxdelcs* or *threebody*
.. parsed-literal::
*maxdelcs* value = delta1 delta2 (optional)
*maxdelcs* value = delta1 delta2 (optional, sw/mod only)
delta1 = The minimum thershold for the variation of cosine of three-body angle
delta2 = The maximum threshold for the variation of cosine of three-body angle
*threebody* value = *on* or *off* (optional, sw only)
on (default) = Compute both the three-body and two-body terms of the potential
off = Compute only the two-body term of the potential
Examples
""""""""
@ -44,6 +47,11 @@ Examples
pair_style sw/mod maxdelcs 0.25 0.35
pair_coeff * * tmd.sw.mod Mo S S
pair_style hybrid sw threebody on sw threebody off
pair_coeff * * sw 1 mW_xL.sw mW NULL
pair_coeff 1 2 sw 2 mW_xL.sw mW xL
pair_coeff 2 2 sw 2 mW_xL.sw mW xL
Description
"""""""""""
@ -68,22 +76,25 @@ 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`.
The *sw/mod* style is designed for simulations of materials when
distinguishing three-body angles are necessary, such as borophene
and transition metal dichalcogenides, which cannot be described
by the original code for the Stillinger-Weber potential.
For instance, there are several types of angles around each Mo atom in `MoS_2`,
and some unnecessary angle types should be excluded in the three-body interaction.
Such exclusion may be realized by selecting proper angle types directly.
The exclusion of unnecessary angles is achieved here by the cut-off function (`f_C(\delta)`),
which induces only minimum modifications for LAMMPS.
distinguishing three-body angles are necessary, such as borophene and
transition metal dichalcogenides, which cannot be described by the
original code for the Stillinger-Weber potential. For instance, there
are several types of angles around each Mo atom in `MoS_2`, and some
unnecessary angle types should be excluded in the three-body
interaction. Such exclusion may be realized by selecting proper angle
types directly. The exclusion of unnecessary angles is achieved here by
the cut-off function (`f_C(\delta)`), which induces only minimum
modifications for LAMMPS.
Validation, benchmark tests, and applications of the *sw/mod* style
can be found in :ref:`(Jiang2) <Jiang2>` and :ref:`(Jiang3) <Jiang3>`.
The *sw/mod* style computes the energy E of a system of atoms, whose potential
function is mostly the same as the Stillinger-Weber potential. The only modification
is in the three-body term, where the value of :math:`\delta = \cos \theta_{ijk} - \cos \theta_{0ijk}`
used in the original energy and force expression is scaled by a switching factor :math:`f_C(\delta)`:
The *sw/mod* style computes the energy E of a system of atoms, whose
potential function is mostly the same as the Stillinger-Weber
potential. The only modification is in the three-body term, where the
value of :math:`\delta = \cos \theta_{ijk} - \cos \theta_{0ijk}` used in
the original energy and force expression is scaled by a switching factor
:math:`f_C(\delta)`:
.. math::
@ -94,28 +105,46 @@ used in the original energy and force expression is scaled by a switching factor
0 & \left| \delta \right| > \delta_2
\end{array} \right. \\
This cut-off function decreases smoothly from 1 to 0 over the range :math:`[\delta_1, \delta_2]`.
This smoothly turns off the energy and force contributions for :math:`\left| \delta \right| > \delta_2`.
It is suggested that :math:`\delta 1` and :math:`\delta_2` to be the value around
:math:`0.5 \left| \cos \theta_1 - \cos \theta_2 \right|`, with
:math:`\theta_1` and :math:`\theta_2` as the different types of angles around an atom.
For borophene and transition metal dichalcogenides, :math:`\delta_1 = 0.25` and :math:`\delta_2 = 0.35`.
This value enables the cut-off function to exclude unnecessary angles in the three-body SW terms.
This cut-off function decreases smoothly from 1 to 0 over the range
:math:`[\delta_1, \delta_2]`. This smoothly turns off the energy and
force contributions for :math:`\left| \delta \right| > \delta_2`. It is
suggested that :math:`\delta 1` and :math:`\delta_2` to be the value
around :math:`0.5 \left| \cos \theta_1 - \cos \theta_2 \right|`, with
:math:`\theta_1` and :math:`\theta_2` as the different types of angles
around an atom. For borophene and transition metal dichalcogenides,
:math:`\delta_1 = 0.25` and :math:`\delta_2 = 0.35`. This value enables
the cut-off function to exclude unnecessary angles in the three-body SW
terms.
.. note::
The cut-off function is just to be used as a technique to exclude some unnecessary angles,
and it has no physical meaning. It should be noted that the force and potential are inconsistent
with each other in the decaying range of the cut-off function, as the angle dependence for the
cut-off function is not implemented in the force (first derivation of potential).
However, the angle variation is much smaller than the given threshold value for actual simulations,
so the inconsistency between potential and force can be neglected in actual simulations.
The cut-off function is just to be used as a technique to exclude
some unnecessary angles, and it has no physical meaning. It should be
noted that the force and potential are inconsistent with each other
in the decaying range of the cut-off function, as the angle
dependence for the cut-off function is not implemented in the force
(first derivation of potential). However, the angle variation is
much smaller than the given threshold value for actual simulations,
so the inconsistency between potential and force can be neglected in
actual simulations.
Only a single pair_coeff command is used with the *sw* and *sw/mod* styles
which specifies a Stillinger-Weber potential file with parameters for all
needed elements. These are mapped to LAMMPS atom types by specifying
N additional arguments after the filename in the pair_coeff command,
where N is the number of LAMMPS atom types:
The *threebody* keyword is optional and determines whether or not the
three-body term of the potential is calculated. The default value is
"on" and it is only available for the plain *sw* pair style variants,
but not available for the *sw/mod* and :doc:`sw/angle/table
<pair_sw_angle_table>` pair style variants. To turn off the threebody
contributions all :math:`\lambda_{ijk}` parameters from the potential
file are forcibly set to 0. In addition the pair style implementation
may employ code optimizations for the *threebody off* setting that can
result in significant speedups versus the default. These code optimizations
are currently only available for the MANYBODY and OPENMP packages.
Only a single pair_coeff command is used with the *sw* and *sw/mod*
styles which specifies a Stillinger-Weber potential file with parameters
for all needed elements, except for when the *threebody off* setting is
used (see note below). These are mapped to LAMMPS atom types by
specifying N additional arguments after the filename in the pair_coeff
command, where N is the number of LAMMPS atom types:
* filename
* N element names = mapping of SW elements to atom types
@ -130,16 +159,22 @@ pair_coeff command:
.. code-block:: LAMMPS
pair_style sw
pair_coeff * * SiC.sw Si Si Si C
The first 2 arguments must be \* \* so as to span all LAMMPS atom types.
The first three Si arguments map LAMMPS atom types 1,2,3 to the Si
element in the SW file. The final C argument maps LAMMPS atom type 4
to the C element in the SW file. If a mapping value is specified as
NULL, the mapping is not performed. This can be used when a *sw*
The first three Si arguments map LAMMPS atom types 1, 2, and 3 to the Si
element in the SW file. The final C argument maps LAMMPS atom type 4 to
the C element in the SW file. If an argument value is specified as
NULL, the mapping is not performed. This can be used when an *sw*
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.
are placeholders for atom types that will be used with other potentials.
.. note::
When the *threebody off* keyword is used, multiple pair_coeff commands may
be used to specific the pairs of atoms which don't require three-body term.
In these cases, the first 2 arguments are not required to be \* \*.
Stillinger-Weber files in the *potentials* directory of the LAMMPS
distribution have a ".sw" suffix. Lines that are not blank or
@ -243,30 +278,39 @@ described above from values in the potential file.
This pair style does not support the :doc:`pair_modify <pair_modify>`
shift, table, and tail options.
This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you
need to re-specify the pair_style and pair_coeff commands in an input
script that reads a restart file.
This pair style does not write its information to :doc:`binary restart
files <restart>`, since it is stored in potential files. Thus, you need
to re-specify the pair_style and pair_coeff commands in an input script
that reads a restart file.
This pair style can only be used via the *pair* keyword of the
:doc:`run_style respa <run_style>` command. It does not support the
*inner*, *middle*, *outer* keywords.
The single() function of the *sw* pair style is only enabled and
supported for the case of the *threebody off* setting.
----------
Restrictions
""""""""""""
This pair style is part of the MANYBODY package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
This pair style is part of the MANYBODY package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
This pair style requires the :doc:`newton <newton>` setting to be "on"
for pair interactions.
The Stillinger-Weber potential files provided with LAMMPS (see the
potentials directory) are parameterized for metal :doc:`units <units>`.
You can use the SW potential with any LAMMPS units, but you would need
to create your own SW potential file with coefficients listed in the
appropriate units if your simulation does not use "metal" units.
You can use the sw or sw/mod pair styles with any LAMMPS units, but you
would need to create your own SW potential file with coefficients listed
in the appropriate units if your simulation does not use "metal" units.
If the potential file contains a 'UNITS:' metadata tag in the first line
of the potential file, then LAMMPS can convert it transparently between
"metal" and "real" units.
Related commands
""""""""""""""""
@ -276,8 +320,9 @@ Related commands
Default
"""""""
The default values for the *maxdelcs* setting of the *sw/mod* pair
style are *delta1* = 0.25 and *delta2* = 0.35`.
The default value for the *threebody* setting of the "sw" pair style is
"on", the default values for the "*maxdelcs* setting of the *sw/mod*
pair style are *delta1* = 0.25 and *delta2* = 0.35`.
----------

View File

@ -296,7 +296,8 @@ for pair interactions.
Related commands
""""""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`pair_style sw <pair_sw>`, :doc:`pair_style threebody/table <pair_threebody_table>`
:doc:`pair_coeff <pair_coeff>`, :doc:`pair_style sw <pair_sw>`,
:doc:`pair_style threebody/table <pair_threebody_table>`
----------

View File

@ -1101,7 +1101,11 @@ void PairSWIntel::allocate()
void PairSWIntel::init_style()
{
// there is no support for skipping threebody loops (yet)
bool tmp_threebody = skip_threebody_flag;
skip_threebody_flag = false;
PairSW::init_style();
skip_threebody_flag = tmp_threebody;
map[0] = map[1];

View File

@ -392,7 +392,11 @@ void PairSWKokkos<DeviceType>::coeff(int narg, char **arg)
template<class DeviceType>
void PairSWKokkos<DeviceType>::init_style()
{
// there is no support for skipping threebody loops (yet)
bool tmp_threebody = skip_threebody_flag;
skip_threebody_flag = false;
PairSW::init_style();
skip_threebody_flag = tmp_threebody;
// adjust neighbor list request for KOKKOS

View File

@ -14,6 +14,7 @@
/* ----------------------------------------------------------------------
Contributing author: Aidan Thompson (SNL)
Optimizations for two-body only: Jackson Elowitt (Univ. of Utah)
------------------------------------------------------------------------- */
#include "pair_sw.h"
@ -44,6 +45,7 @@ PairSW::PairSW(LAMMPS *lmp) : Pair(lmp)
manybody_flag = 1;
centroidstressflag = CENTROID_NOTAVAIL;
unit_convert_flag = utils::get_supported_conversions(utils::ENERGY);
skip_threebody_flag = false;
params = nullptr;
@ -137,14 +139,18 @@ void PairSW::compute(int eflag, int vflag)
}
jtag = tag[j];
if (itag > jtag) {
if ((itag+jtag) % 2 == 0) continue;
} else if (itag < jtag) {
if ((itag+jtag) % 2 == 1) continue;
} else {
if (x[j][2] < ztmp) continue;
if (x[j][2] == ztmp && x[j][1] < ytmp) continue;
if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue;
// only need to skip if we have a full neighbor list
if (!skip_threebody_flag) {
if (itag > jtag) {
if ((itag+jtag) % 2 == 0) continue;
} else if (itag < jtag) {
if ((itag+jtag) % 2 == 1) continue;
} else {
if (x[j][2] < ztmp) continue;
if (x[j][2] == ztmp && x[j][1] < ytmp) continue;
if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue;
}
}
twobody(&params[ijparam],rsq,fpair,eflag,evdwl);
@ -159,9 +165,11 @@ void PairSW::compute(int eflag, int vflag)
if (evflag) ev_tally(i,j,nlocal,newton_pair,
evdwl,0.0,fpair,delx,dely,delz);
}
jnumm1 = numshort - 1;
if (skip_threebody_flag) {
jnumm1 = 0;
} else {
jnumm1 = numshort - 1;
}
for (jj = 0; jj < jnumm1; jj++) {
j = neighshort[jj];
jtype = map[type[j]];
@ -229,9 +237,21 @@ void PairSW::allocate()
global settings
------------------------------------------------------------------------- */
void PairSW::settings(int narg, char **/*arg*/)
void PairSW::settings(int narg, char ** arg)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
// process optional keywords
int iarg = 0;
while (iarg < narg) {
if (strcmp(arg[iarg],"threebody") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_style sw", error);
skip_threebody_flag = !utils::logical(FLERR,arg[iarg+1],false,lmp);
// without the threebody terms we don't need to enforce
// pair_coeff * * and can enable the single function.
one_coeff = skip_threebody_flag ? 0 : 1;
single_enable = skip_threebody_flag ? 1 : 0;
iarg += 2;
} else error->all(FLERR, "Illegal pair_style sw keyword: {}", arg[iarg]);
}
}
/* ----------------------------------------------------------------------
@ -261,9 +281,12 @@ void PairSW::init_style()
if (force->newton_pair == 0)
error->all(FLERR,"Pair style Stillinger-Weber requires newton pair on");
// need a full neighbor list
// need a full neighbor list for full threebody calculation
neighbor->add_request(this, NeighConst::REQ_FULL);
if (skip_threebody_flag)
neighbor->add_request(this);
else
neighbor->add_request(this, NeighConst::REQ_FULL);
}
/* ----------------------------------------------------------------------
@ -279,6 +302,19 @@ double PairSW::init_one(int i, int j)
/* ---------------------------------------------------------------------- */
double PairSW::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
double /*factor_coul*/, double /*factor_lj*/, double &fforce)
{
int ijparam = elem3param[map[itype]][map[jtype]][map[jtype]];
double phisw = 0.0;
fforce = 0.0;
if (rsq < params[ijparam].cutsq) twobody(&params[ijparam],rsq,fforce,1,phisw);
return phisw;
}
/* ---------------------------------------------------------------------- */
void PairSW::read_file(char *file)
{
memory->sfree(params);
@ -291,6 +327,8 @@ void PairSW::read_file(char *file)
PotentialFileReader reader(lmp, file, "sw", unit_convert_flag);
char *line;
if (skip_threebody_flag) utils::logmesg(lmp, " disabling sw potential three-body terms\n");
// transparently convert units for supported conversions
int unit_convert = reader.get_unit_convert();
@ -355,6 +393,9 @@ void PairSW::read_file(char *file)
params[nparams].epsilon *= conversion_factor;
}
// turn off three-body term
if (skip_threebody_flag) params[nparams].lambda = 0;
if (params[nparams].epsilon < 0.0 || params[nparams].sigma < 0.0 ||
params[nparams].littlea < 0.0 || params[nparams].lambda < 0.0 ||
params[nparams].gamma < 0.0 || params[nparams].biga < 0.0 ||

View File

@ -32,6 +32,7 @@ class PairSW : public Pair {
void coeff(int, char **) override;
double init_one(int, int) override;
void init_style() override;
double single(int, int, int, int, double, double, double, double &) override;
static constexpr int NPARAMS_PER_LINE = 14;
@ -48,10 +49,11 @@ class PairSW : public Pair {
};
protected:
double cutmax; // max cutoff for all elements
Param *params; // parameter set for an I-J-K interaction
int maxshort; // size of short neighbor list array
int *neighshort; // short neighbor list array
double cutmax; // max cutoff for all elements
Param *params; // parameter set for an I-J-K interaction
int maxshort; // size of short neighbor list array
int *neighshort; // short neighbor list array
int skip_threebody_flag; // whether to run threebody loop
void settings(int, char **) override;
virtual void allocate();

View File

@ -751,3 +751,13 @@ void PairSWAngleTable::uf_lookup(ParamTable *pm, double x, double &u, double &f)
pm->angtable->deltasq6;
}
}
/* ----------------------------------------------------------------------
global settings
------------------------------------------------------------------------- */
void PairSWAngleTable::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style sw/angle/table command");
}

View File

@ -69,6 +69,7 @@ class PairSWAngleTable : public PairSW {
void spline(double *, double *, int, double, double, double *);
double splint(double *, double *, double *, int, double);
void uf_lookup(ParamTable *, double, double &, double &);
void settings(int, char **) override;
};
} // namespace LAMMPS_NS

View File

@ -41,21 +41,18 @@ PairSWMOD::PairSWMOD(LAMMPS *lmp) : PairSW(lmp)
void PairSWMOD::settings(int narg, char **arg)
{
// process optional keywords
// process optional keywords (and not (yet) optional keywords from parent class).
int iarg = 0;
while (iarg < narg) {
if (strcmp(arg[iarg],"maxdelcs") == 0) {
if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style command");
if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style sw/mod", error);
delta1 = utils::numeric(FLERR,arg[iarg+1],false,lmp);
delta2 = utils::numeric(FLERR,arg[iarg+2],false,lmp);
iarg += 3;
if ((delta1 < 0.0) || (delta1 > 1.0) || (delta2 < 0.0) || (delta2 > 1.0) || (delta1 > delta2))
error->all(FLERR,"Illegal values for maxdelcs keyword");
} else error->all(FLERR,"Illegal pair_style command");
error->all(FLERR, "Out of range value(s) for pair style sw/mod maxdelcs keyword");
} else error->all(FLERR, "Illegal pair_style sw/mod keyword: {}", arg[iarg]);
}
PairSW::settings(narg-iarg,arg+iarg);
}
/* ---------------------------------------------------------------------- */

View File

@ -134,14 +134,16 @@ void PairSWOMP::eval(int iifrom, int iito, ThrData * const thr)
}
jtag = tag[j];
if (itag > jtag) {
if ((itag+jtag) % 2 == 0) continue;
} else if (itag < jtag) {
if ((itag+jtag) % 2 == 1) continue;
} else {
if (x[j].z < ztmp) continue;
if (x[j].z == ztmp && x[j].y < ytmp) continue;
if (x[j].z == ztmp && x[j].y == ytmp && x[j].x < xtmp) continue;
if (!skip_threebody_flag) {
if (itag > jtag) {
if ((itag+jtag) % 2 == 0) continue;
} else if (itag < jtag) {
if ((itag+jtag) % 2 == 1) continue;
} else {
if (x[j].z < ztmp) continue;
if (x[j].z == ztmp && x[j].y < ytmp) continue;
if (x[j].z == ztmp && x[j].y == ytmp && x[j].x < xtmp) continue;
}
}
twobody(&params[ijparam],rsq,fpair,EFLAG,evdwl);
@ -156,9 +158,11 @@ void PairSWOMP::eval(int iifrom, int iito, ThrData * const thr)
if (EVFLAG) ev_tally_thr(this,i,j,nlocal,/* newton_pair */ 1,
evdwl,0.0,fpair,delx,dely,delz,thr);
}
jnumm1 = numshort - 1;
if (skip_threebody_flag) {
jnumm1 = 0;
} else {
jnumm1 = numshort - 1;
}
for (jj = 0; jj < jnumm1; jj++) {
j = neighshort_thr[jj];
jtype = map[type[j]];

View File

@ -0,0 +1,156 @@
---
lammps_version: 23 Jun 2022
date_generated: Sat Jul 2 17:42:21 2022
epsilon: 1e-10
skip_tests:
prerequisites: ! |
pair sw
pre_commands: ! |
variable newton_pair delete
if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on"
post_commands: ! ""
input_file: in.manybody
pair_style: sw threebody off
pair_coeff: ! |
* * Si.sw Si Si Si Si Si Si Si Si
extract: ! ""
natoms: 64
init_vdwl: -258.5086400674769
init_coul: 0
init_stress: ! |2-
6.4784557236140188e+00 8.9666141338671075e+00 1.6564010213468620e+01 -4.9679217055624925e+00 3.4388959220521961e+01 7.5389343797929154e-01
init_forces: ! |2
1 -7.5117950925001264e-01 3.0512035938320858e+00 1.7548369060319577e+00
2 -2.5839943840157944e+00 -6.2407030855132184e-01 -2.0776063043681416e+00
3 6.4874626526429646e-01 -1.9191097130296589e-01 -2.8953907507008203e-01
4 -1.8780621641443120e+00 2.9563493639001268e+00 6.0045000947756955e-01
5 -1.3527836952861758e+00 -7.5563316408513048e-01 -4.0171785277050770e-01
6 3.0261027539317009e-01 3.3010495375946016e+00 1.0578432546004755e+00
7 -1.0220792530722718e+00 -8.9704171544868350e-01 2.2679286915120240e+00
8 7.3786854090375081e-02 6.8184832716858157e-01 -9.9742395408331985e-01
9 1.5404185888118715e-01 -2.4234656391168983e+00 -2.5547421021459220e+00
10 2.9152006680754144e-01 -1.3832499077045937e+00 -2.3112314100238849e+00
11 3.0397941651131566e+00 -3.2696818086952382e+00 2.0402858500342536e+00
12 -5.2427750818963892e+00 -2.9266181850189747e+00 -2.3274218711162238e+00
13 -3.4764983756087076e-01 5.1759636691465873e+00 -9.5777981490571462e-01
14 -1.3994974411693033e+00 3.6723581318644940e+00 4.9022891744156372e-01
15 -3.6451950102391031e+00 4.1804831124641382e+00 -2.3094319497556559e+00
16 1.7762576801244847e+00 -1.7769734947711013e-01 5.6118226682874788e+00
17 1.1626276987569719e+00 2.5434318242406255e+00 -4.1298909446437833e+00
18 2.6370967308167081e-01 4.8174395544262438e-01 3.2879300848711184e+00
19 -1.2180668170296169e+00 -2.0218982136836656e+00 -3.8444674827692227e-01
20 -6.1734234441618661e+00 -8.7047552939678141e-02 7.4088977580926274e-01
21 2.2527604735738231e+00 9.2512650808085084e-01 -2.7596546519202407e+00
22 -5.0794028512678571e+00 3.2609137644938517e+00 -3.9745643191135742e+00
23 1.8924999787954402e+00 3.3526647080652703e+00 1.2248568956854238e+00
24 1.5743771798508372e+00 1.3293691279058384e+00 2.6631027667815861e+00
25 8.3110919566309338e-01 -1.1460141214066610e-01 1.4368370341871295e+00
26 -4.7991049590854340e-01 -6.7362488036409351e-01 1.2327946774343894e+00
27 1.9900573442863836e+00 -5.0620688348406084e-01 1.5762361423313080e+00
28 5.7701286079414915e-01 1.3187742370100088e+00 4.1298244042734957e+00
29 -3.0416482921788530e+00 9.1958118398971411e-01 -1.1418981151511567e+00
30 -1.5986340571260498e+00 1.2172058599377520e+00 -8.9839567436920520e-01
31 -1.6221367664137194e+00 1.4053388522714974e+00 -4.1030835758060596e-01
32 -3.3999213065003993e+00 5.4646623792746152e-01 -4.9970596852221305e-01
33 4.3374523080961502e+00 -2.0526192390847231e+00 2.7863621822774527e+00
34 3.6899966300377274e-01 -9.7647298273011718e-02 3.7849094767735275e-01
35 1.2474956459695217e+00 -1.6786310914928160e-01 2.5255688468039841e+00
36 1.9423002050777016e-02 -2.5811032787101440e+00 -5.3464409483959238e-02
37 -1.7991755427583054e+00 1.7326288527074167e+00 -2.3172591544605829e+00
38 -2.6635345675769728e-01 -4.5619472453099841e-01 2.9146619578940203e-01
39 2.2040425723147274e+00 -1.2990665525340543e+00 -4.1031233229148558e+00
40 3.8636879669801210e+00 -1.9428932057790562e+00 -1.2090029697953577e+00
41 6.9184862237524347e-02 -5.5563025877752470e-01 -1.0104421056432380e+00
42 -4.1077204842477482e+00 -1.9092260092568061e+00 -2.7778884577312546e-01
43 6.9234276916198878e-01 -5.1959961009882676e+00 -3.8252772226000875e-01
44 3.1974368019332173e+00 -3.7333126721070280e+00 1.1927602690851384e+00
45 -1.0979421463666958e+00 1.4281871410588294e+00 -2.7844688870636198e+00
46 -2.3123927283410217e-01 -1.6246499267294727e+00 4.6068188624710249e+00
47 2.4575638270171467e+00 1.3529111936752543e+00 8.5779610605164602e-01
48 1.3053149069961443e+00 5.5515699432490484e-01 -3.4671208564970402e-01
49 -1.6274632987918105e+00 -4.7057286351454088e+00 -2.4249279782812732e+00
50 5.4224455439310093e-03 2.9897586979430217e+00 -1.3950914387971693e+00
51 -1.2459066473548792e+00 2.9456460712366876e+00 3.7288916669729959e+00
52 4.2616245425615205e+00 -4.4802874559504291e+00 4.4417404910061506e+00
53 2.7936251596841610e+00 2.8362368635929394e+00 1.5493162393308044e+00
54 2.4623429186012755e+00 -2.8582750315396499e+00 -1.7184511417663617e+00
55 8.8879734150460621e-01 -2.9956850724190431e+00 -3.5690867805221691e+00
56 -4.2180992335342177e-01 2.9462851508525678e-01 -2.1026878944189669e+00
57 1.9534125277666281e-01 -1.1222033415899244e+00 -3.0127694733977195e-01
58 2.7751167493305626e+00 -9.6251009716841951e-01 1.2847140239740573e+00
59 2.7332664305562209e+00 1.6874001147167499e+00 -1.8630365579739607e+00
60 -1.9920742303178285e+00 -5.1976595137487056e+00 -2.5715712256855774e+00
61 -3.9186643718089481e-01 1.8941052818415300e+00 -7.2852310082079819e-01
62 -2.6017296078018819e+00 2.4477411514482621e+00 -2.1740532348808825e+00
63 1.6751774499211520e+00 -2.9786131173037549e+00 -4.4746311293685642e-02
64 2.2350712682686380e+00 2.4856397598318205e+00 6.0442073184431777e+00
run_vdwl: -258.499584619321
run_coul: 0
run_stress: ! |2-
6.4308150527103614e+00 8.9800084577004764e+00 1.6644352826777482e+01 -5.0072836166618568e+00 3.4219822049720790e+01 1.0492755818511172e+00
run_forces: ! |2
1 -7.5937225945191122e-01 3.0453338820624811e+00 1.7588997466292056e+00
2 -2.5842358982706677e+00 -6.4961465564128662e-01 -2.0836136472876197e+00
3 6.1692053064565644e-01 -1.7923404289185974e-01 -2.5776384969836241e-01
4 -1.8642434201915430e+00 2.9689111966333672e+00 5.7860631771456472e-01
5 -1.3707214670175785e+00 -7.6882987771621347e-01 -3.8201327706453814e-01
6 3.5155029154762341e-01 3.3059375310476078e+00 1.0816937673465203e+00
7 -1.0031791908316097e+00 -8.6956258363515204e-01 2.2425245701191070e+00
8 5.9471905500604189e-02 6.7712638453434015e-01 -9.9455163342941122e-01
9 1.3241459971784919e-01 -2.4451165559600572e+00 -2.5688790543810329e+00
10 2.7987760793693212e-01 -1.3869445644157263e+00 -2.2737317068259308e+00
11 3.0093494238363268e+00 -3.2460329093478379e+00 2.0365059309648439e+00
12 -5.2407947220384763e+00 -2.9126835314212682e+00 -2.3181888620032565e+00
13 -2.9313171694052698e-01 5.1682815539279954e+00 -9.3178794848643598e-01
14 -1.4205609885169097e+00 3.6728355747283463e+00 4.7973399101037340e-01
15 -3.6438539671591643e+00 4.1738585973197502e+00 -2.2995365264114347e+00
16 1.7665430094094714e+00 -1.6683625143013525e-01 5.5980371284228605e+00
17 1.1609229005729407e+00 2.5445052813433287e+00 -4.1101936902212186e+00
18 2.3250564926704054e-01 5.0119516573696155e-01 3.2999642189792304e+00
19 -1.2455755116140121e+00 -2.0483645027853807e+00 -3.9915953456529252e-01
20 -6.1533476323819203e+00 -1.0336110065476412e-01 7.2207408198501155e-01
21 2.2580812268964414e+00 8.8665782585823316e-01 -2.7867801730661323e+00
22 -5.0715437260287493e+00 3.2720805913066657e+00 -3.9870515109961557e+00
23 1.9067384153660658e+00 3.3666024181351721e+00 1.2360966484469924e+00
24 1.6076366668181861e+00 1.3129049141466476e+00 2.6481286770383776e+00
25 8.2849608759830151e-01 -1.0946573631083545e-01 1.4137379099564085e+00
26 -4.9245162995242880e-01 -6.5633188499443484e-01 1.2397189435323861e+00
27 2.0002068209516661e+00 -5.2635863568453822e-01 1.5812202387080725e+00
28 5.6469856769551852e-01 1.3419655823448202e+00 4.1390158656307525e+00
29 -3.0414702840012948e+00 9.2717141813720239e-01 -1.1446412926158587e+00
30 -1.5780449202280797e+00 1.1972994610432468e+00 -9.0937832538133612e-01
31 -1.6135468940121711e+00 1.4097747951848163e+00 -4.1013831792153099e-01
32 -3.3839861094060888e+00 5.3294244523688450e-01 -5.1150418397488095e-01
33 4.3179202422054406e+00 -2.0530236039826524e+00 2.7909047875298811e+00
34 3.6044665483098232e-01 -9.6636898593039144e-02 3.8719889716901629e-01
35 1.2574806392912055e+00 -1.5474474915601943e-01 2.5284696614854756e+00
36 -9.2507293281644375e-03 -2.5688826605251358e+00 -8.8917022692741904e-02
37 -1.7874734690581056e+00 1.7150271178647891e+00 -2.3271057624958509e+00
38 -2.4661620498076103e-01 -4.4857619626472056e-01 3.0090275233366270e-01
39 2.1876463817083560e+00 -1.2953665685718856e+00 -4.1070251548878520e+00
40 3.8954619284502536e+00 -1.9483835119233155e+00 -1.2227531289486768e+00
41 9.7565025130135041e-02 -5.2646053136013127e-01 -9.8280124384883183e-01
42 -4.1063684952413535e+00 -1.9251952021816745e+00 -2.9901720065849435e-01
43 6.7939692714052213e-01 -5.1874569217280806e+00 -3.9562141807204243e-01
44 3.2038887558507829e+00 -3.7312345150786044e+00 1.1791192854596575e+00
45 -1.1219574440264417e+00 1.4017870123386482e+00 -2.7737869798443779e+00
46 -2.3209294883861276e-01 -1.6182897275443398e+00 4.6296975809710883e+00
47 2.4602350208971560e+00 1.3452019899041738e+00 8.6358301884597988e-01
48 1.3093376440414450e+00 5.7371015819685922e-01 -3.5578408564713881e-01
49 -1.6696474765985014e+00 -4.7474039477977401e+00 -2.4607694981777248e+00
50 1.2989593641085595e-02 2.9812087098985032e+00 -1.4123464138675532e+00
51 -1.2853374902017087e+00 2.9768731587433548e+00 3.7403754374802158e+00
52 4.2768627438095859e+00 -4.4665207635055904e+00 4.4526942886426610e+00
53 2.8263576162367916e+00 2.8711821643474851e+00 1.6198032393140254e+00
54 2.4557393026757914e+00 -2.8576870371250496e+00 -1.7106753514157151e+00
55 8.7016650440839127e-01 -2.9993943594233912e+00 -3.5406400607258477e+00
56 -4.2720269240408387e-01 2.6284724466018883e-01 -2.0965871396618168e+00
57 1.8938909101993642e-01 -1.1500277319075947e+00 -3.0413618657652775e-01
58 2.7772395410738167e+00 -9.4351277181421578e-01 1.2588196612829914e+00
59 2.7573808165218825e+00 1.7074121472099479e+00 -1.8649938272758655e+00
60 -2.0326029067319982e+00 -5.2224816026297454e+00 -2.6126651787431214e+00
61 -3.8509493120844207e-01 1.9073567822120387e+00 -7.1625738088539748e-01
62 -2.6004175741382847e+00 2.4418292628003133e+00 -2.1615478367945307e+00
63 1.6782508781720011e+00 -3.0101538006831734e+00 -7.1986308169233931e-02
64 2.2749536899334073e+00 2.5303495677814198e+00 6.0668040667204064e+00
...

View File

@ -0,0 +1,157 @@
---
lammps_version: 23 Jun 2022
date_generated: Sat Jul 2 18:29:21 2022
epsilon: 1e-10
skip_tests: gpu
prerequisites: ! |
pair sw
pre_commands: ! |
variable newton_pair delete
variable newton_pair index on
post_commands: ! ""
input_file: in.manybody
pair_style: hybrid sw threebody on sw threebody off
pair_coeff: ! |
* * sw 1 Si.sw Si Si Si Si NULL NULL NULL NULL
* 5*8 sw 2 Si.sw Si Si Si Si Si Si Si Si
extract: ! ""
natoms: 64
init_vdwl: -258.5086399744112
init_coul: 0
init_stress: ! |2-
6.4784606418926112e+00 8.9666260111962721e+00 1.6564019181847929e+01 -4.9679178424853108e+00 3.4388958502311766e+01 7.5390085880741020e-01
init_forces: ! |2
1 -7.5117950925001176e-01 3.0512035938320858e+00 1.7548369060319566e+00
2 -2.5839943840157309e+00 -6.2407030855217227e-01 -2.0776063043672743e+00
3 6.4874626526431012e-01 -1.9191097130277632e-01 -2.8953907507029547e-01
4 -1.8780621642391011e+00 2.9563493639933633e+00 6.0045000947943949e-01
5 -1.3527836952861756e+00 -7.5563316408513048e-01 -4.0171785277050776e-01
6 3.0261027539317009e-01 3.3010495375946016e+00 1.0578432546004755e+00
7 -1.0220792530722718e+00 -8.9704171544868350e-01 2.2679286915120240e+00
8 7.3786854090375081e-02 6.8184832716858157e-01 -9.9742395408331985e-01
9 1.5404185888294175e-01 -2.4234656392100611e+00 -2.5547421022333259e+00
10 2.9152004537455556e-01 -1.3832499266817839e+00 -2.3112314079357352e+00
11 3.0397941652061906e+00 -3.2696818086953119e+00 2.0402858501197878e+00
12 -5.2427766862019523e+00 -2.9266230951551324e+00 -2.3274249447095405e+00
13 -3.4764983756087076e-01 5.1759636691465873e+00 -9.5777981490571462e-01
14 -1.3994974411693033e+00 3.6723581318644940e+00 4.9022891744156372e-01
15 -3.6451950102391031e+00 4.1804831124641391e+00 -2.3094319497556559e+00
16 1.7762576801244845e+00 -1.7769734947711072e-01 5.6118226682874788e+00
17 1.1626295956924018e+00 2.5434335885879951e+00 -4.1298909753889967e+00
18 2.6370967308167081e-01 4.8174395544262394e-01 3.2879300848711188e+00
19 -1.2180668170296169e+00 -2.0218982136836656e+00 -3.8444674827692210e-01
20 -6.1734234441618661e+00 -8.7047552939678141e-02 7.4088977580926274e-01
21 2.2527604735738231e+00 9.2512650808085084e-01 -2.7596546519202407e+00
22 -5.0794028512678571e+00 3.2609137644938517e+00 -3.9745643191135742e+00
23 1.8924999787954402e+00 3.3526647080652703e+00 1.2248568956854238e+00
24 1.5743771798508370e+00 1.3293691279058382e+00 2.6631027667815861e+00
25 8.3110919554353102e-01 -1.1460141213930673e-01 1.4368370342964809e+00
26 -4.7991049590854340e-01 -6.7362488036409351e-01 1.2327946774343894e+00
27 1.9900570741156840e+00 -5.0620387120655386e-01 1.5762394195123659e+00
28 5.7701286079972869e-01 1.3187742380597833e+00 4.1298244053155067e+00
29 -3.0416482921788530e+00 9.1958118398971411e-01 -1.1418981151511567e+00
30 -1.5986340571260498e+00 1.2172058599377520e+00 -8.9839567436920520e-01
31 -1.6221367664137194e+00 1.4053388522714974e+00 -4.1030835758060596e-01
32 -3.3999213065003993e+00 5.4646623792746152e-01 -4.9970596852221305e-01
33 4.3374523080961529e+00 -2.0526192390847209e+00 2.7863621822774500e+00
34 3.6899967841270293e-01 -9.7647299317203395e-02 3.7849093017581542e-01
35 1.2474956459695270e+00 -1.6786310914897268e-01 2.5255688468043052e+00
36 1.9423002050769304e-02 -2.5811032787101440e+00 -5.3464409483951571e-02
37 -1.7991755427583054e+00 1.7326288527074167e+00 -2.3172591544605829e+00
38 -2.6635345675769728e-01 -4.5619472453099841e-01 2.9146619578940203e-01
39 2.2040425723147274e+00 -1.2990665525340543e+00 -4.1031233229148558e+00
40 3.8636879669801210e+00 -1.9428932057790562e+00 -1.2090029697953577e+00
41 6.9184862237524403e-02 -5.5563025877752559e-01 -1.0104421056432389e+00
42 -4.1077204863643084e+00 -1.9092260113246491e+00 -2.7778884595397102e-01
43 6.9234276922332216e-01 -5.1959961010562941e+00 -3.8252772225624965e-01
44 3.1974368019347907e+00 -3.7333126721157721e+00 1.1927602690968555e+00
45 -1.0979421463666958e+00 1.4281871410588294e+00 -2.7844688870636198e+00
46 -2.3123927283410217e-01 -1.6246499267294727e+00 4.6068188624710249e+00
47 2.4575638270171472e+00 1.3529111936752540e+00 8.5779610605164602e-01
48 1.3053149069961458e+00 5.5515699432490606e-01 -3.4671208564970524e-01
49 -1.6274632987918134e+00 -4.7057286351454106e+00 -2.4249279782812714e+00
50 5.4224455439262353e-03 2.9897586979430182e+00 -1.3950914387971656e+00
51 -1.2459066473548797e+00 2.9456460712366872e+00 3.7288916669729959e+00
52 4.2616245425615027e+00 -4.4802874559509265e+00 4.4417404910060432e+00
53 2.7936251596841610e+00 2.8362368635929394e+00 1.5493162393308042e+00
54 2.4623429186012760e+00 -2.8582750315396499e+00 -1.7184511417663617e+00
55 8.8879734150460621e-01 -2.9956850724190431e+00 -3.5690867805221691e+00
56 -4.2180992335342188e-01 2.9462851508525667e-01 -2.1026878944189669e+00
57 1.9534125277666264e-01 -1.1222033415899244e+00 -3.0127694733977195e-01
58 2.7751167493305635e+00 -9.6251009716841907e-01 1.2847140239740573e+00
59 2.7332664162886871e+00 1.6874002693437411e+00 -1.8630367163899653e+00
60 -1.9920742303178280e+00 -5.1976595137487056e+00 -2.5715712256855774e+00
61 -3.9186643718089481e-01 1.8941052818415300e+00 -7.2852310082079819e-01
62 -2.6017296078018801e+00 2.4477411514482652e+00 -2.1740532348808843e+00
63 1.6751774499211569e+00 -2.9786131173037518e+00 -4.4746311293689334e-02
64 2.2350712682686358e+00 2.4856397598318183e+00 6.0442073184431804e+00
run_vdwl: -258.49958453100083
run_coul: 0
run_stress: ! |2-
6.4308197607512207e+00 8.9800199663285003e+00 1.6644361563236384e+01 -5.0072799407290933e+00 3.4219821356106827e+01 1.0492826840671752e+00
run_forces: ! |2
1 -7.5937225945190234e-01 3.0453338820624740e+00 1.7588997466292104e+00
2 -2.5842358982706335e+00 -6.4961465564215615e-01 -2.0836136472867430e+00
3 6.1692053064567098e-01 -1.7923404289169326e-01 -2.5776384969855004e-01
4 -1.8642434203060627e+00 2.9689111967459501e+00 5.7860631771685955e-01
5 -1.3707214670175798e+00 -7.6882987771621170e-01 -3.8201327706454102e-01
6 3.5155029154762341e-01 3.3059375310476078e+00 1.0816937673465203e+00
7 -1.0031791908375163e+00 -8.6956258364196903e-01 2.2425245701241256e+00
8 5.9471905500534855e-02 6.7712638453480301e-01 -9.9455163342971664e-01
9 1.3241459971867986e-01 -2.4451165560724939e+00 -2.5688790544877764e+00
10 2.7987758741645180e-01 -1.3869445825984155e+00 -2.2737317048352144e+00
11 3.0093494239500198e+00 -3.2460329093479796e+00 2.0365059310692528e+00
12 -5.2407962483722299e+00 -2.9126882828373892e+00 -2.3181917992781393e+00
13 -2.9313171711099439e-01 5.1682815536825712e+00 -9.3178794843042834e-01
14 -1.4205609886004000e+00 3.6728355746142340e+00 4.7973399106847658e-01
15 -3.6438539671591443e+00 4.1738585973197599e+00 -2.2995365264114183e+00
16 1.7665430073015751e+00 -1.6683625231758512e-01 5.5980371264386779e+00
17 1.1609247141613361e+00 2.5445069687633297e+00 -4.1101937186844282e+00
18 2.3250564926703476e-01 5.0119516573698042e-01 3.2999642189792335e+00
19 -1.2455755116140015e+00 -2.0483645027853901e+00 -3.9915953456528291e-01
20 -6.1533476323819176e+00 -1.0336110065476101e-01 7.2207408198501200e-01
21 2.2580812272923181e+00 8.8665782626079470e-01 -2.7867801726837302e+00
22 -5.0715437260287493e+00 3.2720805913066657e+00 -3.9870515109961557e+00
23 1.9067384153660658e+00 3.3666024181351721e+00 1.2360966484469924e+00
24 1.6076366668181858e+00 1.3129049141466480e+00 2.6481286770383776e+00
25 8.2849608748715486e-01 -1.0946573630945597e-01 1.4137379100581711e+00
26 -4.9245162995242892e-01 -6.5633188499443507e-01 1.2397189435323859e+00
27 2.0002065581614117e+00 -5.2635572637485362e-01 1.5812234025897816e+00
28 5.6469856770107940e-01 1.3419655834852620e+00 4.1390158667617349e+00
29 -3.0414702840545953e+00 9.2717141811819714e-01 -1.1446412927789829e+00
30 -1.5780449202280824e+00 1.1972994610432426e+00 -9.0937832538133057e-01
31 -1.6135468935693842e+00 1.4097747955859368e+00 -4.1013831752390606e-01
32 -3.3839861094059622e+00 5.3294244523702139e-01 -5.1150418397474551e-01
33 4.3179202422054441e+00 -2.0530236039826488e+00 2.7909047875298785e+00
34 3.6044667063424402e-01 -9.6636899664461151e-02 3.8719887922396817e-01
35 1.2574806392912077e+00 -1.5474474915574327e-01 2.5284696614857665e+00
36 -9.2507293281699435e-03 -2.5688826605251358e+00 -8.8917022692736422e-02
37 -1.7874734690551621e+00 1.7150271178623466e+00 -2.3271057624984728e+00
38 -2.4661620491429920e-01 -4.4857619628292789e-01 3.0090275228821284e-01
39 2.1876463817081504e+00 -1.2953665685720137e+00 -4.1070251548877099e+00
40 3.8954619284501790e+00 -1.9483835119233022e+00 -1.2227531289487130e+00
41 9.7565025130134986e-02 -5.2646053136013171e-01 -9.8280124384883216e-01
42 -4.1063684977228627e+00 -1.9251952046358491e+00 -2.9901720087297745e-01
43 6.7939692719606781e-01 -5.1874569217896553e+00 -3.9562141806867668e-01
44 3.2038887558519624e+00 -3.7312345150848865e+00 1.1791192854681274e+00
45 -1.1219574440264011e+00 1.4017870123386453e+00 -2.7737869798443744e+00
46 -2.3209294883240861e-01 -1.6182897275509909e+00 4.6296975808382292e+00
47 2.4602350215523230e+00 1.3452019889417968e+00 8.6358301807951909e-01
48 1.3093376440442195e+00 5.7371015819454974e-01 -3.5578408565068542e-01
49 -1.6696474765984912e+00 -4.7474039477977534e+00 -2.4607694981777111e+00
50 1.2989593641085762e-02 2.9812087098985032e+00 -1.4123464138675532e+00
51 -1.2853374902017072e+00 2.9768731587433566e+00 3.7403754374802136e+00
52 4.2768627438095717e+00 -4.4665207635060362e+00 4.4526942886425624e+00
53 2.8263576162367916e+00 2.8711821643474851e+00 1.6198032393140251e+00
54 2.4557393026757937e+00 -2.8576870371250473e+00 -1.7106753514157176e+00
55 8.7016650440838128e-01 -2.9993943594233770e+00 -3.5406400607258579e+00
56 -4.2720269240408387e-01 2.6284724466018883e-01 -2.0965871396618163e+00
57 1.8938909101993043e-01 -1.1500277319075998e+00 -3.0413618657653302e-01
58 2.7772395410738175e+00 -9.4351277181421511e-01 1.2588196612829905e+00
59 2.7573808001442890e+00 1.7074123239008328e+00 -1.8649940082533623e+00
60 -2.0326029067319991e+00 -5.2224816026297418e+00 -2.6126651787431188e+00
61 -3.8509493124293104e-01 1.9073567822530930e+00 -7.1625738092917579e-01
62 -2.6004175741383238e+00 2.4418292628003044e+00 -2.1615478367946075e+00
63 1.6782508782162848e+00 -3.0101538006328594e+00 -7.1986308168993651e-02
64 2.2749536899334060e+00 2.5303495677814132e+00 6.0668040667204073e+00
...