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

This commit is contained in:
sjplimp
2011-04-29 16:27:56 +00:00
parent 199c005d93
commit 72644dcb8d
8 changed files with 333 additions and 116 deletions

View File

@ -13,16 +13,29 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID temp/asphere bias-ID
<PRE>compute ID group-ID temp/asphere keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>temp/asphere = style name of this compute command
<LI>bias-ID = ID of a temperature compute that removes a velocity bias (optional)
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>temp/asphere = style name of this compute command
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>bias</I> or <I>dof</I>
<PRE> <I>bias</I> value = bias-ID<I>uniform</I> or <I>gaussian</I>
bias-ID = ID of a temperature compute that removes a velocity bias
<I>dof</I> value = <I>all</I> or <I>rotate</I>
all = compute temperature of translational and rotational degrees of freedom
rotate = compute temperature of just rotational degrees of freedom
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 all temp/asphere
compute myTemp mobile temp/asphere tempCOM
compute myTemp mobile temp/asphere bias tempCOM
compute myTemp mobile temp/asphere dof rotate
</PRE>
<P><B>Description:</B>
</P>
@ -75,15 +88,6 @@ vector are ordered xx, yy, zz, xy, xz, yz.
constant for the duration of the run; use the <I>dynamic</I> option of the
<A HREF = "compute_modify.html">compute_modify</A> command if this is not the case.
</P>
<P>If a <I>bias-ID</I> is specified it must be the ID of a temperature compute
that removes a "bias" velocity from each atom. This allows compute
temp/sphere to compute its thermal temperature after the translational
kinetic energy components have been altered in a prescribed way,
e.g. to remove a velocity profile. Thermostats that use this compute
will work with this bias term. See the doc pages for individual
computes that calculate a temperature and the doc pages for fixes that
perform thermostatting for more details.
</P>
<P>This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as <A HREF = "fix_shake.html">fix
shake</A> and <A HREF = "fix_rigid.html">fix rigid</A>. This means the
@ -96,6 +100,26 @@ be altered using the <I>extra</I> option of the
discussion of different ways to compute temperature and perform
thermostatting.
</P>
<HR>
<P>The keyword/value option pairs are used in the following ways.
</P>
<P>For the <I>bias</I> keyword, <I>bias-ID</I> refers to the ID of a temperature
compute that removes a "bias" velocity from each atom. This allows
compute temp/sphere to compute its thermal temperature after the
translational kinetic energy components have been altered in a
prescribed way, e.g. to remove a velocity profile. Thermostats that
use this compute will work with this bias term. See the doc pages for
individual computes that calculate a temperature and the doc pages for
fixes that perform thermostatting for more details.
</P>
<P>For the <I>dof</I> keyword, a setting of <I>all</I> calculates a temperature
that includes both translational and rotational degrees of freedom. A
setting of <I>rotate</I> calculates a temperature that includes only
rotational degrees of freedom.
</P>
<HR>
<P><B>Output info:</B>
</P>
<P>This compute calculates a global scalar (the temperature) and a global

View File

