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

This commit is contained in:
sjplimp
2010-04-02 16:51:06 +00:00
parent 7681ede98d
commit aa618da536
160 changed files with 2639 additions and 2811 deletions

BIN
doc/Eqs/fix_box_relax1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
$$
E = U + P_t \left(V-V_0 \right) + E_{strain}
$$
\end{document}

BIN
doc/Eqs/fix_box_relax2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
$$
\mathbf P = P_t \mathbf I + {\mathbf S_t} \left( \mathbf h_0^{-1} \right)^t \mathbf h_{0d}
$$
\end{document}

View File

@ -326,12 +326,12 @@ of each style or click on the style itself for a full description:
<TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_histo.html">ave/histo</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_bond_break.html">bond/break</A></TD><TD ><A HREF = "fix_bond_create.html">bond/create</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_bond_swap.html">bond/swap</A></TD><TD ><A HREF = "fix_box_relax.html">box/relax</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD><TD ><A HREF = "fix_drag.html">drag</A></TD><TD ><A HREF = "fix_dt_reset.html">dt/reset</A></TD><TD ><A HREF = "fix_efield.html">efield</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_evaporate.html">evaporate</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD><TD ><A HREF = "fix_indent.html">indent</A></TD><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_move.html">move</A></TD><TD ><A HREF = "fix_nph.html">nph</A></TD><TD ><A HREF = "fix_npt.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_press_berendsen.html">press/berendsen</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/bonds</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_store_coord.html">store/coord</A></TD><TD ><A HREF = "fix_store_force.html">store/force</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall.html">wall/harmonic</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wall_region.html">wall/region</A>
<TR ALIGN="center"><TD ><A HREF = "fix_move.html">move</A></TD><TD ><A HREF = "fix_nh.html">nph</A></TD><TD ><A HREF = "fix_nph_asphere.html">nph/asphere</A></TD><TD ><A HREF = "fix_nph_sphere.html">nph/sphere</A></TD><TD ><A HREF = "fix_nh.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nh.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_press_berendsen.html">press/berendsen</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/bonds</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_store_coord.html">store/coord</A></TD><TD ><A HREF = "fix_store_force.html">store/force</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall.html">wall/harmonic</A></TD><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wall_region.html">wall/region</A>
</TD></TR></TABLE></DIV>
<P>These are fix styles contributed by users, which can be used if

View File

@ -407,8 +407,10 @@ of each style or click on the style itself for a full description:
"lineforce"_fix_lineforce.html,
"momentum"_fix_momentum.html,
"move"_fix_move.html,
"nph"_fix_nph.html,
"npt"_fix_npt.html,
"nph"_fix_nh.html,
"nph/asphere"_fix_nph_asphere.html,
"nph/sphere"_fix_nph_sphere.html,
"npt"_fix_nh.html,
"npt/asphere"_fix_npt_asphere.html,
"npt/sphere"_fix_npt_sphere.html,
"nve"_fix_nve.html,
@ -416,7 +418,7 @@ of each style or click on the style itself for a full description:
"nve/limit"_fix_nve_limit.html,
"nve/noforce"_fix_nve_noforce.html,
"nve/sphere"_fix_nve_sphere.html,
"nvt"_fix_nvt.html,
"nvt"_fix_nh.html,
"nvt/asphere"_fix_nvt_asphere.html,
"nvt/sllod"_fix_nvt_sllod.html,
"nvt/sphere"_fix_nvt_sphere.html,

View File

@ -307,7 +307,7 @@ processor partition, using the <A HREF = "variable.html">variable</A> command:
</P>
<PRE>variable t world 300.0 310.0 320.0 330.0
</PRE>
<P>Define a fix of style <A HREF = "fix_nvt.html">nvt</A> or <A HREF = "fix_langevin.html">langevin</A>
<P>Define a fix of style <A HREF = "fix_nh.html">nvt</A> or <A HREF = "fix_langevin.html">langevin</A>
to control the temperature of each simulation:
</P>
<PRE>fix myfix all nvt $t $t 100.0
@ -1266,7 +1266,7 @@ in prescribed ways.
thermostatting fixes are currently available: Nose-Hoover (nvt),
Berendsen, Langevin, and direct rescaling (temp/rescale):
</P>
<UL><LI><A HREF = "fix_nvt.html">fix nvt</A>
<UL><LI><A HREF = "fix_nh.html">fix nvt</A>
<LI><A HREF = "fix_nvt_sphere.html">fix nvt/sphere</A>
<LI><A HREF = "fix_nvt_asphere.html">fix nvt/asphere</A>
<LI><A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A>
@ -1274,7 +1274,7 @@ Berendsen, Langevin, and direct rescaling (temp/rescale):
<LI><A HREF = "fix_langevin.html">fix langevin</A>
<LI><A HREF = "fix_temp_rescale.html">fix temp/rescale</A>
</UL>
<P><A HREF = "fix_nvt.html">Fix nvt</A> only thermostats the translational velocity of
<P><A HREF = "fix_nh.html">Fix nvt</A> only thermostats the translational velocity of
particles. <A HREF = "fix_nvt_sllod.html">Fix nvt/sllod</A> also does this, except
that it subtracts out a velocity bias due to a deforming box and
integrates the SLLOD equations of motion. See the <A HREF = "#4_13">NEMD
@ -1309,19 +1309,19 @@ as these:
barosttating methods are currently available: Nose-Hoover (npt and
nph) and Berendsen:
</P>
<UL><LI><A HREF = "fix_npt.html">fix npt</A>
<UL><LI><A HREF = "fix_nh.html">fix npt</A>
<LI><A HREF = "fix_npt_sphere.html">fix npt/sphere</A>
<LI><A HREF = "fix_npt_asphere.html">fix npt/asphere</A>
<LI><A HREF = "fix_nph.html">fix nph</A>
<LI><A HREF = "fix_nh.html">fix nph</A>
<LI><A HREF = "fix_press_berendsen.html">fix press/berendsen</A>
</UL>
<P>The <A HREF = "fix_npt.html">fix npt</A> commands include a Nose-Hoover thermostat
and barostat. <A HREF = "fix_nph.html">Fix nph</A> is just a Nose/Hoover barostat;
it does no thermostatting. Both <A HREF = "fix_nph.html">fix nph</A> and <A HREF = "fix_press_berendsen.html">fix
<P>The <A HREF = "fix_nh.html">fix npt</A> commands include a Nose-Hoover thermostat
and barostat. <A HREF = "fix_nh.html">Fix nph</A> is just a Nose/Hoover barostat;
it does no thermostatting. Both <A HREF = "fix_nh.html">fix nph</A> and <A HREF = "fix_press_berendsen.html">fix
press/bernendsen</A> can be used in conjunction
with any of the thermostatting fixes.
</P>
<P>As with the thermostats, <A HREF = "fix_npt.html">fix npt</A> and <A HREF = "fix_nph.html">fix
<P>As with the thermostats, <A HREF = "fix_nh.html">fix npt</A> and <A HREF = "fix_nh.html">fix
nph</A> only use translational motion of the particles in
computing T and P and performing thermo/barostatting. <A HREF = "fix_npt_sphere.html">Fix
npt/sphere</A> and <A HREF = "fix_npt_asphere.html">fix
@ -1341,8 +1341,8 @@ pressure. See the doc pages for the individual fixes and for the
<A HREF = "fix_modify.html">fix_modify</A> command for instructions on how to assign
a temperature or pressure compute to a barostatting fix.
</P>
<P>IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (<A HREF = "fix_npt.html">fix
npt</A> and <A HREF = "fix_nph.html">fix nph</A>) perform time
<P>IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (<A HREF = "fix_nh.html">fix
npt</A> and <A HREF = "fix_nh.html">fix nph</A>) perform time
integration. <A HREF = "fix_press_berendsen.html">Fix press/berendsen</A> does NOT,
so it should be used with one of the constant NVE fixes or with one of
the NVT fixes.
@ -1381,7 +1381,7 @@ or read in via the <A HREF = "read_data.html">read_data</A> command.
they do not move at all, move together as a group at constant velocity
or in response to a net force acting on them, move in a prescribed
fashion (e.g. rotate around a point), etc. Note that if a time
integration fix like <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nvt.html">fix nvt</A>
integration fix like <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nh.html">fix nvt</A>
is not used with the group that contains wall particles, their
positions and velocities will not be updated.
</P>

View File

