2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +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" >
2015-12-21 23:20:41 +08:00
< title > fix wall/srd command — LAMMPS documentation< / title >
2015-07-30 22:53:28 +08:00
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
< link rel = "stylesheet" href = "_static/css/theme.css" type = "text/css" / >
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
< link rel = "stylesheet" href = "_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type = "text/css" / >
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
2015-12-21 23:20:41 +08:00
< link rel = "top" title = "LAMMPS documentation" href = "index.html" / >
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
< script src = "_static/js/modernizr.min.js" > < / script >
2010-10-28 04:54:56 +08:00
2015-07-30 22:53:28 +08:00
< / 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 wall/srd 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-wall-srd-command" >
< span id = "index-0" > < / span > < h1 > fix wall/srd command< a class = "headerlink" href = "#fix-wall-srd-command" title = "Permalink to this headline" > ¶< / a > < / h1 >
< div class = "section" id = "syntax" >
< h2 > Syntax< a class = "headerlink" href = "#syntax" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-python" > < div class = "highlight" > < pre > fix ID group-ID wall/srd face arg ... keyword value ...
< / pre > < / div >
< / div >
< ul class = "simple" >
< li > ID, group-ID are documented in < a class = "reference internal" href = "fix.html" > < em > fix< / em > < / a > command< / li >
< li > wall/srd = style name of this fix command< / li >
< li > one or more face/arg pairs may be appended< / li >
< li > face = < em > xlo< / em > or < em > xhi< / em > or < em > ylo< / em > or < em > yhi< / em > or < em > zlo< / em > or < em > zhi< / em > < / li >
< / ul >
< pre class = "literal-block" >
< em > xlo< / em > ,*ylo*,*zlo* arg = EDGE or constant or variable
2015-07-31 00:49:30 +08:00
EDGE = current lo edge of simulation box
constant = number like 0.0 or -30.0 (distance units)
variable = < a class = "reference internal" href = "variable.html" > < em > equal-style variable< / em > < / a > like v_x or v_wiggle
< em > xhi< / em > ,*yhi*,*zhi* arg = EDGE or constant or variable
EDGE = current hi edge of simulation box
constant = number like 50.0 or 100.3 (distance units)
variable = < a class = "reference internal" href = "variable.html" > < em > equal-style variable< / em > < / a > like v_x or v_wiggle
2015-07-30 22:53:28 +08:00
< / pre >
< ul class = "simple" >
< li > zero or more keyword/value pairs may be appended< / li >
< li > keyword = < em > units< / em > < / li >
< / ul >
< pre class = "literal-block" >
< em > units< / em > value = < em > lattice< / em > or < em > box< / em >
2015-07-31 00:49:30 +08:00
< em > lattice< / em > = the wall position is defined in lattice units
< em > box< / em > = the wall position is defined in simulation box units
2015-07-30 22:53:28 +08:00
< / pre >
< / div >
< div class = "section" id = "examples" >
< h2 > Examples< a class = "headerlink" href = "#examples" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-python" > < div class = "highlight" > < pre > fix xwalls all wall/srd xlo EDGE xhi EDGE
2010-10-28 04:54:56 +08:00
fix walls all wall/srd xlo 0.0 ylo 10.0 units box
2015-07-30 22:53:28 +08:00
fix top all wall/srd zhi v_pressdown
< / pre > < / div >
< / div >
< / div >
< div class = "section" id = "description" >
< h2 > Description< a class = "headerlink" href = "#description" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > Bound the simulation with one or more walls which interact with
2010-10-28 04:54:56 +08:00
stochastic reaction dynamics (SRD) particles as slip (smooth) or
no-slip (rough) flat surfaces. The wall interaction is actually
2015-07-30 22:53:28 +08:00
invoked via the < a class = "reference internal" href = "fix_srd.html" > < em > fix srd< / em > < / a > command, only on the group of
2010-10-28 04:54:56 +08:00
SRD particles it defines, so the group setting for the fix wall/srd
2015-07-30 22:53:28 +08:00
command is ignored.< / p >
< p > A particle/wall collision occurs if an SRD particle moves outside the
2010-10-28 04:54:56 +08:00
wall on a timestep. This alters the position and velocity of the SRD
2015-07-30 22:53:28 +08:00
particle and imparts a force to the wall.< / p >
< p > The < em > collision< / em > and < em > Tsrd< / em > settings specified via the < a class = "reference internal" href = "fix_srd.html" > < em > fix srd< / em > < / a > command affect the SRD/wall collisions. A < em > slip< / em >
setting for the < em > collision< / em > keyword means that the tangential
2010-10-28 04:54:56 +08:00
component of the SRD particle momentum is preserved. Thus only a
normal force is imparted to the wall. The normal component of the new
SRD velocity is sampled from a Gaussian distribution at temperature
2015-07-30 22:53:28 +08:00
< em > Tsrd< / em > .< / p >
< p > For a < em > noslip< / em > setting of the < em > collision< / em > keyword, both the normal and
2010-10-28 04:54:56 +08:00
tangential components of the new SRD velocity are sampled from a
2015-07-30 22:53:28 +08:00
Gaussian distribution at temperature < em > Tsrd< / em > . Additionally, a new
2010-10-28 04:54:56 +08:00
tangential direction for the SRD velocity is chosen randomly. This
collision style imparts both a normal and tangential force to the
2015-07-30 22:53:28 +08:00
wall.< / p >
< p > Up to 6 walls or faces can be specified in a single command: < em > xlo< / em > ,
< em > xhi< / em > , < em > ylo< / em > , < em > yhi< / em > , < em > zlo< / em > , < em > zhi< / em > . A < em > lo< / em > face reflects particles
2010-10-28 04:54:56 +08:00
that move to a coordinate less than the wall position, back in the
2015-07-30 22:53:28 +08:00
< em > hi< / em > direction. A < em > hi< / em > face reflects particles that move to a
coordinate higher than the wall position, back in the < em > lo< / em > direction.< / p >
< p > The position of each wall can be specified in one of 3 ways: as the
2010-10-28 04:54:56 +08:00
EDGE of the simulation box, as a constant value, or as a variable. If
EDGE is used, then the corresponding boundary of the current
simulation box is used. If a numeric constant is specified then the
wall is placed at that position in the appropriate dimension (x, y, or
z). In both the EDGE and constant cases, the wall will never move.
If the wall position is a variable, it should be specified as v_name,
2015-07-30 22:53:28 +08:00
where name is an < a class = "reference internal" href = "variable.html" > < em > equal-style variable< / em > < / a > name. In this
2010-10-28 04:54:56 +08:00
case the variable is evaluated each timestep and the result becomes
the current position of the reflecting wall. Equal-style variables
can specify formulas with various mathematical functions, and include
2015-07-30 22:53:28 +08:00
< a class = "reference internal" href = "thermo_style.html" > < em > thermo_style< / em > < / a > command keywords for the simulation
2010-10-28 04:54:56 +08:00
box parameters and timestep and elapsed time. Thus it is easy to
2015-07-30 22:53:28 +08:00
specify a time-dependent wall position.< / p >
2015-12-11 01:23:56 +08:00
< div class = "admonition note" >
< p class = "first admonition-title" > Note< / p >
< p class = "last" > Because the trajectory of the SRD particle is tracked as it
collides with the wall, you must insure that r = distance of the
2015-07-30 22:53:28 +08:00
particle from the wall, is always > 0 for SRD particles, or LAMMPS
2010-10-28 04:54:56 +08:00
will generate an error. This means you cannot start your simulation
2015-07-30 22:53:28 +08:00
with SRD particles at the wall position < em > coord< / em > (r = 0) or with
particles on the wrong side of the wall (r < 0).< / p >
< / div >
2015-12-11 01:23:56 +08:00
< div class = "admonition note" >
< p class = "first admonition-title" > Note< / p >
< p class = "last" > If you have 2 or more walls that come together at an edge or
corner (e.g. walls in the x and y dimensions), then be sure to set the
< em > overlap< / em > keyword to < em > yes< / em > in the < a class = "reference internal" href = "fix_srd.html" > < em > fix srd< / em > < / a > command,
since the walls effectively overlap when SRD particles collide with
them. LAMMPS will issue a warning if you do not do this.< / p >
2015-07-30 22:53:28 +08:00
< / div >
2015-12-11 01:23:56 +08:00
< div class = "admonition note" >
< p class = "first admonition-title" > Note< / p >
< p class = "last" > The walls of this fix only interact with SRD particles, as
defined by the < a class = "reference internal" href = "fix_srd.html" > < em > fix srd< / em > < / a > command. If you are simulating
a mixture containing other kinds of particles, then you should
typically use < a class = "reference internal" href = "fix_wall.html" > < em > another wall command< / em > < / a > to act on the other
particles. Since SRD particles will be colliding both with the walls
and the other particles, it is important to insure that the other
particle’ s finite extent does not overlap an SRD wall. If you do not
do this, you may generate errors when SRD particles end up “ inside”
another particle or a wall at the beginning of a collision step.< / p >
2015-07-30 22:53:28 +08:00
< / div >
< p > The < em > units< / em > keyword determines the meaning of the distance units used
2010-10-28 04:54:56 +08:00
to define a wall position, but only when a numeric constant is used.
It is not relevant when EDGE or a variable is used to specify a face
2015-07-30 22:53:28 +08:00
position.< / p >
< p > A < em > box< / em > value selects standard distance units as defined by the
< a class = "reference internal" href = "units.html" > < em > units< / em > < / a > command, e.g. Angstroms for units = real or metal.
A < em > lattice< / em > value means the distance units are in lattice spacings.
The < a class = "reference internal" href = "lattice.html" > < em > lattice< / em > < / a > command must have been previously used to
define the lattice spacings.< / p >
< hr class = "docutils" / >
< p > Here are examples of variable definitions that move the wall position
2010-10-28 04:54:56 +08:00
in a time-dependent fashion using equal-style
2015-07-30 22:53:28 +08:00
< a class = "reference internal" href = "variable.html" > < em > variables< / em > < / a > .< / p >
< div class = "highlight-python" > < div class = "highlight" > < pre > variable ramp equal ramp(0,10)
fix 1 all wall/srd xlo v_ramp
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > variable linear equal vdisplace(0,20)
fix 1 all wall/srd xlo v_linear
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > variable wiggle equal swiggle(0.0,5.0,3.0)
fix 1 all wall/srd xlo v_wiggle
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > variable wiggle equal cwiggle(0.0,5.0,3.0)
fix 1 all wall/srd xlo v_wiggle
< / pre > < / div >
< / div >
< p > The ramp(lo,hi) function adjusts the wall position linearly from lo to
2012-04-06 22:28:14 +08:00
hi over the course of a run. The displace(c0,velocity) function does
2010-10-28 04:54:56 +08:00
something similar using the equation position = c0 + velocity*delta,
2015-07-30 22:53:28 +08:00
where delta is the elapsed time.< / p >
< p > The swiggle(c0,A,period) function causes the wall position to
2010-10-28 04:54:56 +08:00
oscillate sinusoidally according to this equation, where omega = 2 PI
2015-07-30 22:53:28 +08:00
/ period:< / p >
< div class = "highlight-python" > < div class = "highlight" > < pre > position = c0 + A sin(omega*delta)
< / pre > < / div >
< / div >
< p > The cwiggle(c0,A,period) function causes the wall position to
2010-10-28 04:54:56 +08:00
oscillate sinusoidally according to this equation, which will have an
initial wall velocity of 0.0, and thus may impose a gentler
2015-07-30 22:53:28 +08:00
perturbation on the particles:< / p >
< div class = "highlight-python" > < div class = "highlight" > < pre > < span class = "n" > position< / span > < span class = "o" > =< / span > < span class = "n" > c0< / span > < span class = "o" > +< / span > < span class = "n" > A< / span > < span class = "p" > (< / span > < span class = "mi" > 1< / span > < span class = "o" > -< / span > < span class = "n" > cos< / span > < span class = "p" > (< / span > < span class = "n" > omega< / span > < span class = "o" > *< / span > < span class = "n" > delta< / span > < span class = "p" > ))< / span >
< / pre > < / div >
< / div >
< / div >
< hr class = "docutils" / >
< div class = "section" id = "restart-fix-modify-output-run-start-stop-minimize-info" >
< h2 > Restart, fix_modify, output, run start/stop, minimize info< a class = "headerlink" href = "#restart-fix-modify-output-run-start-stop-minimize-info" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > No information about this fix is written to < a class = "reference internal" href = "restart.html" > < em > binary restart files< / em > < / a > . None of the < a class = "reference internal" href = "fix_modify.html" > < em > fix_modify< / em > < / a > options
are relevant to this fix.< / p >
< p > This fix computes a global array of values which can be accessed by
various < a class = "reference internal" href = "Section_howto.html#howto-15" > < span > output commands< / span > < / a > . The number of
2011-08-26 01:01:01 +08:00
rows in the array is equal to the number of walls defined by the fix.
The number of columns is 3, for the x,y,z components of force on each
2015-07-30 22:53:28 +08:00
wall.< / p >
< p > Note that an outward normal force on a wall will be a negative value
for < em > lo< / em > walls and a positive value for < em > hi< / em > walls. The array 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" > < em > run< / em > < / a > command. This fix is not invoked during < a class = "reference internal" href = "minimize.html" > < em > energy minimization< / em > < / a > .< / p >
< / div >
< div class = "section" id = "restrictions" >
< h2 > Restrictions< a class = "headerlink" href = "#restrictions" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > Any dimension (xyz) that has an SRD wall must be non-periodic.< / p >
< / div >
< div class = "section" id = "related-commands" >
< h2 > Related commands< a class = "headerlink" href = "#related-commands" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > < a class = "reference internal" href = "fix_srd.html" > < em > fix srd< / em > < / a > < / p >
< p > < strong > Default:< / strong > none< / p >
< / div >
< / div >
< / div >
< / div >
< footer >
< hr / >
< div role = "contentinfo" >
< p >
2015-12-11 01:23:56 +08:00
© Copyright 2013 Sandia Corporation.
2015-07-30 22:53:28 +08:00
< / 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:'./',
2015-12-21 23:20:41 +08:00
VERSION:'',
2015-07-30 22:53:28 +08:00
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 >