Added gradgradflag option to compute mliap

This commit is contained in:
Aidan Thompson
2020-07-07 20:42:03 -06:00
parent 06a199f7d0
commit a7369e76cd

View File

@ -12,8 +12,8 @@ Syntax
* ID, group-ID are documented in :doc:`compute <compute>` command
* mliap = style name of this compute command
* two keyword/value pairs must be appended
* keyword = *model* or *descriptor*
* two or more keyword/value pairs must be appended
* keyword = *model* or *descriptor* or *gradgradflag*
.. parsed-literal::
@ -24,7 +24,8 @@ Syntax
*descriptor* values = style filename
style = *sna*
filename = name of file containing descriptor definitions
*gradgradflag* value = 0/1
toggle gradgrad method for force gradient
Examples
""""""""
@ -69,8 +70,7 @@ The *descriptor* keyword is followed by a descriptor style, and additional argum
Currently the only descriptor style is *sna*, indicating the bispectrum component
descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of
:doc:`pair_style snap <pair_snap>`.
The \'p\' in SNAP is dropped, because keywords that match pair_styles are silently stripped
out by the LAMMPS command parser. A single additional argument specifies the descriptor filename
A single additional argument specifies the descriptor filename
containing the parameters and setting used by the SNAP descriptor.
The descriptor filename usually ends in the *.mliap.descriptor* extension.
The format of this file is identical to the descriptor file in the
@ -109,6 +109,17 @@ command:
See section below on output for a detailed explanation of the data
layout in the global array.
The optional keyword *gradgradflag* controls how the force
gradient is calculated. A value of 1 requires that the model provide
the matrix of double gradients of energy w.r.t. both parameters
and desciptors. For the linear and quadratic models this matrix is
sparse and so is easily calculated and stored. For other models, this
matrix may be prohibitively expensive to calculate and store.
A value of 0 requires that the descriptor provide the derivative
of the descriptors w.r.t. the position of every neighbor atom.
This is not optimal for linear and quadratic models, but may be
a better choice for more complex models.
Atoms not in the group do not contribute to this compute.
Neighbor atoms not in the group do not contribute to this compute.
The neighbor list needed to compute this quantity is constructed each
@ -167,4 +178,7 @@ Related commands
:doc:`pair_style mliap <pair_mliap>`
**Default:** none
Default
"""""""
The keyword defaults are gradgradflag = 1