@ -10,16 +10,24 @@ compute temp/asphere command :h3
[Syntax:]
compute ID group-ID temp/asphere bias-ID :pre
compute ID group-ID temp/asphere keyword value ... :pre
ID, group-ID are documented in "compute"_compute.html command
temp/asphere = style name of this compute command
bias-ID = ID of a temperature compute that removes a velocity bias (optional) :ul
ID, group-ID are documented in "compute"_compute.html command :ulb,l
temp/asphere = style name of this compute command :l
zero or more keyword/value pairs may be appended :l
keyword = {bias} or {dof} :l
{bias} value = bias-ID{uniform} or {gaussian}
bias-ID = ID of a temperature compute that removes a velocity bias
{dof} value = {all} or {rotate}
all = compute temperature of translational and rotational degrees of freedom
rotate = compute temperature of just rotational degrees of freedom :pre
:ule
[Examples:]
compute 1 all temp/asphere
compute myTemp mobile temp/asphere tempCOM :pre
compute myTemp mobile temp/asphere bias tempCOM
compute myTemp mobile temp/asphere dof rotate :pre
[Description:]
@ -72,15 +80,6 @@ The number of atoms contributing to the temperature is assumed to be
constant for the duration of the run; use the {dynamic} option of the
"compute_modify"_compute_modify.html command if this is not the case.
If a {bias-ID} is specified it must be the ID of a temperature compute
that removes a "bias" velocity from each atom. This allows compute
temp/sphere to compute its thermal temperature after the translational
kinetic energy components have been altered in a prescribed way,
e.g. to remove a velocity profile. Thermostats that use this compute
will work with this bias term. See the doc pages for individual
computes that calculate a temperature and the doc pages for fixes that
perform thermostatting for more details.
This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as "fix
shake"_fix_shake.html and "fix rigid"_fix_rigid.html. This means the
@ -93,6 +92,26 @@ See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting.
:line
The keyword/value option pairs are used in the following ways.
For the {bias} keyword, {bias-ID} refers to the ID of a temperature
compute that removes a "bias" velocity from each atom. This allows
compute temp/sphere to compute its thermal temperature after the
translational kinetic energy components have been altered in a
prescribed way, e.g. to remove a velocity profile. Thermostats that
use this compute will work with this bias term. See the doc pages for
individual computes that calculate a temperature and the doc pages for
fixes that perform thermostatting for more details.
For the {dof} keyword, a setting of {all} calculates a temperature
that includes both translational and rotational degrees of freedom. A
setting of {rotate} calculates a temperature that includes only
rotational degrees of freedom.
:line
[Output info:]
This compute calculates a global scalar (the temperature) and a global

View File

@ -13,16 +13,29 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID temp/sphere bias-ID
<PRE>compute ID group-ID temp/sphere keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>temp/sphere = style name of this compute command
<LI>bias-ID = ID of a temperature compute that removes a velocity bias (optional)
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>temp/sphere = style name of this compute command
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>bias</I> or <I>dof</I>
<PRE> <I>bias</I> value = bias-ID<I>uniform</I> or <I>gaussian</I>
bias-ID = ID of a temperature compute that removes a velocity bias
<I>dof</I> value = <I>all</I> or <I>rotate</I>
all = compute temperature of translational and rotational degrees of freedom
rotate = compute temperature of just rotational degrees of freedom
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 all temp/sphere
compute myTemp mobile temp/sphere tempCOM
compute myTemp mobile temp/sphere bias tempCOM
compute myTemp mobile temp/sphere dof rotate
</PRE>
<P><B>Description:</B>
</P>
@ -66,15 +79,6 @@ the vector are ordered xx, yy, zz, xy, xz, yz.
constant for the duration of the run; use the <I>dynamic</I> option of the
<A HREF = "compute_modify.html">compute_modify</A> command if this is not the case.
</P>
<P>If a <I>bias-ID</I> is specified it must be the ID of a temperature compute
that removes a "bias" velocity from each atom. This allows compute
temp/sphere to compute its thermal temperature after the translational
kinetic energy components have been altered in a prescribed way,
e.g. to remove a velocity profile. Thermostats that use this compute
will work with this bias term. See the doc pages for individual
computes that calculate a temperature and the doc pages for fixes that
perform thermostatting for more details.
</P>
<P>This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as <A HREF = "fix_shake.html">fix
shake</A> and <A HREF = "fix_rigid.html">fix rigid</A>. This means the
@ -87,6 +91,26 @@ be altered using the <I>extra</I> option of the
discussion of different ways to compute temperature and perform
thermostatting.
</P>
<HR>
<P>The keyword/value option pairs are used in the following ways.
</P>
<P>For the <I>bias</I> keyword, <I>bias-ID</I> refers to the ID of a temperature
compute that removes a "bias" velocity from each atom. This allows
compute temp/sphere to compute its thermal temperature after the
translational kinetic energy components have been altered in a
prescribed way, e.g. to remove a velocity profile. Thermostats that
use this compute will work with this bias term. See the doc pages for
individual computes that calculate a temperature and the doc pages for
fixes that perform thermostatting for more details.
</P>
<P>For the <I>dof</I> keyword, a setting of <I>all</I> calculates a temperature
that includes both translational and rotational degrees of freedom. A
setting of <I>rotate</I> calculates a temperature that includes only
rotational degrees of freedom.
</P>
<HR>
<P><B>Output info:</B>
</P>
<P>This compute calculates a global scalar (the temperature) and a global
@ -116,6 +140,8 @@ particles with radius = 0.0.
<P><A HREF = "compute_temp.html">compute temp</A>, <A HREF = "compute_temp.html">compute
temp/asphere</A>
</P>
<P><B>Default:</B> none
<P><B>Default:</B>
</P>
<P>The option defaults are no bias and dof = all.
</P>
</HTML>

