diff --git a/doc/Eqs/fix_box_relax1.jpg b/doc/Eqs/fix_box_relax1.jpg new file mode 100644 index 0000000000..a4b6dda6ea Binary files /dev/null and b/doc/Eqs/fix_box_relax1.jpg differ diff --git a/doc/Eqs/fix_box_relax1.tex b/doc/Eqs/fix_box_relax1.tex new file mode 100644 index 0000000000..a332360666 --- /dev/null +++ b/doc/Eqs/fix_box_relax1.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +E = U + P_t \left(V-V_0 \right) + E_{strain} +$$ + +\end{document} diff --git a/doc/Eqs/fix_box_relax2.jpg b/doc/Eqs/fix_box_relax2.jpg new file mode 100644 index 0000000000..5ab0dd93bd Binary files /dev/null and b/doc/Eqs/fix_box_relax2.jpg differ diff --git a/doc/Eqs/fix_box_relax2.tex b/doc/Eqs/fix_box_relax2.tex new file mode 100644 index 0000000000..bc9cddef4e --- /dev/null +++ b/doc/Eqs/fix_box_relax2.tex @@ -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} diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 10e80e3078..c7532ed025 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -326,12 +326,12 @@ of each style or click on the style itself for a full description:
These are fix styles contributed by users, which can be used if diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 5eface305e..b08517afd6 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -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, diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 53caec5c60..521ab237e6 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -307,7 +307,7 @@ processor partition, using the variable command:
variable t world 300.0 310.0 320.0 330.0-
Define a fix of style nvt or langevin +
Define a fix of style nvt or langevin to control the temperature of each simulation:
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): -
Fix nvt only thermostats the translational velocity of +
Fix nvt only thermostats the translational velocity of particles. Fix nvt/sllod 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 @@ -1309,19 +1309,19 @@ as these: barosttating methods are currently available: Nose-Hoover (npt and nph) and Berendsen:
-The fix npt commands include a Nose-Hoover thermostat
-and barostat. Fix nph is just a Nose/Hoover barostat;
-it does no thermostatting. Both fix nph and fix
+ The fix npt commands include a Nose-Hoover thermostat
+and barostat. Fix nph is just a Nose/Hoover barostat;
+it does no thermostatting. Both fix nph and fix
press/bernendsen can be used in conjunction
with any of the thermostatting fixes.
As with the thermostats, fix npt and fix
+ As with the thermostats, fix npt and fix
nph only use translational motion of the particles in
computing T and P and performing thermo/barostatting. Fix
npt/sphere and fix
@@ -1341,8 +1341,8 @@ pressure. See the doc pages for the individual fixes and for the
fix_modify command for instructions on how to assign
a temperature or pressure compute to a barostatting fix.
IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (fix
-npt and fix nph) perform time
+ IMPORTANT NOTE: As with the thermostats, the Nose/Hoover methods (fix
+npt and fix nph) perform time
integration. Fix press/berendsen 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 read_data 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 fix nve or fix nvt
+integration fix like fix nve or fix nvt
is not used with the group that contains wall particles, their
positions and velocities will not be updated.
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
+constant pressure boundary conditions or box deformation (see the fix
npt and fix deform commands). The p
style must be applied to both faces of a dimension.
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, fix
-temp/rescale, fix npt, etc.
+temp/rescale 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),
diff --git a/doc/compute_temp.txt b/doc/compute_temp.txt
index f2b36372f0..32bb3658a9 100644
--- a/doc/compute_temp.txt
+++ b/doc/compute_temp.txt
@@ -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),
diff --git a/doc/compute_temp_com.html b/doc/compute_temp_com.html
index cd3363f63e..1472f34732 100644
--- a/doc/compute_temp_com.html
+++ b/doc/compute_temp_com.html
@@ -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. thermo_modify, fix
-temp/rescale, fix npt, etc.
+temp/rescale
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 fix nvt, fix +that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. diff --git a/doc/compute_temp_com.txt b/doc/compute_temp_com.txt index d2f44f0aa7..fe1e2bd027 100644 --- a/doc/compute_temp_com.txt +++ b/doc/compute_temp_com.txt @@ -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. diff --git a/doc/compute_temp_deform.html b/doc/compute_temp_deform.html index 79d38515c6..75c81403b4 100644 --- a/doc/compute_temp_deform.html +++ b/doc/compute_temp_deform.html @@ -33,7 +33,7 @@ of this style is created by the fix nvt/sllod 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, -fix temp/rescale, fix npt, etc. +fix temp/rescale, fix npt, 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 @@ -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 fix nvt, fix +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. diff --git a/doc/compute_temp_deform.txt b/doc/compute_temp_deform.txt index af4805d03d..389e8e171a 100644 --- a/doc/compute_temp_deform.txt +++ b/doc/compute_temp_deform.txt @@ -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. diff --git a/doc/compute_temp_partial.html b/doc/compute_temp_partial.html index d92348d3ac..f7df8c55ce 100644 --- a/doc/compute_temp_partial.html +++ b/doc/compute_temp_partial.html @@ -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. thermo_modify, fix -temp/rescale, fix npt, etc. +temp/rescale, fix npt, 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), @@ -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 fix nvt, fix +that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. diff --git a/doc/compute_temp_partial.txt b/doc/compute_temp_partial.txt index b854c5fec1..82908d3520 100644 --- a/doc/compute_temp_partial.txt +++ b/doc/compute_temp_partial.txt @@ -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. diff --git a/doc/compute_temp_profile.html b/doc/compute_temp_profile.html index ead2f15d9c..73e5107897 100644 --- a/doc/compute_temp_profile.html +++ b/doc/compute_temp_profile.html @@ -48,7 +48,7 @@ thermostatting a collection of atoms undergoing a complex flow, e.g. via a profile-unbiased thermostat (PUT) as described in (Evans). A compute of this style can be used by any command that computes a temperature, e.g. thermo_modify, -fix temp/rescale, fix npt, etc. +fix temp/rescale, fix npt, etc.
The xflag, yflag, zflag 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 fix nvt, fix +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. diff --git a/doc/compute_temp_profile.txt b/doc/compute_temp_profile.txt index 143410e61a..4d13acbd26 100644 --- a/doc/compute_temp_profile.txt +++ b/doc/compute_temp_profile.txt @@ -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. diff --git a/doc/compute_temp_ramp.html b/doc/compute_temp_ramp.html index f181eb2192..c504d7f1d6 100644 --- a/doc/compute_temp_ramp.html +++ b/doc/compute_temp_ramp.html @@ -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. thermo_modify, fix -temp/rescale, fix npt, etc. +temp/rescale, fix npt, etc.
The meaning of the arguments for this command which define the velocity ramp are the same as for the velocity ramp @@ -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 fix nvt, fix +fixes that work in this way include fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. diff --git a/doc/compute_temp_ramp.txt b/doc/compute_temp_ramp.txt index 5db8ee552f..f7e5d92adf 100644 --- a/doc/compute_temp_ramp.txt +++ b/doc/compute_temp_ramp.txt @@ -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. diff --git a/doc/compute_temp_region.html b/doc/compute_temp_region.html index 3e1e2a0a95..291746fa7c 100644 --- a/doc/compute_temp_region.html +++ b/doc/compute_temp_region.html @@ -36,8 +36,8 @@ temp/rescale, etc.
Note that a region-style temperature can be used to thermostat with fix temp/rescale or fix langevin, but should probably not be used with -Nose/Hoover style fixes (fix nvt, fix -npt, or fix nph), if the +Nose/Hoover style fixes (fix nvt, fix +npt, or fix nph), 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 @@ -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 -fix nvt, fix temp/rescale, fix +fix nvt, fix temp/rescale, fix temp/berendsen, and fix langevin. This means any of the thermostatting fixes can operate on a geometric region of atoms, as defined by this diff --git a/doc/compute_temp_region.txt b/doc/compute_temp_region.txt index 785833f830..c3e6092e46 100644 --- a/doc/compute_temp_region.txt +++ b/doc/compute_temp_region.txt @@ -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 diff --git a/doc/fix.html b/doc/fix.html index c66aaa06ba..db2b0ad5fc 100644 --- a/doc/fix.html +++ b/doc/fix.html @@ -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 fix nve -command for a second run after using a fix nvt command +command for a second run after using a fix nvt 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:
This fix computes a scalar and a 3-vector of forces, which can be -accessed by various output commands. 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. 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 command. diff --git a/doc/fix_addforce.txt b/doc/fix_addforce.txt index 4003824ff9..29579b1c4f 100644 --- a/doc/fix_addforce.txt +++ b/doc/fix_addforce.txt @@ -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. diff --git a/doc/fix_atc.html b/doc/fix_atc.html index 51e0f34821..85efdbdd70 100644 --- a/doc/fix_atc.html +++ b/doc/fix_atc.html @@ -71,7 +71,7 @@ book, 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 nvt, etc. +one, e.g. fix nve, fix nvt, etc.
A set of example input files with the attendant material files are included in the examples/USER/atc directory of the LAMMPS diff --git a/doc/fix_atc.txt b/doc/fix_atc.txt index aa7a46c22b..ccde62405e 100644 --- a/doc/fix_atc.txt +++ b/doc/fix_atc.txt @@ -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 diff --git a/doc/fix_ave_histo.html b/doc/fix_ave_histo.html index e631ba640f..5dd92ff314 100644 --- a/doc/fix_ave_histo.html +++ b/doc/fix_ave_histo.html @@ -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 thermodynamic -output or other fixes such as fix +output or other fixes such as fix nvt or fix temp/rescale. 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 diff --git a/doc/fix_ave_histo.txt b/doc/fix_ave_histo.txt index f267dec1ab..35a04288c8 100644 --- a/doc/fix_ave_histo.txt +++ b/doc/fix_ave_histo.txt @@ -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. diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index 8b01cfa9f7..8ba7ed7b2b 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -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 thermodynamic -output or other fixes such as fix +output or other fixes such as fix nvt or fix temp/rescale. 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 @@ -263,10 +263,11 @@ appropriate fields from the fix ave/time command. files. None of the fix_modify options are relevant to this fix.
-This fix produces a global scalar or vector or array which can be -accessed by various output commands. 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. 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 diff --git a/doc/fix_ave_time.txt b/doc/fix_ave_time.txt index 9b8c10cfbc..d2eccc8464 100644 --- a/doc/fix_ave_time.txt +++ b/doc/fix_ave_time.txt @@ -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 diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index 7176281314..db67471695 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -62,11 +62,11 @@ to it. files. None of the fix_modify options are relevant to this fix.
-This fix computes a 3-vector of forces, which can be accessed by -various output commands. 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. 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 command. diff --git a/doc/fix_aveforce.txt b/doc/fix_aveforce.txt index 5e60c33575..8e9ddd7ef6 100644 --- a/doc/fix_aveforce.txt +++ b/doc/fix_aveforce.txt @@ -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. diff --git a/doc/fix_bond_break.html b/doc/fix_bond_break.html index 4ef36b2951..956de2c47d 100644 --- a/doc/fix_bond_break.html +++ b/doc/fix_bond_break.html @@ -112,8 +112,8 @@ resulting from broken bonds. files. None of the fix_modify 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. The vector values calculated by
this fix are "intensive".
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. The vector values calculated by
this fix are "intensive".
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. 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
diff --git a/doc/fix_bond_swap.txt b/doc/fix_bond_swap.txt
index 8d96001ac9..eba291c8c7 100755
--- a/doc/fix_bond_swap.txt
+++ b/doc/fix_bond_swap.txt
@@ -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
diff --git a/doc/fix_box_relax.html b/doc/fix_box_relax.html
index d4a460274c..d6ccd57e86 100644
--- a/doc/fix_box_relax.html
+++ b/doc/fix_box_relax.html
@@ -13,68 +13,67 @@
Syntax:
Examples:
Description:
Apply an external pressure to the simulation box during an energy
-minimization. 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. 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.
+ 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.
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.
+ 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, read
+data, and read_restart commands
+specify whether the simulation box is orthogonal or non-orthogonal
+(triclinic) and explain the meaning of the xy,xz,yz tilt factors.
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.
+ 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 styles xy and yz and xz, the target pressures must be the
-same for the two coupled dimensions and cannot be specified as NULL.
- For all pressure styles, the simulation box stays rectangular in
-shape. Tilted boxes (triclinic symmetry) are supported by other
-LAMMPS commands (see this section 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
@@ -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.
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.
+ 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:
+ 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:
+ 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:
+ 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.
+ 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:
+ 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).
+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:
+ where I is the identity matric, h_0 is the box dimension tensor of
+the reference cell, and h_0d 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
@@ -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.
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.
fix ID group-ID box/relax style args keyword value ...
+
fix ID group-ID box/relax keyword value ...
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)
-
- dilate value = all or partial
- vmax value = fraction = max allowed volume change in one iteration
+
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
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
+
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
+
+
+
+
+
+x Ptarget
+y Ptarget
+z Ptarget
+couple xyz
+
+x Ptarget
+y Ptarget
+z Ptarget
+couple none
+
+x Ptarget
+y Ptarget
+z Ptarget
+xy 0.0
+yz 0.0
+xz 0.0
+couple none
+
+
+
+
+
+
+
@@ -171,9 +266,11 @@ 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. -No parameter of this fix can be used with the start/stop keywords of +
This fix computes a global scalar which can be accessed by various +output commands. 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 command.
This fix is invoked during energy minimization, but @@ -183,16 +280,27 @@ 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, read data, and +read_restart 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:
-Default:
-The keyword defaults are dilate = all and vmax = 0.0001. +
The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. +
+(Parrinello1981) Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).