2016-05-10 01:33:12 +08:00
<!DOCTYPE html>
<!-- [if IE 8]><html class="no - js lt - ie9" lang="en" > <![endif] -->
<!-- [if gt IE 8]><! --> < html class = "no-js" lang = "en" > <!-- <![endif] -->
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > fix spring command — LAMMPS documentation< / title >
< link rel = "stylesheet" href = "_static/css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type = "text/css" / >
< link rel = "top" title = "LAMMPS documentation" href = "index.html" / >
< script src = "_static/js/modernizr.min.js" > < / script >
< / head >
< body class = "wy-body-for-nav" role = "document" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-nav-search" >
< a href = "Manual.html" class = "icon icon-home" > LAMMPS
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_intro.html" > 1. Introduction< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_start.html" > 2. Getting Started< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_commands.html" > 3. Commands< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_packages.html" > 4. Packages< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_accelerate.html" > 5. Accelerating LAMMPS performance< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_howto.html" > 6. How-to discussions< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_example.html" > 7. Example problems< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_perf.html" > 8. Performance & scalability< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_tools.html" > 9. Additional tools< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_modify.html" > 10. Modifying & extending LAMMPS< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_python.html" > 11. Python interface to LAMMPS< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_errors.html" > 12. Errors< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_history.html" > 13. Future and history< / a > < / li >
< / ul >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" role = "navigation" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "Manual.html" > LAMMPS< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "Manual.html" > Docs< / a > » < / li >
< li > fix spring command< / li >
< li class = "wy-breadcrumbs-aside" >
< a href = "http://lammps.sandia.gov" > Website< / a >
< a href = "Section_commands.html#comm" > Commands< / a >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< div class = "section" id = "fix-spring-command" >
< span id = "index-0" > < / span > < h1 > fix spring command< / h1 >
< div class = "section" id = "syntax" >
< h2 > Syntax< / h2 >
< div class = "highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > fix< / span > < span class = "n" > ID< / span > < span class = "n" > group< / span > < span class = "o" > -< / span > < span class = "n" > ID< / span > < span class = "n" > spring< / span > < span class = "n" > keyword< / span > < span class = "n" > values< / span >
< / pre > < / div >
< / div >
< ul class = "simple" >
< li > ID, group-ID are documented in < a class = "reference internal" href = "fix.html" > < span class = "doc" > fix< / span > < / a > command< / li >
< li > spring = style name of this fix command< / li >
< li > keyword = < em > tether< / em > or < em > couple< / em > < / li >
< / ul >
< pre class = "literal-block" >
< em > tether< / em > 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)
< em > couple< / em > 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 >
< / div >
< div class = "section" id = "examples" >
< h2 > Examples< / h2 >
< div class = "highlight-default" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > fix< / span > < span class = "n" > pull< / span > < span class = "n" > ligand< / span > < span class = "n" > spring< / span > < span class = "n" > tether< / span > < span class = "mf" > 50.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span >
< span class = "n" > fix< / span > < span class = "n" > pull< / span > < span class = "n" > ligand< / span > < span class = "n" > spring< / span > < span class = "n" > tether< / span > < span class = "mf" > 50.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 5.0< / span >
< span class = "n" > fix< / span > < span class = "n" > pull< / span > < span class = "n" > ligand< / span > < span class = "n" > spring< / span > < span class = "n" > tether< / span > < span class = "mf" > 50.0< / span > < span class = "n" > NULL< / span > < span class = "n" > NULL< / span > < span class = "mf" > 2.0< / span > < span class = "mf" > 3.0< / span >
< span class = "n" > fix< / span > < span class = "mi" > 5< / span > < span class = "n" > bilayer1< / span > < span class = "n" > spring< / span > < span class = "n" > couple< / span > < span class = "n" > bilayer2< / span > < span class = "mf" > 100.0< / span > < span class = "n" > NULL< / span > < span class = "n" > NULL< / span > < span class = "mf" > 10.0< / span > < span class = "mf" > 0.0< / span >
< span class = "n" > fix< / span > < span class = "n" > longitudinal< / span > < span class = "n" > pore< / span > < span class = "n" > spring< / span > < span class = "n" > couple< / span > < span class = "n" > ion< / span > < span class = "mf" > 100.0< / span > < span class = "n" > NULL< / span > < span class = "n" > NULL< / span > < span class = "o" > -< / span > < span class = "mf" > 20.0< / span > < span class = "mf" > 0.0< / span >
< span class = "n" > fix< / span > < span class = "n" > radial< / span > < span class = "n" > pore< / span > < span class = "n" > spring< / span > < span class = "n" > couple< / span > < span class = "n" > ion< / span > < span class = "mf" > 100.0< / span > < span class = "mf" > 0.0< / span > < span class = "mf" > 0.0< / span > < span class = "n" > NULL< / span > < span class = "mf" > 5.0< / span >
< / pre > < / div >
< / div >
< / div >
< div class = "section" id = "description" >
< h2 > Description< / h2 >
< p > 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.< / p >
< p > The < em > tether< / em > style attaches a spring between a fixed point < em > x,y,z< / em > 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 < em > K< / em > is the spring constant, Mi is the mass of
the atom, and M is the total mass of all atoms in the group. Note
2016-06-15 05:25:00 +08:00
that < em > K< / em > thus represents the spring constant for the total force on
the group of atoms, not for a spring applied to each atom.< / p >
2016-05-10 01:33:12 +08:00
< p > The < em > couple< / em > 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 < em > x,y,z< / em > with respect to each
other and at a distance R0 from that displacement. Note that < em > x,y,z< / em >
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.< / p >
< p > For both the < em > tether< / em > and < em > couple< / em > 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.< / p >
< p > 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).< / p >
< p > 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).< / p >
< div class = "admonition note" >
< p class = "first admonition-title" > Note< / p >
< p class = "last" > The center of mass of a group of atoms is calculated in
“ unwrapped” coordinates using atom image flags, which means that the
group can straddle a periodic boundary. See the < a class = "reference internal" href = "dump.html" > < span class = "doc" > dump< / span > < / a > doc
page for a discussion of unwrapped coordinates. It also means that a
spring connecting two groups or a group and the tether point can cross
a periodic boundary and its length be calculated correctly. One
exception is for rigid bodies, which should not be used with the fix
spring command, if the rigid body will cross a periodic boundary.
This is because image flags for rigid bodies are used in a different
way, as explained on the < a class = "reference internal" href = "fix_rigid.html" > < span class = "doc" > fix rigid< / span > < / a > doc page.< / p >
< / div >
2016-09-14 23:35:03 +08:00
< p > < strong > Restart, fix_modify, output, run start/stop, minimize info:< / strong > < / p >
2016-05-10 01:33:12 +08:00
< p > No information about this fix is written to < a class = "reference internal" href = "restart.html" > < span class = "doc" > binary restart files< / span > < / a > .< / p >
< p > The < a class = "reference internal" href = "fix_modify.html" > < span class = "doc" > fix_modify< / span > < / a > < em > energy< / em > option is supported by this
fix to add the energy stored in the spring to the system’ s potential
energy as part of < a class = "reference internal" href = "thermo_style.html" > < span class = "doc" > thermodynamic output< / span > < / a > .< / p >
2016-06-18 07:24:05 +08:00
< p > The < a class = "reference internal" href = "fix_modify.html" > < span class = "doc" > fix_modify< / span > < / a > < em > respa< / em > option is supported by this
fix. This allows to set at which level of the < a class = "reference internal" href = "run_style.html" > < span class = "doc" > r-RESPA< / span > < / a >
integrator the fix is adding its forces. Default is the outermost level.< / p >
2016-05-10 01:33:12 +08:00
< p > This fix computes a global scalar which can be accessed by various
< a class = "reference internal" href = "Section_howto.html#howto-15" > < span class = "std std-ref" > output commands< / span > < / a > . The scalar is the
spring energy = 0.5 * K * r^2.< / p >
< p > This fix also computes global 4-vector which can be accessed by
various < a class = "reference internal" href = "Section_howto.html#howto-15" > < span class = "std std-ref" > output commands< / span > < / a > . The first 3
quantities in the vector are xyz components of the total force added
to the group of atoms by the spring. In the case of the < em > couple< / em >
style, it is the force on the fix group (group-ID) or the negative of
the force on the 2nd group (group-ID2). The 4th quantity in the
vector is the magnitude of the force added by the spring, as a
positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This
sign convention can be useful when using the spring force to compute a
potential of mean force (PMF).< / p >
< p > The scalar and vector values calculated by this fix are “ extensive” .< / p >
< p > No parameter of this fix can be used with the < em > start/stop< / em > keywords of
the < a class = "reference internal" href = "run.html" > < span class = "doc" > run< / span > < / a > command.< / p >
< p > The forces due to this fix are imposed during an energy minimization,
invoked by the < a class = "reference internal" href = "minimize.html" > < span class = "doc" > minimize< / span > < / a > command.< / p >
< div class = "admonition note" >
< p class = "first admonition-title" > Note< / p >
< p class = "last" > If you want the spring energy to be included in the total
potential energy of the system (the quantity being minimized), you
MUST enable the < a class = "reference internal" href = "fix_modify.html" > < span class = "doc" > fix_modify< / span > < / a > < em > energy< / em > option for this
fix.< / p >
< / div >
< / div >
< div class = "section" id = "restrictions" >
< h2 > Restrictions< / h2 >
< blockquote >
< div > none< / div > < / blockquote >
< / div >
< div class = "section" id = "related-commands" >
< h2 > Related commands< / h2 >
< p > < a class = "reference internal" href = "fix_drag.html" > < span class = "doc" > fix drag< / span > < / a > , < a class = "reference internal" href = "fix_spring_self.html" > < span class = "doc" > fix spring/self< / span > < / a > ,
< a class = "reference internal" href = "fix_spring_rg.html" > < span class = "doc" > fix spring/rg< / span > < / a > , < a class = "reference internal" href = "fix_smd.html" > < span class = "doc" > fix smd< / span > < / a > < / p >
< p > < strong > Default:< / strong > none< / p >
< / div >
< / div >
< / div >
< / div >
< footer >
< hr / >
< div role = "contentinfo" >
< p >
© Copyright 2013 Sandia Corporation.
< / p >
< / div >
Built with < a href = "http://sphinx-doc.org/" > Sphinx< / a > using a < a href = "https://github.com/snide/sphinx_rtd_theme" > theme< / a > provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script type = "text/javascript" >
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
< / script >
< script type = "text/javascript" src = "_static/jquery.js" > < / script >
< script type = "text/javascript" src = "_static/underscore.js" > < / script >
< script type = "text/javascript" src = "_static/doctools.js" > < / script >
< script type = "text/javascript" src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js" > < / script >
< script type = "text/javascript" src = "_static/js/theme.js" > < / script >
< script type = "text/javascript" >
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
< / script >
< / body >
< / html >