View File

@ -10,16 +10,24 @@ compute temp/sphere command :h3
[Syntax:]
compute ID group-ID temp/sphere bias-ID :pre
compute ID group-ID temp/sphere keyword value ... :pre
ID, group-ID are documented in "compute"_compute.html command
temp/sphere = style name of this compute command
bias-ID = ID of a temperature compute that removes a velocity bias (optional) :ul
ID, group-ID are documented in "compute"_compute.html command :ulb,l
temp/sphere = style name of this compute command :l
zero or more keyword/value pairs may be appended :l
keyword = {bias} or {dof} :l
{bias} value = bias-ID{uniform} or {gaussian}
bias-ID = ID of a temperature compute that removes a velocity bias
{dof} value = {all} or {rotate}
all = compute temperature of translational and rotational degrees of freedom
rotate = compute temperature of just rotational degrees of freedom :pre
:ule
[Examples:]
compute 1 all temp/sphere
compute myTemp mobile temp/sphere tempCOM :pre
compute myTemp mobile temp/sphere bias tempCOM
compute myTemp mobile temp/sphere dof rotate :pre
[Description:]
@ -63,15 +71,6 @@ The number of atoms contributing to the temperature is assumed to be
constant for the duration of the run; use the {dynamic} option of the
"compute_modify"_compute_modify.html command if this is not the case.
If a {bias-ID} is specified it must be the ID of a temperature compute
that removes a "bias" velocity from each atom. This allows compute
temp/sphere to compute its thermal temperature after the translational
kinetic energy components have been altered in a prescribed way,
e.g. to remove a velocity profile. Thermostats that use this compute
will work with this bias term. See the doc pages for individual
computes that calculate a temperature and the doc pages for fixes that
perform thermostatting for more details.
This compute subtracts out translational degrees-of-freedom due to
fixes that constrain molecular motion, such as "fix
shake"_fix_shake.html and "fix rigid"_fix_rigid.html. This means the
@ -84,6 +83,26 @@ See "this howto section"_Section_howto.html#4_16 of the manual for a
discussion of different ways to compute temperature and perform
thermostatting.
:line
The keyword/value option pairs are used in the following ways.
For the {bias} keyword, {bias-ID} refers to the ID of a temperature
compute that removes a "bias" velocity from each atom. This allows
compute temp/sphere to compute its thermal temperature after the
translational kinetic energy components have been altered in a
prescribed way, e.g. to remove a velocity profile. Thermostats that
use this compute will work with this bias term. See the doc pages for
individual computes that calculate a temperature and the doc pages for
fixes that perform thermostatting for more details.
For the {dof} keyword, a setting of {all} calculates a temperature
that includes both translational and rotational degrees of freedom. A
setting of {rotate} calculates a temperature that includes only
rotational degrees of freedom.
:line
[Output info:]
This compute calculates a global scalar (the temperature) and a global
@ -113,4 +132,6 @@ particles with radius = 0.0.
"compute temp"_compute_temp.html, "compute
temp/asphere"_compute_temp.html
[Default:] none
[Default:]
The option defaults are no bias and dof = all.

View File

