lammps/doc/fix_nvt.txt

92 lines
3.6 KiB
Plaintext
Raw Normal View History

"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix nvt command :h3
[Syntax:]
fix ID group-ID nvt Tstart Tstop Tdamp keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nvt = style name of this fix command :l
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 to the args :l
keyword = {drag} :l
{drag} value = drag factor added to thermostat (0.0 = no drag) :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
[Description:]
Perform constant NVT integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover temperature
thermostat. V is volume; T is temperature. This creates a system
trajectory consistent with the canonical ensemble.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. The "run"_run.html command documents
how to make the ramping take place across multiple runs. The {Tdamp}
parameter is specified in time units and determines how rapidly the
temperature is relaxed. For 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).
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.
This fix computes a temperature each timestep. The fix creates its
own method for computing T, as if it had been defined by the command:
temperature fix-ID group-ID full :pre
See the "temperature"_temperature.html command for details. Note that
this is NOT the temperature with ID = {default}. This means you can
change the attributes of this fix's temperature (e.g. its
degrees-of-freedom) via the "temp_modify"_temp_modify.html command or
print the temperature with thermodyanmic output via the "thermo_style
custom"_thermo_style.html command using the appropriate temp-ID =
fix-ID. It also means that changing attributes of the default
temperature will have no effect on this fix. Alternatively, you can
directly assign a new temperature to the fix via the
"fix_modify"_fix_modify.html command.
This fix supports the "fix_modify"_fix_modify.html options for
{thermo} and {energy}. The former will print the contribution the fix
makes to the energy of the system when thermodynamics is printed. The
latter will add this contribution to the total potential energy
(PotEng) so that energy conservation can be monitored.
[Restrictions:]
The final Tstop cannot be 0.0 since it would make the target T = 0.0
at some timestep during the simulation which is not allowed in
the Nose/Hoover formulation.
[Related commands:]
"fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html,
"fix_modify"_fix_modify.html, "temperature"_temperature.html
[Default:]
The keyword defaults are drag = 0.0.