lammps/doc/html/compute_property_local.html

320 lines
18 KiB
HTML
Raw Normal View History

<!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>compute property/local command &mdash; 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 &amp; 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 &amp; 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>
&nbsp;
</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> &raquo;</li>
<li>compute property/local 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="compute-property-local-command">
<span id="index-0"></span><h1>compute property/local command</h1>
<div class="section" id="syntax">
<h2>Syntax</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="n">ID</span> <span class="n">group</span><span class="o">-</span><span class="n">ID</span> <span class="nb">property</span><span class="o">/</span><span class="n">local</span> <span class="n">input1</span> <span class="n">input2</span> <span class="o">...</span>
</pre></div>
</div>
<ul class="simple">
<li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><span class="doc">compute</span></a> command</li>
<li>property/local = style name of this compute command</li>
<li>input = one or more attributes</li>
</ul>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">possible</span> <span class="n">attributes</span> <span class="o">=</span> <span class="n">natom1</span> <span class="n">natom2</span> <span class="n">ntype1</span> <span class="n">ntype2</span>
<span class="n">patom1</span> <span class="n">patom2</span> <span class="n">ptype1</span> <span class="n">ptype2</span>
<span class="n">batom1</span> <span class="n">batom2</span> <span class="n">btype</span>
<span class="n">aatom1</span> <span class="n">aatom2</span> <span class="n">aatom3</span> <span class="n">atype</span>
<span class="n">datom1</span> <span class="n">datom2</span> <span class="n">datom3</span> <span class="n">dtype</span>
<span class="n">iatom1</span> <span class="n">iatom2</span> <span class="n">iatom3</span> <span class="n">itype</span>
</pre></div>
</div>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">natom1</span><span class="p">,</span> <span class="n">natom2</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">2</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">pair</span> <span class="p">(</span><span class="n">within</span> <span class="n">neighbor</span> <span class="n">cutoff</span><span class="p">)</span>
<span class="n">ntype1</span><span class="p">,</span> <span class="n">ntype2</span> <span class="o">=</span> <span class="nb">type</span> <span class="n">of</span> <span class="mi">2</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">pair</span> <span class="p">(</span><span class="n">within</span> <span class="n">neighbor</span> <span class="n">cutoff</span><span class="p">)</span>
<span class="n">patom1</span><span class="p">,</span> <span class="n">patom2</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">2</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">pair</span> <span class="p">(</span><span class="n">within</span> <span class="n">force</span> <span class="n">cutoff</span><span class="p">)</span>
<span class="n">ptype1</span><span class="p">,</span> <span class="n">ptype2</span> <span class="o">=</span> <span class="nb">type</span> <span class="n">of</span> <span class="mi">2</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">pair</span> <span class="p">(</span><span class="n">within</span> <span class="n">force</span> <span class="n">cutoff</span><span class="p">)</span>
<span class="n">batom1</span><span class="p">,</span> <span class="n">batom2</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">2</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">bond</span>
<span class="n">btype</span> <span class="o">=</span> <span class="n">bond</span> <span class="nb">type</span> <span class="n">of</span> <span class="n">each</span> <span class="n">bond</span>
<span class="n">aatom1</span><span class="p">,</span> <span class="n">aatom2</span><span class="p">,</span> <span class="n">aatom3</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">3</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">angle</span>
<span class="n">atype</span> <span class="o">=</span> <span class="n">angle</span> <span class="nb">type</span> <span class="n">of</span> <span class="n">each</span> <span class="n">angle</span>
<span class="n">datom1</span><span class="p">,</span> <span class="n">datom2</span><span class="p">,</span> <span class="n">datom3</span><span class="p">,</span> <span class="n">datom4</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">4</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">dihedral</span>
<span class="n">dtype</span> <span class="o">=</span> <span class="n">dihedral</span> <span class="nb">type</span> <span class="n">of</span> <span class="n">each</span> <span class="n">dihedral</span>
<span class="n">iatom1</span><span class="p">,</span> <span class="n">iatom2</span><span class="p">,</span> <span class="n">iatom3</span><span class="p">,</span> <span class="n">iatom4</span> <span class="o">=</span> <span class="n">IDs</span> <span class="n">of</span> <span class="mi">4</span> <span class="n">atoms</span> <span class="ow">in</span> <span class="n">each</span> <span class="n">improper</span>
<span class="n">itype</span> <span class="o">=</span> <span class="n">improper</span> <span class="nb">type</span> <span class="n">of</span> <span class="n">each</span> <span class="n">improper</span>
</pre></div>
</div>
</div>
<div class="section" id="examples">
<h2>Examples</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="mi">1</span> <span class="nb">all</span> <span class="nb">property</span><span class="o">/</span><span class="n">local</span> <span class="n">btype</span> <span class="n">batom1</span> <span class="n">batom2</span>
<span class="n">compute</span> <span class="mi">1</span> <span class="nb">all</span> <span class="nb">property</span><span class="o">/</span><span class="n">local</span> <span class="n">atype</span> <span class="n">aatom2</span>
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description</h2>
<p>Define a computation that stores the specified attributes as local
data so it can be accessed by other <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. If the input attributes refer
to bond information, then the number of datums generated, aggregated
across all processors, equals the number of bonds in the system.
Ditto for pairs, angles, etc.</p>
<p>If multiple input attributes are specified then they must all generate
the same amount of information, so that the resulting local array has
the same number of rows for each column. This means that only bond
attributes can be specified together, or angle attributes, etc. Bond
and angle attributes can not be mixed in the same compute
property/local command.</p>
<p>If the inputs are pair attributes, the local data is generated by
looping over the pairwise neighbor list. Info about an individual
pairwise interaction will only be included if both atoms in the pair
are in the specified compute group. For <em>natom1</em> and <em>natom2</em>, all
atom pairs in the neighbor list are considered (out to the neighbor
cutoff = force cutoff + <a class="reference internal" href="neighbor.html"><span class="doc">neighbor skin</span></a>). For <em>patom1</em>
and <em>patom2</em>, the distance between the atoms must be less than the
force cutoff distance for that pair to be included, as defined by the
<a class="reference internal" href="pair_style.html"><span class="doc">pair_style</span></a> and <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a>
commands.</p>
<p>If the inputs are bond, angle, etc attributes, the local data is
generated by looping over all the atoms owned on a processor and
extracting bond, angle, etc info. For bonds, info about an individual
bond will only be included if both atoms in the bond are in the
specified compute group. Likewise for angles, dihedrals, etc.</p>
<p>For bonds and angles, a bonds/angles that have been broken by setting
their bond/angle type to 0 will not be included. Bonds/angles that
have been turned off (see the <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> or
<a class="reference internal" href="delete_bonds.html"><span class="doc">delete_bonds</span></a> commands) by setting their bond/angle
type negative are written into the file. This is consistent with the
<a class="reference internal" href="compute_bond_local.html"><span class="doc">compute bond/local</span></a> and <a class="reference internal" href="compute_angle_local.html"><span class="doc">compute angle/local</span></a> commands</p>
<p>Note that as atoms migrate from processor to processor, there will be
no consistent ordering of the entries within the local vector or array
from one timestep to the next. The only consistency that is
guaranteed is that the ordering on a particular timestep will be the
same for local vectors or arrays generated by other compute commands.
For example, output from the <a class="reference internal" href="compute_bond_local.html"><span class="doc">compute bond/local</span></a> command can be combined with bond
atom indices from this command and output by the <a class="reference internal" href="dump.html"><span class="doc">dump local</span></a> command in a consistent way.</p>
<p>The <em>natom1</em> and <em>natom2</em>, or <em>patom1</em> and <em>patom2</em> attributes refer
to the atom IDs of the 2 atoms in each pairwise interaction computed
by the <a class="reference internal" href="pair_style.html"><span class="doc">pair_style</span></a> command. The <em>ntype1</em> and
<em>ntype2</em>, or <em>ptype1</em> and <em>ptype2</em> attributes refer to the atom types
of the 2 atoms in each pairwise interaction.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4
interactions within the molecular topology, their pairwise interaction
may be turned off, and thus they may not appear in the neighbor list,
and will not be part of the local data created by this command. More
specifically, this may be true of I,J pairs with a weighting factor of
0.0; pairs with a non-zero weighting factor are included. The
weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set
by the <a class="reference internal" href="special_bonds.html"><span class="doc">special_bonds</span></a> command.</p>
</div>
<p>The <em>batom1</em> and <em>batom2</em> attributes refer to the atom IDs of the 2
atoms in each <a class="reference internal" href="bond_style.html"><span class="doc">bond</span></a>. The <em>btype</em> attribute refers to
the type of the bond, from 1 to Nbtypes = # of bond types. The number
of bond types is defined in the data file read by the
<a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command.</p>
<p>The attributes that start with &#8220;a&#8221;, &#8220;d&#8221;, &#8220;i&#8221;, refer to similar values
for <a class="reference internal" href="angle_style.html"><span class="doc">angles</span></a>, <a class="reference internal" href="dihedral_style.html"><span class="doc">dihedrals</span></a>, and
<a class="reference internal" href="improper_style.html"><span class="doc">impropers</span></a>.</p>
<p><strong>Output info:</strong></p>
<p>This compute calculates a local vector or local array depending on the
number of input values. The length of the vector or number of rows in
the array is the number of bonds, angles, etc. If a single input is
specified, a local vector is produced. If two or more inputs are
specified, a local array is produced where the number of columns = the
number of inputs. The vector or array can be accessed by any command
that uses local values from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">this section</span></a> for an overview of LAMMPS output
options.</p>
<p>The vector or array values will be integers that correspond to the
specified attribute.</p>
</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="dump.html"><span class="doc">dump local</span></a>, <a class="reference internal" href="compute_reduce.html"><span class="doc">compute reduce</span></a></p>
<p><strong>Default:</strong> none</p>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; 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>