@ -27,14 +27,21 @@
<LI>zero or more keyword/value pairs may be appended
<PRE>keyword = <I>scale</I> or <I>tally</I>
<LI>keyword = <I>angmom</I> or <I>omega</I> or <I>scale</I> or <I>tally</I> or <I>zero</I>
<PRE> <I>angmom</I> value = <I>no</I> or <I>yes</I>
<I>no</I> = do not thermostat rotational degrees of freedom via the angular momentum
<I>yes</I> = do thermostat rotational degrees of freedom via the angular momentum
<I>omega</I> value = <I>no</I> or <I>yes</I>
<I>no</I> = do not thermostat rotational degrees of freedom via then angular velocity
<I>yes</I> = do thermostat rotational degrees of freedom via the angular velocity
<I>scale</I> values = type ratio
type = atom type (1-N)
ratio = factor by which to scale the damping coefficient
<I>tally</I> values = <I>no</I> or <I>yes</I>
<I>tally</I> value = <I>no</I> or <I>yes</I>
<I>no</I> = do not tally the energy added/subtracted to atoms
<I>yes</I> = do tally the energy added/subtracted to atoms
<I>zero</I> values = <I>no</I> or <I>yes</I>
<I>zero</I> value = <I>no</I> or <I>yes</I>
<I>no</I> = do not set total random force to zero
<I>yes</I> = set total random force to zero
</PRE>
@ -135,6 +142,25 @@ generate its own unique seed and its own stream of random numbers.
Thus the dynamics of the system will not be identical on two runs on
different numbers of processors.
</P>
<HR>
<P>The keyword/value option pairs are used in the following ways.
</P>
<P>The keyword <I>angmom</I> and <I>omega</I> keywords enable thermostatting of
rotational degrees of freedom in addition to the usual translational
degrees of freedom. This can only be done for finite-size particles.
A simulation using atom_style sphere defines an omega for finite-size
spheres. A simulation using atom_style ellipsoid defines a finite
size and shape for aspherical particles and an angular momentum. The
Langevin formulas for thermostatting the rotational degrees of freedom
are the same as those above, where force is replaced by torque, m is
replaced by the moment of inertia I, and v is replaced by omega (which
is derived from the angular momentum in the case of aspherical
particles). The rotational temperature of the particles can be
monitored by the <A HREF = "compute_temp_sphere.html">compute temp/sphere</A> and
<A HREF = "compute_temp_asphere.html">compute temp/asphere</A> commands with their
rotate options.
</P>
<P>The keyword <I>scale</I> allows the damp factor to be scaled up or down by
the specified factor for atoms of that type. This can be useful when
different atom types have different sizes or masses. It can be used
@ -166,6 +192,8 @@ to zero by subtracting off an equal part of it from each atom in the
group. As a result, the center-of-mass of a system with zero initial
momentum will not drift over time.
</P>
<HR>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
@ -209,8 +237,8 @@ dpd/tstat</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are scale = 1.0 for all types, tally = no, zero =
no.
<P>The option defaults are angmom = no, omega = no, scale = 1.0 for all
types, tally = no, zero = no.
</P>
<HR>

View File

