lammps/doc/fix_ave_time.html

479 lines
25 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 ave/time command &mdash; LAMMPS 15 May 2015 version 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 15 May 2015 version 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>fix ave/time 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-ave-time-command">
<span id="index-0"></span><h1>fix ave/time command<a class="headerlink" href="#fix-ave-time-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 ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...
</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>ave/time = style name of this fix command</li>
<li>Nevery = use input values every this many timesteps</li>
<li>Nrepeat = # of times to use input values for calculating averages</li>
<li>Nfreq = calculate averages every this many timesteps</li>
<li>one or more input values can be listed</li>
<li>value = c_ID, c_ID[N], f_ID, f_ID[N], v_name</li>
</ul>
<div class="highlight-python"><div class="highlight"><pre>c_ID = global scalar, vector, or array calculated by a compute with ID
c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID
f_ID = global scalar, vector, or array calculated by a fix with ID
f_ID[I] = Ith component of global vector or Ith column of global array calculated by a fix with ID
v_name = global value calculated by an equal-style variable with name
</pre></div>
</div>
<ul class="simple">
<li>zero or more keyword/arg pairs may be appended</li>
<li>keyword = <em>mode</em> or <em>file</em> or <em>ave</em> or <em>start</em> or <em>off</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li>
</ul>
<pre class="literal-block">
<em>mode</em> arg = <em>scalar</em> or <em>vector</em>
scalar = all input values are global scalars
vector = all input values are global vectors or global arrays
<em>ave</em> args = <em>one</em> or <em>running</em> or <em>window M</em>
one = output a new average value every Nfreq steps
running = output cummulative average of all previous Nfreq steps
window M = output average of M most recent Nfreq steps
<em>start</em> args = Nstart
Nstart = start averaging on this timestep
<em>off</em> arg = M = do not average this value
M = value # from 1 to Nvalues
<em>file</em> arg = filename
filename = name of file to output time averages to
<em>overwrite</em> arg = none = overwrite output file with only latest output
<em>format</em> arg = string
string = C-style format string
<em>title1</em> arg = string
string = text to print as 1st line of output file
<em>title2</em> arg = string
string = text to print as 2nd line of output file
<em>title3</em> arg = string
string = text to print as 3rd line of output file, only for vector mode
</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 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile
fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 &amp;
title1 &quot;My output values&quot;
fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Use one or more global values as inputs every few timesteps, and
average them over longer timescales. The resulting averages can be
used by other <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a> such as
<a class="reference internal" href="thermo_style.html"><em>thermo_style custom</em></a>, and can also be written to a
file. Note that if no time averaging is done, this command can be
used as a convenient way to simply output one or more global values to
a file.</p>
<p>The group specified with this command is ignored. However, note that
specified values may represent calculations performed by computes and
fixes which store their own &#8220;group&#8221; definitions.</p>
<p>Each listed value can be the result of a <a class="reference internal" href="compute.html"><em>compute</em></a> or
<a class="reference internal" href="fix.html"><em>fix</em></a> or the evaluation of an equal-style
<a class="reference internal" href="variable.html"><em>variable</em></a>. In each case, the compute, fix, or variable
must produce a global quantity, not a per-atom or local quantity. If
you wish to spatial- or time-average or histogram per-atom quantities
from a compute, fix, or variable, then see the <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>,
or <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a> commands. If you wish to sum a
per-atom quantity into a single global quantity, see the <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command.</p>
<p><a class="reference internal" href="compute.html"><em>Computes</em></a> that produce global quantities are those which
do not have the word <em>atom</em> in their style name. Only a few
<a class="reference internal" href="fix.html"><em>fixes</em></a> produce global quantities. See the doc pages for
individual fixes for info on which ones produce such values.
<a class="reference internal" href="variable.html"><em>Variables</em></a> of style <em>equal</em> are the only ones that can
be used with this fix. Variables of style <em>atom</em> cannot be used,
since they produce per-atom values.</p>
<p>The input values must either be all scalars or all vectors (or
arrays), depending on the setting of the <em>mode</em> keyword. In both
cases, the averaging is performed independently on each input value.
I.e. each input scalar is averaged independently and each element of
each input vector (or array) is averaged independently.</p>
<p>If <em>mode</em> = vector, then the input values may either be vectors or
arrays and all must be the same &#8220;length&#8221;, which is the length of the
vector or number of rows in the array. If a global array is listed,
then it is the same as if the individual columns of the array had been
listed one by one. E.g. these 2 fix ave/time commands are equivalent,
since the <a class="reference internal" href="compute_rdf.html"><em>compute rdf</em></a> command creates, in this
case, a global array with 3 columns, each of length 50:</p>
<div class="highlight-python"><div class="highlight"><pre>compute myRDF all rdf 50 1 2
fix 1 all ave/time 100 1 100 c_myRDF file tmp1.rdf mode vector
fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector
</pre></div>
</div>
<hr class="docutils" />
<p>The <em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> arguments specify on what
timesteps the input values will be used in order to contribute to the
average. The final averaged quantities are generated on timesteps
that are a mlutiple of <em>Nfreq</em>. The average is over <em>Nrepeat</em>
quantities, computed in the preceding portion of the simulation every
<em>Nevery</em> timesteps. <em>Nfreq</em> must be a multiple of <em>Nevery</em> and
<em>Nevery</em> must be non-zero even if <em>Nrepeat</em> is 1. Also, the timesteps
contributing to the average value cannot overlap, i.e. Nfreq &gt;
(Nrepeat-1)*Nevery is required.</p>
<p>For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
timesteps 90,92,94,96,98,100 will be used to compute the final average
on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on
timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time
averaging is done; values are simply generated on timesteps
100,200,etc.</p>
<hr class="docutils" />
<p>If a value begins with &#8220;<a href="#id1"><span class="problematic" id="id2">c_</span></a>&#8221;, a compute ID must follow which has been
previously defined in the input script. If <em>mode</em> = scalar, then if
no bracketed term is appended, the global scalar calculated by the
compute is used. If a bracketed term is appended, the Ith element of
the global vector calculated by the compute is used. If <em>mode</em> =
vector, then if no bracketed term is appended, the global vector
calculated by the compute is used. Or if the compute calculates an
array, all of the columns of the global array are used as if they had
been specified as individual vectors (see description above). If a
bracketed term is appended, the Ith column of the global array
calculated by the compute is used.</p>
<p>Note that there is a <a class="reference internal" href="compute_reduce.html"><em>compute reduce</em></a> command
which can sum per-atom quantities into a global scalar or vector which
can thus be accessed by fix ave/time. Or it can be a compute defined
not in your input script, but by <a class="reference internal" href="thermo_style.html"><em>thermodynamic output</em></a> or other fixes such as <a class="reference internal" href="fix_nh.html"><em>fix nvt</em></a> or <a class="reference internal" href="fix_temp_rescale.html"><em>fix temp/rescale</em></a>. See
the doc pages for these commands which give the IDs of these computes.
Users can also write code for their own compute styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p>
<p>If a value begins with &#8220;<a href="#id3"><span class="problematic" id="id4">f_</span></a>&#8221;, a fix ID must follow which has been
previously defined in the input script. If <em>mode</em> = scalar, then if
no bracketed term is appended, the global scalar calculated by the fix
is used. If a bracketed term is appended, the Ith element of the
global vector calculated by the fix is used. If <em>mode</em> = vector, then
if no bracketed term is appended, the global vector calculated by the
fix is used. Or if the fix calculates an array, all of the columns of
the global array are used as if they had been specified as individual
vectors (see description above). If a bracketed term is appended, the
Ith column of the global array calculated by the fix is used.</p>
<p>Note that some fixes only produce their values on certain timesteps,
which must be compatible with <em>Nevery</em>, else an error will result.
Users can also write code for their own fix styles and <a class="reference internal" href="Section_modify.html"><em>add them to LAMMPS</em></a>.</p>
<p>If a value begins with &#8220;<a href="#id5"><span class="problematic" id="id6">v_</span></a>&#8221;, a variable name must follow which has
been previously defined in the input script. Variables can only be
used as input for <em>mode</em> = scalar. Only equal-style variables can be
referenced. See the <a class="reference internal" href="variable.html"><em>variable</em></a> command for details.
Note that variables of style <em>equal</em> define a formula which can
reference individual atom properties or thermodynamic keywords, or
they can invoke other computes, fixes, or variables when they are
evaluated, so this is a very general means of specifying quantities to
time average.</p>
<hr class="docutils" />
<p>Additional optional keywords also affect the operation of this fix.</p>
<p>If the <em>mode</em> keyword is set to <em>scalar</em>, then all input values must
be global scalars, or elements of global vectors. If the <em>mode</em>
keyword is set to <em>vector</em>, then all input values must be global
vectors, or columns of global arrays. They can also be global arrays,
which are converted into a series of global vectors (one per column),
as explained above.</p>
<p>The <em>ave</em> keyword determines how the values produced every <em>Nfreq</em>
steps are averaged with values produced on previous steps that were
multiples of <em>Nfreq</em>, before they are accessed by another output
command or written to a file.</p>
<p>If the <em>ave</em> setting is <em>one</em>, then the values produced on timesteps
that are multiples of <em>Nfreq</em> are independent of each other; they are
output as-is without further averaging.</p>
<p>If the <em>ave</em> setting is <em>running</em>, then the values produced on
timesteps that are multiples of <em>Nfreq</em> are summed and averaged in a
cummulative sense before being output. Each output value is thus the
average of the value produced on that timestep with all preceding
values. This running average begins when the fix is defined; it can
only be restarted by deleting the fix via the <a class="reference internal" href="unfix.html"><em>unfix</em></a>
command, or by re-defining the fix by re-specifying it.</p>
<p>If the <em>ave</em> setting is <em>window</em>, then the values produced on
timesteps that are multiples of <em>Nfreq</em> are summed and averaged within
a moving &#8220;window&#8221; of time, so that the last M values are used to
produce the output. E.g. if M = 3 and Nfreq = 1000, then the output
on step 10000 will be the average of the individual values on steps
8000,9000,10000. Outputs on early steps will average over less than M
values if they are not available.</p>
<p>The <em>start</em> keyword specifies what timestep averaging will begin on.
The default is step 0. Often input values can be 0.0 at time 0, so
setting <em>start</em> to a larger value can avoid including a 0.0 in a
running or windowed average.</p>
<p>The <em>off</em> keyword can be used to flag any of the input values. If a
value is flagged, it will not be time averaged. Instead the most
recent input value will always be stored and output. This is useful
if one of more of the inputs produced by a compute or fix or variable
are effectively constant or are simply current values. E.g. they are
being written to a file with other time-averaged values for purposes
of creating well-formatted output.</p>
<p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em>
steps, one quantity or vector of quantities is written to the file for
each input value specified in the fix ave/time command. For <em>mode</em> =
scalar, this means a single line is written each time output is
performed. Thus the file ends up to be a series of lines, i.e. one
column of numbers for each input value. For <em>mode</em> = vector, an array
of numbers is written each time output is performed. The number of
rows is the length of the input vectors, and the number of columns is
the number of values. Thus the file ends up to be a series of these
array sections.</p>
<p>The <em>overwrite</em> keyword will continuously overwrite the output file
with the latest output, so that it only contains one timestep worth of
output. This option can only be used with the <em>ave running</em> setting.</p>
<p>The <em>format</em> keyword sets the numeric format of each value when it is
printed to a file via the <em>file</em> keyword. Note that all values are
floating point quantities. The default format is %g. You can specify
a higher precision if desired, e.g. %20.16g.</p>
<p>The <em>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of
the strings that will be printed as the first 2 or 3 lines of the
output file, assuming the <em>file</em> keyword was used. LAMMPS uses
default values for each of these, so they do not need to be specified.</p>
<p>By default, these header lines are as follows for <em>mode</em> = scalar:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-averaged data for fix ID</span>
<span class="c"># TimeStep value1 value2 ...</span>
</pre></div>
</div>
<p>In the first line, ID is replaced with the fix-ID. In the second line
the values are replaced with the appropriate fields from the fix
ave/time command. There is no third line in the header of the file,
so the <em>title3</em> setting is ignored when <em>mode</em> = scalar.</p>
<p>By default, these header lines are as follows for <em>mode</em> = vector:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-averaged data for fix ID</span>
<span class="c"># TimeStep Number-of-rows</span>
<span class="c"># Row value1 value2 ...</span>
</pre></div>
</div>
<p>In the first line, ID is replaced with the fix-ID. The second line
describes the two values that are printed at the first of each section
of output. In the third line the values are replaced with the
appropriate fields from the fix ave/time command.</p>
</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 produces a global scalar or global vector or global array
which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span>output commands</span></a>. The values can only be
accessed on timesteps that are multiples of <em>Nfreq</em> since that is when
averaging is performed.</p>
<p>A scalar is produced if only a single input value is averaged and
<em>mode</em> = scalar. A vector is produced if multiple input values are
averaged for <em>mode</em> = scalar, or a single input value for <em>mode</em> =
vector. In the first case, the length of the vector is the number of
inputs. In the second case, the length of the vector is the same as
the length of the input vector. An array is produced if multiple
input values are averaged and <em>mode</em> = vector. The global array has #
of rows = length of the input vectors and # of columns = number of
inputs.</p>
<p>If the fix prouduces a scalar or vector, then the scalar and each
element of the vector can be either &#8220;intensive&#8221; or &#8220;extensive&#8221;,
depending on whether the values contributing to the scalar or vector
element are &#8220;intensive&#8221; or &#8220;extensive&#8221;. If the fix produces an array,
then all elements in the array must be the same, either &#8220;intensive&#8221; or
&#8220;extensive&#8221;. If a compute or fix provides the value being time
averaged, then the compute or fix determines whether the value is
intensive or extensive; see the doc page for that compute or fix for
further info. Values produced by a variable are treated as intensive.</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>
<blockquote>
<div>none</div></blockquote>
</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="compute.html"><em>compute</em></a>, <a class="reference internal" href="fix_ave_atom.html"><em>fix ave/atom</em></a>, <a class="reference internal" href="fix_ave_spatial.html"><em>fix ave/spatial</em></a>, <a class="reference internal" href="fix_ave_histo.html"><em>fix ave/histo</em></a>,
<a class="reference internal" href="variable.html"><em>variable</em></a>, <a class="reference internal" href="fix_ave_correlate.html"><em>fix ave/correlate</em></a>,</p>
</div>
<div class="section" id="default">
<h2>Default<a class="headerlink" href="#default" title="Permalink to this headline"></a></h2>
<p>The option defaults are mode = scalar, ave = one, start = 0, no file
output, format = %g, title 1,2,3 = strings as described above, and no
off settings for any input values.</p>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright .
</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:'15 May 2015 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>