@ -303,7 +303,7 @@ processor partition, using the "variable"_variable.html command:
variable t world 300.0 310.0 320.0 330.0 :pre
Define a fix of style "nvt"_fix_nvt.html or "langevin"_fix_langevin.html
Define a fix of style "nvt"_fix_nh.html or "langevin"_fix_langevin.html
to control the temperature of each simulation:
fix myfix all nvt $t $t 100.0 :pre
@ -1255,7 +1255,7 @@ Thermostatting in LAMMPS is performed by "fixes"_fix.html. Four
thermostatting fixes are currently available: Nose-Hoover (nvt),
Berendsen, Langevin, and direct rescaling (temp/rescale):
"fix nvt"_fix_nvt.html
"fix nvt"_fix_nh.html
"fix nvt/sphere"_fix_nvt_sphere.html
"fix nvt/asphere"_fix_nvt_asphere.html
"fix nvt/sllod"_fix_nvt_sllod.html
@ -1263,7 +1263,7 @@ Berendsen, Langevin, and direct rescaling (temp/rescale):
"fix langevin"_fix_langevin.html
"fix temp/rescale"_fix_temp_rescale.html :ul
"Fix nvt"_fix_nvt.html only thermostats the translational velocity of
"Fix nvt"_fix_nh.html only thermostats the translational velocity of
particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except
that it subtracts out a velocity bias due to a deforming box and
integrates the SLLOD equations of motion. See the "NEMD
@ -1298,20 +1298,20 @@ Barostatting in LAMMPS is also performed by "fixes"_fix.html. Two
barosttating methods are currently available: Nose-Hoover (npt and
nph) and Berendsen:
"fix npt"_fix_npt.html
"fix npt"_fix_nh.html
"fix npt/sphere"_fix_npt_sphere.html
"fix npt/asphere"_fix_npt_asphere.html
"fix nph"_fix_nph.html
"fix nph"_fix_nh.html
"fix press/berendsen"_fix_press_berendsen.html :ul
The "fix npt"_fix_npt.html commands include a Nose-Hoover thermostat
and barostat. "Fix nph"_fix_nph.html is just a Nose/Hoover barostat;
it does no thermostatting. Both "fix nph"_fix_nph.html and "fix
The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
it does no thermostatting. Both "fix nph"_fix_nh.html and "fix
press/bernendsen"_fix_press_berendsen.html can be used in conjunction
with any of the thermostatting fixes.
As with the thermostats, "fix npt"_fix_npt.html and "fix
nph"_fix_nph.html only use translational motion of the particles in
As with the thermostats, "fix npt"_fix_nh.html and "fix
nph"_fix_nh.html only use translational motion of the particles in
computing T and P and performing thermo/barostatting. "Fix
npt/sphere"_fix_npt_sphere.html and "fix
npt/asphere"_fix_npt_asphere.html thermo/barostat using not only
@ -1331,7 +1331,7 @@ pressure. See the doc pages for the individual fixes and for the
a temperature or pressure compute to a barostatting fix.
IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods ("fix
npt"_fix_npt.html and "fix nph"_fix_nph.html) perform time
npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time
integration. "Fix press/berendsen"_fix_press_berendsen.html does NOT,
so it should be used with one of the constant NVE fixes or with one of
the NVT fixes.
@ -1370,7 +1370,7 @@ Their motion can be constrained by many different commands, so that
they do not move at all, move together as a group at constant velocity
or in response to a net force acting on them, move in a prescribed
fashion (e.g. rotate around a point), etc. Note that if a time
integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nvt.html
integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html
is not used with the group that contains wall particles, their
positions and velocities will not be updated.

View File

@ -43,7 +43,7 @@ commands.
<P>The style <I>p</I> means the box is periodic, so that particles interact
across the boundary, and they can exit one end of the box and re-enter
the other end. A periodic dimension can change in size due to
constant pressure boundary conditions or box deformation (see the <A HREF = "fix_npt.html">fix
constant pressure boundary conditions or box deformation (see the <A HREF = "fix_nh.html">fix
npt</A> and <A HREF = "fix_deform.html">fix deform</A> commands). The <I>p</I>
style must be applied to both faces of a dimension.
</P>

View File

@ -39,7 +39,7 @@ The style {p} means the box is periodic, so that particles interact
across the boundary, and they can exit one end of the box and re-enter
the other end. A periodic dimension can change in size due to
constant pressure boundary conditions or box deformation (see the "fix
npt"_fix_npt.html and "fix deform"_fix_deform.html commands). The {p}
npt"_fix_nh.html and "fix deform"_fix_deform.html commands). The {p}
style must be applied to both faces of a dimension.
The styles {f}, {s}, and {m} mean the box is non-periodic, so that

View File

@ -28,7 +28,7 @@ compute myTemp mobile temp
<P>Define a computation that calculates the temperature of a group of
atoms. A compute of this style can be used by any command that
computes a temperature, e.g. <A HREF = "thermo_modify.html">thermo_modify</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>The temperature is calculated by the formula KE = dim/2 N k T, where
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),

View File

@ -25,7 +25,7 @@ compute myTemp mobile temp :pre
Define a computation that calculates the temperature of a group of
atoms. A compute of this style can be used by any command that
computes a temperature, e.g. "thermo_modify"_thermo_modify.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
The temperature is calculated by the formula KE = dim/2 N k T, where
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),

View File

@ -31,7 +31,7 @@ This is useful if the group is expected to have a non-zero net
velocity for some reason. A compute of this style can be used by any
command that computes a temperature,
e.g. <A HREF = "thermo_modify.html">thermo_modify</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>After the center-of-mass velocity has been subtracted from each atom,
the temperature is calculated by the formula KE = dim/2 N k T, where
@ -56,7 +56,7 @@ velocity of the atoms. If this compute is used with a fix command
that performs thermostatting then this bias will be subtracted from
each atom, thermostatting of the remaining thermal velocity will be
performed, and the bias will be added back in. Thermostatting fixes
that work in this way include <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
that work in this way include <A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>.

View File

@ -28,7 +28,7 @@ This is useful if the group is expected to have a non-zero net
velocity for some reason. A compute of this style can be used by any
command that computes a temperature,
e.g. "thermo_modify"_thermo_modify.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
After the center-of-mass velocity has been subtracted from each atom,
the temperature is calculated by the formula KE = dim/2 N k T, where
@ -53,7 +53,7 @@ velocity of the atoms. If this compute is used with a fix command
that performs thermostatting then this bias will be subtracted from
each atom, thermostatting of the remaining thermal velocity will be
performed, and the bias will be added back in. Thermostatting fixes
that work in this way include "fix nvt"_fix_nvt.html, "fix
that work in this way include "fix nvt"_fix_nh.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html.

View File

@ -33,7 +33,7 @@ of this style is created by the <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A>
command to compute the thermal temperature of atoms for thermostatting
purposes. A compute of this style can also be used by any command
that computes a temperature, e.g. <A HREF = "thermo_modify.html">thermo_modify</A>,
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>The deformation fix changes the box size and/or shape over time, so
each atom in the simulation box can be thought of as having a
@ -80,7 +80,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
fixes that work in this way include <A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>.

View File

@ -30,7 +30,7 @@ of this style is created by the "fix nvt/sllod"_fix_nvt_sllod.html
command to compute the thermal temperature of atoms for thermostatting
purposes. A compute of this style can also be used by any command
that computes a temperature, e.g. "thermo_modify"_thermo_modify.html,
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
The deformation fix changes the box size and/or shape over time, so
each atom in the simulation box can be thought of as having a
@ -77,7 +77,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include "fix nvt"_fix_nvt.html, "fix
fixes that work in this way include "fix nvt"_fix_nh.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html.

View File

@ -29,7 +29,7 @@
atoms, after excluding one or more velocity components. A compute of
this style can be used by any command that computes a temperature,
e.g. <A HREF = "thermo_modify.html">thermo_modify</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>The temperature is calculated by the formula KE = dim/2 N k T, where
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
@ -56,7 +56,7 @@ velocity of the atoms. If this compute is used with a fix command
that performs thermostatting then this bias will be subtracted from
each atom, thermostatting of the remaining thermal velocity will be
performed, and the bias will be added back in. Thermostatting fixes
that work in this way include <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
that work in this way include <A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>.

View File

@ -26,7 +26,7 @@ Define a computation that calculates the temperature of a group of
atoms, after excluding one or more velocity components. A compute of
this style can be used by any command that computes a temperature,
e.g. "thermo_modify"_thermo_modify.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
The temperature is calculated by the formula KE = dim/2 N k T, where
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
@ -53,7 +53,7 @@ velocity of the atoms. If this compute is used with a fix command
that performs thermostatting then this bias will be subtracted from
each atom, thermostatting of the remaining thermal velocity will be
performed, and the bias will be added back in. Thermostatting fixes
that work in this way include "fix nvt"_fix_nvt.html, "fix
that work in this way include "fix nvt"_fix_nh.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html.

View File

@ -48,7 +48,7 @@ thermostatting a collection of atoms undergoing a complex flow,
e.g. via a profile-unbiased thermostat (PUT) as described in
<A HREF = "#Evans">(Evans)</A>. A compute of this style can be used by any command
that computes a temperature, e.g. <A HREF = "thermo_modify.html">thermo_modify</A>,
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>The <I>xflag</I>, <I>yflag</I>, <I>zflag</I> settings determine which components of
average velocity are subtracted out.
@ -94,7 +94,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
fixes that work in this way include <A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>.

View File

@ -40,7 +40,7 @@ thermostatting a collection of atoms undergoing a complex flow,
e.g. via a profile-unbiased thermostat (PUT) as described in
"(Evans)"_#Evans. A compute of this style can be used by any command
that computes a temperature, e.g. "thermo_modify"_thermo_modify.html,
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
The {xflag}, {yflag}, {zflag} settings determine which components of
average velocity are subtracted out.
@ -86,7 +86,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include "fix nvt"_fix_nvt.html, "fix
fixes that work in this way include "fix nvt"_fix_nh.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html.

View File

@ -37,7 +37,7 @@ atoms, after subtracting out an ramped velocity profile before
computing the kinetic energy. A compute of this style can be used by
any command that computes a temperature,
e.g. <A HREF = "thermo_modify.html">thermo_modify</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
temp/rescale</A>, <A HREF = "fix_nh.html">fix npt</A>, etc.
</P>
<P>The meaning of the arguments for this command which define the
velocity ramp are the same as for the <A HREF = "velocity.html">velocity ramp</A>
@ -75,7 +75,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
fixes that work in this way include <A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>.

View File

@ -33,7 +33,7 @@ atoms, after subtracting out an ramped velocity profile before
computing the kinetic energy. A compute of this style can be used by
any command that computes a temperature,
e.g. "thermo_modify"_thermo_modify.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
The meaning of the arguments for this command which define the
velocity ramp are the same as for the "velocity ramp"_velocity.html
@ -71,7 +71,7 @@ from the velocity of the atoms. If this compute is used with a fix
command that performs thermostatting then this bias will be subtracted
from each atom, thermostatting of the remaining thermal velocity will
be performed, and the bias will be added back in. Thermostatting
fixes that work in this way include "fix nvt"_fix_nvt.html, "fix
fixes that work in this way include "fix nvt"_fix_nh.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html.

View File

@ -36,8 +36,8 @@ temp/rescale</A>, etc.
<P>Note that a <I>region</I>-style temperature can be used to thermostat with
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A> or <A HREF = "fix_langevin.html">fix
langevin</A>, but should probably not be used with
Nose/Hoover style fixes (<A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_npt.html">fix
npt</A>, or <A HREF = "fix_nph.html">fix nph</A>), if the
Nose/Hoover style fixes (<A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_nh.html">fix
npt</A>, or <A HREF = "fix_nh.html">fix nph</A>), if the
degrees-of-freedom included in the computed T varies with time.
</P>
<P>The temperature is calculated by the formula KE = dim/2 N k T, where
@ -66,7 +66,7 @@ compute is used with a fix command that performs thermostatting then
this bias will be subtracted from each atom, thermostatting of the
remaining thermal velocity will be performed, and the bias will be
added back in. Thermostatting fixes that work in this way include
<A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
<A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_temp_berendsen">fix
temp/berendsen</A>, and <A HREF = "fix_langevin.html">fix
langevin</A>. This means any of the thermostatting
fixes can operate on a geometric region of atoms, as defined by this

View File

@ -33,8 +33,8 @@ temp/rescale"_fix_temp_rescale.html, etc.
Note that a {region}-style temperature can be used to thermostat with
"fix temp/rescale"_fix_temp_rescale.html or "fix
langevin"_fix_langevin.html, but should probably not be used with
Nose/Hoover style fixes ("fix nvt"_fix_nvt.html, "fix
npt"_fix_npt.html, or "fix nph"_fix_nph.html), if the
Nose/Hoover style fixes ("fix nvt"_fix_nh.html, "fix
npt"_fix_nh.html, or "fix nph"_fix_nh.html), if the
degrees-of-freedom included in the computed T varies with time.
The temperature is calculated by the formula KE = dim/2 N k T, where
@ -63,7 +63,7 @@ compute is used with a fix command that performs thermostatting then
this bias will be subtracted from each atom, thermostatting of the
remaining thermal velocity will be performed, and the bias will be
added back in. Thermostatting fixes that work in this way include
"fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
temp/berendsen"_fix_temp_berendsen, and "fix
langevin"_fix_langevin.html. This means any of the thermostatting
fixes can operate on a geometric region of atoms, as defined by this

View File

@ -50,7 +50,7 @@ underscores.
off a fix; simply specifying a new fix with a similar style will not
turn off the first one. This is especially important to realize for
integration fixes. For example, using a <A HREF = "fix_nve.html">fix nve</A>
command for a second run after using a <A HREF = "fix_nvt.html">fix nvt</A> command
command for a second run after using a <A HREF = "fix_nh.html">fix nvt</A> command
for the first run, will not cancel out the NVT time integration
invoked by the "fix nvt" command. Thus two time integrators would be
in place!
@ -185,8 +185,10 @@ list of fix styles available in LAMMPS:
<LI><A HREF = "fix_lineforce.html">lineforce</A> - constrain atoms to move in a line
<LI><A HREF = "fix_momentum.html">momentum</A> - zero the linear and/or angular momentum of a group of atoms
<LI><A HREF = "fix_move.html">move</A> - move atoms in a prescribed fashion
<LI><A HREF = "fix_nph.html">nph</A> - constant NPH time integration via Nose/Hoover
<LI><A HREF = "fix_npt.html">npt</A> - constant NPT time integration via Nose/Hoover
<LI><A HREF = "fix_nh.html">nph</A> - constant NPH time integration via Nose/Hoover
<LI><A HREF = "fix_nph_asphere.html">nph/asphere</A> - NPH for aspherical particles
<LI><A HREF = "fix_nph_sphere.html">nph/sphere</A> - NPH for spherical particles
<LI><A HREF = "fix_nh.html">npt</A> - constant NPT time integration via Nose/Hoover
<LI><A HREF = "fix_npt_asphere.html">npt/asphere</A> - NPT for aspherical particles
<LI><A HREF = "fix_npt_sphere.html">npt/sphere</A> - NPT for spherical particles
<LI><A HREF = "fix_nve.html">nve</A> - constant NVE time integration
@ -194,7 +196,7 @@ list of fix styles available in LAMMPS:
<LI><A HREF = "fix_nve_limit.html">nve/limit</A> - NVE with limited step length
<LI><A HREF = "fix_nve_noforce.html">nve/noforce</A> - NVE without forces (v only)
<LI><A HREF = "fix_nve_sphere.html">nve/sphere</A> - NVT for spherical particles
<LI><A HREF = "fix_nvt.html">nvt</A> - constant NVT time integration via Nose/Hoover
<LI><A HREF = "fix_nh.html">nvt</A> - constant NVT time integration via Nose/Hoover
<LI><A HREF = "fix_nvt_asphere.html">nvt/asphere</A> - NVT for aspherical particles
<LI><A HREF = "fix_nvt_sllod.html">nvt/sllod</A> - NVT for NEMD with SLLOD equations
<LI><A HREF = "fix_nvt_sphere.html">nvt/sphere</A> - NVT for spherical particles

View File

@ -47,7 +47,7 @@ IMPORTANT NOTE: The "unfix"_unfix.html command is the only way to turn
off a fix; simply specifying a new fix with a similar style will not
turn off the first one. This is especially important to realize for
integration fixes. For example, using a "fix nve"_fix_nve.html
command for a second run after using a "fix nvt"_fix_nvt.html command
command for a second run after using a "fix nvt"_fix_nh.html command
for the first run, will not cancel out the NVT time integration
invoked by the "fix nvt" command. Thus two time integrators would be
in place!
@ -180,8 +180,10 @@ list of fix styles available in LAMMPS:
"lineforce"_fix_lineforce.html - constrain atoms to move in a line
"momentum"_fix_momentum.html - zero the linear and/or angular momentum of a group of atoms
"move"_fix_move.html - move atoms in a prescribed fashion
"nph"_fix_nph.html - constant NPH time integration via Nose/Hoover
"npt"_fix_npt.html - constant NPT time integration via Nose/Hoover
"nph"_fix_nh.html - constant NPH time integration via Nose/Hoover
"nph/asphere"_fix_nph_asphere.html - NPH for aspherical particles
"nph/sphere"_fix_nph_sphere.html - NPH for spherical particles
"npt"_fix_nh.html - constant NPT time integration via Nose/Hoover
"npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles
"npt/sphere"_fix_npt_sphere.html - NPT for spherical particles
"nve"_fix_nve.html - constant NVE time integration
@ -189,7 +191,7 @@ list of fix styles available in LAMMPS:
"nve/limit"_fix_nve_limit.html - NVE with limited step length
"nve/noforce"_fix_nve_noforce.html - NVE without forces (v only)
"nve/sphere"_fix_nve_sphere.html - NVT for spherical particles
"nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover
"nvt"_fix_nh.html - constant NVT time integration via Nose/Hoover
"nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles
"nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations
"nvt/sphere"_fix_nvt_sphere.html - NVT for spherical particles

View File

@ -59,12 +59,12 @@ forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added force.
</P>
<P>This fix computes a scalar and a 3-vector of forces, which can be
accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. The
scalar is the potential energy discussed above. The vector is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The scalar vector values calculated by
this fix are "extensive".
<P>This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar is the potential energy
discussed above. The vector is the total force on the group of atoms
before the forces on individual atoms are changed by the fix. The
scalar and vector values calculated by this fix are "extensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command.

View File

@ -50,12 +50,12 @@ forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added force.
This fix computes a scalar and a 3-vector of forces, which can be
accessed by various "output commands"_Section_howto.html#4_15. The
scalar is the potential energy discussed above. The vector is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The scalar vector values calculated by
this fix are "extensive".
This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar is the potential energy
discussed above. The vector is the total force on the group of atoms
before the forces on individual atoms are changed by the fix. The
scalar and vector values calculated by this fix are "extensive".
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command.

View File

@ -71,7 +71,7 @@ book</A>, for the basics of FE simulation.
<P><I>Thermal</I> and <I>two_temperature</I> (coupling) types use a Verlet
time-integration algorithm. The <I>hardy</I> type does not contain its own
time-integrator and must be used with a separate fix that does contain
one, e.g. <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, etc.
one, e.g. <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nh.html">fix nvt</A>, etc.
</P>
<P>A set of example input files with the attendant material files are
included in the examples/USER/atc directory of the LAMMPS

View File

@ -64,7 +64,7 @@ book"_#Hughes, for the basics of FE simulation.
{Thermal} and {two_temperature} (coupling) types use a Verlet
time-integration algorithm. The {hardy} type does not contain its own
time-integrator and must be used with a separate fix that does contain
one, e.g. "fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, etc.
one, e.g. "fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, etc.
A set of example input files with the attendant material files are
included in the examples/USER/atc directory of the LAMMPS

View File

@ -146,7 +146,7 @@ array calculated by the compute is used.
which can sum per-atom quantities into a global scalar or vector which
can thus be accessed by fix ave/histo. Or it can be a compute defined
not in your input script, but by <A HREF = "thermo_style.html">thermodynamic
output</A> or other fixes such as <A HREF = "fix_nvt.html">fix
output</A> or other fixes such as <A HREF = "fix_nh.html">fix
nvt</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>. See
the doc pages for these commands which give the IDs of these computes.
Users can also write code for their own compute styles and <A HREF = "Section_modify.html">add them

View File

@ -135,7 +135,7 @@ which can sum per-atom quantities into a global scalar or vector which
can thus be accessed by fix ave/histo. Or it can be a compute defined
not in your input script, but by "thermodynamic
output"_thermo_style.html or other fixes such as "fix
nvt"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html. See
nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html. See
the doc pages for these commands which give the IDs of these computes.
Users can also write code for their own compute styles and "add them
to LAMMPS"_Section_modify.html.

View File

@ -141,7 +141,7 @@ the Ith column of the global array calculated by the compute is used.
which can sum per-atom quantities into a global scalar or vector which
can thus be accessed by fix ave/time. Or it can be a compute defined
not in your input script, but by <A HREF = "thermo_style.html">thermodynamic
output</A> or other fixes such as <A HREF = "fix_nvt.html">fix
output</A> or other fixes such as <A HREF = "fix_nh.html">fix
nvt</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>. See
the doc pages for these commands which give the IDs of these computes.
Users can also write code for their own compute styles and <A HREF = "Section_modify.html">add them
@ -263,10 +263,11 @@ appropriate fields from the fix ave/time command.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix produces a global scalar or vector or array which can be
accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. The
values can only be accessed on timesteps that are multiples of <I>Nfreq</I>
since that is when averaging is performed.
<P>This fix produces a global scalar or global vector or global array
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The values can only be accessed on
timesteps that are multiples of <I>Nfreq</I> since that is when averaging
is performed.
</P>
<P>A scalar is produced if only a single input value is averaged and
<I>mode</I> = scalar. A vector is produced if multiple input values are

View File

@ -130,7 +130,7 @@ which can sum per-atom quantities into a global scalar or vector which
can thus be accessed by fix ave/time. Or it can be a compute defined
not in your input script, but by "thermodynamic
output"_thermo_style.html or other fixes such as "fix
nvt"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html. See
nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html. See
the doc pages for these commands which give the IDs of these computes.
Users can also write code for their own compute styles and "add them
to LAMMPS"_Section_modify.html.
@ -251,10 +251,11 @@ 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 produces a global scalar or vector or array which can be
accessed by various "output commands"_Section_howto.html#4_15. The
values can only be accessed on timesteps that are multiples of {Nfreq}
since that is when averaging is performed.
This fix produces a global scalar or global vector or global array
which can be accessed by various "output
commands"_Section_howto.html#4_15. The values can only be accessed on
timesteps that are multiples of {Nfreq} since that is when averaging
is performed.
A scalar is produced if only a single input value is averaged and
{mode} = scalar. A vector is produced if multiple input values are

View File

@ -62,11 +62,11 @@ to it.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a 3-vector of forces, which can be accessed by
various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the total
force on the group of atoms before the forces on individual atoms are
changed by the fix. The vector values calculated by this fix are
"extensive".
<P>This fix computes a global 3-vector of forces, which can be accessed
by various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The vector values calculated by this
fix are "extensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command.

View File

@ -53,11 +53,11 @@ 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 3-vector of forces, which can be accessed by
various "output commands"_Section_howto.html#4_15. This is the total
force on the group of atoms before the forces on individual atoms are
changed by the fix. The vector values calculated by this fix are
"extensive".
This fix computes a global 3-vector of forces, which can be accessed
by various "output commands"_Section_howto.html#4_15. This is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The vector values calculated by this
fix are "extensive".
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command.

View File

@ -112,8 +112,8 @@ resulting from broken bonds.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes two statistics which it stores in a vector of length
2, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
<P>This fix computes two statistics which it stores in a global vector of
length 2, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The vector values calculated by
this fix are "intensive".
</P>

View File

@ -101,8 +101,8 @@ 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 two statistics which it stores in a vector of length
2, which can be accessed by various "output
This fix computes two statistics which it stores in a global vector of
length 2, which can be accessed by various "output
commands"_Section_howto.html#4_15. The vector values calculated by
this fix are "intensive".

View File

@ -169,8 +169,8 @@ resulting from created bonds.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes two statistics which it stores in a vector of length
2, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
<P>This fix computes two statistics which it stores in a global vector of
length 2, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The vector values calculated by
this fix are "intensive".
</P>

View File

@ -157,8 +157,8 @@ 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 two statistics which it stores in a vector of length
2, which can be accessed by various "output
This fix computes two statistics which it stores in a global vector of
length 2, which can be accessed by various "output
commands"_Section_howto.html#4_15. The vector values calculated by
this fix are "intensive".

View File

@ -144,8 +144,8 @@ fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have
defined to this fix which will be used to compute the temperature for
the Boltzmann criterion.
</P>
<P>This fix computes two statistical quantities as a 2-vector of output,
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
<P>This fix computes two statistical quantities as a global 2-vector of
output, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The first component of the vector
is the cummulative number of swaps performed by all processors. The
second component of the vector is the cummulative number of swaps

View File

@ -141,8 +141,8 @@ fix. You can use it to assign a "compute"_compute.html you have
defined to this fix which will be used to compute the temperature for
the Boltzmann criterion.
This fix computes two statistical quantities as a 2-vector of output,
which can be accessed by various "output
This fix computes two statistical quantities as a global 2-vector of
output, which can be accessed by various "output
commands"_Section_howto.html#4_15. The first component of the vector
is the cummulative number of swaps performed by all processors. The
second component of the vector is the cummulative number of swaps

View File

@ -13,68 +13,67 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID box/relax style args keyword value ...
<PRE>fix ID group-ID box/relax keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>box/relax = style name of this fix command
<LI>style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
<PRE> <I>xyz</I> arg = P = desired pressure (pressure units)
<I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px Py Pz
Px,Py,Pz = desired pressure in x,y,z (pressure units)
</PRE>
<LI>zero or more keyword/value pairs may be appended to the args
<LI>keyword = <I>dilate</I> or <I>vmax</I>
<PRE> <I>dilate</I> value = <I>all</I> or <I>partial</I>
<PRE>one or more keyword value pairs may be appended
keyword = <I>iso</I> or <I>aniso</I> or <I>tri</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>couple</I> or <I>nreset</I> or <I>vmax</I> or <I>dilate</I>
<I>iso</I> or <I>aniso</I> or <I>tri</I> value = Ptarget = desired pressure (pressure units)
<I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> value = Ptarget = desired pressure (pressure units)
<I>couple</I> = <I>none</I> or <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I>
<I>nreset</I> value = reset reference cell every this many minimizer iterations
<I>vmax</I> value = fraction = max allowed volume change in one iteration
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all box/relax xyz 0.0 vmax 0.001
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial
<PRE>fix 1 all box/relax ixo 0.0 vmax 0.001
fix 2 water box/relax aniso 0.0 dilate partial
fix 2 ice box/relax tri 0.0 couple xy nreset 100
</PRE>
<P><B>Description:</B>
</P>
<P>Apply an external pressure to the simulation box during an <A HREF = "minimize.html">energy
minimization</A>. This allows the box dimensions to vary
during the iterations of the minimizer so that the final configuration
will be both an energy minimum for the potential energy of the atoms
and the system pressure will be close to the desired pressure.
Conceptually, specifying a positive pressure is like squeezing on the
simulation box; a negative pressure typically allows the box to
expand.
<P>Apply an external pressure or stress tensor to the simulation box
during an <A HREF = "minimize.html">energy minimization</A>. This allows the box
size and shape to vary during the iterations of the minimizer so that
the final configuration will be both an energy minimum for the
potential energy of the atoms, and the system pressure tensor will be
close to the specified external tensor. Conceptually, specifying a
positive pressure is like squeezing on the simulation box; a negative
pressure typically allows the box to expand.
</P>
<P>The pressure can be specified in one of several styles, as determined
by the <I>style</I> argument.
<HR>
<P>The external pressure tensor is specified using one or more of the
<I>iso</I>, <I>aniso</I>, <I>tri</I>, <I>x</I>, <I>y</I>, <I>z</I>, <I>xy</I>, <I>xz</I>, <I>yz</I>, and <I>couple</I>
keywords. These keywords give you the ability to specify all 6
components of an external stress tensor, and to couple various of
these components together so that the dimensions they represent are
varied together during the mimimization.
</P>
<P>Style <I>xyz</I> means couple all 3 dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the 3 dimensions
together. Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified
dimensions are coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently according to its specified pressure. For style <I>aniso</I>,
all 3 dimensions dilate/contract independently according to the 3
specified pressure values.
<P>Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z).
Triclinic (non-orthogonal) simulation boxes have 6 adjustable
dimensions (x,y,z,xy,xz,yz). The <A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read
data</A>, and <A HREF = "read_restart.html">read_restart</A> commands
specify whether the simulation box is orthogonal or non-orthogonal
(triclinic) and explain the meaning of the xy,xz,yz tilt factors.
</P>
<P>For any of the styles except <I>xyz</I>, the target pressure for any
independent components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>)
can be specified as NULL. This means that no pressure is applied to
that dimension so that the box dimension remains unchanged during the
minimization.
<P>The target pressures <I>Ptarget</I> for each of the 6 components of the
stress tensor can be specified independently via the <I>x</I>, <I>y</I>, <I>z</I>,
<I>xy</I>, <I>xz</I>, <I>yz</I> keywords, which correspond to the 6 simulation box
dimensions. For example, if the <I>y</I> keyword is used, the y-box length
will change during the minimization. If the <I>xy</I> keyword is used, the
xy tilt factor will change. A box dimension will not change if that
component is not specified.
</P>
<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the target pressures must be the
same for the two coupled dimensions and cannot be specified as NULL.
</P>
<P>For all pressure styles, the simulation box stays rectangular in
shape. Tilted boxes (triclinic symmetry) are supported by other
LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this section</A> of the
manual), but not yet by this command.
<P>Note that in order to use the <I>xy</I>, <I>xz</I>, or <I>yz</I> keywords, the
simulation box must be triclinic, even if its initial tilt factors are
0.0.
</P>
<P>When the size of the simulation box changes, all atoms are re-scaled
to new positions, unless the keyword <I>dilate</I> is specified with a
@ -83,15 +82,111 @@ re-scaled. This can be useful for leaving the coordinates of atoms in
a solid substrate unchanged and controlling the pressure of a
surrounding fluid.
</P>
<HR>
<P>The <I>couple</I> keyword allows two or three of the diagonal components of
the pressure tensor to be "coupled" together. The value specified
with the keyword determines which are coupled. For example, <I>xz</I>
means the <I>Pxx</I> and <I>Pzz</I> components of the stress tensor are coupled.
<I>Xyz</I> means all 3 diagonal components are coupled. Coupling means two
things: the instantaneous stress will be computed as an average of the
corresponding diagonal components, and the coupled box dimensions will
be changed together in lockstep, meaning coupled dimensions will be
dilated or contracted by the same percentage every timestep. The
<I>Ptarget</I> values for any coupled dimensions must be identical.
<I>Couple xyz</I> can be used for a 2d simulation; the <I>z</I> dimension is
simply ignored.
</P>
<HR>
<P>The <I>iso</I>, <I>aniso</I>, and <I>tri</I> keywords are simply shortcuts that are
equivalent to specifying several other keywords together.
</P>
<P>The keyword <I>iso</I> means couple all 3 diagonal components together when
pressure is computed (hydrostatic pressure), and dilate/contract the
dimensions together. Using "iso Ptarget" is the same as specifying
these 4 keywords:
</P>
<PRE>x Ptarget
y Ptarget
z Ptarget
couple xyz
</PRE>
<P>The keyword <I>aniso</I> means <I>x</I>, <I>y</I>, and <I>z</I> dimensions are controlled
independently using the <I>Pxx</I>, <I>Pyy</I>, and <I>Pzz</I> components of the
stress tensor as the driving forces, and the specified scalar external
pressure. Using "aniso Ptarget" is the same as specifying these 4
keywords:
</P>
<PRE>x Ptarget
y Ptarget
z Ptarget
couple none
</PRE>
<P>The keyword <I>tri</I> means <I>x</I>, <I>y</I>, <I>z</I>, <I>xy</I>, <I>xz</I>, and <I>yz</I> dimensions
are controlled independently using their individual stress components
as the driving forces, and the specified scalar pressure as the
external normal stress. Using "tri Ptarget" is the same as specifying
these 7 keywords:
</P>
<PRE>x Ptarget
y Ptarget
z Ptarget
xy 0.0
yz 0.0
xz 0.0
couple none
</PRE>
<HR>
<P>The <I>vmax</I> keyword can be used to limit the fractional change in the
volume of the simulation box that can occur in one iteration of the
minimizer. If the pressure is not settling down during the
minimization this can be because the volume is fluctuating too much.
The specfied fraction must be greater than 0.0 and should be << 1.0.
The specified fraction must be greater than 0.0 and should be << 1.0.
A value of 0.001 means the volume cannot change by more than 1/10 of a
percent in one iteration for style <I>xyz</I>. For the other styles it
means no linear dimension of the simulation box can change by more
than 1/10 of a percent.
percent in one iteration when <I>couple xyz</I> has been specified. For
any other case it means no linear dimension of the simulation box can
change by more than 1/10 of a percent.
</P>
<HR>
<P>With this fix, the potential energy used by the minimzer is augmented
by an additional energy provided by the fix. The overall objective
function then is:
</P>
<CENTER><IMG SRC = "Eqs/fix_box_relax1.jpg">
</CENTER>
<P>where <I>U</I> is the system potential energy, <I>P</I>_t is the desired
hydrostatic pressure, <I>V</I> and <I>V</I>_0 are the system and reference
volumes, respectively. <I>E</I>_<I>strain</I> is the strain energy expression
proposed by Parrinello and Rahman <A HREF = "#Parrinello1981">(Parrinello1981)</A>.
Taking derivatives of <I>E</I> w.r.t. the box dimensions, and setting these
to zero, we find that at the minimum of the objective function, the
global system stress tensor <B>P</B> will satisfy the relation:
</P>
<CENTER><IMG SRC = "Eqs/fix_box_relax2.jpg">
</CENTER>
<P>where <B>I</B> is the identity matric, <B>h</B>_0 is the box dimension tensor of
the reference cell, and <B>h</B>_0<I>d</I> is the diagonal part of
<B>h</B>_0. <B>S</B>_<I>t</I> is a symmetric stress tensor that is chosen by LAMMPS
so that the upper-triangular components of <B>P</B> equal the stress tensor
specified by the user.
</P>
<P>This equation only applies when the box dimensions are equal to those
of the reference dimensions. If this is not the case, then the
converged stress tensor will not equal that specified by the user. We
can resolve this problem by periodically resetting the reference
dimensions. The keyword <I>nreset_ref</I> controls how often this is done.
If this keyword is not used, or is given a value of zero, then the
reference dimensions are set to those of the initial simulation domain
and are never changed. A value of <I>nstep</I> means that every <I>nstep</I>
minimization steps, the reference dimensions are set to those of the
current simulation domain. Note that resetting the reference
dimensions changes the objective function and gradients, which
sometimes causes the minimization to fail. This can be resolved by
changing the value of <I>nreset</I>, or simply continuing the minimization
from a restart file.
</P>
<P>IMPORTANT NOTE: As normally computed, pressure includes a kinetic-
energy or temperature-dependent component; see the <A HREF = "compute_pressure.html">compute
@ -103,19 +198,19 @@ temperature and you print the usual thermodynamic pressure, it may not
appear the system is converging to your specified pressure. The
solution for this is to either (a) zero the velocities of all atoms
before performing the minimization, or (b) make sure you are
monitoring the pressure without its kinetic component. The latter
can be done by outputting the pressure from the fix this command
creates (see below) or a pressure fix you define yourself.
monitoring the pressure without its kinetic component. The latter can
be done by outputting the pressure from the fix this command creates
(see below) or a pressure fix you define yourself.
</P>
<P>IMPORTANT NOTE: Because pressure is often a very sensitive function of
volume, it can be difficult for the minimizer to equilibrate the
system the desired pressure with high precision. Some techiniques
that seem to help are (a) use the "min_modify line quadratic" option
when minimizing with box relaxtions, and (b) minimize several times in
succession if need be, to drive the pressure closer to the target
pressure. Also note that some systems (e.g. liquids) will not sustain
an anisotropic applied pressure, which means the minimizer will not
converge.
system the desired pressure with high precision, particularly for
solids. Some techiniques that seem to help are (a) use the
"min_modify line quadratic" option when minimizing with box
relaxations, and (b) minimize several times in succession if need be,
to drive the pressure closer to the target pressure. Also note that
some systems (e.g. liquids) will not sustain a non-hydrostatic applied
pressure, which means the minimizer will not converge.
</P>
<HR>
@ -171,9 +266,11 @@ only if the <I>temp</I> keyword comes after the <I>press</I> keyword. If the
compute specified by the <I>press</I> keyword will be unaffected by the
<I>temp</I> setting.
</P>
<P>No global scalar or vector or per-atom quantities are stored by this
fix for access by various <A HREF = "Section_howto.html#4_15">output commands</A>.
No parameter of this fix can be used with the <I>start/stop</I> keywords of
<P>This fix computes a global scalar which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The scalar is the
pressure-volume energy, plus the strain energy, if it exists.
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command.
</P>
<P>This fix is invoked during <A HREF = "minimize.html">energy minimization</A>, but
@ -183,16 +280,27 @@ described above.
</P>
<P><B>Restrictions:</B>
</P>
<P>Any box dimension adjusted by this fix must be periodic. A dimension
whose target pressure is specified as NULL can be non-periodic or
periodic.
<P>Only dimensions that are available can be adjusted by this fix.
Non-periodic dimensions are not available. <I>z</I>, <I>xz</I>, and <I>yz</I>, are
not available for 2D simulations. <I>xy</I>, <I>xz</I>, and <I>yz</I> are only
available if the simulation domain is non-orthogonal. The
<A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read data</A>, and
<A HREF = "read_restart.html">read_restart</A> commands specify whether the
simulation box is orthogonal or non-orthogonal (triclinic) and explain
the meaning of the xy,xz,yz tilt factors.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nph.html">fix npt</A>, <A HREF = "minimize.html">minimize</A>
<P><A HREF = "fix_nh.html">fix npt</A>, <A HREF = "minimize.html">minimize</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are dilate = all and vmax = 0.0001.
<P>The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0.
</P>
<HR>
<A NAME = "Parrinello1981"></A>
<P><B>(Parrinello1981)</B> Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
</P>
</HTML>