@ -18,14 +18,20 @@ Tstart,Tstop = desired temperature at start/end of run (temperature units) :l
damp = damping parameter (time units) :l
seed = random number seed to use for white noise (positive integer) :l
zero or more keyword/value pairs may be appended :l
keyword = {scale} or {tally}
keyword = {angmom} or {omega} or {scale} or {tally} or {zero} :l
{angmom} value = {no} or {yes}
{no} = do not thermostat rotational degrees of freedom via the angular momentum
{yes} = do thermostat rotational degrees of freedom via the angular momentum
{omega} value = {no} or {yes}
{no} = do not thermostat rotational degrees of freedom via then angular velocity
{yes} = do thermostat rotational degrees of freedom via the angular velocity
{scale} values = type ratio
type = atom type (1-N)
ratio = factor by which to scale the damping coefficient
{tally} values = {no} or {yes}
{tally} value = {no} or {yes}
{no} = do not tally the energy added/subtracted to atoms
{yes} = do tally the energy added/subtracted to atoms
{zero} values = {no} or {yes}
{zero} value = {no} or {yes}
{no} = do not set total random force to zero
{yes} = set total random force to zero :pre
:ule
@ -125,6 +131,25 @@ generate its own unique seed and its own stream of random numbers.
Thus the dynamics of the system will not be identical on two runs on
different numbers of processors.
:line
The keyword/value option pairs are used in the following ways.
The keyword {angmom} and {omega} keywords enable thermostatting of
rotational degrees of freedom in addition to the usual translational
degrees of freedom. This can only be done for finite-size particles.
A simulation using atom_style sphere defines an omega for finite-size
spheres. A simulation using atom_style ellipsoid defines a finite
size and shape for aspherical particles and an angular momentum. The
Langevin formulas for thermostatting the rotational degrees of freedom
are the same as those above, where force is replaced by torque, m is
replaced by the moment of inertia I, and v is replaced by omega (which
is derived from the angular momentum in the case of aspherical
particles). The rotational temperature of the particles can be
monitored by the "compute temp/sphere"_compute_temp_sphere.html and
"compute temp/asphere"_compute_temp_asphere.html commands with their
rotate options.
The keyword {scale} allows the damp factor to be scaled up or down by
the specified factor for atoms of that type. This can be useful when
different atom types have different sizes or masses. It can be used
@ -156,6 +181,8 @@ to zero by subtracting off an equal part of it from each atom in the
group. As a result, the center-of-mass of a system with zero initial
momentum will not drift over time.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
@ -199,8 +226,8 @@ dpd/tstat"_pair_dpd.html
[Default:]
The option defaults are scale = 1.0 for all types, tally = no, zero =
no.
The option defaults are angmom = no, omega = no, scale = 1.0 for all
types, tally = no, zero = no.
:line

View File

