lammps/doc/temper.html

85 lines
3.3 KiB
HTML

<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>temper command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>temper N M temp fix-ID seed1 seed2 index
</PRE>
<UL><LI>N = total # of timesteps to run
<LI>M = attempt a tempering swap every this many steps
<LI>temp = initial temperature for this ensemble
<LI>fix-ID = ID of the fix that will control temperature during the run
<LI>seed1 = random # seed used to decide on adjacent temperature to partner with
<LI>seed2 = random # seed for Boltzmann factor in Metropolis swap
<LI>index = which temperature (0 to N-1) I am simulating (optional)
</UL>
<P><B>Examples:</B>
</P>
<PRE>temper 100000 100 $t tempfix 0 58728
temper 40000 100 $t tempfix 0 32285 $w
</PRE>
<P><B>Description:</B>
</P>
<P>Run a parallel tempering (replica exchange) simulation of multiple
ensembles of a system on multiple partitions of processors. The
processor partitions are defined using the -partition command-line
switch (see <A HREF = "Section_start.html#2_6">this section</A>). Each ensemble's
temperature is typically controlled at a different value by a fix with
ID <I>fix-ID</I> that controls temperature. Possible fix styles are
<A HREF = "fix_nvt.html">nvt</A>, <A HREF = "fix_npt.html">temp/berendsen</A>,
<A HREF = "fix_langevin.html">langevin</A> and <A HREF = "fix_temp_rescale.html">temp/rescale</A>.
The desired temperature is specified by <I>temp</I>, which is typically a
variable previously set in the input script, so that each partition is
assigned a different temperature. See the <A HREF = "variable.html">variable</A>
command for more details. For example,
</P>
<PRE>variable t world 300.0 310.0 320.0 330.0
</PRE>
<P>As the tempering simulation runs for <I>N</I> timesteps, a swap between
adjacent ensembles will be attempted every <I>M</I> timesteps. If <I>seed1</I>
is 0, then the swap attempts will alternate between odd and even
pairings. If <I>seed1</I> is non-zero then it is used as a seed in a
random number generator to randomly choose an odd or even pairing each
time. Each attempted swap of temperatures is either accepted or
rejected based on a Boltzmann-weighted Metropolis criterion which uses
<I>seed2</I> in the random number generator.
</P>
<P>The last argument <I>index</I> is optional and is used when restarting a
tempering run from a set of restart files (one for each replica) which
had previously swapped to new temperatures. The <I>index</I> value (from 0
to N-1, where N is the # of replicas) identifies which temperature the
replica was simulating on the timestep the restart files were written.
Obviously, this argument must be a variable so that each partition has
the correct value. Set the variable to the <I>N</I> values listed in the
log file for the previous run for the replica temperatures at that
timestep. For example if the log file listed
</P>
<PRE>500000 2 4 0 1 3
</PRE>
<P>then a setting of
</P>
<PRE>variable w proc 2 4 0 1 3
</PRE>
<P>would be used to restart the run with a tempering command like the
example above with $w as the last argument.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "variable.html">variable</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>