|
|
|
|
@ -2,6 +2,8 @@
|
|
|
|
|
.. index:: compute snad/atom
|
|
|
|
|
.. index:: compute snav/atom
|
|
|
|
|
.. index:: compute snap
|
|
|
|
|
.. index:: compute sna/grid
|
|
|
|
|
.. index:: compute sna/grid/local
|
|
|
|
|
|
|
|
|
|
compute sna/atom command
|
|
|
|
|
========================
|
|
|
|
|
@ -15,6 +17,12 @@ compute snav/atom command
|
|
|
|
|
compute snap command
|
|
|
|
|
====================
|
|
|
|
|
|
|
|
|
|
compute sna/grid command
|
|
|
|
|
========================
|
|
|
|
|
|
|
|
|
|
compute sna/grid/local command
|
|
|
|
|
==============================
|
|
|
|
|
|
|
|
|
|
Syntax
|
|
|
|
|
""""""
|
|
|
|
|
|
|
|
|
|
@ -24,6 +32,9 @@ Syntax
|
|
|
|
|
compute ID group-ID snad/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
compute ID group-ID sna/grid nx ny nz rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
compute ID group-ID sna/grid/local nx ny nz rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ...
|
|
|
|
|
|
|
|
|
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
|
|
|
|
* sna/atom = style name of this compute command
|
|
|
|
|
@ -32,6 +43,7 @@ Syntax
|
|
|
|
|
* twojmax = band limit for bispectrum components (non-negative integer)
|
|
|
|
|
* R_1, R_2,... = list of cutoff radii, one for each type (distance units)
|
|
|
|
|
* w_1, w_2,... = list of neighbor weights, one for each type
|
|
|
|
|
* nx, ny, nz = number of grid points in x, y, and z directions (positive integer)
|
|
|
|
|
* zero or more keyword/value pairs may be appended
|
|
|
|
|
* keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* or *chem* or *bnormflag* or *wselfallflag* or *bikflag* or *switchinnerflag* or *sinner* or *dinner*
|
|
|
|
|
|
|
|
|
|
@ -78,6 +90,7 @@ Examples
|
|
|
|
|
compute snap all snap 1.4 0.95 6 2.0 1.0
|
|
|
|
|
compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 chem 2 0 1
|
|
|
|
|
compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 switchinnerflag 1 sinner 1.35 1.6 dinner 0.25 0.3
|
|
|
|
|
compute bgrid all sna/grid/local 200 200 200 1.4 0.95 6 2.0 1.0
|
|
|
|
|
|
|
|
|
|
Description
|
|
|
|
|
"""""""""""
|
|
|
|
|
@ -212,6 +225,46 @@ command:
|
|
|
|
|
See section below on output for a detailed explanation of the data
|
|
|
|
|
layout in the global array.
|
|
|
|
|
|
|
|
|
|
The compute *sna/grid* and *sna/grid/local* commands calculate
|
|
|
|
|
bispectrum components for a regular grid of points.
|
|
|
|
|
These are calculated from the local density of nearby atoms *i'*
|
|
|
|
|
around each grid point, as if there was a central atom *i*
|
|
|
|
|
at the grid point. This is useful for characterizing fine-scale
|
|
|
|
|
structure in a configuration of atoms, and it is used
|
|
|
|
|
in the `MALA package <https://github.com/casus/mala>`_
|
|
|
|
|
to build machine-learning surrogates for finite-temperature Kohn-Sham
|
|
|
|
|
density functional theory (:ref:`Ellis et al. <Ellis2021>`)
|
|
|
|
|
Neighbor atoms not in the group do not contribute to the
|
|
|
|
|
bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}`
|
|
|
|
|
assumes that *i* has the same type as the neighbor atom *i'*.
|
|
|
|
|
|
|
|
|
|
Compute *sna/grid* calculates a global array containing bispectrum
|
|
|
|
|
components for a regular grid of points.
|
|
|
|
|
The grid is aligned with the current box dimensions, with the
|
|
|
|
|
first point at the box origin, and forming a regular 3d array with
|
|
|
|
|
*nx*, *ny*, and *nz* points in the x, y, and z directions. For triclinic
|
|
|
|
|
boxes, the array is congruent with the periodic lattice vectors
|
|
|
|
|
a, b, and c. The array contains one row for each of the
|
|
|
|
|
:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest,
|
|
|
|
|
then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*,
|
|
|
|
|
and *z* coordinates of the grid point, followed by the bispectrum
|
|
|
|
|
components. See section below on output for a detailed explanation of the data
|
|
|
|
|
layout in the global array.
|
|
|
|
|
|
|
|
|
|
Compute *sna/grid/local* calculates bispectrum components of a regular
|
|
|
|
|
grid of points similarly to compute *sna/grid* described above.
|
|
|
|
|
However, because the array is local, it contains only rows for grid points
|
|
|
|
|
that are local to the processor sub-domain. The global grid
|
|
|
|
|
of :math:`nx \times ny \times nz` points is still laid out in space the same as for *sna/grid*,
|
|
|
|
|
but grid points are strictly partitioned, so that every grid point appears in
|
|
|
|
|
one and only one local array. The array contains one row for each of the
|
|
|
|
|
local grid points, looping over the global index *ix* fastest,
|
|
|
|
|
then *iy*, and *iz* slowest. Each row of the array contains
|
|
|
|
|
the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*,
|
|
|
|
|
and *z* coordinates of the grid point, followed by the bispectrum
|
|
|
|
|
components. See section below on output for a detailed explanation of the data
|
|
|
|
|
layout in the global array.
|
|
|
|
|
|
|
|
|
|
The value of all bispectrum components will be zero for atoms not in
|
|
|
|
|
the group. Neighbor atoms not in the group do not contribute to the
|
|
|
|
|
bispectrum of atoms in the group.
|
|
|
|
|
@ -414,6 +467,21 @@ number of columns in the global array generated by *snap* are 31, and
|
|
|
|
|
931, respectively, while the number of rows is 1+3\*\ *N*\ +6, where *N*
|
|
|
|
|
is the total number of atoms.
|
|
|
|
|
|
|
|
|
|
Compute *sna/grid* evaluates a global array.
|
|
|
|
|
The array contains one row for each of the
|
|
|
|
|
:math:`nx \times ny \times nz` grid points, looping over the index for *ix* fastest,
|
|
|
|
|
then *iy*, and *iz* slowest. Each row of the array contains the *x*, *y*,
|
|
|
|
|
and *z* coordinates of the grid point, followed by the bispectrum
|
|
|
|
|
components.
|
|
|
|
|
|
|
|
|
|
Compute *sna/grid/local* evaluates a local array.
|
|
|
|
|
The array contains one row for each of the
|
|
|
|
|
local grid points, looping over the global index *ix* fastest,
|
|
|
|
|
then *iy*, and *iz* slowest. Each row of the array contains
|
|
|
|
|
the global indexes *ix*, *iy*, and *iz* first, followed by the *x*, *y*,
|
|
|
|
|
and *z* coordinates of the grid point, followed by the bispectrum
|
|
|
|
|
components.
|
|
|
|
|
|
|
|
|
|
If the *quadratic* keyword value is set to 1, then additional columns
|
|
|
|
|
are generated, corresponding to the products of all distinct pairs of
|
|
|
|
|
bispectrum components. If the number of bispectrum components is *K*,
|
|
|
|
|
@ -464,8 +532,7 @@ The optional keyword defaults are *rmin0* = 0,
|
|
|
|
|
|
|
|
|
|
.. _Thompson20141:
|
|
|
|
|
|
|
|
|
|
**(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint
|
|
|
|
|
available at `arXiv:1409.3880 <http://arxiv.org/abs/1409.3880>`_
|
|
|
|
|
**(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316, (2015).
|
|
|
|
|
|
|
|
|
|
.. _Bartok20101:
|
|
|
|
|
|
|
|
|
|
@ -486,4 +553,8 @@ of Angular Momentum, World Scientific, Singapore (1987).
|
|
|
|
|
|
|
|
|
|
.. _Cusentino2020:
|
|
|
|
|
|
|
|
|
|
**(Cusentino)** Cusentino, Wood, and Thompson, J Phys Chem A, xxx, xxxxx, (2020)
|
|
|
|
|
**(Cusentino)** Cusentino, Wood, Thompson, J Phys Chem A, 124, 5456, (2020)
|
|
|
|
|
|
|
|
|
|
.. _Ellis2021:
|
|
|
|
|
|
|
|
|
|
**(Ellis)** Ellis, Fiedler, Popoola, Modine, Stephens, Thompson, Cangi, Rajamanickam, Phys Rev B, 104, 035120, (2021)
|
|
|
|
|
|