@ -33,9 +33,13 @@
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>temp</I> or <I>press</I> or <I>tparam</I> or <I>pparam</I> or <I>force</I> or <I>torque</I>
<LI>keyword = <I>langevin</I> or <I>temp</I> or <I>tparam</I> or <I>force</I> or <I>torque</I>
<PRE> <I>temp</I> values = Tstart Tstop Tperiod
<PRE> <I>langevin</I> values = Tstart Tstop Tperiod seed
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
Tdamp = temperature damping parameter (time units)
seed = random number seed to use for white noise (positive integer)
<I>temp</I> values = Tstart Tstop Tdamp
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
Tdamp = temperature damping parameter (time units)
<I>tparam</I> values = Tchain Titer Torder
@ -54,7 +58,7 @@
<P><B>Examples:</B>
</P>
<PRE>fix 1 clump rigid single
fix 1 clump rigid single force 1 off off on
fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
@ -200,19 +204,35 @@ multiple rigid fixes to be defined, but it is more expensive.
</P>
<HR>
<P>As stated above, the <I>rigid</I> and <I>rigid/nve</I> styles perform constant
NVE time integration. Thus the <I>temp</I>, <I>press</I>, and <I>tparam</I> keywords
cannot be used with these styles.
<P>The keyword/value option pairs are used in the following ways.
</P>
<P>The <I>rigid/nvt</I> style performs constant NVT time integration, using a
temperature it computes for the rigid bodies which includes their
translational and rotational motion. The <I>temp</I> keyword must be used
with this style. 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>The <I>langevin</I> and <I>temp</I> and <I>tparam</I> keywords perform thermostatting
of the rigid bodies, altering both their translational and rotational
degrees of freedom. What is meant by "temperature" of a collection of
rigid bodies and how it can be monitored via the fix output is
discussed below.
</P>
<P>The <I>langevin</I> keyword applies a Langevin thermostat to the constant
NVE time integration performed by either the <I>rigid</I> or <I>rigid/nve</I>
styles. It cannot be used with the <I>rigid/nvt</I> style. 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 random # <I>seed</I> must be a positive
integer. The way the Langevin thermostatting operates is explained on
the <A HREF = "fix_langevin.html">fix langevin</A> doc page.
</P>
<P>The <I>temp</I> and <I>tparam</I> keywords apply a Nose/Hoover thermostat to the
NVT time integration performed by the <I>rigid/nvt</I> style. They cannot
be used with the <I>rigid</I> or <I>rigid/nve</I> styles. 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>Nose/Hoover chains are used in conjunction with this thermostat. The
<I>tparam</I> keyword can optionally be used to change the chain settings
@ -222,18 +242,22 @@ oscillations in temperature that can occur in a simulation. As a rule
of thumb, increasing the chain length should lead to smaller
oscillations.
</P>
<P>There are alternate ways to thermostat a system of rigid bodies. You
can use <A HREF = "fix_langevin.html">fix langevin</A> to treat the system as
effectively immersed in an implicit solvent, e.g. a Brownian dynamics
model. For hybrid systems with both rigid bodies and solvent
particles, you can thermostat only the solvent particles that surround
one or more rigid bodies by appropriate choice of groups in the
compute and fix commands for temperature and thermostatting. The
solvent interactions with the rigid bodies should then effectively
thermostat the rigid body temperature as well.
<P>IMPORTANT NOTE: There are alternate ways to thermostat a system of
rigid bodies. You can use <A HREF = "fix_langevin.html">fix langevin</A> to treat
the individual particles in the rigid bodies as effectively immersed
in an implicit solvent, e.g. a Brownian dynamics model. For hybrid
systems with both rigid bodies and solvent particles, you can
thermostat only the solvent particles that surround one or more rigid
bodies by appropriate choice of groups in the compute and fix commands
for temperature and thermostatting. The solvent interactions with the
rigid bodies should then effectively thermostat the rigid body
temperature as well without use of the Langevin or Nose/Hoover options
associated with the fix rigid commands.
</P>
<HR>
<P>The keyword/value option pairs are used in the following ways.
</P>
<P>If you use a <A HREF = "compute.html">temperature compute</A> with a group that
includes particles in rigid bodies, the degrees-of-freedom removed by
each rigid body are accounted for in the temperature (and pressure)
@ -289,6 +313,18 @@ rigid/nvt fix to add the energy change induced by the thermostatting
to the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>The rigid and rigid/nve fixes computes a global scalar which can be
accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. The
scalar value calculated by these fixes is "intensive". The scalar is
the current temperature of the collection of rigid bodies. This is
averaged over all rigid bodies and their translational and rotational
degrees of freedom. The translational energy of a rigid body is 1/2 m
v^2, where m = total mass of the body and v = the velocity of its
center of mass. The rotational energy of a rigid body is 1/2 I w^2,
where I = the moment of inertia tensor of the body and w = its angular
velocity. Degrees of freedom constrained by the <I>force</I> and <I>torque</I>
keywords are removed from this calculation.
</P>
<P>The rigid/nvt fix computes a global scalar which can be accessed by
various <A HREF = "Section_howto.html#4_15">output commands</A>. The scalar value
calculated by the rigid/nvt fix is "extensive". The scalar is the

View File

