git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3122 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2009-08-27 18:51:09 +00:00
parent fa1d760b79
commit b7238e42e1
6 changed files with 69 additions and 30 deletions

View File

@ -25,16 +25,17 @@
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I>
<LI>keyword = <I>drag</I> or <I>chain</I>
<PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag)
<PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag)
<I>chain</I> value = <I>yes</I> or <I>no</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nvt 300.0 300.0 100.0
fix 1 all nvt 300.0 300.0 100.0 drag 0.2
fix 1 all nvt 300.0 300.0 100.0 drag 0.2 chain no
</PRE>
<P><B>Description:</B>
</P>
@ -55,15 +56,29 @@ example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
<A HREF = "units.html">units</A> command).
</P>
<P>The <I>chain</I> keyword determines whether Nose/Hoover chains are used or
not. If <I>chain</I> is specified as <I>no</I>, then the original Nose/Hoover
formulation is used. If <I>chain</I> is specified as <I>yes</I>, which is the
default, then chains as described in <A HREF = "#Martyna">(Martyna)</A> are used
which include extra non-physical variables which couple to the
thermostat. Nose/Hoover chains provide a more robust NVT integrator,
overcoming non-ergodic sampling issues and energy oscillations found
with ordinary Nose/Hoover dynamics. Our implementation uses one chain
and integrates the equations of motion via a Trotter expansion good to
2nd order accuracy in the timestep size.
</P>
<P>In some cases (e.g. for solids) the temperature of the system can
oscillate undesirably when a Nose/Hoover thermostat is applied. The
optional <I>drag</I> keyword will damp these oscillations, although it
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
the larger the value specified, the greater the damping effect.
Performing a short run and monitoring the temperature is the best way
to determine if the drag term is working. Typically a value between
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
oscillate undesirably when a Nose/Hoover thermostat is applied, though
this should be less of a problem if Nose/Hoover chains are used. The
optional <I>drag</I> keyword will damp these oscillations in an ad-hoc
fashion, by altering the Nose/Hoover equations so that they no longer
exactly sample the canonical ensemble. A value of 0.0 (no drag)
leaves the Nose/Hoover formalism unchanged. A non-zero value adds a
drag term; the larger the value specified, the greater the damping
effect. Performing a short run and monitoring the temperature is the
best way to determine if the drag term is working. Typically a value
between 0.2 to 2.0 is sufficient to damp oscillations after a few
periods.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_berendsen.html">fix temp/berendsen</A>
command which performs thermostatting but NO time integration, this
@ -159,7 +174,7 @@ temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>,
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0.
<P>The keyword defaults are drag = 0.0 and chain = yes.
</P>
<HR>
@ -167,4 +182,9 @@ temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>,
<P><B>(Hoover)</B> Hoover, Phys Rev A, 31, 1695 (1985).
</P>
<A NAME = "Martyna"></A>
<P><B>(Martyna)</B> Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992);
Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.
</P>
</HTML>

View File