View File

@ -10,62 +10,64 @@ fix box/relax command :h3
[Syntax:]
fix ID group-ID box/relax style args keyword value ... :pre
fix ID group-ID box/relax keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
box/relax = style name of this fix command :l
style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
{xyz} arg = P = desired pressure (pressure units)
{xy} or {yz} or {xz} or {aniso} args = Px Py Pz
Px,Py,Pz = desired pressure in x,y,z (pressure units) :pre
zero or more keyword/value pairs may be appended to the args :l
keyword = {dilate} or {vmax} :l
{dilate} value = {all} or {partial}
{vmax} value = fraction = max allowed volume change in one iteration :pre
one or more keyword value pairs may be appended
keyword = {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {nreset} or {vmax} or {dilate}
{iso} or {aniso} or {tri} value = Ptarget = desired pressure (pressure units)
{x} or {y} or {z} or {xy} or {yz} or {xz} value = Ptarget = desired pressure (pressure units)
{couple} = {none} or {xyz} or {xy} or {yz} or {xz}
{nreset} value = reset reference cell every this many minimizer iterations
{vmax} value = fraction = max allowed volume change in one iteration
{dilate} value = {all} or {partial} :pre
:ule
[Examples:]
fix 1 all box/relax xyz 0.0 vmax 0.001
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial :pre
fix 1 all box/relax ixo 0.0 vmax 0.001
fix 2 water box/relax aniso 0.0 dilate partial
fix 2 ice box/relax tri 0.0 couple xy nreset 100 :pre
[Description:]
Apply an external pressure to the simulation box during an "energy
minimization"_minimize.html. This allows the box dimensions to vary
during the iterations of the minimizer so that the final configuration
will be both an energy minimum for the potential energy of the atoms
and the system pressure will be close to the desired pressure.
Conceptually, specifying a positive pressure is like squeezing on the
simulation box; a negative pressure typically allows the box to
expand.
Apply an external pressure or stress tensor to the simulation box
during an "energy minimization"_minimize.html. This allows the box
size and shape to vary during the iterations of the minimizer so that
the final configuration will be both an energy minimum for the
potential energy of the atoms, and the system pressure tensor will be
close to the specified external tensor. Conceptually, specifying a
positive pressure is like squeezing on the simulation box; a negative
pressure typically allows the box to expand.
The pressure can be specified in one of several styles, as determined
by the {style} argument.
:line
Style {xyz} means couple all 3 dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the 3 dimensions
together. Styles {xy} or {yz} or {xz} means that the 2 specified
dimensions are coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently according to its specified pressure. For style {aniso},
all 3 dimensions dilate/contract independently according to the 3
specified pressure values.
The external pressure tensor is specified using one or more of the
{iso}, {aniso}, {tri}, {x}, {y}, {z}, {xy}, {xz}, {yz}, and {couple}
keywords. These keywords give you the ability to specify all 6
components of an external stress tensor, and to couple various of
these components together so that the dimensions they represent are
varied together during the mimimization.
For any of the styles except {xyz}, the target pressure for any
independent components (e.g. z in {xy}, or any dimension in {aniso})
can be specified as NULL. This means that no pressure is applied to
that dimension so that the box dimension remains unchanged during the
minimization.
Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z).
Triclinic (non-orthogonal) simulation boxes have 6 adjustable
dimensions (x,y,z,xy,xz,yz). The "create_box"_create_box.html, "read
data"_read_data.html, and "read_restart"_read_restart.html commands
specify whether the simulation box is orthogonal or non-orthogonal
(triclinic) and explain the meaning of the xy,xz,yz tilt factors.
For styles {xy} and {yz} and {xz}, the target pressures must be the
same for the two coupled dimensions and cannot be specified as NULL.
The target pressures {Ptarget} for each of the 6 components of the
stress tensor can be specified independently via the {x}, {y}, {z},
{xy}, {xz}, {yz} keywords, which correspond to the 6 simulation box
dimensions. For example, if the {y} keyword is used, the y-box length
will change during the minimization. If the {xy} keyword is used, the
xy tilt factor will change. A box dimension will not change if that
component is not specified.
For all pressure styles, the simulation box stays rectangular in
shape. Tilted boxes (triclinic symmetry) are supported by other
LAMMPS commands (see "this section"_Section_howto.html#4_12 of the
manual), but not yet by this command.
Note that in order to use the {xy}, {xz}, or {yz} keywords, the
simulation box must be triclinic, even if its initial tilt factors are
0.0.
When the size of the simulation box changes, all atoms are re-scaled
to new positions, unless the keyword {dilate} is specified with a
@ -74,15 +76,111 @@ re-scaled. This can be useful for leaving the coordinates of atoms in
a solid substrate unchanged and controlling the pressure of a
surrounding fluid.
:line
The {couple} keyword allows two or three of the diagonal components of
the pressure tensor to be "coupled" together. The value specified
with the keyword determines which are coupled. For example, {xz}
means the {Pxx} and {Pzz} components of the stress tensor are coupled.
{Xyz} means all 3 diagonal components are coupled. Coupling means two
things: the instantaneous stress will be computed as an average of the
corresponding diagonal components, and the coupled box dimensions will
be changed together in lockstep, meaning coupled dimensions will be
dilated or contracted by the same percentage every timestep. The
{Ptarget} values for any coupled dimensions must be identical.
{Couple xyz} can be used for a 2d simulation; the {z} dimension is
simply ignored.
:line
The {iso}, {aniso}, and {tri} keywords are simply shortcuts that are
equivalent to specifying several other keywords together.
The keyword {iso} means couple all 3 diagonal components together when
pressure is computed (hydrostatic pressure), and dilate/contract the
dimensions together. Using "iso Ptarget" is the same as specifying
these 4 keywords:
x Ptarget
y Ptarget
z Ptarget
couple xyz :pre
The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled
independently using the {Pxx}, {Pyy}, and {Pzz} components of the
stress tensor as the driving forces, and the specified scalar external
pressure. Using "aniso Ptarget" is the same as specifying these 4
keywords:
x Ptarget
y Ptarget
z Ptarget
couple none :pre
The keyword {tri} means {x}, {y}, {z}, {xy}, {xz}, and {yz} dimensions
are controlled independently using their individual stress components
as the driving forces, and the specified scalar pressure as the
external normal stress. Using "tri Ptarget" is the same as specifying
these 7 keywords:
x Ptarget
y Ptarget
z Ptarget
xy 0.0
yz 0.0
xz 0.0
couple none :pre
:line
The {vmax} keyword can be used to limit the fractional change in the
volume of the simulation box that can occur in one iteration of the
minimizer. If the pressure is not settling down during the
minimization this can be because the volume is fluctuating too much.
The specfied fraction must be greater than 0.0 and should be << 1.0.
The specified fraction must be greater than 0.0 and should be << 1.0.
A value of 0.001 means the volume cannot change by more than 1/10 of a
percent in one iteration for style {xyz}. For the other styles it
means no linear dimension of the simulation box can change by more
than 1/10 of a percent.
percent in one iteration when {couple xyz} has been specified. For
any other case it means no linear dimension of the simulation box can
change by more than 1/10 of a percent.
:line
With this fix, the potential energy used by the minimzer is augmented
by an additional energy provided by the fix. The overall objective
function then is:
:c,image(Eqs/fix_box_relax1.jpg)
where {U} is the system potential energy, {P}_t is the desired
hydrostatic pressure, {V} and {V}_0 are the system and reference
volumes, respectively. {E}_{strain} is the strain energy expression
proposed by Parrinello and Rahman "(Parrinello1981)"_#Parrinello1981.
Taking derivatives of {E} w.r.t. the box dimensions, and setting these
to zero, we find that at the minimum of the objective function, the
global system stress tensor [P] will satisfy the relation:
:c,image(Eqs/fix_box_relax2.jpg)
where [I] is the identity matric, [h]_0 is the box dimension tensor of
the reference cell, and [h]_0{d} is the diagonal part of
[h]_0. [S]_{t} is a symmetric stress tensor that is chosen by LAMMPS
so that the upper-triangular components of [P] equal the stress tensor
specified by the user.
This equation only applies when the box dimensions are equal to those
of the reference dimensions. If this is not the case, then the
converged stress tensor will not equal that specified by the user. We
can resolve this problem by periodically resetting the reference
dimensions. The keyword {nreset_ref} controls how often this is done.
If this keyword is not used, or is given a value of zero, then the
reference dimensions are set to those of the initial simulation domain
and are never changed. A value of {nstep} means that every {nstep}
minimization steps, the reference dimensions are set to those of the
current simulation domain. Note that resetting the reference
dimensions changes the objective function and gradients, which
sometimes causes the minimization to fail. This can be resolved by
changing the value of {nreset}, or simply continuing the minimization
from a restart file.
IMPORTANT NOTE: As normally computed, pressure includes a kinetic-
energy or temperature-dependent component; see the "compute
@ -94,19 +192,19 @@ temperature and you print the usual thermodynamic pressure, it may not
appear the system is converging to your specified pressure. The
solution for this is to either (a) zero the velocities of all atoms
before performing the minimization, or (b) make sure you are
monitoring the pressure without its kinetic component. The latter
can be done by outputting the pressure from the fix this command
creates (see below) or a pressure fix you define yourself.
monitoring the pressure without its kinetic component. The latter can
be done by outputting the pressure from the fix this command creates
(see below) or a pressure fix you define yourself.
IMPORTANT NOTE: Because pressure is often a very sensitive function of
volume, it can be difficult for the minimizer to equilibrate the
system the desired pressure with high precision. Some techiniques
that seem to help are (a) use the "min_modify line quadratic" option
when minimizing with box relaxtions, and (b) minimize several times in
succession if need be, to drive the pressure closer to the target
pressure. Also note that some systems (e.g. liquids) will not sustain
an anisotropic applied pressure, which means the minimizer will not
converge.
system the desired pressure with high precision, particularly for
solids. Some techiniques that seem to help are (a) use the
"min_modify line quadratic" option when minimizing with box
relaxations, and (b) minimize several times in succession if need be,
to drive the pressure closer to the target pressure. Also note that
some systems (e.g. liquids) will not sustain a non-hydrostatic applied
pressure, which means the minimizer will not converge.
:line
@ -162,8 +260,10 @@ only if the {temp} keyword comes after the {press} keyword. If the
compute specified by the {press} keyword will be unaffected by the
{temp} setting.
No global scalar or vector or per-atom quantities are stored by this
fix for access by various "output commands"_Section_howto.html#4_15.
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#4_15. The scalar is the
pressure-volume energy, plus the strain energy, if it exists.
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command.
@ -174,14 +274,24 @@ described above.
[Restrictions:]
Any box dimension adjusted by this fix must be periodic. A dimension
whose target pressure is specified as NULL can be non-periodic or
periodic.
Only dimensions that are available can be adjusted by this fix.
Non-periodic dimensions are not available. {z}, {xz}, and {yz}, are
not available for 2D simulations. {xy}, {xz}, and {yz} are only
available if the simulation domain is non-orthogonal. The
"create_box"_create_box.html, "read data"_read_data.html, and
"read_restart"_read_restart.html commands specify whether the
simulation box is orthogonal or non-orthogonal (triclinic) and explain
the meaning of the xy,xz,yz tilt factors.
[Related commands:]
"fix npt"_fix_nph.html, "minimize"_minimize.html
"fix npt"_fix_nh.html, "minimize"_minimize.html
[Default:]
The keyword defaults are dilate = all and vmax = 0.0001.
The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0.
:line
:link(Parrinello1981)
[(Parrinello1981)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).

