forked from lijiext/lammps
389 lines
19 KiB
HTML
389 lines
19 KiB
HTML
|
|
|
|
<!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 wall/region 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 wall/region 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-region-command">
|
|
<span id="index-0"></span><h1>fix wall/region 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">wall</span><span class="o">/</span><span class="n">region</span> <span class="n">region</span><span class="o">-</span><span class="n">ID</span> <span class="n">style</span> <span class="n">epsilon</span> <span class="n">sigma</span> <span class="n">cutoff</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>wall/region = style name of this fix command</li>
|
|
<li>region-ID = region whose boundary will act as wall</li>
|
|
<li>style = <em>lj93</em> or <em>lj126</em> or <em>colloid</em> or <em>harmonic</em></li>
|
|
<li>epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)</li>
|
|
<li>sigma = size factor for wall-particle interaction (distance units)</li>
|
|
<li>cutoff = distance from wall at which wall-particle interaction is cut off (distance units)</li>
|
|
</ul>
|
|
</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">wall</span> <span class="nb">all</span> <span class="n">wall</span><span class="o">/</span><span class="n">region</span> <span class="n">mySphere</span> <span class="n">lj93</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">2.5</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<p>Treat the surface of the geometric region defined by the <em>region-ID</em>
|
|
as a bounding wall which interacts with nearby particles according to
|
|
the specified style. The distance between a particle and the surface
|
|
is the distance to the nearest point on the surface and the force the
|
|
wall exerts on the particle is along the direction between that point
|
|
and the particle, which is the direction normal to the surface at that
|
|
point. Note that if the region surface is comprised of multiple
|
|
“faces”, then each face can exert a force on the particle if it is
|
|
close enough. E.g. for <a class="reference internal" href="region.html"><span class="doc">region_style block</span></a>, a particle
|
|
in the interior, near a corner of the block, could feel wall forces
|
|
from 1, 2, or 3 faces of the block.</p>
|
|
<p>Regions are defined using the <a class="reference internal" href="region.html"><span class="doc">region</span></a> command. Note that
|
|
the region volume can be interior or exterior to the bounding surface,
|
|
which will determine in which direction the surface interacts with
|
|
particles, i.e. the direction of the surface normal. The surface of
|
|
the region only exerts forces on particles “inside” the region; if a
|
|
particle is “outside” the region it will generate an error, because it
|
|
has moved through the wall.</p>
|
|
<p>Regions can either be primitive shapes (block, sphere, cylinder, etc)
|
|
or combinations of primitive shapes specified via the <em>union</em> or
|
|
<em>intersect</em> region styles. These latter styles can be used to
|
|
construct particle containers with complex shapes. Regions can also
|
|
change over time via the <a class="reference internal" href="region.html"><span class="doc">region</span></a> command keywords (move)
|
|
and <em>rotate</em>. If such a region is used with this fix, then the of
|
|
region surface will move over time in the corresponding manner.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">As discussed on the <a class="reference internal" href="region.html"><span class="doc">region</span></a> command doc page,
|
|
regions in LAMMPS do not get wrapped across periodic boundaries. It
|
|
is up to you to insure that periodic or non-periodic boundaries are
|
|
specified appropriately via the <a class="reference internal" href="boundary.html"><span class="doc">boundary</span></a> command when
|
|
using a region as a wall that bounds particle motion. This also means
|
|
that if you embed a region in your simulation box and want it to
|
|
repulse particles from its surface (using the “side out” option in the
|
|
<a class="reference internal" href="region.html"><span class="doc">region</span></a> command), that its repulsive force will not be
|
|
felt across a periodic boundary.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">For primitive regions with sharp corners and/or edges (e.g. a
|
|
block or cylinder), wall/particle forces are computed accurately for
|
|
both interior and exterior regions. For <em>union</em> and <em>intersect</em>
|
|
regions, additional sharp corners and edges may be present due to the
|
|
intersection of the surfaces of 2 or more primitive volumes. These
|
|
corners and edges can be of two types: concave or convex. Concave
|
|
points/edges are like the corners of a cube as seen by particles in
|
|
the interior of a cube. Wall/particle forces around these features
|
|
are computed correctly. Convex points/edges are like the corners of a
|
|
cube as seen by particles exterior to the cube, i.e. the points jut
|
|
into the volume where particles are present. LAMMPS does NOT compute
|
|
the location of these convex points directly, and hence wall/particle
|
|
forces in the cutoff volume around these points suffer from
|
|
inaccuracies. The basic problem is that the outward normal of the
|
|
surface is not continuous at these points. This can cause particles
|
|
to feel no force (they don’t “see” the wall) when in one location,
|
|
then move a distance epsilon, and suddenly feel a large force because
|
|
they now “see” the wall. In a worst-case scenario, this can blow
|
|
particles out of the simulation box. Thus, as a general rule you
|
|
should not use the fix wall/region command with <em>union</em> or
|
|
<em>interesect</em> regions that have convex points or edges.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Similarly, you should not define <em>union</em> or <em>intersert</em> regions
|
|
for use with this command that share a common face, even if the face
|
|
is smooth. E.g. two regions of style block in a <em>union</em> region, where
|
|
the two blocks have the same face. This is because LAMMPS discards
|
|
points that are part of multiple sub-regions when calculating
|
|
wall/particle interactions, to avoid double-counting the interaction.
|
|
Having two coincident faces could cause the face to become invisible
|
|
to the particles. The solution is to make the two faces differ by
|
|
epsilon in their position.</p>
|
|
</div>
|
|
<p>The energy of wall-particle interactions depends on the specified
|
|
style.</p>
|
|
<p>For style <em>lj93</em>, the energy E is given by the 9/3 potential:</p>
|
|
<img alt="_images/fix_wall_lj93.jpg" class="align-center" src="_images/fix_wall_lj93.jpg" />
|
|
<p>For style <em>lj126</em>, the energy E is given by the 12/6 potential:</p>
|
|
<img alt="_images/pair_lj.jpg" class="align-center" src="_images/pair_lj.jpg" />
|
|
<p>For style <em>colloid</em>, the energy E is given by an integrated form of
|
|
the <a class="reference internal" href="pair_colloid.html"><span class="doc">pair_style colloid</span></a> potential:</p>
|
|
<img alt="_images/fix_wall_colloid.jpg" class="align-center" src="_images/fix_wall_colloid.jpg" />
|
|
<p>For style <em>wall/harmonic</em>, the energy E is given by a harmonic spring
|
|
potential:</p>
|
|
<img alt="_images/fix_wall_harmonic.jpg" class="align-center" src="_images/fix_wall_harmonic.jpg" />
|
|
<p>In all cases, <em>r</em> is the distance from the particle to the region
|
|
surface, and Rc is the <em>cutoff</em> distance at which the particle and
|
|
surface no longer interact. The energy of the wall potential is
|
|
shifted so that the wall-particle interaction energy is 0.0 at the
|
|
cutoff distance.</p>
|
|
<p>For the <em>lj93</em> and <em>lj126</em> styles, <em>epsilon</em> and <em>sigma</em> are the usual
|
|
Lennard-Jones parameters, which determine the strength and size of the
|
|
particle as it interacts with the wall. Epsilon has energy units.
|
|
Note that this <em>epsilon</em> and <em>sigma</em> may be different than any
|
|
<em>epsilon</em> or <em>sigma</em> values defined for a pair style that computes
|
|
particle-particle interactions.</p>
|
|
<p>The <em>lj93</em> interaction is derived by integrating over a 3d
|
|
half-lattice of Lennard-Jones 12/6 particles. The <em>lj126</em> interaction
|
|
is effectively a harder, more repulsive wall interaction.</p>
|
|
<p>For the <em>colloid</em> style, <em>epsilon</em> is effectively a Hamaker constant
|
|
with energy units for the colloid-wall interaction, <em>R</em> is the radius
|
|
of the colloid particle, <em>D</em> is the distance from the surface of the
|
|
colloid particle to the wall (r-R), and <em>sigma</em> is the size of a
|
|
constituent LJ particle inside the colloid particle. Note that the
|
|
cutoff distance Rc in this case is the distance from the colloid
|
|
particle center to the wall.</p>
|
|
<p>The <em>colloid</em> interaction is derived by integrating over constituent
|
|
LJ particles of size <em>sigma</em> within the colloid particle and a 3d
|
|
half-lattice of Lennard-Jones 12/6 particles of size <em>sigma</em> in the
|
|
wall.</p>
|
|
<p>For the <em>wall/harmonic</em> style, <em>epsilon</em> is effectively the spring
|
|
constant K, and has units (energy/distance^2). The input parameter
|
|
<em>sigma</em> is ignored. The minimum energy position of the harmonic
|
|
spring is at the <em>cutoff</em>. This is a repulsive-only spring since the
|
|
interaction is truncated at the <em>cutoff</em></p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">For all of the styles, you must insure that r is always > 0 for
|
|
all particles in the group, or LAMMPS will generate an error. This
|
|
means you cannot start your simulation with particles on the region
|
|
surface (r = 0) or with particles on the wrong side of the region
|
|
surface (r < 0). For the <em>wall/lj93</em> and <em>wall/lj126</em> styles, the
|
|
energy of the wall/particle interaction (and hence the force on the
|
|
particle) blows up as r -> 0. The <em>wall/colloid</em> style is even more
|
|
restrictive, since the energy blows up as D = r-R -> 0. This means
|
|
the finite-size particles of radius R must be a distance larger than R
|
|
from the region surface. The <em>harmonic</em> style is a softer potential
|
|
and does not blow up as r -> 0, but you must use a large enough
|
|
<em>epsilon</em> that particles always reamin on the correct side of the
|
|
region surface (r > 0).</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info">
|
|
<h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
|
|
<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 of interaction between atoms and the wall 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>
|
|
<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>
|
|
<p>This fix computes a global scalar energy and a global 3-length vector
|
|
of forces, 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 energy is the sum
|
|
of energy interactions for all particles interacting with the wall
|
|
represented by the region surface. The 3 vector quantities are the
|
|
x,y,z components of the total force acting on the wall due to the
|
|
particles. 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 atom/wall interaction 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_wall.html"><span class="doc">fix wall/lj93</span></a>,
|
|
<a class="reference internal" href="fix_wall.html"><span class="doc">fix wall/lj126</span></a>,
|
|
<a class="reference internal" href="fix_wall.html"><span class="doc">fix wall/colloid</span></a>,
|
|
<a class="reference internal" href="fix_wall_gran.html"><span class="doc">fix wall/gran</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> |