LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

### fix spring command

Syntax:

    fix ID group-ID spring keyword values

- ID, group-ID are documented in fix command
- spring = style name of this fix command
- keyword = tether or couple

        tether values = K x y z R0
          K = spring constant (force/distance units)
          x,y,z = point to which spring is tethered
          R0 = equilibrium distance from tether point (distance units)
        couple values = group-ID2 K x y z R0
          group-ID2 = 2nd group to couple to fix group with a spring
          K = spring constant (force/distance units)
          x,y,z = direction of spring
          R0 = equilibrium distance of spring (distance units)

Examples:

    fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0
    fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0
    fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0
    fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0
    fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0
    fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0

Description:

Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so that it doesn't wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at a given distance or orientation with respect to each other.

The tether style attaches a spring between a fixed point x,y,z and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each atom in the group where K is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note that K thus represents the total force on the group of atoms, not a per-atom force.

The couple style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector x,y,z with respect to each other and at a distance R0 from that displacement. Note that x,y,z is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms in each of the two groups.

For both the tether and couple styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application.

The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand a distance 3 away from the z=2 plane (on either side).

The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis (assuming the center-of-mass of the pore in x,y is the pore axis).

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

No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix.

This fix computes a 3-vector of forces, which can be accessed by various output commands. This is the total force on the group of atoms by the spring. In the case of the couple style, it is the force on the fix group (group-ID) or the negative of the force on the 2nd group (group-ID2).

No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.

Restrictions: none

Related commands:

fix drag, fix spring/self, fix spring/rg

Default: none