View File

@ -95,11 +95,11 @@ temp/deform</A> commands for more details.
</P>
<P>Any parameter varied by this command must refer to a periodic
dimension - see the <A HREF = "boundary.html">boundary</A> command. For parameters
"xy", "xz", and "yz" this means both affected dimensions must be
periodic, e.g. x and y for "xy". Dimensions not varied by this
command can be periodic or non-periodic. Unspecified periodic
dimensions can also be controlled by a <A HREF = "fix_npt.html">fix npt</A> or <A HREF = "fix_nph.html">fix
nph</A> command.
<I>xy</I>, <I>xz</I>, and <I>yz</I>, the 2nd dimension must be periodic, e.g. <I>y</I> for
<I>xy</I>. Dimensions not varied by this command can be periodic or
non-periodic. Dimensions corresponding to unspecified parameters can
also be controlled by a <A HREF = "fix_nh.html">fix npt</A> or <A HREF = "fix_nh.html">fix nph</A>
command.
</P>
<P>The size and shape of the simulation box at the beginning of the
simulation run were either specified by the
@ -227,7 +227,7 @@ fix deform) since that implies a density change. Using the <I>volume</I>
style for those 2 dimensions to keep the box volume constant may make
more physical sense, but may also not be correct for materials and
potentials whose Poisson ratio is not 0.5. An alternative is to use
<A HREF = "fix_npt.html">fix npt aniso</A> with zero applied pressure on those 2
<A HREF = "fix_nh.html">fix npt aniso</A> with zero applied pressure on those 2
dimensions, so that they respond to the tensile strain dynamically.
</P>
<P>The <I>wiggle</I> style oscillates the specified box length dimension
@ -433,8 +433,8 @@ defined in terms of distance/time.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>.
</P>
<P>This fix can perform deformation over multiple runs, using the <I>start</I>

View File

@ -85,11 +85,11 @@ temp/deform"_compute_temp_deform.html commands for more details.
Any parameter varied by this command must refer to a periodic
dimension - see the "boundary"_boundary.html command. For parameters
"xy", "xz", and "yz" this means both affected dimensions must be
periodic, e.g. x and y for "xy". Dimensions not varied by this
command can be periodic or non-periodic. Unspecified periodic
dimensions can also be controlled by a "fix npt"_fix_npt.html or "fix
nph"_fix_nph.html command.
{xy}, {xz}, and {yz}, the 2nd dimension must be periodic, e.g. {y} for
{xy}. Dimensions not varied by this command can be periodic or
non-periodic. Dimensions corresponding to unspecified parameters can
also be controlled by a "fix npt"_fix_nh.html or "fix nph"_fix_nh.html
command.
The size and shape of the simulation box at the beginning of the
simulation run were either specified by the
@ -217,7 +217,7 @@ fix deform) since that implies a density change. Using the {volume}
style for those 2 dimensions to keep the box volume constant may make
more physical sense, but may also not be correct for materials and
potentials whose Poisson ratio is not 0.5. An alternative is to use
"fix npt aniso"_fix_npt.html with zero applied pressure on those 2
"fix npt aniso"_fix_nh.html with zero applied pressure on those 2
dimensions, so that they respond to the tensile strain dynamically.
The {wiggle} style oscillates the specified box length dimension
@ -423,8 +423,8 @@ defined in terms of distance/time.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15.
This fix can perform deformation over multiple runs, using the {start}

View File

@ -142,11 +142,11 @@ a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
</P>
<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this
fix. No global scalar or vector or per-atom quantities are stored by
this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
fix. No global or per-atom quantities are stored by this fix for
access by various <A HREF = "Section_howto.html#4_15">output commands</A>. No
parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy
minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>

View File

@ -130,11 +130,11 @@ a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
None of the "fix_modify"_fix_modify.html options are relevant to this
fix. No global scalar or vector or per-atom quantities are stored by
this fix for access by various "output
commands"_Section_howto.html#4_15. 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.
fix. No global or per-atom quantities are stored by this fix for
access by various "output commands"_Section_howto.html#4_15. 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:]

View File

@ -45,10 +45,10 @@ in the simulation.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a 3-vector of forces, which can be accessed by
various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the total
force on the group of atoms by the drag force. The vector values
calculated by this fix are "extensive".
<P>This fix computes a global 3-vector of forces, which can be accessed
by various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the
total force on the group of atoms by the drag force. The vector
values calculated by this fix are "extensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -43,10 +43,10 @@ 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 3-vector of forces, which can be accessed by
various "output commands"_Section_howto.html#4_15. This is the total
force on the group of atoms by the drag force. The vector values
calculated by this fix are "extensive".
This fix computes a global 3-vector of forces, which can be accessed
by various "output commands"_Section_howto.html#4_15. This is the
total force on the group of atoms by the drag force. The vector
values calculated by this fix are "extensive".
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

View File

@ -69,11 +69,12 @@ outer loop (largest) timestep, which is the same timestep that the
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>The current timestep size is stored as a scalar quantity by this fix.
The cumulative simulation time (in time units) is stored as the first
element of a vector. Both these quantities can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The scalar and vector
values calculated by this fix are "intensive".
<P>This fix computes a global scalar and a global vector of length 1,
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar is the current timestep
size. The cumulative simulation time (in time units) is stored as the
first element of the vector. The scalar and vector values calculated
by this fix are "intensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -65,11 +65,12 @@ 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.
The current timestep size is stored as a scalar quantity by this fix.
The cumulative simulation time (in time units) is stored as the first
element of a vector. Both these quantities can be accessed by various
"output commands"_Section_howto.html#4_15. The scalar and vector
values calculated by this fix are "intensive".
This fix computes a global scalar and a global vector of length 1,
which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar is the current timestep
size. The cumulative simulation time (in time units) is stored as the
first element of the vector. The scalar and vector values calculated
by this fix are "intensive".
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

View File

@ -32,8 +32,8 @@ external electric field being applied to the system.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -29,8 +29,8 @@ external electric field being applied to the system.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -32,8 +32,8 @@ not move from their initial z coordinate.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
</P>

View File

@ -29,8 +29,8 @@ not move from their initial z coordinate.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. No parameter of this fix can be
used with the {start/stop} keywords of the "run"_run.html command.

View File

@ -49,9 +49,10 @@ incur overhead due to the cost of building neighbor lists.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>The cummulative number of deleted atoms is stored as a scalar quantity
by this fix. This quantity can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value is "intensive".
<P>This fix computes a global scalar, which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The scalar is the
cummulative number of deleted atoms. The scalar value calculated by
this fix is "intensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -46,9 +46,10 @@ 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.
The cummulative number of deleted atoms is stored as a scalar quantity
by this fix. This quantity can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value is "intensive".
This fix computes a global scalar, which can be accessed by various
"output commands"_Section_howto.html#4_15. The scalar is the
cummulative number of deleted atoms. The scalar value calculated by
this fix is "intensive".
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

View File

@ -36,11 +36,11 @@ particles appropriately, as if the frozen particle has infinite mass.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a 3-vector of forces, which can be accessed by
various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the total
force on the group of atoms before the forces on individual atoms are
changed by the fix. The vector values calculated by this fix are
"extensive".
<P>This fix computes a global 3-vector of forces, which can be accessed
by various <A HREF = "Section_howto.html#4_15">output commands</A>. This is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The vector values calculated by this
fix are "extensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -33,11 +33,11 @@ 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 3-vector of forces, which can be accessed by
various "output commands"_Section_howto.html#4_15. This is the total
force on the group of atoms before the forces on individual atoms are
changed by the fix. The vector values calculated by this fix are
"extensive".
This fix computes a global 3-vector of forces, which can be accessed
by various "output commands"_Section_howto.html#4_15. This is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The vector values calculated by this
fix are "extensive".
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

View File

@ -89,8 +89,8 @@ by (x,y,z). For 2d systems, the z component is ignored.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -81,8 +81,8 @@ by (x,y,z). For 2d systems, the z component is ignored.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -47,7 +47,7 @@ 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.
</P>
<P>Fix heat is different from a thermostat such as <A HREF = "fix_nvt.html">fix nvt</A>
<P>Fix heat is different from a thermostat such as <A HREF = "fix_nh.html">fix nvt</A>
or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A> 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
@ -59,7 +59,7 @@ from the system.
their velocities. Thus you must still use an integration fix
(e.g. <A HREF = "fix_nve.html">fix nve</A>) on the affected atoms. This fix should
not normally be used on atoms that have their temperature controlled
by another fix - e.g. <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix
by another fix - e.g. <A HREF = "fix_nh.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix
langevin</A> fix.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
@ -68,10 +68,10 @@ langevin</A> fix.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a scalar which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. This scalar is the most recent
value by which velocites were scaled. The scalar value calculated by
this fix is "intensive".
<P>This fix computes a global scalar which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. This scalar is the most
recent value by which velocites were scaled. The scalar value
calculated by this fix is "intensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -44,7 +44,7 @@ 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
Fix heat is different from a thermostat such as "fix nvt"_fix_nh.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
@ -56,7 +56,7 @@ 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
by another fix - e.g. "fix nvt"_fix_nh.html or "fix
langevin"_fix_langevin.html fix.
[Restart, fix_modify, output, run start/stop, minimize info:]
@ -65,10 +65,10 @@ 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".
This fix computes a global 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".
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

View File

@ -183,8 +183,8 @@ the system's potential energy as part of <A HREF = "thermo_style.html">thermodyn
output</A>. The energy of each particle interacting
with the indenter is K/3 (r - R)^3.
</P>
<P>This fix computes a scalar energy and a 3-vector of forces (on the
indenter), which can be accessed by various <A HREF = "Section_howto.html#4_15">output
<P>This fix computes a global scalar energy and a global 3-vector of
forces (on the indenter), which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar and vector values
calculated by this fix are "extensive".
</P>

View File

@ -174,8 +174,8 @@ the system's potential energy as part of "thermodynamic
output"_thermo_style.html. The energy of each particle interacting
with the indenter is K/3 (r - R)^3.
This fix computes a scalar energy and a 3-vector of forces (on the
indenter), which can be accessed by various "output
This fix computes a global scalar energy and a global 3-vector of
forces (on the indenter), which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar and vector values
calculated by this fix are "extensive".

View File

@ -83,14 +83,14 @@ this fix. The translational degrees of freedom can also have a bias
velocity removed from them before thermostatting takes place; see the
description below.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nvt.html">fix nvt</A> command which
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nh.html">fix nvt</A> command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies forces to effect
thermostatting. Thus you must use a separate time integration fix,
like <A HREF = "fix_nve.html">fix nve</A> to actually update the velocities and
positions of atoms using the modified forces. Likewise, this fix
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_temp_rescale.html">fix
controlled by another fix - e.g. by <A HREF = "fix_nh.html">fix nvt</A> or <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A> commands.
</P>
<P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a
@ -171,11 +171,11 @@ system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>. Note that use of this option requires
setting the <I>tally</I> keyword to <I>yes</I>.
</P>
<P>The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive". Note that calculation of this quantity
requires setting the <I>tally</I> keyword to <I>yes</I>.
<P>This fix computes a global scalar which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The scalar is the
cummulative energy change due to this fix. The scalar value
calculated by this fix is "extensive". Note that calculation of this
quantity requires setting the <I>tally</I> keyword to <I>yes</I>.
</P>
<P>This fix can ramp its target temperature over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
@ -187,8 +187,8 @@ requires setting the <I>tally</I> keyword to <I>yes</I>.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_viscous.html">fix
viscous</A>, <A HREF = "fix_nvt.html">fix nvt</A>
<P><A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_viscous.html">fix
viscous</A>, <A HREF = "fix_nh.html">fix nvt</A>
</P>
<P><B>Default:</B>
</P>

View File

@ -73,14 +73,14 @@ this fix. The translational degrees of freedom can also have a bias
velocity removed from them before thermostatting takes place; see the
description below.
IMPORTANT NOTE: Unlike the "fix nvt"_fix_nvt.html command which
IMPORTANT NOTE: Unlike the "fix nvt"_fix_nh.html command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies forces to effect
thermostatting. Thus you must use a separate time integration fix,
like "fix nve"_fix_nve.html to actually update the velocities and
positions of atoms using the modified forces. Likewise, this fix
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix
controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix
temp/rescale"_fix_temp_rescale.html commands.
See "this howto section"_Section_howto.html#4_16 of the manual for a
@ -161,11 +161,11 @@ system's potential energy as part of "thermodynamic
output"_thermo_style.html. Note that use of this option requires
setting the {tally} keyword to {yes}.
The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive". Note that calculation of this quantity
requires setting the {tally} keyword to {yes}.
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#4_15. The scalar is the
cummulative energy change due to this fix. The scalar value
calculated by this fix is "extensive". Note that calculation of this
quantity requires setting the {tally} keyword to {yes}.
This fix can ramp its target temperature over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
@ -177,8 +177,8 @@ This fix is not invoked during "energy minimization"_minimize.html.
[Related commands:]
"fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
viscous"_fix_viscous.html, "fix nvt"_fix_nvt.html
"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
viscous"_fix_viscous.html, "fix nvt"_fix_nh.html
[Default:]

View File

@ -37,8 +37,8 @@ it should continue to move along the line thereafter.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
</P>

View File

@ -34,8 +34,8 @@ it should continue to move along the line thereafter.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. No parameter of this fix can be
used with the {start/stop} keywords of the "run"_run.html command.

View File

