<span id="index-0"></span><h1>compute vacf command<a class="headerlink" href="#compute-vacf-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>compute ID group-ID vacf
</pre></div>
</div>
<ul class="simple">
<li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li>
<li>vacf = style name of this compute command</li>
</ul>
</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>compute 1 all vacf
compute 1 upper vacf
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>Define a computation that calculates the velocity auto-correlation
function (VACF), averaged over a group of atoms. Each atom’s
contribution to the VACF is its current velocity vector dotted into
its initial velocity vector at the time the compute was specified.</p>
<p>A vector of four quantites is calculated by this compute. The first 3
elements of the vector are vx * vx0 (and similarly for the y and z
components), summed and averaged over atoms in the group. Vx is the
current x-component of velocity for the atom, vx0 is the initial
x-component of velocity for the atom. The 4th element of the vector
is the total VACF, i.e. (vx*vx0 + vy*vy0 + vz*vz0), summed and
averaged over atoms in the group.</p>
<p>The integral of the VACF versus time is proportional to the diffusion
coefficient of the diffusing atoms. This can be computed in the
following manner, using the <a class="reference internal" href="variable.html"><em>variable trap()</em></a> function:</p>
<div class="highlight-python"><div class="highlight"><pre>compute 2 all vacf
fix 5 all vector 1 c_2[4]
variable diff equal dt*trap(f_5)
thermo_style custom step v_diff
</pre></div>
</div>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">If you want the quantities calculated by this compute
to be continuous when running from a <a class="reference internal" href="read_restart.html"><em>restart file</em></a>,
then you should use the same ID for this compute, as in the original
run. This is so that the fix this compute creates to store per-atom
quantities will also have the same ID, and thus be initialized
correctly with time=0 atom velocities from the restart file.</p>
</div>
<p><strong>Output info:</strong></p>
<p>This compute calculates a global vector of length 4, which can be
accessed by indices 1-4 by any command that uses global vector values
from a compute as input. See <a class="reference internal" href="Section_howto.html#howto-15"><span>this section</span></a> for an overview of LAMMPS output
options.</p>
<p>The vector values are “intensive”. The vector values will be in
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>.