fix spring/chunk command


fix ID group-ID spring/chunk K chunkID comID
  • ID, group-ID are documented in fix command

  • spring/chunk = style name of this fix command

  • K = spring constant for each chunk (force/distance units)

  • chunkID = ID of compute chunk/atom command

  • comID = ID of compute com/chunk command


fix restrain all spring/chunk 100 chunkID comID


Apply a spring force to the center-of-mass (COM) of chunks of atoms as defined by the 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 run or 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 binary restart files. See the 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 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 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 thermodynamic output. The default setting for this fix is fix_modify energy no.

The fix_modify respa option is supported by this fix. This allows to set at which level of the r-RESPA integrator the fix is adding its forces. Default is the outermost level.

This fix computes a global scalar which can be accessed by various output commands. 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 run command.

The forces due to this fix are imposed during an energy minimization, invoked by the minimize command.


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 fix_modify energy option for this fix.