@ -62,8 +62,8 @@ initial velocities with zero aggregate linear and/or angular momentum.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -54,8 +54,8 @@ initial velocities with zero aggregate linear and/or angular momentum.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -56,7 +56,7 @@ forces on the atoms. This can be useful for boundary or other atoms,
whose movement can influence nearby atoms.
</P>
<P>IMPORTANT NOTE: The atoms affected by this fix should not normally be
time integrated by other fixes (e.g. <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix
time integrated by other fixes (e.g. <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nh.html">fix
nvt</A>), since that will change their positions and
velocities twice.
</P>
@ -188,9 +188,9 @@ uninterrupted fashion.
fix.
</P>
<P>This fix produces a per-atom array which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The number of columns
for each atom is 3, and the columns store the original unwrapped
x,y,z coords of each atom. The per-atom values be accessed on any
<A HREF = "Section_howto.html#4_15">output commands</A>. The number of columns for
each atom is 3, and the columns store the original unwrapped x,y,z
coords of each atom. The per-atom values can be accessed on any
timestep.
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of

View File

@ -48,7 +48,7 @@ whose movement can influence nearby atoms.
IMPORTANT NOTE: The atoms affected by this fix should not normally be
time integrated by other fixes (e.g. "fix nve"_fix_nve.html, "fix
nvt"_fix_nvt.html), since that will change their positions and
nvt"_fix_nh.html), since that will change their positions and
velocities twice.
IMPORTANT NOTE: As atoms move due to this fix, they will pass thru
@ -179,9 +179,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this
fix.
This fix produces a per-atom array which can be accessed by various
"output commands"_Section_howto.html#4_15. The number of columns
for each atom is 3, and the columns store the original unwrapped
x,y,z coords of each atom. The per-atom values be accessed on any
"output commands"_Section_howto.html#4_15. The number of columns for
each atom is 3, and the columns store the original unwrapped x,y,z
coords of each atom. The per-atom values can be accessed on any
timestep.
No parameter of this fix can be used with the {start/stop} keywords of

454
doc/fix_nh.html Normal file
View File

@ -0,0 +1,454 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix nvt command
</H3>
<H3>fix npt command
</H3>
<H3>fix nph command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID style_name keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>style_name = <I>nvt</I> or <I>npt</I> or <I>nph</I>
<PRE>one or more keyword value pairs may be appended
keyword = <I>temp</I> or <I>iso</I> or <I>aniso</I> or <I>tri</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>couple</I> or <I>tchain</I> or <I>pchain</I> or <I>mtk</I> or <I>tloop</I> or <I>ploop</I> or <I>nreset</I> or <I>drag</I> or <I>dilate</I>
<I>temp</I> values = Tstart Tstop Tdamp
Tstart,Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
<I>iso</I> or <I>aniso</I> or <I>tri</I> values = Pstart Pstop Pdamp
Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> values = Pstart Pstop Pdamp
Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
Pdamp = stress damping parameter (time units)
<I>couple</I> = <I>none</I> or <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I>
<I>tchain</I> value = length of thermostat chain (1 = single thermostat)
<I>pchain</I> values = length of thermostat chain on barostat (0 = no thermostat)
<I>mtk</I> value = <I>yes</I> or <I>no</I> = add in MTK adjustment term or not
<I>tloop</I> value = number of sub-cycles to perform on thermostat
<I>ploop</I> value = number of sub-cycles to perform on barostat thermostat
<I>nreset</I> value = reset reference cell every this many timesteps
<I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag)
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nvt temp 300.0 300.0 100.0
fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0
fix 2 ice nph temp 273.15 273.15 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>
<P><B>Description:</B>
</P>
<P>These commands perform time integration on Nose-Hoover style
non-Hamiltonian equations of motion which 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 <I>xy</I>, <I>xz</I> and <I>yz</I>
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.
</P>
<P>The equations of motion used are those of Shinoda et al in
<A HREF = "#Shinoda">(Shinoda)</A>, which combine the hydrostatic equations of
Martyna, Tobias and Klein in <A HREF = "#Martyna">(Martyna)</A> with the strain
energy proposed by Parrinello and Rahman in
<A HREF = "#Parrinello">(Parrinello)</A>. The time integration schemes follow the
time-reversible measure-preserving integrators derived by Tuckerman et
al in <A HREF = "#Tuckerman">(Tuckerman)</A>.
</P>
<HR>
<P>The thermostat for fix styles <I>nvt</I> and <I>npt</I> is specified using the
<I>temp</I> keyword. Other thermostat-related keywords are <I>tchain</I>,
<I>tloop</I> and <I>drag</I>, which are discussed below.
</P>
<P>The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed before thermostatting takes place; see the
description below. The desired temperature at each timestep is a
ramped value during the run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I>
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 <A HREF = "units.html">units</A> command). The atoms in the
fix group are the only ones whose velocities and positions are updated
by the velocity/position update portion of the integration.
</P>
<HR>
<P>The barostat for fix styles <I>npt</I> and <I>nph</I> is specified using one or
more of the <I>iso</I>, <I>aniso</I>, <I>tri</I>, <I>x</I>, <I>y</I>, <I>z</I>, <I>xy</I>, <I>xz</I>, <I>yz</I>,
and <I>couple</I> keywords. These keywords give you the ability to specify
all 6 components of an external stress tensor, and to couple various
of these components together so that the dimensions they represent are
varied together during a constant-pressure simulation.
</P>
<P>Other barostat-related keywords are <I>pchain</I>, <I>mtk</I>, <I>ploop</I>,
<I>nreset</I>, <I>drag</I>, and <I>dilate</I>, which are discussed below.
</P>
<P>Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z).
Triclinic (non-orthogonal) simulation boxes have 6 adjustable
dimensions (x,y,z,xy,xz,yz). The <A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read
data</A>, and <A HREF = "read_restart.html">read_restart</A> commands
specify whether the simulation box is orthogonal or non-orthogonal
(triclinic) and explain the meaning of the xy,xz,yz tilt factors.
</P>
<P>The target pressures for each of the 6 components of the stress tensor
can be specified independently via the <I>x</I>, <I>y</I>, <I>z</I>, <I>xy</I>, <I>xz</I>, <I>yz</I>
keywords, which correspond to the 6 simulation box dimensions. For
each component, the external pressure or tensor component at each
timestep is a ramped value during the run from <I>Pstart</I> to <I>Pstop</I>.
If a target pressure is specified for a component, then the
corresponding box dimension will change during a simulation. For
example, if the <I>y</I> keyword is used, the y-box length will change. If
the <I>xy</I> keyword is used, the xy tilt factor will change. A box
dimension will not change if that component is not specified, although
you have the option to change that dimension via the <A HREF = "fix_deform.html">fix
deform</A> command.
</P>
<P>Note that in order to use the <I>xy</I>, <I>xz</I>, or <I>yz</I> keywords, the
simulation box must be triclinic, even if its initial tilt factors are
0.0.
</P>
<P>For all barostat keywords, the <I>Pdamp</I> parameter operates like the
<I>Tdamp</I> parameter, determining the time scale on which pressure is
relaxed. For example, a value of 1000.0 means to relax the pressure
in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see
the <A HREF = "units.html">units</A> command).
</P>
<P>Regardless of what atoms are in the fix group, a global pressure or
stress tensor is computed for all atoms. Similarly, when the size of
the simulation box is changed, all atoms are re-scaled to new
positions, unless the keyword <I>dilate</I> is specified with a value of
<I>partial</I>, in which case only the atoms in the fix group are
re-scaled. The latter can be useful for leaving the coordinates of
atoms in a solid substrate unchanged and controlling the pressure of a
surrounding fluid.
</P>
<HR>
<P>The <I>couple</I> keyword allows two or three of the diagonal components of
the pressure tensor to be "coupled" together. The value specified
with the keyword determines which are coupled. For example, <I>xz</I>
means the <I>Pxx</I> and <I>Pzz</I> components of the stress tensor are coupled.
<I>Xyz</I> means all 3 diagonal components are coupled. Coupling means two
things: the instantaneous stress will be computed as an average of the
corresponding diagonal components, and the coupled box dimensions will
be changed together in lockstep, meaning coupled dimensions will be
dilated or contracted by the same percentage every timestep. The
<I>Pstart</I>, <I>Pstop</I>, <I>Pdamp</I> parameters for any coupled dimensions must
be identical. <I>Couple xyz</I> can be used for a 2d simulation; the <I>z</I>
dimension is simply ignored.
</P>
<HR>
<P>The <I>iso</I>, <I>aniso</I>, and <I>tri</I> keywords are simply shortcuts that are
equivalent to specifying several other keywords together.
</P>
<P>The keyword <I>iso</I> means couple all 3 diagonal components together when
pressure is computed (hydrostatic pressure), and dilate/contract the
dimensions together. Using "iso Pstart Pstop Pdamp" is the same as
specifying these 4 keywords:
</P>
<PRE>x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple xyz
</PRE>
<P>The keyword <I>aniso</I> means <I>x</I>, <I>y</I>, and <I>z</I> dimensions are controlled
independently using the <I>Pxx</I>, <I>Pyy</I>, and <I>Pzz</I> components of the
stress tensor as the driving forces, and the specified scalar external
pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying
these 4 keywords:
</P>
<PRE>x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple none
</PRE>
<P>The keyword <I>tri</I> means <I>x</I>, <I>y</I>, <I>z</I>, <I>xy</I>, <I>xz</I>, and <I>yz</I> dimensions
are controlled independently using their individual stress components
as the driving forces, and the specified scalar pressure as the
external normal stress. Using "tri Pstart Pstop Pdamp" is the same as
specifying these 7 keywords:
</P>
<PRE>x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
xy 0.0 0.0 Pdamp
yz 0.0 0.0 Pdamp
xz 0.0 0.0 Pdamp
couple none
</PRE>
<HR>
<P>In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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. Note that use of the drag
keyword will interfere with energy conservation and will also change
the distribution of positions and velocities so that they do not
correspond to the norminal NVT, NPT, or NPH ensembles.
</P>
<P>An alternative way to control initial oscillations is to use chain
thermostats. The keyword <I>tchain</I> determines the number of thermostats
in the particle thermostat. A value of 1 corresponds to the original
Nose-Hoover thermostat. The keyword <I>pchain</I> specifies the number of
thermostats in the chain thermostatting the barostat degrees of
freedom. A value of 0 corresponds to no thermostatting of the
bvarostat variables.
</P>
<P>The <I>mtk</I> keyword controls whether or not the correction terms due to
Martyna, Tuckerman, and Klein are included in the equations of motion
<A HREF = "#Martyna1994">(Martyna1994)</A>. Specifying <I>no</I> reproduces the original
Hoover barostat, whose volume probability distribution function
differs from the true NPT and NPH ensembles by a factor of 1/V. Hence
using <I>yes</I> is more correct, but in many cases the difference is
negligible.
</P>
<P>The keyword <I>tloop</I> can be used to improve the accuracy of integration
scheme at little extra cost. The initial and final updates of the
thermostat variables are broken up into <I>tloop</I> substeps, each of
length <I>dt</I>/<I>tloop</I>. This corresponds to using a first-order
Suzuki-Yoshida scheme <A HREF = "#Tuckerman2006">(Tuckerman2006)</A>. The keyword
<I>ploop</I> does the same thing for the barostat thermostat.
</P>
<P>The keyword <I>nreset</I> controls how often the reference dimensions used
to define the strain energy are reset. If this keyword is not used,
or is given a value of zero, then the reference dimensions are set to
those of the initial simulation domain and are never changed. If the
simulation domain changes significantly during the simulation, then
the final average pressure tensor will differ significantly from the
specified values of the external stress tensor. A value of <I>nstep</I>
means that every <I>nstep</I> timesteps, the reference dimensions are set
to those of the current simulation domain.
</P>
<HR>
<P>IMPORTANT NOTE: Using a barostat coupled to tilt dimensions <I>xy</I>,
<I>xz</I>, <I>yz</I> can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dratically deformed simulation box. LAMMPS
imposes reasonable limits on how large the tilt values can be, and
exits with an error if these are exceeded. This error typically
indicates that there is something badly wrong with how the simulation
was constructed. The three most common sources of this error are
using keyword <I>tri</I> on a liquid system, specifying an external shear
stress tensor that exceeds the yield stress of the solid, and
specifying values of <I>Pstart</I> that are too far from the current stress
value. In other words, triclinic barostatting should be used with
care. This also is true for other barostat styles, although they tend
to be more forgiving of insults.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_temp_berendsen.html">fix
temp/berendsen</A> command which performs
thermostatting but NO time integration, these fixes perform
thermostatting/barostatting AND time integration. Thus you should not
use any other time integration fix, such as <A HREF = "fix_nve.html">fix nve</A> on
atoms to which this fix is applied. Likewise, the <I>temp</I> options for
fix nvt and fix npt should not normally be used on atoms that also
have their temperature controlled by another fix - e.g. by <A HREF = "fix_nh.html">fix
langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>
commands.
</P>
<P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
</P>
<HR>
<P>These fixes compute a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if one of these two sets of commands had been issued:
</P>
<PRE>compute fix-ID_temp group-ID temp
compute fix-ID_press group-ID pressure fix-ID_temp
</PRE>
<PRE>compute fix-ID_temp all temp
compute fix-ID_press all pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press". For fix nvt, the group for the new computes
is the same as the fix group. For fix nph and fix npt, the group for
the new computes is "all" since pressure is computed for the entire
system.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
and <I>thermo_press</I>. This means you can change the attributes of this
fix's temperature or pressure via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix.
</P>
<P>Like other fixes that perform thermostatting, fix nvt and fix npt can
be used with <A HREF = "compute.html">compute commands</A> that calculate a
temperature after removing a "bias" from the atom velocities.
E.g. removing the center-of-mass velocity from a group of atoms or
only calculating temperature on the x-component of velocity or only
calculating temperature for atoms in a geometric region. This is not
done by default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command
is used to assign a temperature compute to this fix that includes such
a bias term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>These fixes writes the state of all the thermostat and barostat
variables to <A HREF = "restart.html">binary restart files</A>. See the
<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by these fixes. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
</P>
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
single thermo_modify command (or in two separate commands), then the
order in which the keywords are specified is important. Note that a
<A HREF = "compute_pressure.html">pressure compute</A> defines its own temperature
compute as an argument when it is specified. The <I>temp</I> keyword will
override this (for the pressure compute being used by fix npt), but
only if the <I>temp</I> keyword comes after the <I>press</I> keyword. If the
<I>temp</I> keyword comes before the <I>press</I> keyword, then the new pressure
compute specified by the <I>press</I> keyword will be unaffected by the
<I>temp</I> setting.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by these
fixes to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
<A HREF = "thermo_style.html">thermodynamic output</A>.
</P>
<P>These fixes compute a global scalar and a global vector of quantities,
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar values calculated by
this fix are "extensive"; the vector values are "intensive".
</P>
<P>The scalar is the cummulative energy change due to the fix.
</P>
<P>The vector stores internal Nose/Hoover thermostat and barostat
variables. The number and meaning of the vector values depends on
which fix is used and the settings for keywords <I>tchain</I> and <I>pchain</I>,
which specify the number of Nose/Hoover chains for the thermostat and
barostat. If no thermostatting is done, then <I>tchain</I> is 0. If no
barostatting is done, then <I>pchain</I> is 0. In the following list,
"ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in
the barostat. Its value is 0 if no barostat is used, else its value
is 6 if any off-diagonal stress tensor component is barostatted, else
its value is 1 if <I>couple xyz</I> is used or <I>couple xy</I> for a 2d
simulation, otherwise its value is 3.
</P>
<P>The order of values in the global vector and their meaning is as
follows. The notation means there are tchain values for eta, followed
by tchain for eta_dot, followed by ndof for omega, etc:
</P>
<UL><LI>eta<B>tchain</B> = what for each T chain
<LI>eta_dot<B>tchain</B> = what for each T chain
<LI>omega<B>ndof</B> = what for each barostat DOF
<LI>omega_dot<B>ndof</B> = what for each barostat DOF
<LI>etap<B>pchain</B> = what for each P chain
<LI>etap_dot<B>pchain</B> = what for each P chain
<LI>PE_eta<B>tchain</B> = potential energy for each T chain
<LI>KE_eta_dot<B>tchain</B> = what for each T chain
<LI>PE_omega<B>ndof</B> = what for each barostat DOF
<LI>KE_omega_dot<B>ndof</B> = what for each barostat DOF
<LI>PE_etap<B>pchain</B> = what for each P chain
<LI>KE_etap_dot<B>pchain</B> = what for each P chain
<LI>PE_strain<B>1</B> = scalar strain energy
</UL>
<P>These fixes can ramp their external temperature and pressure over
multiple runs, using the <I>start</I> and <I>stop</I> keywords of the
<A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of
how to do this.
</P>
<P>These fixes are not invoked during <A HREF = "minimize.html">energy
minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>Non-periodic dimensions cannot be barostatted. <I>Z</I>, <I>xz</I>, and <I>yz</I>,
cannot be barostatted 2D simulations. <I>Xy</I>, <I>xz</I>, and <I>yz</I> can only
be barostatted if the simulation domain is triclinic and the 2nd
dimension in the keyword (<I>y</I> dimension in <I>xy</I>) is periodic. The
<A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read data</A>, and
<A HREF = "read_restart.html">read_restart</A> commands specify whether the
simulation box is orthogonal or non-orthogonal (triclinic) and explain
the meaning of the xy,xz,yz tilt factors.
</P>
<P>For the <I>temp</I> keyword, the final Tstop cannot be 0.0 since it would
make the external T = 0.0 at some timestep during the simulation which
is not allowed in the Nose/Hoover formulation.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are tchain = 3, pchain = 0, mtk = yes, tloop =
ploopt = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none.
</P>
<HR>
<A NAME = "Martyna"></A>
<P><B>(Martyna)</B> Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).
</P>
<A NAME = "Parrinello"></A>
<P><B>(Parrinello)</B> Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
</P>
<A NAME = "Tuckerman"></A>
<P><B>(Tuckerman)</B> Tuckerman, Alejandre, Lopez-Rendon, Jochim, and
Martyna, J Phys A: Math Gen, 39, 5629 (2006).
</P>
<A NAME = "Shinoda"></A>
<P><B>(Shinoda)</B> Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
</P>
</HTML>

440
doc/fix_nh.txt Normal file
View File

