"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 spring/self command :h3

[Syntax:]

fix ID group-ID spring/self K dir :pre

ID, group-ID are documented in "fix"_fix.html command
spring/self = style name of this fix command
K = spring constant (force/distance units)
dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz) :ul

[Examples:]

fix tether boundary-atoms spring/self 10.0
fix zrest  move spring/self 10.0 z :pre

[Description:]

Apply a spring force independently to each atom in the group to tether
it to its initial position.  The initial position for each atom is its
location at the time the fix command was issued.  At each timestep,
the magnitude of the force on each atom is -Kr, where r is the
displacement of the atom from its current position to its initial
position.  The distance r correctly takes into account any crossings
of periodic boundary by the atom since it was in its intitial
position.

With the (optional) dir flag, one can select in which direction the
spring force is applied. By default, the restraint is applied in all
directions, but it can be limited to the xy-, xz-, yz-plane and the
x-, y-, or z-direction, thus restraining the atoms to a line or a
plane, respectively.

[Restart, fix_modify, output, run start/stop, minimize info:]

This fix writes the original coordinates of tethered atoms to "binary
restart files"_restart.html, so that the spring effect will be the
same in a restarted simulation.  See the
"read_restart"_read_restart.html command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.

The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy stored in the per-atom springs to the system's
potential energy as part of "thermodynamic output"_thermo_style.html.

The "fix_modify"_fix_modify.html {respa} option is supported by
this fix. This allows to set at which level of the "r-RESPA"_run_style.html
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"_Section_howto.html#howto_15.  The scalar is an
energy which is the sum of the spring energy for each atom, where the
per-atom energy is 0.5 * K * r^2.  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"_run.html command.

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

NOTE: If you want the per-atom spring energy 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.

[Restrictions:] none

[Related commands:]

"fix drag"_fix_drag.html, "fix spring"_fix_spring.html,
"fix smd"_fix_smd.html, "fix spring/rg"_fix_spring_rg.html

[Default:] none
