<p>where <spanclass="math">\(m_i\)</span> is the mass and <spanclass="math">\(k(\mathbf r_i)\)</span> maps the particle
position to the respective reservoir. The quantity
<spanclass="math">\(F_{\Gamma_{k(\mathbf r_i)}}\)</span> corresponds to the input parameter
<em>F</em>, which is the energy flux into the reservoir. Furthermore,
<spanclass="math">\(K_{\Gamma_{k(\mathbf r_i)}}\)</span> and <spanclass="math">\(v_{\Gamma_{k(\mathbf r_i)}}\)</span>
denote the non-translational kinetic energy and the centre of mass
velocity of that reservoir. The thermostatting force does not affect
the centre of mass velocities of the individual reservoirs and the
entire simulation box. A derivation of the equations and details on
the numerical implementation with velocity Verlet in LAMMPS can be
found in reference “(Wirnsberger)”#_Wirnsberger.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">This fix only integrates the thermostatting force and must be
combined with another integrator, such as <aclass="reference internal"href="fix_nve.html"><spanclass="doc">fix nve</span></a>, to
solve the full equations of motion.</p>
</div>
<p>This fix is different from a thermostat such as <aclass="reference internal"href="fix_nh.html"><spanclass="doc">fix nvt</span></a>
or <aclass="reference internal"href="fix_temp_rescale.html"><spanclass="doc">fix temp/rescale</span></a> in that energy is
added/subtracted continually. Thus if there isn’t another mechanism
in place to counterbalance this effect, the entire system will heat or
cool continuously.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">If heat is subtracted from the system too aggressively so that
the group’s kinetic energy would go to zero, then LAMMPS will halt
with an error message. Increasing the value of <em>nevery</em> means that
heat is added/subtracted less frequently but in larger portions. The
resulting temperature profile will therefore be the same.</p>
</div>
<p>This fix will default to <aclass="reference internal"href="fix_heat.html"><spanclass="doc">fix_heat</span></a> (HEX algorithm) if
the keyword <em>hex</em> is specified.</p>
<hrclass="docutils"/>
<p><strong>Compatibility with SHAKE and RATTLE (rigid molecules)</strong>:</p>
<p>This fix is compatible with <aclass="reference internal"href="fix_shake.html"><spanclass="doc">fix shake</span></a> and <aclass="reference internal"href="fix_shake.html"><spanclass="doc">fix rattle</span></a>. If either of these constraining algorithms is
specified in the input script and the keyword <em>constrain</em> is set, the
bond distances will be corrected a second time at the end of the
integration step. It is recommended to specify the keyword <em>com</em> in
addition to the keyword <em>constrain</em>. With this option all sites of a
constrained cluster are rescaled, if its centre of mass is located
inside the region. Rescaling all sites of a cluster by the same factor
does not introduce any velocity components along fixed bonds. No
rescaling takes place if the centre of mass lies outside the region.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">You can only use the keyword <em>com</em> along with <em>constrain</em>.</p>
</div>
<p>To achieve the highest accuracy it is recommended to use <aclass="reference internal"href="fix_shake.html"><spanclass="doc">fix rattle</span></a> with the keywords <em>constrain</em> and <em>com</em> as
shown in the second example. Only if RATTLE is employed, the velocity
constraints will be satisfied.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">Even if RATTLE is used and the keywords <em>com</em> and <em>constrain</em>
are both set, the coordinate constraints will not necessarily be
satisfied up to the target precision. The velocity constraints are
satisfied as long as all sites of a cluster are rescaled (keyword
<em>com</em>) and the cluster does not span adjacent reservoirs. The current
implementation of the eHEX algorithm introduces a small error in the
bond distances, which goes to zero with order three in the
timestep. For example, in a simulation of SPC/E water with a timestep
of 2 fs the maximum relative error in the bond distances was found to
be on the order of <spanclass="math">\(10^{-7}\)</span> for relatively large
temperature gradients. A higher precision can be achieved by
decreasing the timestep.</p>
</div>
<hrclass="docutils"/>
<p><strong>Restart, fix_modify, output, run start/stop, minimize info:</strong></p>
<p>No information about this fix is written to <aclass="reference internal"href="restart.html"><spanclass="doc">binary restart files</span></a>. None of the <aclass="reference internal"href="fix_modify.html"><spanclass="doc">fix_modify</span></a> options
are relevant to this fix.</p>
<p>No parameter of this fix can be used with the <em>start/stop</em> keywords of
the <aclass="reference internal"href="run.html"><spanclass="doc">run</span></a> command. This fix is not invoked during <aclass="reference internal"href="minimize.html"><spanclass="doc">energy minimization</span></a>.</p>
</div>
<divclass="section"id="restrictions">
<h2>Restrictions</h2>
<p>This fix is part of the RIGID package. It is only enabled if LAMMPS
was built with that package. See the <aclass="reference internal"href="Section_start.html#start-3"><spanclass="std std-ref">Making LAMMPS</span></a> section for more info.</p>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.