@ -0,0 +1,440 @@
"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
fix npt command :h3
fix nph 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} or {npt} or {nph} :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 temp 300.0 300.0 100.0
fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0
fix 2 ice nph temp 273.15 273.15 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 which 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 equations of motion used are those of Shinoda et al in
"(Shinoda)"_#Shinoda, which combine the hydrostatic equations of
Martyna, Tobias and Klein in "(Martyna)"_#Martyna with the strain
energy proposed by Parrinello and Rahman in
"(Parrinello)"_#Parrinello. The time integration schemes follow the
time-reversible measure-preserving integrators derived by Tuckerman et
al in "(Tuckerman)"_#Tuckerman.
:line
The thermostat for fix styles {nvt} and {npt} is specified using the
{temp} keyword. Other thermostat-related keywords are {tchain},
{tloop} and {drag}, which are discussed below.
The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed before thermostatting takes place; see the
description below. The desired temperature at each timestep is a
ramped value during the run from {Tstart} to {Tstop}. 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). The atoms in the
fix group are the only ones whose velocities and positions are updated
by the velocity/position update portion of the integration.
:line
The barostat for fix styles {npt} and {nph} is specified using one or
more of the {iso}, {aniso}, {tri}, {x}, {y}, {z}, {xy}, {xz}, {yz},
and {couple} keywords. These keywords give you the ability to specify
all 6 components of an external stress tensor, and to couple various
of these components together so that the dimensions they represent are
varied together during a constant-pressure simulation.
Other barostat-related keywords are {pchain}, {mtk}, {ploop},
{nreset}, {drag}, and {dilate}, which are discussed below.
Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z).
Triclinic (non-orthogonal) simulation boxes have 6 adjustable
dimensions (x,y,z,xy,xz,yz). The "create_box"_create_box.html, "read
data"_read_data.html, and "read_restart"_read_restart.html commands
specify whether the simulation box is orthogonal or non-orthogonal
(triclinic) and explain the meaning of the xy,xz,yz tilt factors.
The target pressures for each of the 6 components of the stress tensor
can be specified independently via the {x}, {y}, {z}, {xy}, {xz}, {yz}
keywords, which correspond to the 6 simulation box dimensions. For
each component, the external pressure or tensor component at each
timestep is a ramped value during the run from {Pstart} to {Pstop}.
If a target pressure is specified for a component, then the
corresponding box dimension will change during a simulation. For
example, if the {y} keyword is used, the y-box length will change. If
the {xy} keyword is used, the xy tilt factor will change. A box
dimension will not change if that component is not specified, although
you have the option to change that dimension via the "fix
deform"_fix_deform.html command.
Note that in order to use the {xy}, {xz}, or {yz} keywords, the
simulation box must be triclinic, even if its initial tilt factors are
0.0.
For all barostat keywords, the {Pdamp} parameter operates like the
{Tdamp} parameter, determining the time scale on which pressure is
relaxed. For example, a value of 1000.0 means to relax the pressure
in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see
the "units"_units.html command).
Regardless of what atoms are in the fix group, a global pressure or
stress tensor is computed for all atoms. Similarly, when the size of
the simulation box is changed, all atoms are re-scaled to new
positions, unless the keyword {dilate} is specified with a value of
{partial}, in which case only the atoms in the fix group are
re-scaled. The latter can be useful for leaving the coordinates of
atoms in a solid substrate unchanged and controlling the pressure of a
surrounding fluid.
:line
The {couple} keyword allows two or three of the diagonal components of
the pressure tensor to be "coupled" together. The value specified
with the keyword determines which are coupled. For example, {xz}
means the {Pxx} and {Pzz} components of the stress tensor are coupled.
{Xyz} means all 3 diagonal components are coupled. Coupling means two
things: the instantaneous stress will be computed as an average of the
corresponding diagonal components, and the coupled box dimensions will
be changed together in lockstep, meaning coupled dimensions will be
dilated or contracted by the same percentage every timestep. The
{Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must
be identical. {Couple xyz} can be used for a 2d simulation; the {z}
dimension is simply ignored.
:line
The {iso}, {aniso}, and {tri} keywords are simply shortcuts that are
equivalent to specifying several other keywords together.
The keyword {iso} means couple all 3 diagonal components together when
pressure is computed (hydrostatic pressure), and dilate/contract the
dimensions together. Using "iso Pstart Pstop Pdamp" is the same as
specifying these 4 keywords:
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple xyz :pre
The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled
independently using the {Pxx}, {Pyy}, and {Pzz} components of the
stress tensor as the driving forces, and the specified scalar external
pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying
these 4 keywords:
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple none :pre
The keyword {tri} means {x}, {y}, {z}, {xy}, {xz}, and {yz} dimensions
are controlled independently using their individual stress components
as the driving forces, and the specified scalar pressure as the
external normal stress. Using "tri Pstart Pstop Pdamp" is the same as
specifying these 7 keywords:
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
xy 0.0 0.0 Pdamp
yz 0.0 0.0 Pdamp
xz 0.0 0.0 Pdamp
couple none :pre
:line
In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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. Note that use of the drag
keyword will interfere with energy conservation and will also change
the distribution of positions and velocities so that they do not
correspond to the norminal NVT, NPT, or NPH ensembles.
An alternative way to control initial oscillations is to use chain
thermostats. The keyword {tchain} determines the number of thermostats
in the particle thermostat. A value of 1 corresponds to the original
Nose-Hoover thermostat. The keyword {pchain} specifies the number of
thermostats in the chain thermostatting the barostat degrees of
freedom. A value of 0 corresponds to no thermostatting of the
bvarostat variables.
The {mtk} keyword controls whether or not the correction terms due to
Martyna, Tuckerman, and Klein are included in the equations of motion
"(Martyna1994)"_#Martyna1994. Specifying {no} reproduces the original
Hoover barostat, whose volume probability distribution function
differs from the true NPT and NPH ensembles by a factor of 1/V. Hence
using {yes} is more correct, but in many cases the difference is
negligible.
The keyword {tloop} can be used to improve the accuracy of integration
scheme at little extra cost. The initial and final updates of the
thermostat variables are broken up into {tloop} substeps, each of
length {dt}/{tloop}. This corresponds to using a first-order
Suzuki-Yoshida scheme "(Tuckerman2006)"_#Tuckerman2006. The keyword
{ploop} does the same thing for the barostat thermostat.
The keyword {nreset} controls how often the reference dimensions used
to define the strain energy are reset. If this keyword is not used,
or is given a value of zero, then the reference dimensions are set to
those of the initial simulation domain and are never changed. If the
simulation domain changes significantly during the simulation, then
the final average pressure tensor will differ significantly from the
specified values of the external stress tensor. A value of {nstep}
means that every {nstep} timesteps, the reference dimensions are set
to those of the current simulation domain.
:line
IMPORTANT NOTE: Using a barostat coupled to tilt dimensions {xy},
{xz}, {yz} can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dratically deformed simulation box. LAMMPS
imposes reasonable limits on how large the tilt values can be, and
exits with an error if these are exceeded. This error typically
indicates that there is something badly wrong with how the simulation
was constructed. The three most common sources of this error are
using keyword {tri} on a liquid system, specifying an external shear
stress tensor that exceeds the yield stress of the solid, and
specifying values of {Pstart} that are too far from the current stress
value. In other words, triclinic barostatting should be used with
care. This also is true for other barostat styles, although they tend
to be more forgiving of insults.
IMPORTANT NOTE: Unlike the "fix
temp/berendsen"_fix_temp_berendsen.html command which performs
thermostatting but NO time integration, these fixes perform
thermostatting/barostatting AND time integration. Thus you should not
use any other time integration fix, such as "fix nve"_fix_nve.html on
atoms to which this fix is applied. Likewise, the {temp} options for
fix nvt and fix npt should not normally be used on atoms that also
have their temperature controlled by another fix - e.g. by "fix
langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html
commands.
See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
:line
These fixes compute a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if one of these two sets of commands had been issued:
compute fix-ID_temp group-ID temp
compute fix-ID_press group-ID pressure fix-ID_temp :pre
compute fix-ID_temp all temp
compute fix-ID_press all pressure fix-ID_temp :pre
See the "compute temp"_compute_temp.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press". For fix nvt, the group for the new computes
is the same as the fix group. For fix nph and fix npt, the group for
the new computes is "all" since pressure is computed for the entire
system.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
and {thermo_press}. This means you can change the attributes of this
fix's temperature or pressure via the
"compute_modify"_compute_modify.html command or print this temperature
or pressure during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix.
Like other fixes that perform thermostatting, fix nvt and fix npt can
be used with "compute commands"_compute.html that calculate a
temperature after removing a "bias" from the atom velocities.
E.g. removing the center-of-mass velocity from a group of atoms or
only calculating temperature on the x-component of velocity or only
calculating temperature for atoms in a geometric region. This is not
done by default, but only if the "fix_modify"_fix_modify.html command
is used to assign a temperature compute to this fix that includes such
a bias term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:]
These fixes writes the state of all the thermostat and barostat
variables to "binary restart files"_restart.html. See the
"read_restart"_read_restart.html command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by these fixes. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
single thermo_modify command (or in two separate commands), then the
order in which the keywords are specified is important. Note that a
"pressure compute"_compute_pressure.html defines its own temperature
compute as an argument when it is specified. The {temp} keyword will
override this (for the pressure compute being used by fix npt), but
only if the {temp} keyword comes after the {press} keyword. If the
{temp} keyword comes before the {press} keyword, then the new pressure
compute specified by the {press} keyword will be unaffected by the
{temp} setting.
The "fix_modify"_fix_modify.html {energy} option is supported by these
fixes to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
"thermodynamic output"_thermo_style.html.
These fixes compute a global scalar and a global vector of quantities,
which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar values calculated by
this fix are "extensive"; the vector values are "intensive".
The scalar is the cummulative energy change due to the fix.
The vector stores internal Nose/Hoover thermostat and barostat
variables. The number and meaning of the vector values depends on
which fix is used and the settings for keywords {tchain} and {pchain},
which specify the number of Nose/Hoover chains for the thermostat and
barostat. If no thermostatting is done, then {tchain} is 0. If no
barostatting is done, then {pchain} is 0. In the following list,
"ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in
the barostat. Its value is 0 if no barostat is used, else its value
is 6 if any off-diagonal stress tensor component is barostatted, else
its value is 1 if {couple xyz} is used or {couple xy} for a 2d
simulation, otherwise its value is 3.
The order of values in the global vector and their meaning is as
follows. The notation means there are tchain values for eta, followed
by tchain for eta_dot, followed by ndof for omega, etc:
eta[tchain] = what for each T chain
eta_dot[tchain] = what for each T chain
omega[ndof] = what for each barostat DOF
omega_dot[ndof] = what for each barostat DOF
etap[pchain] = what for each P chain
etap_dot[pchain] = what for each P chain
PE_eta[tchain] = potential energy for each T chain
KE_eta_dot[tchain] = what for each T chain
PE_omega[ndof] = what for each barostat DOF
KE_omega_dot[ndof] = what for each barostat DOF
PE_etap[pchain] = what for each P chain
KE_etap_dot[pchain] = what for each P chain
PE_strain[1] = scalar strain energy :ul
These fixes can ramp their external temperature and pressure over
multiple runs, using the {start} and {stop} keywords of the
"run"_run.html command. See the "run"_run.html command for details of
how to do this.
These fixes are not invoked during "energy
minimization"_minimize.html.
[Restrictions:]
Non-periodic dimensions cannot be barostatted. {Z}, {xz}, and {yz},
cannot be barostatted 2D simulations. {Xy}, {xz}, and {yz} can only
be barostatted if the simulation domain is triclinic and the 2nd
dimension in the keyword ({y} dimension in {xy}) is periodic. The
"create_box"_create_box.html, "read data"_read_data.html, and
"read_restart"_read_restart.html commands specify whether the
simulation box is orthogonal or non-orthogonal (triclinic) and explain
the meaning of the xy,xz,yz tilt factors.
For the {temp} keyword, the final Tstop cannot be 0.0 since it would
make the external 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_modify"_fix_modify.html
[Default:]
The keyword defaults are tchain = 3, pchain = 0, mtk = yes, tloop =
ploopt = 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).

View File

@ -1,227 +0,0 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix nph command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID nph p-style args keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>nph = style name of this fix command
<LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
<PRE> <I>xyz</I> args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>xy</I> or <I>yz</I> or <I>xz</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at
start/end (0/1) of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>aniso</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at
start/end (0/1) of run (pressure units)
Pdamp = pressure damping parameter (time units)
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I> or <I>dilate</I>
<PRE> <I>drag</I> value = drag factor added to barostat (0.0 = no drag)
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nph xyz 0.0 0.0 1000.0
fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0
fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0
</PRE>
<P><B>Description:</B>
</P>
<P>Perform constant NPH integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover pressure
barostat <A HREF = "#Hoover">(Hoover)</A>, implemented as described in
<A HREF = "#Melchionna">(Melchionna)</A>. P is pressure. This creates a system
trajectory consistent with the isobaric ensemble. Unlike <A HREF = "fix_npt.html">fix
npt</A>, temperature will not be controlled if no other fix
is used. Temperature can be controlled independently by using a
thermostatting fis such as <A HREF = "fix_langevin.html">fix langevin</A> or <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>.
</P>
<P>The atoms in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPT integration.
</P>
<P>Regardless of what atoms are in the fix group, a global pressure is
computed for all atoms. Similarly, when the size of the simulation
box is changed, all atoms are re-scaled to new positions, unless the
keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case
only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_press_berendsen.html">fix
press/berendsen</A> command which performs
barostatting but NO time integration, this fix performs barostatting
AND time integration. Thus you should not use any other time
integration fix, such as <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nvt.html">fix
nvt</A> on atoms to which this fix is applied. Use <A HREF = "fix_npt.html">fix
npt</A> instead of this fix, if you want to control both
temperature and pressure via Nose/Hoover.
</P>
<P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
</P>
<HR>
<P>The pressure can be controlled in one of several styles, as specified
by the <I>p-style</I> argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
</P>
<P>Style <I>xyz</I> means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
</P>
<P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
</P>
<P>For style <I>aniso</I>, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
</P>
<P>For any of the styles except <I>xyz</I>, any of the independent pressure
components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
<I>aniso</I>.
</P>
<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
</P>
<P>In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat 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
pressure 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>For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary condition for tilted boxes
(triclinic symmetry) are supported by other LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this
section</A> of the manual), but not yet by this
command.
</P>
<P>For all styles, the <I>Pdamp</I> parameter determines the time scale on
which pressure is relaxed. For example, a value of 1000.0 means to
relax the pressure in a timespan of (roughly) 1000 time units (tau or
fmsec or psec - see the <A HREF = "units.html">units</A> command).
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp group-ID temp
</PRE>
<PRE>compute fix-ID_press group-ID pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
and <I>thermo_press</I>. This means you can change the attributes of this
fix's temperature or pressure via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the Nose/Hoover barostat to <A HREF = "restart.html">binary
restart files</A>. See the <A HREF = "read_restart.html">read_restart</A>
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by this fix. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive".
</P>
<P>This fix can ramp its target pressure over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
<A HREF = "run.html">run</A> command for details of how to do this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>,
<A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0 and dilate = all.
</P>
<HR>
<A NAME = "Hoover"></A>
<P><B>(Hoover)</B> Hoover, Phys Rev A, 34, 2499 (1986).
</P>
<A NAME = "Melchionna"></A>
<P><B>(Melchionna)</B> Melchionna, Ciccotti, Holian, Molecular Physics, 78,
533-44 (1993).
</P>
</HTML>

View File

