Page MenuHomec4science

fix_ave_correlate.html
No OneTemporary

File Metadata

Created
Tue, Jul 23, 22:24

fix_ave_correlate.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/correlate 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/correlate command</li>
<li class="wy-breadcrumbs-aside">
<a href="http://lammps.sandia.gov">Homepage</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-correlate-command">
<span id="index-0"></span><h1>fix ave/correlate command<a class="headerlink" href="#fix-ave-correlate-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/correlate 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/correlate = style name of this fix command</li>
<li>Nevery = use input values every this many timesteps</li>
<li>Nrepeat = # of correlation time windows to accumulate</li>
<li>Nfreq = calculate tine window 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 calculated by a compute with ID
c_ID[I] = Ith component of global vector calculated by a compute with ID
f_ID = global scalar calculated by a fix with ID
f_ID[I] = Ith component of global vector 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>type</em> or <em>ave</em> or <em>start</em> or <em>prefactor</em> or <em>file</em> or <em>overwrite</em> or <em>title1</em> or <em>title2</em> or <em>title3</em></li>
</ul>
<pre class="literal-block">
<em>type</em> arg = <em>auto</em> or <em>upper</em> or <em>lower</em> or <em>auto/upper</em> or <em>auto/lower</em> or <em>full</em>
auto = correlate each value with itself
upper = correlate each value with each succeeding value
lower = correlate each value with each preceding value
auto/upper = auto + upper
auto/lower = auto + lower
full = correlate each value with every other value, including itself = auto + upper + lower
<em>ave</em> args = <em>one</em> or <em>running</em>
one = zero the correlation accumulation every Nfreq steps
running = accumulate correlations continuously
<em>start</em> args = Nstart
Nstart = start accumulating correlations on this timestep
<em>prefactor</em> args = value
value = prefactor to scale all the correlation data by
<em>file</em> arg = filename
filename = name of file to output correlation data to
<em>overwrite</em> arg = none = overwrite output file with only latest output
<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
</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/correlate 5 100 1000 c_myTemp file temp.correlate
fix 1 all ave/correlate 1 50 10000 &amp;
c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &amp;
type upper ave running title1 &quot;My correlation data&quot;
</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 scalar values as inputs every few timesteps,
calculate time correlations bewteen them at varying time intervals,
and average the correlation data over longer timescales. The
resulting correlation values can be time integrated by
<a class="reference internal" href="variable.html"><em>variables</em></a> or 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.</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. What kinds of
correlations between input values are calculated is determined by the
<em>type</em> keyword as discussed below.</p>
<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 to calculate correlation data.
The input values are sampled every <em>Nevery</em> timesteps. The
correlation data for the preceding samples is computed on timesteps
that are a multiple of <em>Nfreq</em>. Consider a set of samples from some
initial time up to an output timestep. The initial time could be the
beginning of the simulation or the last output time; see the <em>ave</em>
keyword for options. For the set of samples, the correlation value
Cij is calculated as:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">Cij</span><span class="p">(</span><span class="n">delta</span><span class="p">)</span> <span class="o">=</span> <span class="n">ave</span><span class="p">(</span><span class="n">Vi</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">*</span><span class="n">Vj</span><span class="p">(</span><span class="n">t</span><span class="o">+</span><span class="n">delta</span><span class="p">))</span>
</pre></div>
</div>
<p>which is the correlation value between input values Vi and Vj,
separated by time delta. Note that the second value Vj in the pair is
always the one sampled at the later time. The ave() represents an
average over every pair of samples in the set that are separated by
time delta. The maximum delta used is of size (<em>Nrepeat</em>-1)**Nevery*.
Thus the correlation between a pair of input values yields <em>Nrepeat</em>
correlation datums:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">Cij</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">Cij</span><span class="p">(</span><span class="n">Nevery</span><span class="p">),</span> <span class="n">Cij</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">Nevery</span><span class="p">),</span> <span class="o">...</span><span class="p">,</span> <span class="n">Cij</span><span class="p">((</span><span class="n">Nrepeat</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">Nevery</span><span class="p">)</span>
</pre></div>
</div>
<p>For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on
timesteps 0,5,10,15,...,100 will be used to compute the final averages
on timestep 100. Six averages will be computed: Cij(0), Cij(5),
Cij(10), Cij(15), Cij(20), and Cij(25). Cij(10) on timestep 100 will
be the average of 19 samples, namely Vi(0)*Vj(10), Vi(5)*Vj(15),
Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100).</p>
<p><em>Nfreq</em> must be a multiple of <em>Nevery</em>; <em>Nevery</em> and <em>Nrepeat</em> must be
non-zero. Also, if the <em>ave</em> keyword is set to <em>one</em> which is the
default, then <em>Nfreq</em> &gt;= (<em>Nrepeat</em>-1)**Nevery* is required.</p>
<hr class="docutils" />
<p>If a value begins with &#8220;<a href="#id3"><span class="problematic" id="id4">c_</span></a>&#8221;, a compute ID must follow which has been
previously defined in the input script. 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.</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/correlate. 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="#id5"><span class="problematic" id="id6">f_</span></a>&#8221;, a fix ID must follow which has been
previously defined in the input script. 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.</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="#id7"><span class="problematic" id="id8">v_</span></a>&#8221;, a variable name must follow which has
been previously defined in the input script. 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 correlate.</p>
<hr class="docutils" />
<p>Additional optional keywords also affect the operation of this fix.</p>
<p>The <em>type</em> keyword determines which pairs of input values are
correlated with each other. For N input values Vi, for i = 1 to N,
let the number of pairs = Npair. Note that the second value in the
pair Vi(t)*Vj(t+delta) is always the one sampled at the later time.</p>
<ul class="simple">
<li>If <em>type</em> is set to <em>auto</em> then each input value is correlated with
itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N.</li>
<li>If <em>type</em> is set
to <em>upper</em> then each input value is correlated with every succeeding
value. I.e. Cij = Vi*Vj, for i &lt; j, so Npair = N*(N-1)/2.</li>
<li>If <em>type</em> is set
to <em>lower</em> then each input value is correlated with every preceeding
value. I.e. Cij = Vi*Vj, for i &gt; j, so Npair = N*(N-1)/2.</li>
<li>If <em>type</em> is set to <em>auto/upper</em> then each input value is correlated
with itself and every succeeding value. I.e. Cij = Vi*Vj, for i &gt;= j,
so Npair = N*(N+1)/2.</li>
<li>If <em>type</em> is set to <em>auto/lower</em> then each input value is correlated
with itself and every preceding value. I.e. Cij = Vi*Vj, for i &lt;= j,
so Npair = N*(N+1)/2.</li>
<li>If <em>type</em> is set to <em>full</em> then each input value is correlated with
itself and every other value. I.e. Cij = Vi*Vj, for i,j = 1,N so
Npair = N^2.</li>
</ul>
<p>The <em>ave</em> keyword determines what happens to the accumulation of
correlation samples every <em>Nfreq</em> timesteps. If the <em>ave</em> setting is
<em>one</em>, then the accumulation is restarted or zeroed every <em>Nfreq</em>
timesteps. Thus the outputs on successive <em>Nfreq</em> timesteps are
essentially independent of each other. The exception is that the
Cij(0) = Vi(T)*Vj(T) value at a timestep T, where T is a multiple of
<em>Nfreq</em>, contributes to the correlation output both at time T and at
time T+Nfreq.</p>
<p>If the <em>ave</em> setting is <em>running</em>, then the accumulation is never
zeroed. Thus the output of correlation data at any timestep is the
average over samples accumulated every <em>Nevery</em> steps since the fix
was 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>The <em>start</em> keyword specifies what timestep the accumulation of
correlation samples will begin on. The default is step 0. Setting it
to a larger value can avoid adding non-equilibrated data to the
correlation averages.</p>
<p>The <em>prefactor</em> keyword specifies a constant which will be used as a
multiplier on the correlation data after it is averaged. It is
effectively a scale factor on Vi*Vj, which can be used to account for
the size of the time window or other unit conversions.</p>
<p>The <em>file</em> keyword allows a filename to be specified. Every <em>Nfreq</em>
steps, an array of correlation data is written to the file. The
number of rows is <em>Nrepeat</em>, as described above. The number of
columns is the Npair+2, also as described above. 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>title1</em> and <em>title2</em> and <em>title3</em> keywords allow specification of
the strings that will be printed as the first 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:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># Time-correlated data for fix ID</span>
<span class="c"># TimeStep Number-of-time-windows</span>
<span class="c"># Index TimeDelta Ncount valueI*valueJ valueI*valueJ ...</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 value pairs are replaced with the
appropriate fields from the fix ave/correlate command.</p>
<hr class="docutils" />
<p>Let Sij = a set of time correlation data for input values I and J,
namely the <em>Nrepeat</em> values:</p>
<div class="highlight-python"><div class="highlight"><pre>Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery)
</pre></div>
</div>
<p>As explained below, these datums are output as one column of a global
array, which is effectively the correlation matrix.</p>
<p>The <em>trap</em> function defined for <a class="reference internal" href="variable.html"><em>equal-style variables</em></a>
can be used to perform a time integration of this vector of datums,
using a trapezoidal rule. This is useful for calculating various
quantities which can be derived from time correlation data. If a
normalization factor is needed for the time integration, it can be
included in the variable formula or via the <em>prefactor</em> keyword.</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 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 values can
only be accessed on timesteps that are multiples of <em>Nfreq</em> since that
is when averaging is performed. The global array has # of rows =
<em>Nrepeat</em> and # of columns = Npair+2. The first column has the time
delta (in timesteps) between the pairs of input values used to
calculate the correlation, as described above. The 2nd column has the
number of samples contributing to the correlation average, as
described above. The remaining Npair columns are for I,J pairs of the
N input values, as determined by the <em>type</em> keyword, as described
above.</p>
<ul class="simple">
<li>For <em>type</em> = <em>auto</em>, the Npair = N columns are ordered: C11, C22, ...,
CNN.</li>
<li>For <em>type</em> = <em>upper</em>, the Npair = N*(N-1)/2 columns are ordered: C12,
C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N.</li>
<li>For <em>type</em> = <em>lower</em>, the Npair = N*(N-1)/2 columns are ordered: C21,
C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1.</li>
<li>For <em>type</em> = <em>auto/upper</em>, the Npair = N*(N+1)/2 columns are ordered:
C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N,
CNN.</li>
<li>For <em>type</em> = <em>auto/lower</em>, the Npair = N*(N+1)/2 columns are ordered:
C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1,
CNN.</li>
<li>For <em>type</em> = <em>full</em>, the Npair = N^2 columns are ordered: C11, C12,
..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1,
CNN.</li>
</ul>
<p>The array values calculated by this fix are treated as &#8220;intensive&#8221;.
If you need to divide them by the number of atoms, you must do this in
a later processing step, e.g. when using them in a
<a class="reference internal" href="variable.html"><em>variable</em></a>.</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_time.html"><em>fix ave/time</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></p>
<p><strong>Default:</strong> none</p>
<p>The option defaults are ave = one, type = auto, start = 0, no file
output, title 1,2,3 = strings as described above, and prefactor = 1.0.</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="_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>

Event Timeline