@ -18,14 +18,15 @@ Tstart,Tstop = desired temperature at start/end of run :l
Tdamp = temperature damping parameter (time units) :l
zero or more keyword/value pairs may be appended :l
keyword = {drag} :l
{drag} value = drag factor added to thermostat (0.0 = no drag) :pre
keyword = {drag} or {chain} :l
{drag} value = drag factor added to thermostat (0.0 = no drag)
{chain} value = {yes} or {no} :pre
:ule
[Examples:]
fix 1 all nvt 300.0 300.0 100.0
fix 1 all nvt 300.0 300.0 100.0 drag 0.2 :pre
fix 1 all nvt 300.0 300.0 100.0 drag 0.2 chain no :pre
[Description:]
@ -46,15 +47,29 @@ example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
"units"_units.html command).
The {chain} keyword determines whether Nose/Hoover chains are used or
not. If {chain} is specified as {no}, then the original Nose/Hoover
formulation is used. If {chain} is specified as {yes}, which is the
default, then chains as described in "(Martyna)"_#Martyna are used
which include extra non-physical variables which couple to the
thermostat. Nose/Hoover chains provide a more robust NVT integrator,
overcoming non-ergodic sampling issues and energy oscillations found
with ordinary Nose/Hoover dynamics. Our implementation uses one chain
and integrates the equations of motion via a Trotter expansion good to
2nd order accuracy in the timestep size.
In some cases (e.g. for solids) the temperature of the system can
oscillate undesirably when a Nose/Hoover thermostat is applied. The
optional {drag} keyword will damp these oscillations, although it
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
the larger the value specified, the greater the damping effect.
Performing a short run and monitoring the temperature is the best way
to determine if the drag term is working. Typically a value between
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
oscillate undesirably when a Nose/Hoover thermostat is applied, though
this should be less of a problem if Nose/Hoover chains are used. The
optional {drag} keyword will damp these oscillations in an ad-hoc
fashion, by altering the Nose/Hoover equations so that they no longer
exactly sample the canonical ensemble. A value of 0.0 (no drag)
leaves the Nose/Hoover formalism unchanged. A non-zero value adds a
drag term; the larger the value specified, the greater the damping
effect. Performing a short run and monitoring the temperature is the
best way to determine if the drag term is working. Typically a value
between 0.2 to 2.0 is sufficient to damp oscillations after a few
periods.
IMPORTANT NOTE: Unlike the "fix temp/berendsen"_fix_berendsen.html
command which performs thermostatting but NO time integration, this
@ -150,9 +165,13 @@ temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html,
[Default:]
The keyword defaults are drag = 0.0.
The keyword defaults are drag = 0.0 and chain = yes.
:line
:link(Hoover)
[(Hoover)] Hoover, Phys Rev A, 31, 1695 (1985).
:link(Martyna)
[(Martyna)] Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992);
Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.

View File

@ -18,7 +18,7 @@
<UL><LI>etol = stopping tolerance for energy (unitless)
<LI>ftol = stopping tolerance for force (force units)
<LI>maxiter = max iterations of minimizer
<LI>maxeval = max number of total force/energy evaluations
<LI>maxeval = max number of force/energy evaluations
</UL>
<P><B>Examples:</B>
</P>

View File

@ -15,7 +15,7 @@ minimize etol ftol maxiter maxeval :pre
etol = stopping tolerance for energy (unitless)
ftol = stopping tolerance for force (force units)
maxiter = max iterations of minimizer
maxeval = max number of total force/energy evaluations :ul
maxeval = max number of force/energy evaluations :ul
[Examples:]

View File

@ -45,8 +45,8 @@ write. See the <A HREF = "undump.html">undump</A> command or <A HREF = "restart
if necessary. New specifications for dump and restart files can be
given after the reset_timestep command is used.
</P>
<P>This command cannot be used when any fixes are defined that keeps
track of elapsed time to perform time-dependent operations. Examples
<P>This command cannot be used when any fixes are defined that keep track
of elapsed time to perform time-dependent operations. Examples
include the "ave" fixes such as <A HREF = "fix_ave_spatial.html">fix
ave/spatial</A>. Also <A HREF = "fix_dt_reset.html">fix
dt/reset</A> and <A HREF = "fix_deposity.html">fix deposit</A>.

View File

@ -42,8 +42,8 @@ write. See the "undump"_undump.html command or "restart
if necessary. New specifications for dump and restart files can be
given after the reset_timestep command is used.
This command cannot be used when any fixes are defined that keeps
track of elapsed time to perform time-dependent operations. Examples
This command cannot be used when any fixes are defined that keep track
of elapsed time to perform time-dependent operations. Examples
include the "ave" fixes such as "fix
ave/spatial"_fix_ave_spatial.html. Also "fix
dt/reset"_fix_dt_reset.html and "fix deposit"_fix_deposity.html.