@ -1,213 +0,0 @@
"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 nph command :h3
[Syntax:]
fix ID group-ID nph p-style args keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nph = style name of this fix command :l
p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
{xyz} args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
{xy} or {yz} or {xz} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at
start/end (0/1) of run (pressure units)
Pdamp = pressure damping parameter (time units)
{aniso} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp
Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at
start/end (0/1) of run (pressure units)
Pdamp = pressure damping parameter (time units) :pre
zero or more keyword/value pairs may be appended :l
keyword = {drag} or {dilate} :l
{drag} value = drag factor added to barostat (0.0 = no drag)
{dilate} value = {all} or {partial} :pre
:ule
[Examples:]
fix 1 all nph xyz 0.0 0.0 1000.0
fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0
fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 :pre
[Description:]
Perform constant NPH integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover pressure
barostat "(Hoover)"_#Hoover, implemented as described in
"(Melchionna)"_#Melchionna. P is pressure. This creates a system
trajectory consistent with the isobaric ensemble. Unlike "fix
npt"_fix_npt.html, temperature will not be controlled if no other fix
is used. Temperature can be controlled independently by using a
thermostatting fis such as "fix langevin"_fix_langevin.html or "fix
temp/rescale"_fix_temp_rescale.html.
The atoms in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPT integration.
Regardless of what atoms are in the fix group, a global pressure is
computed for all atoms. Similarly, when the size of the simulation
box is changed, all atoms are re-scaled to new positions, unless the
keyword {dilate} is specified with a value of {partial}, in which case
only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
IMPORTANT NOTE: Unlike the "fix
press/berendsen"_fix_press_berendsen.html command which performs
barostatting but NO time integration, this fix performs barostatting
AND time integration. Thus you should not use any other time
integration fix, such as "fix nve"_fix_nve.html or "fix
nvt"_fix_nvt.html on atoms to which this fix is applied. Use "fix
npt"_fix_npt.html instead of this fix, if you want to control both
temperature and pressure via Nose/Hoover.
See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
:line
The pressure can be controlled in one of several styles, as specified
by the {p-style} argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
Style {xyz} means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
For style {aniso}, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
For any of the styles except {xyz}, any of the independent pressure
components (e.g. z in {xy}, or any dimension in {aniso}) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
{aniso}.
For styles {xy} and {yz} and {xz}, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat 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
pressure 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.
For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary condition for tilted boxes
(triclinic symmetry) are supported by other LAMMPS commands (see "this
section"_Section_howto.html#4_12 of the manual), but not yet by this
command.
For all styles, the {Pdamp} parameter determines the time scale on
which pressure is relaxed. For example, a value of 1000.0 means to
relax the pressure in a timespan of (roughly) 1000 time units (tau or
fmsec or psec - see the "units"_units.html command).
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if these commands had been issued:
compute fix-ID_temp group-ID temp :pre
compute fix-ID_press group-ID pressure fix-ID_temp :pre
See the "compute temp"_compute_temp.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
and {thermo_press}. This means you can change the attributes of this
fix's temperature or pressure via the
"compute_modify"_compute_modify.html command or print this temperature
or pressure during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover barostat to "binary
restart files"_restart.html. See the "read_restart"_read_restart.html
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by this fix. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive".
This fix can ramp its target pressure over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
"run"_run.html command for details of how to do this.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
[Related commands:]
"fix nve"_fix_nve.html, "fix npt"_fix_npt.html,
"fix_modify"_fix_modify.html
[Default:]
The keyword defaults are drag = 0.0 and dilate = all.
:line
:link(Hoover)
[(Hoover)] Hoover, Phys Rev A, 34, 2499 (1986).
:link(Melchionna)
[(Melchionna)] Melchionna, Ciccotti, Holian, Molecular Physics, 78,
533-44 (1993).

129
doc/fix_nph_asphere.html Normal file
View File

@ -0,0 +1,129 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix nph/asphere command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID nph/asphere args keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>nph/asphere = style name of this fix command
<LI>additional barostat related keyword/value pairs from the <A HREF = "fix_nh.html">fix nph</A> command can be appended
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nph/asphere iso 0.0 0.0 1000.0
fix 2 all nph/asphere x 5.0 5.0 1000.0
fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2
fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial
</PRE>
<P><B>Description:</B>
</P>
<P>Perform constant NPH integration to update position, velocity,
orientation, and angular velocity each timestep for aspherical or
ellipsoidal particles in the group using a Nose/Hoover pressure
barostat. P is pressure; H is enthalpy. This creates a system
trajectory consistent with the isenthalpic ensemble.
</P>
<P>This fix differs from the <A HREF = "fix_nh.html">fix nph</A> command, which assumes
point particles and only updates their position and velocity.
</P>
<P>Additional parameters affecting the barostat are specified by keywords
and values documented with the <A HREF = "fix_nh.html">fix nph</A> command. See,
for example, discussion of the <I>aniso</I>, and <I>dilate</I> keywords.
</P>
<P>The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPH integration.
</P>
<P>Regardless of what particles are in the fix group, a global pressure is
computed for all particles. Similarly, when the size of the simulation
box is changed, all particles are re-scaled to new positions, unless the
keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case
only the particles in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of particles in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
"pressure", as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp all temp/asphere
compute fix-ID_press all pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
and <I>thermo_press</I>. This means you can change the attributes of this
fix's temperature or pressure via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the Nose/Hoover barostat to <A HREF = "restart.html">binary
restart files</A>. See the <A HREF = "read_restart.html">read_restart</A>
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by this fix. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>This fix computes the same global scalar and global vector of
quantities as does the <A HREF = "fix_nh.html">fix nph</A> command.
</P>
<P>This fix can ramp its target pressure over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
<A HREF = "run.html">run</A> command for details of how to do this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>This fix requires that atoms store torque and angular velocity (omega)
as defined by the <A HREF = "atom_style.html">atom_style</A>. It also require they
store either a per-particle diameter or per-type <A HREF = "shape.html">shape</A>.
</P>
<P>All particles in the group must be finite-size. They cannot be point
particles, but they can be aspherical or spherical.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nh.html">fix nph</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_nvt_asphere.html">fix
nvt_asphere</A>, <A HREF = "fix_npt_asphere.html">fix npt_asphere</A>,
<A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>

124
doc/fix_nph_asphere.txt Executable file
View File

@ -0,0 +1,124 @@
"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 nph/asphere command :h3
[Syntax:]
fix ID group-ID nph/asphere args keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command
nph/asphere = style name of this fix command
additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul
[Examples:]
fix 1 all nph/asphere iso 0.0 0.0 1000.0
fix 2 all nph/asphere x 5.0 5.0 1000.0
fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2
fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial :pre
[Description:]
Perform constant NPH integration to update position, velocity,
orientation, and angular velocity each timestep for aspherical or
ellipsoidal particles in the group using a Nose/Hoover pressure
barostat. P is pressure; H is enthalpy. This creates a system
trajectory consistent with the isenthalpic ensemble.
This fix differs from the "fix nph"_fix_nh.html command, which assumes
point particles and only updates their position and velocity.
Additional parameters affecting the barostat are specified by keywords
and values documented with the "fix nph"_fix_nh.html command. See,
for example, discussion of the {aniso}, and {dilate} keywords.
The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPH integration.
Regardless of what particles are in the fix group, a global pressure is
computed for all particles. Similarly, when the size of the simulation
box is changed, all particles are re-scaled to new positions, unless the
keyword {dilate} is specified with a value of {partial}, in which case
only the particles in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of particles in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
"pressure", as if these commands had been issued:
compute fix-ID_temp all temp/asphere
compute fix-ID_press all pressure fix-ID_temp :pre
See the "compute temp/asphere"_compute_temp_asphere.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
and {thermo_press}. This means you can change the attributes of this
fix's temperature or pressure via the
"compute_modify"_compute_modify.html command or print this temperature
or pressure during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover barostat to "binary
restart files"_restart.html. See the "read_restart"_read_restart.html
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by this fix. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
This fix computes the same global scalar and global vector of
quantities as does the "fix nph"_fix_nh.html command.
This fix can ramp its target pressure over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
"run"_run.html command for details of how to do this.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
This fix requires that atoms store torque and angular velocity (omega)
as defined by the "atom_style"_atom_style.html. It also require they
store either a per-particle diameter or per-type "shape"_shape.html.
All particles in the group must be finite-size. They cannot be point
particles, but they can be aspherical or spherical.
[Related commands:]
"fix nph"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
nvt_asphere"_fix_nvt_asphere.html, "fix npt_asphere"_fix_npt_asphere.html,
"fix_modify"_fix_modify.html
[Default:] none

129
doc/fix_nph_sphere.html Normal file
View File

@ -0,0 +1,129 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix nph/sphere command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID nph/sphere args keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>nph/sphere = style name of this fix command
<LI>additional barostat related keyword/value pairs from the <A HREF = "fix_nh.html">fix nph</A> command can be appended
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nph/sphere iso 0.0 0.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial
</PRE>
<P><B>Description:</B>
</P>
<P>Perform constant NPH integration to update position, velocity, and
angular velocity each timestep for extended spherical particles in the
group using a Nose/Hoover pressure barostat. P is pressure; H is
enthalpy. This creates a system trajectory consistent with the
isenthalpic ensemble.
</P>
<P>This fix differs from the <A HREF = "fix_nh.html">fix nph</A> command, which assumes
point particles and only updates their position and velocity.
</P>
<P>Additional parameters affecting the barostat are specified by keywords
and values documented with the <A HREF = "fix_nh.html">fix nph</A> command. See,
for example, discussion of the <I>aniso</I>, and <I>dilate</I> keywords.
</P>
<P>The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPH integration.
</P>
<P>Regardless of what particles are in the fix group, a global pressure is
computed for all particles. Similarly, when the size of the simulation
box is changed, all particles are re-scaled to new positions, unless the
keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case
only the particles in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of particles in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/sphere" and
"pressure", as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp all temp/sphere
compute fix-ID_press all pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp_sphere.html">compute temp/sphere</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
and <I>thermo_press</I>. This means you can change the attributes of this
fix's temperature or pressure via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the Nose/Hoover barostat to <A HREF = "restart.html">binary
restart files</A>. See the <A HREF = "read_restart.html">read_restart</A>
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by this fix. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>This fix computes the same global scalar and global vector of
quantities as does the <A HREF = "fix_nh.html">fix nph</A> command.
</P>
<P>This fix can ramp its target pressure over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
<A HREF = "run.html">run</A> command for details of how to do this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>This fix requires that atoms store torque and angular velocity (omega)
as defined by the <A HREF = "atom_style.html">atom_style</A>. It also require they
store either a per-particle diameter or per-type <A HREF = "shape.html">shape</A>.
</P>
<P>All particles in the group must be finite-size spheres. They cannot
be point particles, nor can they be aspherical.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nh.html">fix nph</A>, <A HREF = "fix_nve_sphere.html">fix nve_sphere</A>, <A HREF = "fix_nvt_sphere.html">fix
nvt_sphere</A>, <A HREF = "fix_npt_sphere.html">fix npt_sphere</A>,
<A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>

124
doc/fix_nph_sphere.txt Executable file
View File

@ -0,0 +1,124 @@
"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 nph/sphere command :h3
[Syntax:]
fix ID group-ID nph/sphere args keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command
nph/sphere = style name of this fix command
additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul
[Examples:]
fix 1 all nph/sphere iso 0.0 0.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial :pre
[Description:]
Perform constant NPH integration to update position, velocity, and
angular velocity each timestep for extended spherical particles in the
group using a Nose/Hoover pressure barostat. P is pressure; H is
enthalpy. This creates a system trajectory consistent with the
isenthalpic ensemble.
This fix differs from the "fix nph"_fix_nh.html command, which assumes
point particles and only updates their position and velocity.
Additional parameters affecting the barostat are specified by keywords
and values documented with the "fix nph"_fix_nh.html command. See,
for example, discussion of the {aniso}, and {dilate} keywords.
The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPH integration.
Regardless of what particles are in the fix group, a global pressure is
computed for all particles. Similarly, when the size of the simulation
box is changed, all particles are re-scaled to new positions, unless the
keyword {dilate} is specified with a value of {partial}, in which case
only the particles in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of particles in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/sphere" and
"pressure", as if these commands had been issued:
compute fix-ID_temp all temp/sphere
compute fix-ID_press all pressure fix-ID_temp :pre
See the "compute temp/sphere"_compute_temp_sphere.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
and {thermo_press}. This means you can change the attributes of this
fix's temperature or pressure via the
"compute_modify"_compute_modify.html command or print this temperature
or pressure during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover barostat to "binary
restart files"_restart.html. See the "read_restart"_read_restart.html
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by this fix. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
This fix computes the same global scalar and global vector of
quantities as does the "fix nph"_fix_nh.html command.
This fix can ramp its target pressure over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
"run"_run.html command for details of how to do this.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
This fix requires that atoms store torque and angular velocity (omega)
as defined by the "atom_style"_atom_style.html. It also require they
store either a per-particle diameter or per-type "shape"_shape.html.
All particles in the group must be finite-size spheres. They cannot
be point particles, nor can they be aspherical.
[Related commands:]
"fix nph"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
nvt_sphere"_fix_nvt_sphere.html, "fix npt_sphere"_fix_npt_sphere.html,
"fix_modify"_fix_modify.html
[Default:] none

View File

@ -1,273 +0,0 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix npt command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>npt = style name of this fix command
<LI>Tstart,Tstop = desired temperature at start/end of run (temperature units)
<LI>Tdamp = temperature damping parameter (time units)
<LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
<PRE> <I>xyz</I> args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I> or <I>dilate</I>
<PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag)
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial
</PRE>
<P><B>Description:</B>
</P>
<P>Perform constant NPT integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover temperature
thermostat <A HREF = "#Hoover1">(Hoover1)</A> and Nose/Hoover pressure barostat
<A HREF = "#Hoover2">(Hoover2)</A>, implemented as described in
<A HREF = "#Melchionna">(Melchionna)</A>. P is pressure; T is temperature. This
creates a system trajectory consistent with the isothermal-isobaric
ensemble.
</P>
<P>The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed from them before thermostatting takes place;
see the description below.
</P>
<P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> 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
<A HREF = "units.html">units</A> command).
</P>
<P>The atoms in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPT integration.
</P>
<P>Regardless of what atoms are in the fix group, a global pressure is
computed for all atoms. Similarly, when the size of the simulation
box is changed, all atoms are re-scaled to new positions, unless the
keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case
only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_temp_berendsen.html">fix
temp/berendsen</A> command which performs
thermostatting but NO time integration, this fix performs
thermostatting/barostatting AND time integration. Thus you should not
use any other time integration fix, such as <A HREF = "fix_nve.html">fix nve</A> on
atoms to which this fix is applied. Likewise, this fix should not
normally be used on atoms that also have their temperature controlled
by another fix - e.g. by <A HREF = "fix_nvt.html">fix langevin</A> or <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A> commands.
</P>
<P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
</P>
<HR>
<P>The pressure can be controlled in one of several styles, as specified
by the <I>p-style</I> argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
</P>
<P>Style <I>xyz</I> means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
</P>
<P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
</P>
<P>For style <I>aniso</I>, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
</P>
<P>For any of the styles except <I>xyz</I>, any of the independent pressure
components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
<I>aniso</I>.
</P>
<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
</P>
<P>In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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>For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary condition for tilted boxes
(triclinic symmetry) are supported by other LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this
section</A> of the manual), but not yet by this
command.
</P>
<P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I>
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
<A HREF = "units.html">units</A> command).
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp group-ID temp
compute fix-ID_press group-ID pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
and <I>thermo_press</I>. This means you can change the attributes of this
fix's temperature or pressure via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix.
</P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the Nose/Hoover thermostat and barostat
to <A HREF = "restart.html">binary restart files</A>. See the
<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by this fix. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
</P>
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
single thermo_modify command (or in two separate commands), then the
order in which the keywords are specified is important. Note that a
<A HREF = "compute_pressure.html">pressure compute</A> defines its own temperature
compute as an argument when it is specified. The <I>temp</I> keyword will
override this (for the pressure compute being used by fix npt), but
only if the <I>temp</I> keyword comes after the <I>press</I> keyword. If the
<I>temp</I> keyword comes before the <I>press</I> keyword, then the new pressure
compute specified by the <I>press</I> keyword will be unaffected by the
<I>temp</I> setting.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
<A HREF = "thermo_style.html">thermodynamic output</A>.
</P>
<P>The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive".
</P>
<P>This fix can ramp its target temperature and pressure over multiple
runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A>
command. See the <A HREF = "run.html">run</A> command for details of how to do
this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
</P>
<P>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.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_nph.html">fix nph</A>,
<A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0 and dilate = all.
</P>
<HR>
<A NAME = "Hoover1"></A>
<P><B>(Hoover1)</B> Hoover, Phys Rev A, 31, 1695 (1985).
</P>
<A NAME = "Hoover2"></A>
<P><B>(Hoover2)</B> Hoover, Phys Rev A, 34, 2499 (1986).
</P>
<A NAME = "Melchionna"></A>
<P><B>(Melchionna)</B> Melchionna, Ciccotti, Holian, Molecular Physics, 78,
533-44 (1993).
</P>
</HTML>

View File

@ -1,257 +0,0 @@
"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 npt command :h3
[Syntax:]
fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
npt = style name of this fix command :l
Tstart,Tstop = desired temperature at start/end of run (temperature units) :l
Tdamp = temperature damping parameter (time units) :l
p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
{xyz} args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
{xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units) :pre
zero or more keyword/value pairs may be appended :l
keyword = {drag} or {dilate} :l
{drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
{dilate} value = {all} or {partial} :pre
:ule
[Examples:]
fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre
[Description:]
Perform constant NPT integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover temperature
thermostat "(Hoover1)"_#Hoover1 and Nose/Hoover pressure barostat
"(Hoover2)"_#Hoover2, implemented as described in
"(Melchionna)"_#Melchionna. P is pressure; T is temperature. This
creates a system trajectory consistent with the isothermal-isobaric
ensemble.
The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed from them before thermostatting takes place;
see the description below.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. 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).
The atoms in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
NPT integration.
Regardless of what atoms are in the fix group, a global pressure is
computed for all atoms. Similarly, when the size of the simulation
box is changed, all atoms are re-scaled to new positions, unless the
keyword {dilate} is specified with a value of {partial}, in which case
only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
IMPORTANT NOTE: Unlike the "fix
temp/berendsen"_fix_temp_berendsen.html command which performs
thermostatting but NO time integration, this fix performs
thermostatting/barostatting AND time integration. Thus you should not
use any other time integration fix, such as "fix nve"_fix_nve.html on
atoms to which this fix is applied. Likewise, this fix should not
normally be used on atoms that also have their temperature controlled
by another fix - e.g. by "fix langevin"_fix_nvt.html or "fix
temp/rescale"_fix_temp_rescale.html commands.
See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting and barostatting.
:line
The pressure can be controlled in one of several styles, as specified
by the {p-style} argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
Style {xyz} means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
For style {aniso}, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
For any of the styles except {xyz}, any of the independent pressure
components (e.g. z in {xy}, or any dimension in {aniso}) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
{aniso}.
For styles {xy} and {yz} and {xz}, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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.
For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary condition for tilted boxes
(triclinic symmetry) are supported by other LAMMPS commands (see "this
section"_Section_howto.html#4_12 of the manual), but not yet by this
command.
For all styles, the {Pdamp} parameter operates like the {Tdamp}
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
"units"_units.html command).
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if these commands had been issued:
compute fix-ID_temp group-ID temp
compute fix-ID_press group-ID pressure fix-ID_temp :pre
See the "compute temp"_compute_temp.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
and {thermo_press}. This means you can change the attributes of this
fix's temperature or pressure via the
"compute_modify"_compute_modify.html command or print this temperature
or pressure during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover thermostat and barostat
to "binary restart files"_restart.html. See the
"read_restart"_read_restart.html command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by this fix. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
single thermo_modify command (or in two separate commands), then the
order in which the keywords are specified is important. Note that a
"pressure compute"_compute_pressure.html defines its own temperature
compute as an argument when it is specified. The {temp} keyword will
override this (for the pressure compute being used by fix npt), but
only if the {temp} keyword comes after the {press} keyword. If the
{temp} keyword comes before the {press} keyword, then the new pressure
compute specified by the {press} keyword will be unaffected by the
{temp} setting.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
"thermodynamic output"_thermo_style.html.
The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive".
This fix can ramp its target temperature and pressure over multiple
runs, using the {start} and {stop} keywords of the "run"_run.html
command. See the "run"_run.html command for details of how to do
this.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
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 nvt"_fix_nvt.html, "fix nph"_fix_nph.html,
"fix_modify"_fix_modify.html
[Default:]
The keyword defaults are drag = 0.0 and dilate = all.
:line
:link(Hoover1)
[(Hoover1)] Hoover, Phys Rev A, 31, 1695 (1985).
:link(Hoover2)
[(Hoover2)] Hoover, Phys Rev A, 34, 2499 (1986).
:link(Melchionna)
[(Melchionna)] Melchionna, Ciccotti, Holian, Molecular Physics, 78,
533-44 (1993).

View File

@ -13,40 +13,18 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ...
<PRE>fix ID group-ID npt/asphere keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>npt/asphere = style name of this fix command
<LI>Tstart,Tstop = desired temperature at start/end of run
<LI>Tdamp = temperature damping parameter (time units)
<LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
<PRE> <I>xyz</I> args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I> or <I>dilate</I>
<PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag)
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
<LI>additional thermostat and barostat related keyword/value pairs from the <A HREF = "fix_nh.html">fix npt</A> command can be appended
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial
<PRE>fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial
</PRE>
<P><B>Description:</B>
</P>
@ -57,6 +35,9 @@ thermostat and Nose/Hoover pressure barostat. P is pressure; T is
temperature. This creates a system trajectory consistent with the
isothermal-isobaric ensemble.
</P>
<P>This fix differs from the <A HREF = "fix_nh.html">fix npt</A> command, which
assumes point particles and only updates their position and velocity.
</P>
<P>The thermostat is applied to both the translational and rotational
degrees of freedom for the aspherical particles, assuming a compute is
used which calculates a temperature that includes the rotational
@ -64,12 +45,10 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
</P>
<P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> 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
<A HREF = "units.html">units</A> command).
<P>Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the <A HREF = "fix_nh.html">fix
npt</A> command. See, for example, discussion of the <I>temp</I>,
<I>iso</I>, <I>aniso</I>, and <I>dilate</I> keywords.
</P>
<P>The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
@ -85,71 +64,18 @@ unchanged and controlling the pressure of a surrounding fluid.
</P>
<HR>
<P>The pressure can be controlled in one of several styles, as specified
by the <I>p-style</I> argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
</P>
<P>Style <I>xyz</I> means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
</P>
<P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
</P>
<P>For style <I>aniso</I>, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
</P>
<P>For any of the styles except <I>xyz</I>, any of the independent pressure
components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
<I>aniso</I>.
</P>
<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
</P>
<P>In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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>For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary conditions (tilted box) are not yet
implemented in LAMMPS.
</P>
<P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I>
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
<A HREF = "units.html">units</A> command).
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
"pressure", as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp group-ID temp/asphere
compute fix-ID_press group-ID pressure fix-ID_temp
<PRE>compute fix-ID_temp all temp/asphere
compute fix-ID_press all pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
@ -198,10 +124,8 @@ fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
<A HREF = "thermo_style.html">thermodynamic output</A>.
</P>
<P>The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive".
<P>This fix computes the same global scalar and global vector of
quantities as does the <A HREF = "fix_nh.html">fix npt</A> command.
</P>
<P>This fix can ramp its target temperature and pressure over multiple
runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A>
@ -225,21 +149,11 @@ diameter or per-particle mass.
<P>All particles in the group must be finite-size. They cannot be point
particles, but they can be aspherical or spherical.
</P>
<P>Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
</P>
<P>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.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_npt_asphere.html">fix
npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A>
<P><A HREF = "fix_nh.html">fix npt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_nvt_asphere.html">fix
nvt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0 and dilate = all.
<P><B>Default:</B> none
</P>
</HTML>

