Unverified Commit 7f87cccc authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

Merge branch 'collected-small-changes' into next_patch_version

parents 6bda49e8 19c1fa8c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ OPT.
   * :doc:`manifoldforce <fix_manifoldforce>`
   * :doc:`meso/move <fix_meso_move>`
   * :doc:`momentum (k) <fix_momentum>`
   * :doc:`momentum/chunk <fix_momentum>`
   * :doc:`move <fix_move>`
   * :doc:`mscg <fix_mscg>`
   * :doc:`msst <fix_msst>`
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ accelerated styles exist.
* :doc:`oxdna2/fene <bond_oxdna>` - same as oxdna but used with different pair styles
* :doc:`oxrna2/fene <bond_oxdna>` - modified FENE bond suitable for RNA modeling
* :doc:`quartic <bond_quartic>` - breakable quartic bond
* :doc:`special <bond_special>` - enable special bond exclusions for 1-5 pairs and beyond
* :doc:`table <bond_table>` - tabulated by bond length

----------
+1 −0
Original line number Diff line number Diff line
@@ -241,6 +241,7 @@ accelerated styles exist.
* :doc:`manifoldforce <fix_manifoldforce>` - restrain atoms to a manifold during minimization
* :doc:`meso/move <fix_meso_move>` - move mesoscopic SPH/SDPD particles in a prescribed fashion
* :doc:`momentum <fix_momentum>` - zero the linear and/or angular momentum of a group of atoms
* :doc:`momentum/chunk <fix_momentum>` - zero the linear and/or angular momentum of a chunk of atoms
* :doc:`move <fix_move>` - move atoms in a prescribed fashion
* :doc:`mscg <fix_mscg>` - apply MSCG method for force-matching to generate coarse grain models
* :doc:`msst <fix_msst>` - multi-scale shock technique (MSST) integration
+35 −16
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@ fix momentum command
fix momentum/kk command
=======================

fix momentum/chunk command
==========================

Syntax
""""""

@@ -16,6 +19,16 @@ Syntax
* ID, group-ID are documented in :doc:`fix <fix>` command
* momentum = style name of this fix command
* N = adjust the momentum every this many timesteps
  one or more keyword/value pairs may be appended
* keyword = *linear* or *angular* or *rescale*

   fix ID group-ID momentum/chunk N chunkID keyword values ...

* ID, group-ID are documented in :doc:`fix <fix>` command
* momentum/chunk = style name of this fix command
* N = adjust the momentum per chunk every this many timesteps
* chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command

  one or more keyword/value pairs may be appended
* keyword = *linear* or *angular* or *rescale*

@@ -24,9 +37,6 @@ Syntax
       *linear* values = xflag yflag zflag
         xflag,yflag,zflag = 0/1 to exclude/include each dimension
       *angular* values = none

  .. parsed-literal::

       *rescale* values = none

Examples
@@ -37,19 +47,22 @@ Examples
   fix 1 all momentum 1 linear 1 1 0
   fix 1 all momentum 1 linear 1 1 1 rescale
   fix 1 all momentum 100 linear 1 1 1 angular
   fix 1 all momentum/chunk 100 molchunk linear 1 1 1 angular

