108 lines
3.9 KiB
ReStructuredText
108 lines
3.9 KiB
ReStructuredText
.. index:: fix spring/chunk
|
|
|
|
fix spring/chunk command
|
|
========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. code-block:: LAMMPS
|
|
|
|
fix ID group-ID spring/chunk K chunkID comID
|
|
|
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
|
* spring/chunk = style name of this fix command
|
|
* K = spring constant for each chunk (force/distance units)
|
|
* chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command
|
|
* comID = ID of :doc:`compute com/chunk <compute_com_chunk>` command
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. code-block:: LAMMPS
|
|
|
|
fix restrain all spring/chunk 100 chunkID comID
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Apply a spring force to the center-of-mass (COM) of chunks of atoms as
|
|
defined by the :doc:`compute chunk/atom <compute_chunk_atom>` command.
|
|
Chunks can be molecules or spatial bins or other groupings of atoms.
|
|
This is a way of tethering each chunk to its initial COM coordinates.
|
|
|
|
The *chunkID* is the ID of a compute chunk/atom command defined in the
|
|
input script. It is used to define the chunks. The *comID* is the ID
|
|
of a compute com/chunk command defined in the input script. It is
|
|
used to compute the COMs of each chunk.
|
|
|
|
At the beginning of the first :doc:`run <run>` or
|
|
:doc:`minimize <minimize>` command after this fix is defined, the
|
|
initial COM of each chunk is calculated and stored as R0m, where M is
|
|
the chunk number. Thereafter, at every timestep (or minimization
|
|
iteration), the current COM of each chunk is calculated as Rm. A
|
|
restoring force of magnitude K (Rm - R0m) Mi / Mm is applied to each
|
|
atom in each chunk where *K* is the specified spring constant, Mi is
|
|
the mass of the atom, and Mm is the total mass of all atoms in the
|
|
chunk. Note that *K* thus represents the spring constant for the
|
|
total force on each chunk of atoms, not for a spring applied to each
|
|
atom.
|
|
|
|
Restart, fix_modify, output, run start/stop, minimize info
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
This fix writes the locations of the initial per-chunk center of mass
|
|
coordinates to :doc:`binary restart files <restart>`. See the
|
|
:doc:`read_restart <read_restart>` command for info on how to
|
|
re-specify a fix in an input script that reads a restart file, so that
|
|
the fix continues in an uninterrupted fashion. Since this fix depends
|
|
on an instance of :doc:`compute chunk/atom <compute_chunk_atom>`
|
|
it will check when reading the restart if the chunk still exists and
|
|
will define the same number of chunks. The restart data is only applied
|
|
when the number of chunks matches. Otherwise the center of mass
|
|
coordinates are recomputed.
|
|
|
|
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
|
|
this fix to add the energy stored in all the springs to the global
|
|
potential energy of the system as part of :doc:`thermodynamic output
|
|
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
|
|
energy no <fix_modify>`.
|
|
|
|
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
|
|
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
|
|
integrator the fix is adding its forces. Default is the outermost level.
|
|
|
|
This fix computes a global scalar which can be accessed by various
|
|
:doc:`output commands <Howto_output>`. The scalar is the energy of all
|
|
the springs, i.e. 0.5 \* K \* r\^2 per-spring.
|
|
|
|
The scalar value calculated by this fix is "extensive".
|
|
|
|
No parameter of this fix can be used with the *start/stop* keywords of
|
|
the :doc:`run <run>` command.
|
|
|
|
The forces due to this fix are imposed during an energy minimization,
|
|
invoked by the :doc:`minimize <minimize>` command.
|
|
|
|
.. note::
|
|
|
|
If you want the spring energies to be included in the total
|
|
potential energy of the system (the quantity being minimized), you
|
|
MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for this
|
|
fix.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
none
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`fix spring <fix_spring>`, :doc:`fix spring/self <fix_spring_self>`,
|
|
:doc:`fix spring/rg <fix_spring_rg>`
|
|
|
|
Default
|
|
"""""""
|
|
|
|
none
|