View File

@ -10,32 +10,18 @@ fix npt/asphere command :h3
[Syntax:]
fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... :pre
fix ID group-ID npt/asphere keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
npt/asphere = style name of this fix command :l
Tstart,Tstop = desired temperature at start/end of run :l
Tdamp = temperature damping parameter (time units) :l
p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
{xyz} args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
{xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units) :pre
zero or more keyword/value pairs may be appended :l
keyword = {drag} or {dilate} :l
{drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
{dilate} value = {all} or {partial} :pre
:ule
ID, group-ID are documented in "fix"_fix.html command
npt/asphere = style name of this fix command
additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul
[Examples:]
fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre
fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre
[Description:]
@ -46,6 +32,9 @@ thermostat and Nose/Hoover pressure barostat. P is pressure; T is
temperature. This creates a system trajectory consistent with the
isothermal-isobaric ensemble.
This fix differs from the "fix npt"_fix_nh.html command, which
assumes point particles and only updates their position and velocity.
The thermostat is applied to both the translational and rotational
degrees of freedom for the aspherical particles, assuming a compute is
used which calculates a temperature that includes the rotational
@ -53,12 +42,10 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. 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).
Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the "fix
npt"_fix_nh.html command. See, for example, discussion of the {temp},
{iso}, {aniso}, and {dilate} keywords.
The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
@ -74,71 +61,18 @@ unchanged and controlling the pressure of a surrounding fluid.
:line
The pressure can be controlled in one of several styles, as specified
by the {p-style} argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
Style {xyz} means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
For style {aniso}, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
For any of the styles except {xyz}, any of the independent pressure
components (e.g. z in {xy}, or any dimension in {aniso}) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
{aniso}.
For styles {xy} and {yz} and {xz}, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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.
For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary conditions (tilted box) are not yet
implemented in LAMMPS.
For all styles, the {Pdamp} parameter operates like the {Tdamp}
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
"units"_units.html command).
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
"pressure", as if these commands had been issued:
compute fix-ID_temp group-ID temp/asphere
compute fix-ID_press group-ID pressure fix-ID_temp :pre
compute fix-ID_temp all temp/asphere
compute fix-ID_press all pressure fix-ID_temp :pre
See the "compute temp/asphere"_compute_temp_asphere.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
@ -187,10 +121,8 @@ fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
"thermodynamic output"_thermo_style.html.
The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive".
This fix computes the same global scalar and global vector of
quantities as does the "fix npt"_fix_nh.html command.
This fix can ramp its target temperature and pressure over multiple
runs, using the {start} and {stop} keywords of the "run"_run.html
@ -214,19 +146,9 @@ diameter or per-particle mass.
All particles in the group must be finite-size. They cannot be point
particles, but they can be aspherical or spherical.
Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
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 npt"_fix_npt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
"fix npt"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
nvt_asphere"_fix_nvt_asphere.html, "fix_modify"_fix_modify.html
[Default:]
The keyword defaults are drag = 0.0 and dilate = all.
[Default:] none

View File

@ -13,40 +13,18 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID npt/sphere Tstart Tstop Tdamp p-style args keyword value ...
<PRE>fix ID group-ID npt/sphere keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>npt/sphere = style name of this fix command
<LI>Tstart,Tstop = desired temperature at start/end of run
<LI>Tdamp = temperature damping parameter (time units)
<LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
<PRE> <I>xyz</I> args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
<I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I> or <I>dilate</I>
<PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag)
<I>dilate</I> value = <I>all</I> or <I>partial</I>
</PRE>
<LI>additional thermostat and barostat related keyword/value pairs from the <A HREF = "fix_nh.html">fix npt</A> command can be appended
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all npt/sphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/sphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial
<PRE>fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial
</PRE>
<P><B>Description:</B>
</P>
@ -56,7 +34,7 @@ group using a Nose/Hoover temperature thermostat and Nose/Hoover
pressure barostat. P is pressure; T is temperature. This creates a
system trajectory consistent with the isothermal-isobaric ensemble.
</P>
<P>This fix differs from the <A HREF = "fix_npt.html">fix npt</A> command, which
<P>This fix differs from the <A HREF = "fix_nh.html">fix npt</A> command, which
assumes point particles and only updates their position and velocity.
</P>
<P>The thermostat is applied to both the translational and rotational
@ -66,12 +44,10 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
</P>
<P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> 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
<A HREF = "units.html">units</A> command).
<P>Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the <A HREF = "fix_nh.html">fix
npt</A> command. See, for example, discussion of the <I>temp</I>,
<I>iso</I>, <I>aniso</I>, and <I>dilate</I> keywords.
</P>
<P>The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
@ -87,71 +63,18 @@ unchanged and controlling the pressure of a surrounding fluid.
</P>
<HR>
<P>The pressure can be controlled in one of several styles, as specified
by the <I>p-style</I> argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
</P>
<P>Style <I>xyz</I> means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
</P>
<P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
</P>
<P>For style <I>aniso</I>, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
</P>
<P>For any of the styles except <I>xyz</I>, any of the independent pressure
components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
<I>aniso</I>.
</P>
<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
</P>
<P>In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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>For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary conditions (tilted box) are not yet
implemented in LAMMPS.
</P>
<P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I>
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
<A HREF = "units.html">units</A> command).
</P>
<HR>
<P>This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
this, the fix creates its own computes of style "temp/sphere" and
"pressure", as if these commands had been issued:
</P>
<PRE>compute fix-ID_temp group-ID temp/sphere
compute fix-ID_press group-ID pressure fix-ID_temp
<PRE>compute fix-ID_temp all temp/sphere
compute fix-ID_press all pressure fix-ID_temp
</PRE>
<P>See the <A HREF = "compute_temp_sphere.html">compute temp/sphere</A> and <A HREF = "compute_pressure.html">compute
pressure</A> commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
</P>
<P>Note that these are NOT the computes used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
@ -200,10 +123,8 @@ fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
<A HREF = "thermo_style.html">thermodynamic output</A>.
</P>
<P>The potential cummulative energy change due to this fix is stored as a
scalar quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive".
<P>This fix computes the same global scalar and global vector of
quantities as does the <A HREF = "fix_nh.html">fix npt</A> command.
</P>
<P>This fix can ramp its target temperature and pressure over multiple
runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A>
@ -221,22 +142,12 @@ store either a per-particle diameter or per-type <A HREF = "shape.html">shape</A
<P>All particles in the group must be finite-size spheres. They cannot
be point particles, nor can they be aspherical.
</P>
<P>Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
</P>
<P>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.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_sphere.html">fix nve_sphere</A>, <A HREF = "fix_nvt_sphere.html">fix
<P><A HREF = "fix_nh.html">fix npt</A>, <A HREF = "fix_nve_sphere.html">fix nve_sphere</A>, <A HREF = "fix_nvt_sphere.html">fix
nvt_sphere</A>, <A HREF = "fix_npt_asphere.html">fix
npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0 and dilate = all.
<P><B>Default:</B> none
</P>
</HTML>

View File

@ -10,32 +10,18 @@ fix npt/sphere command :h3
[Syntax:]
fix ID group-ID npt/sphere Tstart Tstop Tdamp p-style args keyword value ... :pre
fix ID group-ID npt/sphere keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
npt/sphere = style name of this fix command :l
Tstart,Tstop = desired temperature at start/end of run :l
Tdamp = temperature damping parameter (time units) :l
p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
{xyz} args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
{xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units) :pre
zero or more keyword/value pairs may be appended :l
keyword = {drag} or {dilate} :l
{drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
{dilate} value = {all} or {partial} :pre
:ule
ID, group-ID are documented in "fix"_fix.html command
npt/sphere = style name of this fix command
additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul
[Examples:]
fix 1 all npt/sphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/sphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre
fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre
[Description:]
@ -45,7 +31,7 @@ group using a Nose/Hoover temperature thermostat and Nose/Hoover
pressure barostat. P is pressure; T is temperature. This creates a
system trajectory consistent with the isothermal-isobaric ensemble.
This fix differs from the "fix npt"_fix_npt.html command, which
This fix differs from the "fix npt"_fix_nh.html command, which
assumes point particles and only updates their position and velocity.
The thermostat is applied to both the translational and rotational
@ -55,12 +41,10 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. 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).
Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the "fix
npt"_fix_nh.html command. See, for example, discussion of the {temp},
{iso}, {aniso}, and {dilate} keywords.
The particles in the fix group are the only ones whose velocities and
positions are updated by the velocity/position update portion of the
@ -76,71 +60,18 @@ unchanged and controlling the pressure of a surrounding fluid.
:line
The pressure can be controlled in one of several styles, as specified
by the {p-style} argument. In each case, the desired pressure at each
timestep is a ramped value during the run from the starting value to
the end value.
Style {xyz} means couple all dimensions together when pressure is
computed (isotropic pressure), and dilate/contract the dimensions
together.
Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are
coupled together, both for pressure computation and for
dilation/contraction. The 3rd dimension dilates/contracts
independently, using its pressure component as the driving force.
These styles cannot be used for a 2d simulation.
For style {aniso}, all dimensions dilate/contract independently using
their individual pressure components as the driving forces.
For any of the styles except {xyz}, any of the independent pressure
components (e.g. z in {xy}, or any dimension in {aniso}) can have
their target pressures (both start and stop values) specified as NULL.
This means that no pressure control is applied to that dimension so
that the box dimension remains unchanged. For a 2d simulation the z
pressure components must be specified as NULL when using style
{aniso}.
For styles {xy} and {yz} and {xz}, the starting and stopping pressures
must be the same for the two coupled dimensions and cannot be
specified as NULL.
In some cases (e.g. for solids) the pressure (volume) and/or
temperature of the system can oscillate undesirably when a Nose/Hoover
barostat and 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
pressure and 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.
For all pressure styles, the simulation box stays rectangular in
shape. Parinello-Rahman boundary conditions (tilted box) are not yet
implemented in LAMMPS.
For all styles, the {Pdamp} parameter operates like the {Tdamp}
parameter, determining the time scale on which pressure is relaxed.
For example, a value of 1000.0 means to relax the pressure in a
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
"units"_units.html command).
:line
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp/asphere" and
this, the fix creates its own computes of style "temp/sphere" and
"pressure", as if these commands had been issued:
compute fix-ID_temp group-ID temp/sphere
compute fix-ID_press group-ID pressure fix-ID_temp :pre
compute fix-ID_temp all temp/sphere
compute fix-ID_press all pressure fix-ID_temp :pre
See the "compute temp/sphere"_compute_temp_sphere.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press", and the group for the new computes is the same
as the fix group.
+ underscore + "press", and the group for the new computes is "all"
since pressure is computed for the entire system.
Note that these are NOT the computes used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
@ -189,10 +120,8 @@ fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
"thermodynamic output"_thermo_style.html.
The potential cummulative energy change due to this fix is stored as a
scalar quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive".
This fix computes the same global scalar and global vector of
quantities as does the "fix npt"_fix_nh.html command.
This fix can ramp its target temperature and pressure over multiple
runs, using the {start} and {stop} keywords of the "run"_run.html
@ -210,20 +139,10 @@ store either a per-particle diameter or per-type "shape"_shape.html.
All particles in the group must be finite-size spheres. They cannot
be point particles, nor can they be aspherical.
Any dimension being adjusted by this fix must be periodic. A
dimension whose target pressures are specified as NULL can be
non-periodic or periodic.
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 npt"_fix_npt.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
"fix npt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
nvt_sphere"_fix_nvt_sphere.html, "fix
npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
[Default:]
The keyword defaults are drag = 0.0 and dilate = all.
[Default:] none

View File

@ -33,8 +33,8 @@ ensemble.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
@ -43,7 +43,7 @@ This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_npt.html">fix npt</A>
<P><A HREF = "fix_nh.html">fix nvt</A>, <A HREF = "fix_nh.html">fix npt</A>
</P>
<P><B>Default:</B> none
</P>

View File

@ -30,8 +30,8 @@ ensemble.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.
@ -40,6 +40,6 @@ This fix is not invoked during "energy minimization"_minimize.html.
[Related commands:]
"fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html
"fix nvt"_fix_nh.html, "fix npt"_fix_nh.html
[Default:] none

View File

@ -36,8 +36,8 @@ assumes point particles and only updates their position and velocity.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -33,8 +33,8 @@ assumes point particles and only updates their position and velocity.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -56,15 +56,15 @@ very large for overlapped configurations.
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a scalar quantity which is the count of how many
updates of atom's velocity/position were limited by the maximum
distance criterion. This should be roughly the number of atoms so
affected, except that updates occur at both the beginning and end of a
timestep in a velocity Verlet timestepping algorithm. This is a
cumulative quantity for the current run, but is re-initialized to
zero each time a run is performed. This value can be accessed by
various <A HREF = "Section_howto.html#4_15">output commands</A>. The scalar value
calculated by this fix is "extensive".
<P>This fix computes a global scalar which can be accessed by various
<A HREF = "Section_howto.html#4_15">output commands</A>. The scalar is the count of
how many updates of atom's velocity/position were limited by the
maximum distance criterion. This should be roughly the number of
atoms so affected, except that updates occur at both the beginning and
end of a timestep in a velocity Verlet timestepping algorithm. This
is a cumulative quantity for the current run, but is re-initialized to
zero each time a run is performed. The scalar value calculated by
this fix is "extensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy

View File

@ -53,15 +53,15 @@ 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 quantity which is the count of how many
updates of atom's velocity/position were limited by the maximum
distance criterion. This should be roughly the number of atoms so
affected, except that updates occur at both the beginning and end of a
timestep in a velocity Verlet timestepping algorithm. This is a
cumulative quantity for the current run, but is re-initialized to
zero each time a run is performed. This value can be accessed by
various "output commands"_Section_howto.html#4_15. The scalar value
calculated by this fix is "extensive".
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#4_15. The scalar is the count of
how many updates of atom's velocity/position were limited by the
maximum distance criterion. This should be roughly the number of
atoms so affected, except that updates occur at both the beginning and
end of a timestep in a velocity Verlet timestepping algorithm. This
is a cumulative quantity for the current run, but is re-initialized to
zero each time a run is performed. The scalar value calculated by
this fix is "extensive".
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

View File

@ -42,8 +42,8 @@ fcm() group function to compute the total force on the group of atoms.
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -39,8 +39,8 @@ fcm() group function to compute the total force on the group of atoms.
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -53,8 +53,8 @@ where a dipole moment is assigned to particles via the
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.

View File

@ -45,8 +45,8 @@ where a dipole moment is assigned to particles via the
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. No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. 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.

View File

@ -1,189 +0,0 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix nvt command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID nvt Tstart Tstop Tdamp keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>nvt = style name of this fix command
<LI>Tstart,Tstop = desired temperature at start/end of run (temperature units)
<LI>Tdamp = temperature damping parameter (time units)
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>drag</I> or <I>chain</I>
<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 chain no
</PRE>
<P><B>Description:</B>
</P>
<P>Perform constant NVT integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover temperature
thermostat <A HREF = "#Hoover">(Hoover)</A>. V is volume; T is temperature. This
creates a system trajectory consistent with the canonical ensemble.
</P>
<P>The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed from them before thermostatting takes place;
see the description below.
</P>
<P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> 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
<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, 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
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as <A HREF = "fix_nve.html">fix
nve</A> on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix
langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>
commands.
</P>
<P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a
discussion of different ways to compute temperature and perform
thermostatting.
</P>
<P>This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been
issued:
</P>
<PRE>compute fix-ID_temp group-ID temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> command for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
</P>
<P>Note that this is NOT the compute used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>.
This means you can change the attributes of this fix's temperature
(e.g. its degrees-of-freedom) via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> will have no
effect on this fix.
</P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary
restart files</A>. See the <A HREF = "read_restart.html">read_restart</A>
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. You can use it to assign a temperature <A HREF = "compute.html">compute</A>
you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar value calculated by
this fix is "extensive".
</P>
<P>This fix can ramp its target temperature over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
<A HREF = "run.html">run</A> command for details of how to do this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>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.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>,
<A HREF = "fix_modify.html">fix_modify</A>, <A HREF = "compute_temp.html">compute temp</A>
</P>
<P><B>Default:</B>
</P>
<P>The keyword defaults are drag = 0.0 and chain = yes.
</P>
<HR>
<A NAME = "Hoover"></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

@ -1,176 +0,0 @@
"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 (temperature units) :l
Tdamp = temperature damping parameter (time units) :l
zero or more keyword/value pairs may be appended :l
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 chain no :pre
[Description:]
Perform constant NVT integration to update positions and velocities
each timestep for atoms in the group using a Nose/Hoover temperature
thermostat "(Hoover)"_#Hoover. V is volume; T is temperature. This
creates a system trajectory consistent with the canonical ensemble.
The thermostat is applied to only the translational degrees of freedom
for the particles. The translational degrees of freedom can also have
a bias velocity removed from them before thermostatting takes place;
see the description below.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. 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).
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, 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
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as "fix
nve"_fix_nve.html on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by "fix
langevin"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html
commands.
See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting.
This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been
issued:
compute fix-ID_temp group-ID temp :pre
See the "compute temp"_compute_temp.html command for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
Note that this is NOT the compute used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
This means you can change the attributes of this fix's temperature
(e.g. its degrees-of-freedom) via the
"compute_modify"_compute_modify.html command or print this temperature
during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} will have no
effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover thermostat to "binary
restart files"_restart.html. See the "read_restart"_read_restart.html
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. You can use it to assign a temperature "compute"_compute.html
you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The cummulative energy change due to this fix is stored as a scalar
quantity, which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar value calculated by
this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
"run"_run.html command for details of how to do this.
This fix is not invoked during "energy minimization"_minimize.html.
[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, "compute temp"_compute_temp.html
[Default:]
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.

Some files were not shown because too many files have changed in this diff Show More