forked from lijiext/lammps
87 lines
3.2 KiB
Plaintext
87 lines
3.2 KiB
Plaintext
"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 heat command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID heat N eflux :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command
|
|
heat = style name of this fix command
|
|
N = add/subtract heat every this many timesteps
|
|
eflux = rate of heat addition or subtraction (energy/time units) :ul
|
|
|
|
[Examples:]
|
|
|
|
fix 3 qin heat 1 1.0
|
|
fix 4 qout heat 1 -1.0 :pre
|
|
|
|
[Description:]
|
|
|
|
Add non-translational kinetic energy (heat) to a group of atoms such
|
|
that their aggregate momentum is conserved. Two of these fixes can be
|
|
used to establish a temperature gradient across a simulation domain by
|
|
adding heat to one group of atoms (hot reservoir) and subtracting heat
|
|
from another (cold reservoir). E.g. a simulation sampling from the
|
|
McDLT ensemble. Note that the fix is applied to a group of atoms, not
|
|
a geometric region, so that the same set of atoms is affected wherever
|
|
they may move to.
|
|
|
|
Heat addition/subtraction is performed every N timesteps. The {eflux}
|
|
parameter determines the change in aggregate energy of the entire
|
|
group of atoms per unit time, e.g. in eV/psec for "metal
|
|
units"_units.html. Thus it is an "extensive" quantity, meaning its
|
|
magnitude should be scaled with the number of atoms in the group.
|
|
Since {eflux} is independent of N or the "timestep"_timestep.html, a
|
|
larger value of N will add/subtract a larger amount of energy each
|
|
time the fix is invoked. If heat is subtracted from the system too
|
|
aggressively so that the group's kinetic energy would go to zero,
|
|
LAMMPS halts with an error message.
|
|
|
|
Fix heat is different from a thermostat such as "fix nvt"_fix_nvt.html
|
|
or "fix temp/rescale"_fix_temp_rescale.html 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. You can use multiple heat fixes so that the net
|
|
energy change is 0.0 or use "fix viscous"_fix_viscous to drain energy
|
|
from the system.
|
|
|
|
This fix does not change the coordinates of its atoms; it only scales
|
|
their velocities. Thus you must still use an integration fix
|
|
(e.g. "fix nve"_fix_nve.html) on the affected atoms. This fix should
|
|
not normally be used on atoms that have their temperature controlled
|
|
by another fix - e.g. "fix nvt"_fix_nvt.html or "fix
|
|
langevin"_fix_langevin.html fix.
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
|
are relevant to this fix.
|
|
|
|
This fix computes a scalar which can be accessed by various "output
|
|
commands"_Section_howto.html#4_15. This scalar is the most recent
|
|
value by which velocites were scaled. The scalar value calculated by
|
|
this fix is "intensive", meaning it is independent of the number of
|
|
atoms in the simulation.
|
|
|
|
No parameter of this fix can be used with the {start/stop} keywords of
|
|
the "run"_run.html command. This fix is not invoked during "energy
|
|
minimization"_minimize.html.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"compute temp"_compute_temp.html, "compute
|
|
temp/region"_compute_temp_region.html
|
|
|
|
[Default:] none
|
|
|