Merge from lammps master
This commit is contained in:
BIN
doc/src/Eqs/dihedral_table_cut.jpg
Normal file
BIN
doc/src/Eqs/dihedral_table_cut.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
11
doc/src/Eqs/dihedral_table_cut.tex
Normal file
11
doc/src/Eqs/dihedral_table_cut.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentclass[12pt]{article}
|
||||
\pagestyle{empty}
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
f(\theta) & = & K \qquad\qquad\qquad\qquad\qquad\qquad \theta < \theta_1 \\
|
||||
f(\theta) & = & K \left(1-\frac{(\theta - \theta_1)^2}{(\theta_2 - \theta_1)^2}\right) \qquad \theta_1 < \theta < \theta_2
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="20 Apr 2018 version">
|
||||
<META NAME="docnumber" CONTENT="11 May 2018 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -19,7 +19,7 @@
|
||||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
20 Apr 2018 version :c,h2
|
||||
11 May 2018 version :c,h2
|
||||
|
||||
Version info: :h3
|
||||
|
||||
|
||||
Binary file not shown.
BIN
doc/src/PDF/USER-CGDNA.pdf
Normal file
BIN
doc/src/PDF/USER-CGDNA.pdf
Normal file
Binary file not shown.
Binary file not shown.
@ -684,6 +684,7 @@ package"_Section_start.html#start_3.
|
||||
"addtorque"_fix_addtorque.html,
|
||||
"atc"_fix_atc.html,
|
||||
"ave/correlate/long"_fix_ave_correlate_long.html,
|
||||
"bond/react"_fix_bond_react.html,
|
||||
"colvars"_fix_colvars.html,
|
||||
"dpd/energy (k)"_fix_dpd_energy.html,
|
||||
"drude"_fix_drude.html,
|
||||
@ -1211,7 +1212,8 @@ package"_Section_start.html#start_3.
|
||||
"nharmonic (o)"_dihedral_nharmonic.html,
|
||||
"quadratic (o)"_dihedral_quadratic.html,
|
||||
"spherical (o)"_dihedral_spherical.html,
|
||||
"table (o)"_dihedral_table.html :tb(c=4,ea=c)
|
||||
"table (o)"_dihedral_table.html,
|
||||
"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -122,6 +122,7 @@ Package, Description, Doc page, Example, Library
|
||||
Package, Description, Doc page, Example, Library
|
||||
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
|
||||
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
|
||||
"USER-BOCS"_#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, -
|
||||
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, -
|
||||
"USER-CGSDK"_#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, -
|
||||
"USER-COLVARS"_#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int
|
||||
@ -1625,6 +1626,43 @@ examples/USER/awpmd :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-BOCS package :link(USER-BOCS),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
This package provides "fix bocs"_fix_bocs.html, a modified version
|
||||
of "fix npt"_fix_nh.html which includes the pressure correction to
|
||||
the barostat as outlined in:
|
||||
|
||||
N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that
|
||||
accurately describe the structure, pressure, and compressibility of
|
||||
molecular liquids," J. Chem. Phys. 143, 243148 (2015).
|
||||
|
||||
[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The Pennsylvania State University)
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-user-bocs
|
||||
make machine :pre
|
||||
|
||||
make no-user-bocs
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
The USER-BOCS user package for LAMMPS is part of the BOCS software package:
|
||||
"https://github.com/noid-group/BOCS"_https://github.com/noid-group/BOCS
|
||||
|
||||
See the following reference for information about the entire package:
|
||||
|
||||
Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG.
|
||||
"BOCS: Bottom-Up Open-Source Coarse-Graining Software."
|
||||
J. Phys. Chem. B. 122, 13, 3363-3377 (2018).
|
||||
|
||||
Example inputs are in the examples/USER/bocs folder.
|
||||
|
||||
:line
|
||||
|
||||
USER-CGDNA package :link(USER-CGDNA),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
@ -51,9 +51,11 @@ The coefficients in the above example have to be kept fixed and cannot be change
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
A simple python setup tool which creates single straight or helical DNA strands,
|
||||
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
|
||||
A technical report with more information on the model, the structure of the input file,
|
||||
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||
|
||||
Please cite "(Henrich)"_#Henrich2 and the relevant oxDNA articles in any publication that uses this implementation.
|
||||
The article contains more information on the model, the structure of the input file, the setup tool
|
||||
and the performance of the LAMMPS-implementation of oxDNA.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -72,6 +74,9 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
:line
|
||||
|
||||
:link(Henrich2)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
:link(oxdna_fene)
|
||||
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
|
||||
|
||||
|
||||
@ -10,19 +10,29 @@ compute ackland/atom command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID ackland/atom :pre
|
||||
compute ID group-ID ackland/atom keyword/value :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
ackland/atom = style name of this compute command :ul
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
ackland/atom = style name of this compute command :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {legacy} :l
|
||||
{legacy} yes/no = use ({yes}) or do not use ({no}) legacy ackland algorithm implementation :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all ackland/atom :pre
|
||||
compute 1 all ackland/atom
|
||||
compute 1 all ackland/atom legacy yes :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Defines a computation that calculates the local lattice structure
|
||||
according to the formulation given in "(Ackland)"_#Ackland.
|
||||
Historically, LAMMPS had two, slightly different implementations of
|
||||
the algorithm from the paper. With the {legacy} keyword, it is
|
||||
possible to switch between the pre-2015 ({legacy yes}) and post-2015
|
||||
implemention ({legacy no}). The post-2015 variant is the default.
|
||||
|
||||
In contrast to the "centro-symmetry
|
||||
parameter"_compute_centro_atom.html this method is stable against
|
||||
@ -66,7 +76,8 @@ integers defined above.
|
||||
|
||||
"compute centro/atom"_compute_centro_atom.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
The keyword {legacy} defaults to {no}.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ compute ID group-ID displace/atom :pre
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
displace/atom = style name of this compute command :l
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {refresh} :
|
||||
keyword = {refresh} :l
|
||||
{replace} arg = name of per-atom variable :pre
|
||||
|
||||
:ule
|
||||
|
||||
@ -161,9 +161,9 @@ function.
|
||||
|
||||
The keyword {bzeroflag} determines whether or not {B0}, the bispectrum
|
||||
components of an atom with no neighbors, are subtracted from
|
||||
the calculated bispectrum components. This optional keyword is only
|
||||
available for compute {sna/atom}, as {snad/atom} and {snav/atom}
|
||||
are unaffected by the removal of constant terms.
|
||||
the calculated bispectrum components. This optional keyword
|
||||
normally only affects compute {sna/atom}. However, when
|
||||
{quadraticflag} is on, it also affects {snad/atom} and {snav/atom}.
|
||||
|
||||
The keyword {quadraticflag} determines whether or not the
|
||||
quadratic analogs to the bispectrum quantities are generated.
|
||||
@ -230,13 +230,18 @@ are 30, 90, and 180, respectively. With {quadratic} value=1,
|
||||
the numbers of columns are 930, 2790, and 5580, respectively.
|
||||
|
||||
If the {quadratic} keyword value is set to 1, then additional
|
||||
columns are appended to each per-atom array, corresponding to
|
||||
columns are generated, corresponding to
|
||||
the products of all distinct pairs of bispectrum components. If the
|
||||
number of bispectrum components is {K}, then the number of distinct pairs
|
||||
is {K}({K}+1)/2. These are output in subblocks of {K}({K}+1)/2 columns, using the same
|
||||
ordering of sub-blocks as was used for the bispectrum
|
||||
components. Within each sub-block, the ordering is upper-triangular,
|
||||
(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K})
|
||||
is {K}({K}+1)/2.
|
||||
For compute {sna/atom} these columns are appended to existing {K} columns.
|
||||
The ordering of quadratic terms is upper-triangular,
|
||||
(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K}).
|
||||
For computes {snad/atom} and {snav/atom} each set of {K}({K}+1)/2
|
||||
additional columns is inserted directly after each of sub-block
|
||||
of linear terms i.e. linear and quadratic terms are contiguous.
|
||||
So the nesting order from inside to outside is bispectrum component,
|
||||
linear then quadratic, vector/tensor component, type.
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
from a compute as input. See "Section
|
||||
|
||||
205
doc/src/dihedral_table_cut.txt
Normal file
205
doc/src/dihedral_table_cut.txt
Normal file
@ -0,0 +1,205 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dihedral_style table/cut command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
dihedral_style table/cut style Ntable :pre
|
||||
|
||||
style = {linear} or {spline} = method of interpolation
|
||||
Ntable = size of the internal lookup table :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
dihedral_style table/cut spline 400
|
||||
dihedral_style table/cut linear 1000
|
||||
dihedral_coeff 1 aat 1.0 177 180 file.table DIH_TABLE1
|
||||
dihedral_coeff 2 aat 0.5 170 180 file.table DIH_TABLE2 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {table/cut} dihedral style creates interpolation tables of length
|
||||
{Ntable} from dihedral potential and derivative values listed in a
|
||||
file(s) as a function of the dihedral angle "phi". In addition, an
|
||||
analytic cutoff that is quadratic in the bond-angle (theta) is applied
|
||||
in order to regularize the dihedral interaction. The dihedral table
|
||||
files are read by the "dihedral_coeff"_dihedral_coeff.html command.
|
||||
|
||||
The interpolation tables are created by fitting cubic splines to the
|
||||
file values and interpolating energy and derivative values at each of
|
||||
{Ntable} dihedral angles. During a simulation, these tables are used
|
||||
to interpolate energy and force values on individual atoms as
|
||||
needed. The interpolation is done in one of 2 styles: {linear} or
|
||||
{spline}.
|
||||
|
||||
For the {linear} style, the dihedral angle (phi) is used to find 2
|
||||
surrounding table values from which an energy or its derivative is
|
||||
computed by linear interpolation.
|
||||
|
||||
For the {spline} style, cubic spline coefficients are computed and
|
||||
stored at each of the {Ntable} evenly-spaced values in the
|
||||
interpolated table. For a given dihedral angle (phi), the appropriate
|
||||
coefficients are chosen from this list, and a cubic polynomial is used
|
||||
to compute the energy and the derivative at this angle.
|
||||
|
||||
The following coefficients must be defined for each dihedral type via
|
||||
the "dihedral_coeff"_dihedral_coeff.html command as in the example
|
||||
above.
|
||||
|
||||
style (aat)
|
||||
cutoff prefactor
|
||||
cutoff angle1
|
||||
cutoff angle2
|
||||
filename
|
||||
keyword :ul
|
||||
|
||||
The cutoff dihedral style uses a tabulated dihedral interaction with a
|
||||
cutoff function:
|
||||
|
||||
:c,image(Eqs/dihedral_table_cut.jpg)
|
||||
|
||||
The cutoff specifies an prefactor to the cutoff function. While this value
|
||||
would ordinarily equal 1 there may be situations where the value should change.
|
||||
|
||||
The cutoff angle1 specifies the angle (in degrees) below which the dihedral
|
||||
interaction is unmodified, i.e. the cutoff function is 1.
|
||||
|
||||
The cutoff function is applied between angle1 and angle2, which is the angle at
|
||||
which the cutoff function drops to zero. The value of zero effectively "turns
|
||||
off" the dihedral interaction.
|
||||
|
||||
The filename specifies a file containing tabulated energy and
|
||||
derivative values. The keyword specifies a section of the file. The
|
||||
format of this file is described below.
|
||||
|
||||
:line
|
||||
|
||||
The format of a tabulated file is as follows (without the
|
||||
parenthesized comments). It can begin with one or more comment
|
||||
or blank lines.
|
||||
|
||||
# Table of the potential and its negative derivative :pre
|
||||
|
||||
DIH_TABLE1 (keyword is the first text on line)
|
||||
N 30 DEGREES (N, NOF, DEGREES, RADIANS, CHECKU/F)
|
||||
(blank line)
|
||||
1 -168.0 -1.40351172223 0.0423346818422
|
||||
2 -156.0 -1.70447981034 0.00811786522531
|
||||
3 -144.0 -1.62956100432 -0.0184129719987
|
||||
...
|
||||
30 180.0 -0.707106781187 0.0719306095245 :pre
|
||||
|
||||
# Example 2: table of the potential. Forces omitted :pre
|
||||
|
||||
DIH_TABLE2
|
||||
N 30 NOF CHECKU testU.dat CHECKF testF.dat :pre
|
||||
|
||||
1 -168.0 -1.40351172223
|
||||
2 -156.0 -1.70447981034
|
||||
3 -144.0 -1.62956100432
|
||||
...
|
||||
30 180.0 -0.707106781187 :pre
|
||||
|
||||
A section begins with a non-blank line whose 1st character is not a
|
||||
"#"; blank lines or lines starting with "#" can be used as comments
|
||||
between sections. The first line begins with a keyword which
|
||||
identifies the section. The line can contain additional text, but the
|
||||
initial text must match the argument specified in the
|
||||
"dihedral_coeff"_dihedral_coeff.html command. The next line lists (in
|
||||
any order) one or more parameters for the table. Each parameter is a
|
||||
keyword followed by one or more numeric values.
|
||||
|
||||
Following a blank line, the next N lines list the tabulated values. On
|
||||
each line, the 1st value is the index from 1 to N, the 2nd value is
|
||||
the angle value, the 3rd value is the energy (in energy units), and
|
||||
the 4th is -dE/d(phi) also in energy units). The 3rd term is the
|
||||
energy of the 4-atom configuration for the specified angle. The 4th
|
||||
term (when present) is the negative derivative of the energy with
|
||||
respect to the angle (in degrees, or radians depending on whether the
|
||||
user selected DEGREES or RADIANS). Thus the units of the last term
|
||||
are still energy, not force. The dihedral angle values must increase
|
||||
from one line to the next.
|
||||
|
||||
Dihedral table splines are cyclic. There is no discontinuity at 180
|
||||
degrees (or at any other angle). Although in the examples above, the
|
||||
angles range from -180 to 180 degrees, in general, the first angle in
|
||||
the list can have any value (positive, zero, or negative). However
|
||||
the {range} of angles represented in the table must be {strictly} less
|
||||
than 360 degrees (2pi radians) to avoid angle overlap. (You may not
|
||||
supply entries in the table for both 180 and -180, for example.) If
|
||||
the user's table covers only a narrow range of dihedral angles,
|
||||
strange numerical behavior can occur in the large remaining gap.
|
||||
|
||||
[Parameters:]
|
||||
|
||||
The parameter "N" is required and its value is the number of table
|
||||
entries that follow. Note that this may be different than the N
|
||||
specified in the "dihedral_style table"_dihedral_style.html command.
|
||||
Let {Ntable} is the number of table entries requested dihedral_style
|
||||
command, and let {Nfile} be the parameter following "N" in the
|
||||
tabulated file ("30" in the sparse example above). What LAMMPS does
|
||||
is a preliminary interpolation by creating splines using the {Nfile}
|
||||
tabulated values as nodal points. It uses these to interpolate as
|
||||
needed to generate energy and derivative values at {Ntable} different
|
||||
points (which are evenly spaced over a 360 degree range, even if the
|
||||
angles in the file are not). The resulting tables of length {Ntable}
|
||||
are then used as described above, when computing energy and force for
|
||||
individual dihedral angles and their atoms. This means that if you
|
||||
want the interpolation tables of length {Ntable} to match exactly what
|
||||
is in the tabulated file (with effectively nopreliminary
|
||||
interpolation), you should set {Ntable} = {Nfile}. To insure the
|
||||
nodal points in the user's file are aligned with the interpolated
|
||||
table entries, the angles in the table should be integer multiples of
|
||||
360/{Ntable} degrees, or 2*PI/{Ntable} radians (depending on your
|
||||
choice of angle units).
|
||||
|
||||
The optional "NOF" keyword allows the user to omit the forces
|
||||
(negative energy derivatives) from the table file (normally located in
|
||||
the 4th column). In their place, forces will be calculated
|
||||
automatically by differentiating the potential energy function
|
||||
indicated by the 3rd column of the table (using either linear or
|
||||
spline interpolation).
|
||||
|
||||
The optional "DEGREES" keyword allows the user to specify angles in
|
||||
degrees instead of radians (default).
|
||||
|
||||
The optional "RADIANS" keyword allows the user to specify angles in
|
||||
radians instead of degrees. (Note: This changes the way the forces
|
||||
are scaled in the 4th column of the data file.)
|
||||
|
||||
The optional "CHECKU" keyword is followed by a filename. This allows
|
||||
the user to save all of the the {Ntable} different entries in the
|
||||
interpolated energy table to a file to make sure that the interpolated
|
||||
function agrees with the user's expectations. (Note: You can
|
||||
temporarily increase the {Ntable} parameter to a high value for this
|
||||
purpose. "{Ntable}" is explained above.)
|
||||
|
||||
The optional "CHECKF" keyword is analogous to the "CHECKU" keyword.
|
||||
It is followed by a filename, and it allows the user to check the
|
||||
interpolated force table. This option is available even if the user
|
||||
selected the "NOF" option.
|
||||
|
||||
Note that one file can contain many sections, each with a tabulated
|
||||
potential. LAMMPS reads the file section by section until it finds one
|
||||
that matches the specified keyword.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This dihedral style can only be used if LAMMPS was built with the
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dihedral_coeff"_dihedral_coeff.html, "dihedral_style table"_dihedral_table.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:link(dihedralcut-Salerno)
|
||||
[(Salerno)] Salerno, Bernstein, J Chem Theory Comput, --, ---- (2018).
|
||||
@ -19,6 +19,7 @@ Dihedral Styles :h1
|
||||
dihedral_quadratic
|
||||
dihedral_spherical
|
||||
dihedral_table
|
||||
dihedral_table_cut
|
||||
dihedral_zero
|
||||
dihedral_charmm
|
||||
dihedral_class2
|
||||
|
||||
@ -15,7 +15,7 @@ dump_modify dump-ID keyword values ... :pre
|
||||
dump-ID = ID of dump to modify :ulb,l
|
||||
one or more keyword/value pairs may be appended :l
|
||||
these keywords apply to various dump styles :l
|
||||
keyword = {append} or {at} or {buffer} or {delay} or {element} or {every} or {fileper} or {first} or {flush} or {format} or {image} or {label} or {nfile} or {pad} or {precision} or {region} or {scale} or {sort} or {thresh} or {unwrap} :l
|
||||
keyword = {append} or {at} or {buffer} or {delay} or {element} or {every} or {fileper} or {first} or {flush} or {format} or {image} or {label} or {maxfiles} or {nfile} or {pad} or {precision} or {region} or {scale} or {sort} or {thresh} or {unwrap} :l
|
||||
{append} arg = {yes} or {no}
|
||||
{at} arg = N
|
||||
N = index of frame written upon first dump
|
||||
@ -37,6 +37,8 @@ keyword = {append} or {at} or {buffer} or {delay} or {element} or {every} or {fi
|
||||
{image} arg = {yes} or {no}
|
||||
{label} arg = string
|
||||
string = character string (e.g. BONDS) to use in header of dump local file
|
||||
{maxfiles} arg = Fmax
|
||||
Fmax = keep only the most recent {Fmax} snapshots (one snapshot per file)
|
||||
{nfile} arg = Nf
|
||||
Nf = write this many files, one from each of Nf processors
|
||||
{pad} arg = Nchar = # of characters to convert timestep to
|
||||
@ -364,6 +366,20 @@ e.g. BONDS or ANGLES.
|
||||
|
||||
:line
|
||||
|
||||
The {maxfiles} keyword can only be used when a '*' wildcard is
|
||||
included in the dump file name, i.e. when writing a new file(s) for
|
||||
each snapshot. The specified {Fmax} is how many snapshots will be
|
||||
kept. Once this number is reached, the file(s) containing the oldest
|
||||
snapshot is deleted before a new dump file is written. If the
|
||||
specified {Fmax} <= 0, then all files are retained.
|
||||
|
||||
This can be useful for debugging, especially if you don't know on what
|
||||
timestep something bad will happen, e.g. when LAMMPS will exit with an
|
||||
error. You can dump every timestep, and limit the number of dump
|
||||
files produced, even if you run for 1000s of steps.
|
||||
|
||||
:line
|
||||
|
||||
The {nfile} or {fileper} keywords can be used in conjunction with the
|
||||
"%" wildcard character in the specified dump file name, for all dump
|
||||
styles except the {dcd}, {image}, {movie}, {xtc}, and {xyz} styles
|
||||
@ -901,6 +917,7 @@ flush = yes
|
||||
format = %d and %g for each integer or floating point value
|
||||
image = no
|
||||
label = ENTRIES
|
||||
maxifiles = -1
|
||||
nfile = 1
|
||||
pad = 0
|
||||
pbc = no
|
||||
|
||||
112
doc/src/fix_bocs.txt
Normal file
112
doc/src/fix_bocs.txt
Normal file
@ -0,0 +1,112 @@
|
||||
<"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix bocs command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID bocs keyword values ... :pre
|
||||
|
||||
keyword = {temp} or {cgiso} or {analytic} or {linear_spline} or {cubic_spline}
|
||||
{temp} values = Tstart Tstop Tdamp
|
||||
{cgiso} values = Pstart Pstop Pdamp
|
||||
{basis set}
|
||||
{analytic} values = V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N
|
||||
{linear_spline} values = input_filename
|
||||
{cubic_spline} values = input_filename :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20 :pre
|
||||
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 cubic_spline input_Fv.dat :pre
|
||||
|
||||
thermo_modify press 1_press :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
These commands incorporate a pressure correction as described by
|
||||
Dunn and Noid in "(Dunn1)"_#bocs-Dunn1 to the standard MTTK
|
||||
barostat by Martyna et. al. in "(Martyna)"_#bocs-Martyna .
|
||||
The first half of the command mimics a standard fix npt command:
|
||||
|
||||
fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp :pre
|
||||
|
||||
The two differences are replacing {npt} with {bocs}, and replacing
|
||||
{iso}/{aniso}/{etc} with {cgiso}.
|
||||
The rest of the command details what form you would like to use for
|
||||
the pressure correction equation. The choices are: {analytic}, {linear_spline},
|
||||
or {cubic_spline}.
|
||||
|
||||
With either spline method, the only argument that needs to follow it
|
||||
is the name of a file that contains the desired pressure correction
|
||||
as a function of volume. The file should be formatted so each line has:
|
||||
|
||||
Volume_i, PressureCorrection_i :pre
|
||||
|
||||
Note both the COMMA and the SPACE separating the volume's
|
||||
value and its corresponding pressure correction. The volumes in the file
|
||||
should be uniformly spaced. Both the volumes and the pressure corrections
|
||||
should be provided in the proper units, e.g. if you are using {units real},
|
||||
the volumes should all be in cubic angstroms, and the pressure corrections
|
||||
should all be in atomspheres. Furthermore, the table should start/end at a
|
||||
volume considerably smaller/larger than you expect your system to sample
|
||||
during the simulation. If the system ever reaches a volume outside of the
|
||||
range provided, the simulation will stop.
|
||||
|
||||
With the {analytic} option, the arguments are as follows:
|
||||
|
||||
... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N :pre
|
||||
|
||||
Note that {V_avg} and {Coeff_i} should all be in the proper units, e.g. if you
|
||||
are using {units real}, {V_avg} should be in cubic angstroms, and the
|
||||
coefficients should all be in atmospheres * cubic angstroms.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
As this is computing a (modified) pressure, group-ID should be {all}.
|
||||
|
||||
The pressure correction has only been tested for use with an isotropic
|
||||
pressure coupling in 3 dimensions.
|
||||
|
||||
By default, LAMMPS will still report the normal value for the pressure
|
||||
if the pressure is printed via a {thermo} command, or if the pressures
|
||||
are written to a file every so often. In order to have LAMMPS report the
|
||||
modified pressure, you must include the {thermo_modify} command given in
|
||||
the examples. For the last argument in the command, you should put
|
||||
XXXX_press, where XXXX is the ID given to the fix bocs command (in the
|
||||
example, the ID of the fix bocs command is 1 ).
|
||||
|
||||
This fix is part of the USER-BOCS package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related:]
|
||||
|
||||
For more details about the pressure correction and the entire BOCS software
|
||||
package, visit the "BOCS package on github"_bocsgithub and read the release
|
||||
paper by Dunn et. al. "(Dunn2)"_#bocs-Dunn2 .
|
||||
|
||||
|
||||
:link(bocsgithub,https://github.com/noid-group/BOCS)
|
||||
|
||||
:line
|
||||
|
||||
:link(bocs-Dunn1)
|
||||
[(Dunn1)] Dunn and Noid, J Chem Phys, 143, 243148 (2015).
|
||||
|
||||
:link(bocs-Martyna)
|
||||
[(Martyna)] Martyna, Tobias, and Klein, J Chem Phys, 101, 4177 (1994).
|
||||
|
||||
:link(bocs-Dunn2)
|
||||
[(Dunn2)] Dunn, Lebold, DeLyser, Rudzinski, and Noid, J. Phys. Chem. B, 122, 3363 (2018).
|
||||
|
||||
|
||||
|
||||
332
doc/src/fix_bond_react.txt
Normal file
332
doc/src/fix_bond_react.txt
Normal file
@ -0,0 +1,332 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix bond/react command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID bond/react common_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ...
|
||||
... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command. Group-ID is ignored. :ulb,l
|
||||
bond/react = style name of this fix command :l
|
||||
zero or more common keyword/value pairs may be appended directly after 'bond/react' :l
|
||||
these apply to all reaction specifications (below) :l
|
||||
common_keyword = {stabilization} :l
|
||||
{stabilization} values = {no} or {yes} {group-ID} {xmax}
|
||||
{no} = no reaction site stabilization
|
||||
{yes} = perform reaction site stabilization
|
||||
{group-ID} = user-assigned ID for all non-reacting atoms (group created internally)
|
||||
{xmax} = xmax value that is used by an internally created "nve/limit"_fix_nve_limit.html integrator :pre
|
||||
react = mandatory argument indicating new reaction specification :l
|
||||
react-ID = user-assigned name for the reaction :l
|
||||
react-group-ID = only atoms in this group are available for the reaction :l
|
||||
Nevery = attempt reaction every this many steps :l
|
||||
Rmin = bonding pair atoms must be separated by more than Rmin to initiate reaction (distance units) :l
|
||||
Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) :l
|
||||
template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology :l
|
||||
template-ID(post-reacted) = ID of a molecule template containing post-reaction topology :l
|
||||
map_file = name of file specifying corresponding atomIDs in the pre- and post-reacted templates :l
|
||||
zero or more individual keyword/value pairs may be appended to each react argument :l
|
||||
individual_keyword = {prob} or {stabilize_steps} :l
|
||||
{prob} values = fraction seed
|
||||
fraction = initiate reaction with this probability if otherwise eligible
|
||||
seed = random number seed (positive integer)
|
||||
{stabilize_steps} value = timesteps
|
||||
timesteps = number of timesteps to apply internally created nve/limit.html :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
molecule mol1 pre_reacted_topology.txt
|
||||
molecule mol2 post_reacted_topology.txt
|
||||
fix 5 all bond/react stabilization no react myrxn1 all 1 0 3.25 mol1 mol2 map_file.txt :pre
|
||||
|
||||
molecule mol1 pre_reacted_rxn1.txt
|
||||
molecule mol2 post_reacted_rxn1.txt
|
||||
molecule mol3 pre_reacted_rxn2.txt
|
||||
molecule mol4 post_reacted_rxn2.txt
|
||||
fix 5 all bond/react stabilization yes nvt_grp .03 &
|
||||
react myrxn1 all 1 0 3.25 mol1 mol2 map_file_rxn1.txt prob 0.50 12345 &
|
||||
react myrxn2 all 1 0 2.75 mol3 mol4 map_file_rxn2.txt prob 0.25 12345
|
||||
fix 6 nvt_grp nvt temp 300 300 100 # set thermostat after bond/react :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Initiate complex covalent bonding (topology) changes. These topology
|
||||
changes will be referred to as 'reactions' throughout this
|
||||
documentation. Topology changes are defined in pre- and post-reaction
|
||||
molecule templates and can include creation and deletion of bonds,
|
||||
angles, dihedrals, impropers, bond-types, angle-types, dihedral-types,
|
||||
atom-types, or atomic charges.
|
||||
|
||||
Fix bond/react does not use quantum mechanical (eg. fix qmmm) or
|
||||
pairwise bond-order potential (eg. Tersoff or AIREBO) methods to
|
||||
determine bonding changes a priori. Rather, it uses a distance-based
|
||||
probabilistic criteria to effect predetermined topology changes in
|
||||
simulations using standard force fields.
|
||||
|
||||
This fix was created to facilitate the dynamic creation of polymeric,
|
||||
amorphous or highly-crosslinked systems. A suggested workflow for
|
||||
using this fix is: 1) identify a reaction to be simulated 2) build a
|
||||
molecule template of the reaction site before the reaction has
|
||||
occurred 3) build a molecule template of the reaction site after the
|
||||
reaction has occurred 4) create a map that relates the
|
||||
template-atom-IDs of each atom between pre- and post-reaction molecule
|
||||
templates 5) fill a simulation box with molecules and run a simulation
|
||||
with fix bond/react.
|
||||
|
||||
Only one 'fix bond/react' command can be used at a time. Multiple
|
||||
reactions can be simultaneously applied by specifying multiple {react}
|
||||
arguments to a single 'fix bond/react' command. This syntax is
|
||||
necessary because the 'common keywords' are applied to all reactions.
|
||||
|
||||
The {stabilization} keyword enables reaction site stabilization.
|
||||
Reaction site stabilization is performed by including reacting atoms
|
||||
in an internally created fix "nve/limit"_fix_nve_limit.html time
|
||||
integrator for a set number of timesteps given by the
|
||||
{stabilize_steps} keyword. While reacting atoms are being time
|
||||
integrated by the internal nve/limit, they are prevented from being
|
||||
involved in any new reactions. The {xmax} value keyword should
|
||||
typically be set to the maximum distance that non-reacting atoms move
|
||||
during the simulation.
|
||||
|
||||
The group-ID set using the {stabilization} keyword should be a
|
||||
previously unused group-ID. It cannot be specified as 'all'. The fix
|
||||
bond/react command creates a "dynamic group"_group.html of this name
|
||||
that includes all non-reacting atoms. This dynamic group-ID should
|
||||
then be used by a subsequent system-wide time integrator such as nvt,
|
||||
npt, or nve, as shown in the second example above. It is currently
|
||||
necessary to place the time integration command after the fix
|
||||
bond/react command due to the internal dynamic grouping performed by
|
||||
fix bond/react.
|
||||
|
||||
NOTE: The internally created group currently applies to all atoms in
|
||||
the system, i.e. you should generally not have a separate thermostat
|
||||
which acts on the 'all' group.
|
||||
|
||||
The following comments pertain to each {react} argument:
|
||||
|
||||
A check for possible new reaction sites is performed every {Nevery}
|
||||
timesteps.
|
||||
|
||||
Two conditions must be met for a reaction to occur. First a bonding
|
||||
atom pair must be identified. Second, the topology surrounding the
|
||||
bonding atom pair must match the topology of the pre-reaction
|
||||
template. If both these conditions are met, the reaction site is
|
||||
modified to match the post-reaction template.
|
||||
|
||||
A bonding atom pair will be identified if several conditions are met.
|
||||
First, a pair of atoms within the specified react-group-ID of type
|
||||
typei and typej must separated by a distance between {Rmin} and
|
||||
{Rmax}. It is possible that multiple bonding atom pairs are
|
||||
identified: if the bonding atoms in the pre-reacted template are not
|
||||
1-2, 1-3, or 1-4 neighbors, the closest bonding atom partner is set as
|
||||
its bonding partner; otherwise, the farthest potential partner is
|
||||
chosen. Then, if both an atomi and atomj have each other as their
|
||||
nearest bonding partners, these two atoms are identified as the
|
||||
bonding atom pair of the reaction site. Once this unique bonding atom
|
||||
pair is identified for each reaction, there could two or more
|
||||
reactions that involve a given atom on the same timestep. If this is
|
||||
the case, only one such reaction is permitted to occur. This reaction
|
||||
is chosen randomly from all potential reactions. This capability
|
||||
allows e.g. for different reaction pathways to proceed from identical
|
||||
reaction sites with user-specified probabilities.
|
||||
|
||||
The pre-reacted molecule template is specified by a molecule command.
|
||||
This molecule template file contains a sample reaction site and its
|
||||
surrounding topology. As described below, the bonding atom pairs of
|
||||
the pre-reacted template are specified by atom ID in the map file. The
|
||||
pre-reacted molecule template should contain as few atoms as possible
|
||||
while still completely describing the topology of all atoms affected
|
||||
by the reaction. For example, if the force field contains dihedrals,
|
||||
the pre-reacted template should contain any atom within three bonds of
|
||||
reacting atoms.
|
||||
|
||||
Some atoms in the pre-reacted template that are not reacting may have
|
||||
missing topology with respect to the simulation. For example, the
|
||||
pre-reacted template may contain an atom that would connect to the
|
||||
rest of a long polymer chain. These are referred to as edge atoms, and
|
||||
are also specified in the map file.
|
||||
|
||||
Note that some care must be taken when a building a molecule template
|
||||
for a given simulation. All atom types in the pre-reacted template
|
||||
must be the same as those of a potential reaction site in the
|
||||
simulation. A detailed discussion of matching molecule template atom
|
||||
types with the simulation is provided on the "molecule"_molecule.html
|
||||
command page.
|
||||
|
||||
The post-reacted molecule template contains a sample of the reaction
|
||||
site and its surrounding topology after the reaction has occurred. It
|
||||
must contain the same number of atoms as the pre-reacted template. A
|
||||
one-to-one correspondence between the atom IDs in the pre- and
|
||||
post-reacted templates is specified in the map file as described
|
||||
below. Note that during a reaction, an atom, bond, etc. type may
|
||||
change to one that was previously not present in the simulation. These
|
||||
new types must also be defined during the setup of a given simulation.
|
||||
A discussion of correctly handling this is also provided on the
|
||||
"molecule"_molecule.html command page.
|
||||
|
||||
The map file is a text document with the following format:
|
||||
|
||||
A map file has a header and a body. The header of map file the
|
||||
contains one mandatory keyword and one optional keyword. The mandatory
|
||||
keyword is 'equivalences' and the optional keyword is 'edgeIDs':
|
||||
|
||||
N {equivalences} = # of atoms N in the reaction molecule templates
|
||||
N {edgeIDs} = # of edge atoms N in the pre-reacted molecule template :pre
|
||||
|
||||
The body of the map file contains two mandatory sections and one
|
||||
optional section. The first mandatory section begins with the keyword
|
||||
'BondingIDs' and lists the atom IDs of the bonding atom pair in the
|
||||
pre-reacted molecule template. The second mandatory section begins
|
||||
with the keyword 'Equivalences' and lists a one-to-one correspondence
|
||||
between atom IDs of the pre- and post-reacted templates. The first
|
||||
column is an atom ID of the pre-reacted molecule template, and the
|
||||
second column is the corresponding atom ID of the post-reacted
|
||||
molecule template. The optional section begins with the keyword
|
||||
'EdgeIDs' and lists the atom IDs of edge atoms in the pre-reacted
|
||||
molecule template.
|
||||
|
||||
A sample map file is given below:
|
||||
|
||||
:line
|
||||
|
||||
# this is a map file :pre
|
||||
|
||||
2 edgeIDs
|
||||
7 equivalences :pre
|
||||
|
||||
BondingIDs :pre
|
||||
|
||||
3
|
||||
5 :pre
|
||||
|
||||
EdgeIDs :pre
|
||||
|
||||
1
|
||||
7 :pre
|
||||
|
||||
Equivalences :pre
|
||||
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7 :pre
|
||||
|
||||
:line
|
||||
|
||||
Once a reaction site has been successfully identified, data structures
|
||||
within LAMMPS that store bond topology are updated to reflect the
|
||||
post-reacted molecule template. All force fields with fixed bonds,
|
||||
angles, dihedrals or impropers are supported.
|
||||
|
||||
A few capabilities to note: 1) You may specify as many {react}
|
||||
arguments as desired. For example, you could break down a complicated
|
||||
reaction mechanism into several reaction steps, each defined by its
|
||||
own {react} argument. 2) While typically a bond is formed or removed
|
||||
between the bonding atom pairs specified in the pre-reacted molecule
|
||||
template, this is not required. 3) By reversing the order of the pre-
|
||||
and post- reacted molecule templates in another {react} argument, you
|
||||
can allow for the possibility of one or more reverse reactions.
|
||||
|
||||
The optional keywords deal with the probability of a given reaction
|
||||
occurring as well as the stable equilibration of each reaction site as
|
||||
it occurs.
|
||||
|
||||
The {prob} keyword can affect whether an eligible reaction actually
|
||||
occurs. The fraction setting must be a value between 0.0 and 1.0. A
|
||||
uniform random number between 0.0 and 1.0 is generated and the
|
||||
eligible reaction only occurs if the random number is less than the
|
||||
fraction.
|
||||
|
||||
The {stabilize_steps} keyword allows for the specification of how many
|
||||
timesteps a reaction site is stabilized before being returned to the
|
||||
overall system thermostat.
|
||||
|
||||
In order to produce the most physical behavior, this 'reaction site
|
||||
equilibration time' should be tuned to be as small as possible while
|
||||
retaining stability for a given system or reaction step. After a
|
||||
limited number of case studies, this number has been set to a default
|
||||
of 60 timesteps. Ideally, it should be individually tuned for each fix
|
||||
reaction step. Note that in some situations, decreasing rather than
|
||||
increasing this parameter will result in an increase in stability.
|
||||
|
||||
A few other considerations:
|
||||
|
||||
It may be beneficial to ensure reacting atoms are at a certain
|
||||
temperature before being released to the overall thermostat. For this,
|
||||
you can use the internally-created dynamic group named
|
||||
"bond_react_MASTER_group." For example, adding the following command
|
||||
would thermostat the group of all atoms currently involved in a
|
||||
reaction:
|
||||
|
||||
fix 1 bond_react_MASTER_group temp/rescale 1 300 300 10 1 :pre
|
||||
|
||||
NOTE: This command must be added after the fix bond/react command, and
|
||||
will apply to all reactions.
|
||||
|
||||
Computationally, each timestep this fix operates, it loops over
|
||||
neighbor lists (for bond-forming reactions) and computes distances
|
||||
between pairs of atoms in the list. It also communicates between
|
||||
neighboring processors to coordinate which bonds are created and/or
|
||||
removed. All of these operations increase the cost of a timestep. Thus
|
||||
you should be cautious about invoking this fix too frequently.
|
||||
|
||||
You can dump out snapshots of the current bond topology via the dump
|
||||
local command.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html, aside from internally-created per-atom
|
||||
properties. None of the "fix_modify"_fix_modify.html options are
|
||||
relevant to this fix.
|
||||
|
||||
This fix computes one statistic for each {react} argument that it
|
||||
stores in a global vector, of length 'number of react arguments', that
|
||||
can be accessed by various "output
|
||||
commands"_Section_howto.html#howto_15. The vector values calculated by
|
||||
this fix are "intensive".
|
||||
|
||||
These is 1 quantity for each react argument:
|
||||
|
||||
(1) cumulative # of reactions occurred :ul
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix bond/create"_fix_bond_create.html, "fix
|
||||
bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
"dump local"_dump.html, "special_bonds"_special_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are stabilization = no, stabilize_steps = 60
|
||||
|
||||
:line
|
||||
|
||||
:link(Gissinger)
|
||||
[(Gissinger)] Gissinger, Jensen and Wise, Polymer, 128, 211 (2017).
|
||||
@ -154,7 +154,7 @@ Note: The temperature thermostating the core-Drude particle pairs
|
||||
should be chosen low enough, so as to mimic as closely as possible the
|
||||
self-consistent minimization. It must however be high enough, so that
|
||||
the dipoles can follow the local electric field exerted by the
|
||||
neighbouring atoms. The optimal value probably depends on the
|
||||
neighboring atoms. The optimal value probably depends on the
|
||||
temperature of the centers of mass and on the mass of the Drude
|
||||
particles.
|
||||
|
||||
|
||||
@ -14,14 +14,16 @@ fix_modify fix-ID keyword value ... :pre
|
||||
|
||||
fix-ID = ID of the fix to modify :ulb,l
|
||||
one or more keyword/value pairs may be appended :l
|
||||
keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof} :l
|
||||
keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof} or {bodyforces} :l
|
||||
{temp} value = compute ID that calculates a temperature
|
||||
{press} value = compute ID that calculates a pressure
|
||||
{energy} value = {yes} or {no}
|
||||
{virial} value = {yes} or {no}
|
||||
{respa} value = {1} to {max respa level} or {0} (for outermost level)
|
||||
{dynamic/dof} value = {yes} or {no}
|
||||
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature :pre
|
||||
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature
|
||||
{bodyforces} value = {early} or {late}
|
||||
early/late = compute rigid-body forces/torques early or late in the timestep :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -84,9 +86,8 @@ if you want virial contribution of the fix to be part of the
|
||||
relaxation criteria, although this seems unlikely.
|
||||
|
||||
NOTE: This option is only supported by fixes that explicitly say
|
||||
so. For some of these (e.g. the
|
||||
"fix shake"_fix_shake.html command) the default setting is
|
||||
{virial yes}, for others it is {virial no}.
|
||||
so. For some of these (e.g. the "fix shake"_fix_shake.html command)
|
||||
the default setting is {virial yes}, for others it is {virial no}.
|
||||
|
||||
For fixes that set or modify forces, it may be possible to select at
|
||||
which "r-RESPA"_run_style.html level the fix operates via the {respa}
|
||||
@ -120,6 +121,28 @@ compute to calculate temperature. See the "compute_modify
|
||||
dynamic/dof"_compute_modify.html command for a similar way to insure
|
||||
correct temperature normalization for those thermostats.
|
||||
|
||||
The {bodyforces} keyword determines whether the forces and torques
|
||||
acting on rigid bodies are computed {early} at the post-force stage of
|
||||
each timestep (right after per-atom forces have been computed and
|
||||
communicated among processors), or {late} at the final-integrate stage
|
||||
of each timestep (after any other fixes have finished their post-force
|
||||
tasks). Only the rigid-body integration fixes use this option, which
|
||||
includes "fix rigid"_fix_rigid.html and "fix
|
||||
rigid/small"_fix_rigid.html, and their variants, and also "fix
|
||||
poems"_fix_poems.html.
|
||||
|
||||
The default is {late}. If there are other fixes that add forces to
|
||||
individual atoms, then the rigid-body constraints will include these
|
||||
forces when time-integrating the rigid bodies. If {early} is
|
||||
specified, then new fixes can be written that use or modify the
|
||||
per-body force and torque, before time-integration of the rigid bodies
|
||||
occurs. Note however this has the side effect, that fixes such as
|
||||
"fix addforce"_fix_addforce.html, "fix setforce"_fix_setforce.html,
|
||||
"fix spring"_fix_spring.html, which add forces to individual atoms
|
||||
will have no effect on the motion of the rigid bodies if they are
|
||||
specified in the input script after the fix rigid command. LAMMPS
|
||||
will give a warning if that is the case.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
[Related commands:]
|
||||
@ -130,4 +153,5 @@ pressure"_compute_pressure.html, "thermo_style"_thermo_style.html
|
||||
[Default:]
|
||||
|
||||
The option defaults are temp = ID defined by fix, press = ID defined
|
||||
by fix, energy = no, virial = different for each fix style, respa = 0.
|
||||
by fix, energy = no, virial = different for each fix style, respa = 0,
|
||||
bodyforce = late.
|
||||
|
||||
@ -106,12 +106,18 @@ off, and there is only a single fix poems defined.
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||
are relevant to this fix. No global or per-atom quantities are stored
|
||||
by this fix for access by various "output
|
||||
commands"_Section_howto.html#howto_15. No parameter of this fix can
|
||||
be used with the {start/stop} keywords of the "run"_run.html command.
|
||||
This fix is not invoked during "energy minimization"_minimize.html.
|
||||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {bodyforces} option is supported by
|
||||
this fix style to set whether per-body forces and torques are computed
|
||||
early or late in a timestep, i.e. at the post-force stage or at the
|
||||
final-integrate stage, respectively.
|
||||
|
||||
No global or per-atom quantities are stored by this fix for access by
|
||||
various "output commands"_Section_howto.html#howto_15. No parameter
|
||||
of this fix can be used with the {start/stop} keywords of the
|
||||
"run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -34,6 +34,8 @@ written to {filename} on timesteps that are multiples of {Nevery},
|
||||
including timestep 0. For time-averaged chemical species analysis,
|
||||
please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
|
||||
|
||||
The specified group-ID is ignored by this fix.
|
||||
|
||||
The format of the output file should be reasonably self-explanatory.
|
||||
The meaning of the column header abbreviations is as follows:
|
||||
|
||||
|
||||
@ -24,10 +24,12 @@ keyword = {bond} or {angle} or {dihedral} :l
|
||||
atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom
|
||||
Kstart,Kstop = restraint coefficients at start/end of run (energy units)
|
||||
theta0 = equilibrium angle theta (degrees)
|
||||
{dihedral} args = atom1 atom2 atom3 atom4 Kstart Kstop phi0
|
||||
{dihedral} args = atom1 atom2 atom3 atom4 Kstart Kstop phi0 keyword/value
|
||||
atom1,atom2,atom3,atom4 = IDs of 4 atoms in dihedral in linear order
|
||||
Kstart,Kstop = restraint coefficients at start/end of run (energy units)
|
||||
phi0 = equilibrium dihedral angle phi (degrees) :pre
|
||||
phi0 = equilibrium dihedral angle phi (degrees)
|
||||
keyword/value = optional keyword value pairs. supported keyword/value pairs:
|
||||
{mult} n = dihedral multiplicity n (integer >= 0, default = 1) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -155,11 +157,13 @@ associated with the restraint is
|
||||
with the following coefficients:
|
||||
|
||||
K (energy)
|
||||
n = 1
|
||||
n (multiplicity, >= 0)
|
||||
d (degrees) = phi0 + 180 :ul
|
||||
|
||||
K and phi0 are specified with the fix. Note that the value of n is
|
||||
hard-wired to 1. Also note that the energy will be a minimum when the
|
||||
K and phi0 are specified with the fix. Note that the value of the
|
||||
dihedral multiplicity {n} is set by default to 1. You can use the
|
||||
optional {mult} keyword to set it to a different positive integer.
|
||||
Also note that the energy will be a minimum when the
|
||||
current dihedral angle phi is equal to phi0.
|
||||
|
||||
:line
|
||||
@ -183,10 +187,17 @@ added forces to be included in the total potential energy of the
|
||||
system (the quantity being minimized), you MUST enable the
|
||||
"fix_modify"_fix_modify.html {energy} option for this fix.
|
||||
|
||||
This fix computes a global scalar, which can be accessed by various
|
||||
"output commands"_Section_howto.html#howto_15. The scalar is the
|
||||
potential energy for all the restraints as discussed above. The scalar
|
||||
value calculated by this fix is "extensive".
|
||||
This fix computes a global scalar and a global vector of length 3, which
|
||||
can be accessed by various "output commands"_Section_howto.html#howto_15.
|
||||
The scalar is the total potential energy for {all} the restraints as
|
||||
discussed above. The vector values are the sum of contributions to the
|
||||
following individual categories:
|
||||
|
||||
1 = bond energy
|
||||
2 = angle energy
|
||||
3 = dihedral energy :ul
|
||||
|
||||
The scalar and vector values calculated by this fix are "extensive".
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command.
|
||||
|
||||
@ -223,10 +223,10 @@ via several options.
|
||||
|
||||
NOTE: With the {rigid/small} styles, which require that {bodystyle} be
|
||||
specified as {molecule} or {custom}, you can define a system that has
|
||||
no rigid bodies initially. This is useful when you are using the {mol}
|
||||
keyword in conjunction with another fix that is adding rigid bodies
|
||||
on-the-fly as molecules, such as "fix deposit"_fix_deposit.html or
|
||||
"fix pour"_fix_pour.html.
|
||||
no rigid bodies initially. This is useful when you are using the
|
||||
{mol} keyword in conjunction with another fix that is adding rigid
|
||||
bodies on-the-fly as molecules, such as "fix deposit"_fix_deposit.html
|
||||
or "fix pour"_fix_pour.html.
|
||||
|
||||
For bodystyle {single} the entire fix group of atoms is treated as one
|
||||
rigid body. This option is only allowed for the {rigid} styles.
|
||||
@ -742,6 +742,11 @@ used to calculate the instantaneous pressure tensor. Note that the 2
|
||||
NVT rigid fixes do not use any external compute to compute
|
||||
instantaneous temperature.
|
||||
|
||||
The "fix_modify"_fix_modify.html {bodyforces} option is supported by
|
||||
all rigid styles to set whether per-body forces and torques are
|
||||
computed early or late in a timestep, i.e. at the post-force stage or
|
||||
at the final-integrate stage or the timestep, respectively.
|
||||
|
||||
The 2 NVE rigid fixes compute a global scalar which can be accessed by
|
||||
various "output commands"_Section_howto.html#howto_15. The scalar
|
||||
value calculated by these fixes is "intensive". The scalar is the
|
||||
|
||||
@ -20,9 +20,11 @@ Fixes :h1
|
||||
fix_ave_time
|
||||
fix_aveforce
|
||||
fix_balance
|
||||
fix_bocs
|
||||
fix_bond_break
|
||||
fix_bond_create
|
||||
fix_bond_swap
|
||||
fix_bond_react
|
||||
fix_box_relax
|
||||
fix_cmap
|
||||
fix_colvars
|
||||
|
||||
@ -135,8 +135,10 @@ fix_ave_histo.html
|
||||
fix_ave_time.html
|
||||
fix_aveforce.html
|
||||
fix_balance.html
|
||||
fix_bocs.html
|
||||
fix_bond_break.html
|
||||
fix_bond_create.html
|
||||
fix_bond_react.html
|
||||
fix_bond_swap.html
|
||||
fix_box_relax.html
|
||||
fix_cmap.html
|
||||
@ -580,6 +582,7 @@ dihedral_opls.html
|
||||
dihedral_quadratic.html
|
||||
dihedral_spherical.html
|
||||
dihedral_table.html
|
||||
dihedral_table_cut.html
|
||||
dihedral_zero.html
|
||||
|
||||
lammps_commands_improper.html
|
||||
|
||||
@ -38,7 +38,7 @@ This shift is achieved by the last term in the equation for {Vij} above.
|
||||
This potential is intended for interactions between two layers of graphene.
|
||||
Therefore, to avoid interaction between layers in multi-layered materials,
|
||||
each layer should have a separate atom type and interactions should only
|
||||
be computed between atom types of neighbouring layers.
|
||||
be computed between atom types of neighboring layers.
|
||||
|
||||
The parameter file (e.g. CC.KC), is intended for use with metal
|
||||
"units"_units.html, with energies in meV. An additional parameter, {S},
|
||||
|
||||
@ -71,9 +71,11 @@ the temperature coefficients have to be matched to the one used in the fix.
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
A simple python setup tool which creates single straight or helical DNA strands,
|
||||
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
|
||||
A technical report with more information on the model, the structure of the input file,
|
||||
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||
|
||||
Please cite "(Henrich)"_#Henrich1 and the relevant oxDNA articles in any publication that uses this implementation.
|
||||
The article contains more information on the model, the structure of the input file, the setup tool
|
||||
and the performance of the LAMMPS-implementation of oxDNA.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -92,6 +94,9 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
:line
|
||||
|
||||
:link(Henrich1)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
:link(Sulc1)
|
||||
[(Sulc)] P. Sulc, F. Romano, T.E. Ouldridge, L. Rovigatti, J.P.K. Doye, A.A. Louis, J. Chem. Phys. 137, 135101 (2012).
|
||||
|
||||
|
||||
@ -77,9 +77,11 @@ the temperature coefficients have to be matched to the one used in the fix.
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
A simple python setup tool which creates single straight or helical DNA strands,
|
||||
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
|
||||
A technical report with more information on the model, the structure of the input file,
|
||||
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||
|
||||
Please cite "(Henrich)"_#Henrich and the relevant oxDNA articles in any publication that uses this implementation.
|
||||
The article contains more information on the model, the structure of the input file, the setup tool
|
||||
and the performance of the LAMMPS-implementation of oxDNA.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -98,6 +100,9 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
:line
|
||||
|
||||
:link(Henrich)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
:link(Sulc2)
|
||||
[(Sulc)] P. Sulc, F. Romano, T.E. Ouldridge, L. Rovigatti, J.P.K. Doye, A.A. Louis, J. Chem. Phys. 137, 135101 (2012).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user