lammps/doc/html/fix_gld.html

323 lines
15 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 gld 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>fix gld 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-gld-command">
<span id="index-0"></span><h1>fix gld 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">gld</span> <span class="n">Tstart</span> <span class="n">Tstop</span> <span class="n">N_k</span> <span class="n">seed</span> <span class="n">series</span> <span class="n">c_1</span> <span class="n">tau_1</span> <span class="o">...</span> <span class="n">c_N_k</span> <span class="n">tau_N_k</span> <span class="n">keyword</span> <span class="n">values</span> <span class="o">...</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>gld = style name of this fix command</li>
<li>Tstart,Tstop = desired temperature at start/end of run (temperature units)</li>
<li>N_k = number of terms in the Prony series representation of the memory kernel</li>
<li>seed = random number seed to use for white noise (positive integer)</li>
<li>series = <em>pprony</em> is presently the only available option</li>
<li>c_k = the weight of the kth term in the Prony series (mass per time units)</li>
<li>tau_k = the time constant of the kth term in the Prony series (time units)</li>
<li>zero or more keyword/value pairs may be appended</li>
</ul>
<pre class="literal-block">
keyword = <em>frozen</em> or <em>zero</em>
<em>frozen</em> value = <em>no</em> or <em>yes</em>
<em>no</em> = initialize extended variables using values drawn from equilibrium distribution at Tstart
<em>yes</em> = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature)
<em>zero</em> value = <em>no</em> or <em>yes</em>
<em>no</em> = do not set total random force to zero
<em>yes</em> = set total random force to zero
</pre>
</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="mi">1</span> <span class="nb">all</span> <span class="n">gld</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mi">2</span> <span class="mi">82885</span> <span class="n">pprony</span> <span class="mf">0.5</span> <span class="mf">1.0</span> <span class="mf">1.0</span> <span class="mf">2.0</span> <span class="n">frozen</span> <span class="n">yes</span> <span class="n">zero</span> <span class="n">yes</span>
<span class="n">fix</span> <span class="mi">3</span> <span class="n">rouse</span> <span class="n">gld</span> <span class="mf">7.355</span> <span class="mf">7.355</span> <span class="mi">4</span> <span class="mi">48823</span> <span class="n">pprony</span> <span class="mf">107.1</span> <span class="mf">0.02415</span> <span class="mf">186.0</span> <span class="mf">0.04294</span> <span class="mf">428.6</span> <span class="mf">0.09661</span> <span class="mi">1714</span> <span class="mf">0.38643</span>
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description</h2>
<p>Applies Generalized Langevin Dynamics to a group of atoms, as
described in <a class="reference internal" href="#baczewski"><span class="std std-ref">(Baczewski)</span></a>. This is intended to model the
effect of an implicit solvent with a temporally non-local dissipative
force and a colored Gaussian random force, consistent with the
Fluctuation-Dissipation Theorem. The functional form of the memory
kernel associated with the temporally non-local force is constrained
to be a Prony series.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">While this fix bears many similarities to <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>, it has one significant
difference. Namely, <a class="reference internal" href="#"><span class="doc">fix gld</span></a> performs time integration,
whereas <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a> does NOT. To this end, the
specification of another fix to perform time integration, such as <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a>, is NOT necessary.</p>
</div>
<p>With this fix active, the force on the <em>j</em>th atom is given as</p>
<img alt="_images/fix_gld1.jpg" class="align-center" src="_images/fix_gld1.jpg" />
<p>Here, the first term is representative of all conservative (pairwise,
bonded, etc) forces external to this fix, the second is the temporally
non-local dissipative force given as a Prony series, and the third is
the colored Gaussian random force.</p>
<p>The Prony series form of the memory kernel is chosen to enable an
extended variable formalism, with a number of exemplary mathematical
features discussed in <a class="reference internal" href="#baczewski"><span class="std std-ref">(Baczewski)</span></a>. In particular, 3N_k
extended variables are added to each atom, which effect the action of
the memory kernel without having to explicitly evaluate the integral
over time in the second term of the force. This also has the benefit
of requiring the generation of uncorrelated random forces, rather than
correlated random forces as specified in the third term of the force.</p>
<p>Presently, the Prony series coefficients are limited to being greater
than or equal to zero, and the time constants are limited to being
greater than zero. To this end, the value of series MUST be set to
<em>pprony</em>, for now. Future updates will allow for negative coefficients
and other representations of the memory kernel. It is with these
updates in mind that the series option was included.</p>
<p>The units of the Prony series coefficients are chosen to be mass per
time to ensure that the numerical integration scheme stably approaches
the Newtonian and Langevin limits. Details of these limits, and the
associated numerical concerns are discussed in
<a class="reference internal" href="#baczewski"><span class="std std-ref">(Baczewski)</span></a>.</p>
<p>The desired temperature at each timestep is ramped from <em>Tstart</em> to
<em>Tstop</em> over the course of the next run.</p>
<p>The random # <em>seed</em> must be a positive integer. A Marsaglia random
number generator is used. Each processor uses the input seed to
generate its own unique seed and its own stream of random
numbers. Thus the dynamics of the system will not be identical on two
runs on different numbers of processors.</p>
<hr class="docutils" />
<p>The keyword/value option pairs are used in the following ways.</p>
<p>The keyword <em>frozen</em> can be used to specify how the extended variables
associated with the GLD memory kernel are initialized. Specifying no
(the default), the initial values are drawn at random from an
equilibrium distribution at <em>Tstart</em>, consistent with the
Fluctuation-Dissipation Theorem. Specifying yes, initializes the
extended variables to zero.</p>
<p>The keyword <em>zero</em> can be used to eliminate drift due to the
thermostat. Because the random forces on different atoms are
independent, they do not sum exactly to zero. As a result, this fix
applies a small random force to the entire system, and the
center-of-mass of the system undergoes a slow random walk. If the
keyword <em>zero</em> is set to <em>yes</em>, the total random force is set exactly
to zero by subtracting off an equal part of it from each atom in the
group. As a result, the center-of-mass of a system with zero initial
momentum will not drift over time.</p>
<hr class="docutils" />
<p><strong>Restart, run start/stop, minimize info:</strong></p>
<p>The instantaneous values of the extended variables are written to
<a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>. Because the state of the random
number generator is not saved in restart files, this means you cannot
do &#8220;exact&#8221; restarts with this fix, where the simulation continues on
the same as if no restart had taken place. However, in a statistical
sense, a restarted simulation should produce the same behavior.</p>
<p>None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options are relevant to this
fix. No global or per-atom quantities are stored by this fix for
access by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.</p>
<p>This fix can ramp its target temperature over multiple runs, using the
<em>start</em> and <em>stop</em> keywords of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. See the
<a class="reference internal" href="run.html"><span class="doc">run</span></a> command for details of how to do this.</p>
<p>This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
</div>
<div class="section" id="restrictions">
<h2>Restrictions</h2>
<p>This fix is part of the MISC package. It is only enabled if LAMMPS
was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
</div>
<div class="section" id="related-commands">
<h2>Related commands</h2>
<p><a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>, <a class="reference internal" href="fix_viscous.html"><span class="doc">fix viscous</span></a>,
<a class="reference internal" href="pair_dpd.html"><span class="doc">pair_style dpd/tstat</span></a></p>
</div>
<div class="section" id="default">
<h2>Default</h2>
<p>The option defaults are frozen = no, zero = no.</p>
<hr class="docutils" />
<p id="baczewski"><strong>(Baczewski)</strong> A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013).</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>