@ -24,8 +24,12 @@ bodystyle = {single} or {molecule} or {group} :l
groupID1, groupID2, ... = list of N group IDs :pre
zero or more keyword/value pairs may be appended :l
keyword = {temp} or {press} or {tparam} or {pparam} or {force} or {torque} :l
{temp} values = Tstart Tstop Tperiod
keyword = {langevin} or {temp} or {tparam} or {force} or {torque} :l
{langevin} values = Tstart Tstop Tperiod seed
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
Tdamp = temperature damping parameter (time units)
seed = random number seed to use for white noise (positive integer)
{temp} values = Tstart Tstop Tdamp
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
Tdamp = temperature damping parameter (time units)
{tparam} values = Tchain Titer Torder
@ -43,7 +47,7 @@ keyword = {temp} or {press} or {tparam} or {pparam} or {force} or {torque} :l
[Examples:]
fix 1 clump rigid single
fix 1 clump rigid single force 1 off off on
fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off :pre
@ -189,19 +193,35 @@ multiple rigid fixes to be defined, but it is more expensive.
:line
As stated above, the {rigid} and {rigid/nve} styles perform constant
NVE time integration. Thus the {temp}, {press}, and {tparam} keywords
cannot be used with these styles.
The keyword/value option pairs are used in the following ways.
The {rigid/nvt} style performs constant NVT time integration, using a
temperature it computes for the rigid bodies which includes their
translational and rotational motion. The {temp} keyword must be used
with this style. 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 {langevin} and {temp} and {tparam} keywords perform thermostatting
of the rigid bodies, altering both their translational and rotational
degrees of freedom. What is meant by "temperature" of a collection of
rigid bodies and how it can be monitored via the fix output is
discussed below.
The {langevin} keyword applies a Langevin thermostat to the constant
NVE time integration performed by either the {rigid} or {rigid/nve}
styles. It cannot be used with the {rigid/nvt} style. 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 random # {seed} must be a positive
integer. The way the Langevin thermostatting operates is explained on
the "fix langevin"_fix_langevin.html doc page.
The {temp} and {tparam} keywords apply a Nose/Hoover thermostat to the
NVT time integration performed by the {rigid/nvt} style. They cannot
be used with the {rigid} or {rigid/nve} styles. 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).
Nose/Hoover chains are used in conjunction with this thermostat. The
{tparam} keyword can optionally be used to change the chain settings
@ -211,18 +231,22 @@ oscillations in temperature that can occur in a simulation. As a rule
of thumb, increasing the chain length should lead to smaller
oscillations.
There are alternate ways to thermostat a system of rigid bodies. You
can use "fix langevin"_fix_langevin.html to treat the system as
effectively immersed in an implicit solvent, e.g. a Brownian dynamics
model. For hybrid systems with both rigid bodies and solvent
particles, you can thermostat only the solvent particles that surround
one or more rigid bodies by appropriate choice of groups in the
compute and fix commands for temperature and thermostatting. The
solvent interactions with the rigid bodies should then effectively
thermostat the rigid body temperature as well.
IMPORTANT NOTE: There are alternate ways to thermostat a system of
rigid bodies. You can use "fix langevin"_fix_langevin.html to treat
the individual particles in the rigid bodies as effectively immersed
in an implicit solvent, e.g. a Brownian dynamics model. For hybrid
systems with both rigid bodies and solvent particles, you can
thermostat only the solvent particles that surround one or more rigid
bodies by appropriate choice of groups in the compute and fix commands
for temperature and thermostatting. The solvent interactions with the
rigid bodies should then effectively thermostat the rigid body
temperature as well without use of the Langevin or Nose/Hoover options
associated with the fix rigid commands.
:line
The keyword/value option pairs are used in the following ways.
If you use a "temperature compute"_compute.html with a group that
includes particles in rigid bodies, the degrees-of-freedom removed by
each rigid body are accounted for in the temperature (and pressure)
@ -278,6 +302,18 @@ rigid/nvt fix to add the energy change induced by the thermostatting
to the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The rigid and rigid/nve fixes computes a global scalar which can be
accessed by various "output commands"_Section_howto.html#4_15. The
scalar value calculated by these fixes is "intensive". The scalar is
the current temperature of the collection of rigid bodies. This is
averaged over all rigid bodies and their translational and rotational
degrees of freedom. The translational energy of a rigid body is 1/2 m
v^2, where m = total mass of the body and v = the velocity of its
center of mass. The rotational energy of a rigid body is 1/2 I w^2,
where I = the moment of inertia tensor of the body and w = its angular
velocity. Degrees of freedom constrained by the {force} and {torque}
keywords are removed from this calculation.
The rigid/nvt fix computes a global scalar which can be accessed by
various "output commands"_Section_howto.html#4_15. The scalar value
calculated by the rigid/nvt fix is "extensive". The scalar is the