2006-09-22 00:22:34 +08:00
|
|
|
"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 command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
fix ID group-ID spring keyword values :pre
|
|
|
|
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
|
|
spring = style name of this fix command :l
|
|
|
|
keyword = {tether} or {couple} :l
|
|
|
|
{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) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
[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 :pre
|
|
|
|
|
|
|
|
[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).
|
|
|
|
|
2007-10-11 06:28:11 +08:00
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
2007-06-26 08:03:39 +08:00
|
|
|
|
|
|
|
No information about this fix is written to "binary restart
|
|
|
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
2007-11-14 07:06:30 +08:00
|
|
|
are relevant to this fix.
|
|
|
|
|
|
|
|
This fix computes a 3-vector of forces, which can be accessed by
|
|
|
|
various "output commands"_Section_howto.html#4_15. 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
|
2008-01-03 03:25:15 +08:00
|
|
|
negative of the force on the 2nd group (group-ID2). The vector values
|
|
|
|
calculated by this fix are "extensive", meaning they scale with the
|
|
|
|
number of atoms in the simulation.
|
2007-11-14 07:06:30 +08:00
|
|
|
|
|
|
|
No parameter of this fix can be used with the {start/stop} keywords of
|
|
|
|
the "run"_run.html command. This fix is not invoked during "energy
|
|
|
|
minimization"_minimize.html.
|
2007-06-26 08:03:39 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
2008-05-16 06:05:51 +08:00
|
|
|
"fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html,
|
|
|
|
"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Default:] none
|