Description
"""""""""""

Zero the linear and/or angular momentum of the group of atoms every N
timesteps by adjusting the velocities of the atoms.  One (or both) of
the *linear* or *angular* keywords must be specified.
Fix momentum zeroes the linear and/or angular momentum of the group of
atoms every N timesteps by adjusting the velocities of the atoms.
Fix momentum/chunk works equivalently, but operates on a per-chunk basis.

One (or both) of the *linear* or *angular* keywords **must** be specified.

If the *linear* keyword is used, the linear momentum is zeroed by
subtracting the center-of-mass velocity of the group from each atom.
This does not change the relative velocity of any pair of atoms.  One
or more dimensions can be excluded from this operation by setting the
corresponding flag to 0.
subtracting the center-of-mass velocity of the group or chunk from each
atom.  This does not change the relative velocity of any pair of atoms.
One or more dimensions can be excluded from this operation by setting
the corresponding flag to 0.

If the *angular* keyword is used, the angular momentum is zeroed by
subtracting a rotational component from each atom.
@@ -60,7 +73,7 @@ to random perturbations (e.g. :doc:`fix langevin <fix_langevin>`
thermostatting).

The *rescale* keyword enables conserving the kinetic energy of the group
of atoms by rescaling the velocities after the momentum was removed.
or chunk of atoms by rescaling the velocities after the momentum was removed.

Note that the :doc:`velocity <velocity>` command can be used to create
initial velocities with zero aggregate linear and/or angular momentum.
@@ -71,15 +84,21 @@ initial velocities with zero aggregate linear and/or angular momentum.

**Restart, fix_modify, output, run start/stop, minimize info:**

No information about this fix is written to :doc:`binary restart files <restart>`.  None of the :doc:`fix_modify <fix_modify>` options
are relevant to this fix.  No global or per-atom quantities are stored
by this fix for access by various :doc:`output commands <Howto_output>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.  None of the :doc:`fix_modify <fix_modify>` options are
relevant to this fix.  No global or per-atom quantities are stored by
this fix for access by various :doc:`output commands <Howto_output>`.
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.  This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command.  This fix is not invoked during
:doc:`energy minimization <minimize>`.

Restrictions
""""""""""""
 none

Fix momentum/chunk is part of the USER-MISC package.  It is only enabled
if LAMMPS was built with that package.  See the :doc:`Build package
<Build_package>` doc page for more info.


Related commands
""""""""""""""""
+11 −20
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ Syntax
* ID, group-ID are documented in :doc:`fix <fix>` command
* style_name = *npt/cauchy*
* one or more keyword/value pairs may be appended
* keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint* or *update*
* keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint*

  .. parsed-literal::

@@ -45,9 +45,8 @@ Syntax
       *scaleyz* value = *yes* or *no* = scale yz with lz
       *scalexz* value = *yes* or *no* = scale xz with lz
       *flip* value = *yes* or *no* = allow or disallow box flips when it becomes highly skewed
       *cauchystat* cauchystat values = alpha continue
         alpha = strength of Cauchy stress control parameter
         continue = *yes* or *no* = whether of not to continue from a previous run
       *alpha* value = strength of Cauchy stress control parameter
       *continue* value = *yes* or *no* = whether of not to continue from a previous run
       *fixedpoint* values = x y z
         x,y,z = perform barostat dilation/contraction around this point (distance units)

@@ -56,7 +55,7 @@ Examples

.. code-block:: LAMMPS

   fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
   fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 alpha 0.001

Description
"""""""""""
@@ -573,14 +572,7 @@ can only be used if the second dimension in the keyword is periodic,
and if the tilt factor is not coupled to the barostat via keywords
*tri*\ , *yz*\ , *xz*\ , and *xy*\ .

Without the *cauchystat* keyword, the barostat algorithm
controls the Second-Piola Kirchhoff stress, which is a stress measure
referred to the unmodified (initial) simulation box.  If the box
deforms substantially during the equilibration, the difference between
the set values and the final true (Cauchy) stresses can be
considerable.

The *cauchystat* keyword modifies the barostat as per Miller et
The *alpha* keyword modifies the barostat as per Miller et
al. (Miller)_"#nc-Miller" so that the Cauchy stress is controlled.
*alpha* is the non-dimensional parameter, typically set to 0.001 or
0.01 that determines how aggressively the algorithm drives the system
@@ -598,13 +590,12 @@ sequence over several fixes.

Setting *alpha* to zero is not permitted.  To "turn off" the
cauchystat control and thus restore the equilibrium stress
fluctuations, two subsequent fixes should be used.  In the first, the
cauchystat flag is used and the simulation box equilibrates to the
correct shape for the desired stresses.  In the second, the *fix*
statement is identical except that the *cauchystat* keyword is removed
(along with related *alpha* and *continue* values). This restores the
original Parrinello-Rahman algorithm, but now with the correct simulation
box shape from the first fix.
fluctuations, two subsequent fixes should be used.  In the first, fix
npt/cauchy is used and the simulation box equilibrates to the
correct shape for the desired stresses.  In the second,
:doc:`fix npt <fix_nh>` is used instead which uses the
original Parrinello-Rahman algorithm, but now with the corrected
simulation box shape from using fix npt/cauchy.

This fix can be used with dynamic groups as defined by the
:doc:`group <group>` command.  Likewise it can be used with groups to
Loading