forked from lijiext/lammps
145 lines
6.5 KiB
Plaintext
145 lines
6.5 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 nvt/eff command :h3
|
|
fix npt/eff command :h3
|
|
fix nph/eff command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID style_name keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
style_name = {nvt/eff} or {npt/eff} or {nph/eff} :l
|
|
one or more keyword value pairs may be appended
|
|
keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate}
|
|
{temp} values = Tstart Tstop Tdamp
|
|
Tstart,Tstop = external temperature at start/end of run
|
|
Tdamp = temperature damping parameter (time units)
|
|
{iso} or {aniso} or {tri} values = Pstart Pstop Pdamp
|
|
Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
|
|
Pdamp = pressure damping parameter (time units)
|
|
{x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp
|
|
Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
|
|
Pdamp = stress damping parameter (time units)
|
|
{couple} = {none} or {xyz} or {xy} or {yz} or {xz}
|
|
{tchain} value = length of thermostat chain (1 = single thermostat)
|
|
{pchain} values = length of thermostat chain on barostat (0 = no thermostat)
|
|
{mtk} value = {yes} or {no} = add in MTK adjustment term or not
|
|
{tloop} value = number of sub-cycles to perform on thermostat
|
|
{ploop} value = number of sub-cycles to perform on barostat thermostat
|
|
{nreset} value = reset reference cell every this many timesteps
|
|
{drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
|
|
{dilate} value = {all} or {partial} :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 1 all nvt/eff temp 300.0 300.0 0.1
|
|
fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0
|
|
fix 2 part npt/eff temp 300.0 300.0 0.1 tri 5.0 5.0 1.0
|
|
fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 :pre
|
|
|
|
[Description:]
|
|
|
|
These commands perform time integration on Nose-Hoover style
|
|
non-Hamiltonian equations of motion for nuclei and electrons in the
|
|
group for the "electron force field"_pair_eff.html model. The fixes
|
|
are designed to generate positions and velocities sampled from the
|
|
canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph)
|
|
ensembles. This is achieved by adding some dynamic variables which
|
|
are coupled to the particle velocities (thermostatting) and simulation
|
|
domain dimensions (barostatting). In addition to basic thermostatting
|
|
and barostatting, these fixes can also create a chain of thermostats
|
|
coupled to the particle thermostat, and another chain of thermostats
|
|
coupled to the barostat variables. The barostat can be coupled to the
|
|
overall box volume, or to individual dimensions, including the {xy},
|
|
{xz} and {yz} tilt dimensions. The external pressure of the barostat
|
|
can be specified as either a scalar pressure (isobaric ensemble) or as
|
|
components of a symmetric stress tensor (constant stress ensemble).
|
|
When used correctly, the time-averaged temperature and stress tensor
|
|
of the particles will match the target values specified by
|
|
Tstart/Tstop and Pstart/Pstop.
|
|
|
|
The operation of these fixes is exactly like that described by the
|
|
"fix nvt, npt, and nph"_fix_nh.html commands, except that the radius
|
|
and radial velocity of electrons are also updated. Likewise the
|
|
temperature and pressure calculated by the fix, using the computes it
|
|
creates (as discussed in the "fix nvt, npt, and nph"_fix_nh.html
|
|
doc page), are performed with computes that include the eFF contribution
|
|
to the temperature or kinetic energy from the electron radial velocity.
|
|
|
|
IMPORTANT NOTE: there are two different pressures that can be reported
|
|
for eFF when defining the pair_style (see "pair
|
|
eff/cut"_pair_eff_cut.html to understand these settings), one
|
|
(default) that considers electrons do not contribute radial virial
|
|
components (i.e. electrons treated as incompressible 'rigid' spheres)
|
|
and one that does. The radial electronic contributions to the virials
|
|
are only tallied if the flexible pressure option is set, and this will
|
|
affect both global and per-atom quantities. In principle, the true
|
|
pressure of a system is somewhere in between the rigid and the
|
|
flexible eFF pressures, but, for most cases, the difference between
|
|
these two pressures will not be significant over long-term averaged
|
|
runs (i.e. even though the energy partitioning changes, the total
|
|
energy remains similar).
|
|
|
|
IMPORTANT NOTE: currently, there is no available option for the user
|
|
to set or create temperature distributions that include the radial
|
|
electronic degrees of freedom with the "velocity"_velocity.html
|
|
command, so the the user must allow for these degrees of freedom to
|
|
equilibrate (i.e. equi-partitioning of energy) through time
|
|
integration.
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
See the doc page for the "fix nvt, npt, and nph"_fix_nh.html commands
|
|
for details.
|
|
|
|
[Restrictions:]
|
|
|
|
This fix is part of the "user-eff" package. It is only enabled if
|
|
LAMMPS was built with that package. See the "Making
|
|
LAMMPS"_Section_start.html#2_3 section for more info.
|
|
|
|
Other restriction discussed on the doc page for the "fix nvt, npt, and
|
|
nph"_fix_nh.html commands also apply.
|
|
|
|
IMPORTANT NOTE: The temperature for systems (regions or groups) with
|
|
only electrons and no nuclei is 0.0 (i.e. not defined) in the current
|
|
temperature calculations, a practical example would be a uniform
|
|
electron gas or a very hot plasma, where electrons remain delocalized
|
|
from the nuclei. This is because, even though electron virials are
|
|
included in the temperature calculation, these are averaged over the
|
|
nuclear degrees of freedom only. In such cases a corrective term must
|
|
be added to the pressure to get the correct kinetic contribution.
|
|
|
|
[Related commands:]
|
|
|
|
"fix nvt"_fix_nh.html, "fix nph"_fix_nh.html, "fix npt"_fix_nh.html,
|
|
"fix_modify"_fix_modify.html, "run_style"_run_style.html
|
|
|
|
[Default:]
|
|
|
|
The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop =
|
|
ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none.
|
|
|
|
:line
|
|
|
|
:link(Martyna)
|
|
[(Martyna)] Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).
|
|
|
|
:link(Parrinello)
|
|
[(Parrinello)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
|
|
|
|
:link(Tuckerman)
|
|
[(Tuckerman)] Tuckerman, Alejandre, Lopez-Rendon, Jochim, and
|
|
Martyna, J Phys A: Math Gen, 39, 5629 (2006).
|
|
|
|
:link(Shinoda)
|
|
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
|