"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).
