git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3757 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -1209,7 +1209,7 @@ vector input could be a column of an array.
|
|||||||
<TR><TD ><A HREF = "variable.html">variables</A></TD><TD > global scalars, per-atom vectors</TD><TD > global scalar, per-atom vector</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "variable.html">variables</A></TD><TD > global scalars, per-atom vectors</TD><TD > global scalar, per-atom vector</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "compute_reduce.html">compute reduce</A></TD><TD > global/per-atom/local vectors</TD><TD > global scalar/vector</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "compute_reduce.html">compute reduce</A></TD><TD > global/per-atom/local vectors</TD><TD > global scalar/vector</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "compute_property_atom.html">compute property/atom</A></TD><TD > per-atom vectors</TD><TD > per-atom vector/array</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "compute_property_atom.html">compute property/atom</A></TD><TD > per-atom vectors</TD><TD > per-atom vector/array</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "compute_local_atom.html">compute property/local</A></TD><TD > local vectors</TD><TD > local vector/array</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "compute_property_local.html">compute property/local</A></TD><TD > local vectors</TD><TD > local vector/array</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "fix_ave_atom.html">fix ave/atom</A></TD><TD > per-atom vectors</TD><TD > per-atom vector/array</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "fix_ave_atom.html">fix ave/atom</A></TD><TD > per-atom vectors</TD><TD > per-atom vector/array</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "fix_ave_time.html">fix ave/time</A></TD><TD > global scalars/vectors</TD><TD > global scalar/vector/array, file</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "fix_ave_time.html">fix ave/time</A></TD><TD > global scalars/vectors</TD><TD > global scalar/vector/array, file</TD><TD ></TD></TR>
|
||||||
<TR><TD ><A HREF = "fix_ave_spatial.html">fix ave/spatial</A></TD><TD > per-atom vectors</TD><TD > global array, file</TD><TD ></TD></TR>
|
<TR><TD ><A HREF = "fix_ave_spatial.html">fix ave/spatial</A></TD><TD > per-atom vectors</TD><TD > global array, file</TD><TD ></TD></TR>
|
||||||
|
|||||||
@ -1199,7 +1199,7 @@ Command: Input: Output:
|
|||||||
"variables"_variable.html: global scalars, per-atom vectors: global scalar, per-atom vector:
|
"variables"_variable.html: global scalars, per-atom vectors: global scalar, per-atom vector:
|
||||||
"compute reduce"_compute_reduce.html: global/per-atom/local vectors: global scalar/vector:
|
"compute reduce"_compute_reduce.html: global/per-atom/local vectors: global scalar/vector:
|
||||||
"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array:
|
"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array:
|
||||||
"compute property/local"_compute_local_atom.html: local vectors: local vector/array:
|
"compute property/local"_compute_property_local.html: local vectors: local vector/array:
|
||||||
"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array:
|
"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array:
|
||||||
"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file:
|
"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file:
|
||||||
"fix ave/spatial"_fix_ave_spatial.html: per-atom vectors: global array, file:
|
"fix ave/spatial"_fix_ave_spatial.html: per-atom vectors: global array, file:
|
||||||
|
|||||||
@ -30,7 +30,8 @@ one or more input values can be listed
|
|||||||
|
|
||||||
<LI>value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
|
<LI>value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name
|
||||||
|
|
||||||
<PRE> x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)c_ID = scalar or vector calculated by a compute with ID
|
<PRE> x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
|
||||||
|
c_ID = scalar or vector calculated by a compute with ID
|
||||||
c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
|
c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID
|
||||||
f_ID = scalar or vector calculated by a fix with ID
|
f_ID = scalar or vector calculated by a fix with ID
|
||||||
f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
|
f_ID[I] = Ith component of vector or Ith column of array calculated by a fix with ID
|
||||||
|
|||||||
@ -21,7 +21,8 @@ lo,hi = lo/hi bounds within which to histogram
|
|||||||
Nbin = # of histogram bins
|
Nbin = # of histogram bins
|
||||||
one or more input values can be listed :l
|
one or more input values can be listed :l
|
||||||
value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
|
value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
|
||||||
x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)c_ID = scalar or vector calculated by a compute with ID
|
x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
|
||||||
|
c_ID = scalar or vector calculated by a compute with ID
|
||||||
c_ID\[I\] = Ith component of vector or Ith column of array calculated by a compute with ID
|
c_ID\[I\] = Ith component of vector or Ith column of array calculated by a compute with ID
|
||||||
f_ID = scalar or vector calculated by a fix with ID
|
f_ID = scalar or vector calculated by a fix with ID
|
||||||
f_ID\[I\] = Ith component of vector or Ith column of array calculated by a fix with ID
|
f_ID\[I\] = Ith component of vector or Ith column of array calculated by a fix with ID
|
||||||
|
|||||||
@ -9,15 +9,21 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<H3>fix rigid
|
<H3>fix rigid command
|
||||||
|
</H3>
|
||||||
|
<H3>fix rigid/nve command
|
||||||
|
</H3>
|
||||||
|
<H3>fix rigid/nvt command
|
||||||
|
</H3>
|
||||||
|
<H3>fix rigid/npt command
|
||||||
</H3>
|
</H3>
|
||||||
<P><B>Syntax:</B>
|
<P><B>Syntax:</B>
|
||||||
</P>
|
</P>
|
||||||
<PRE>fix ID group-ID rigid bodystyle args keyword values ...
|
<PRE>fix ID group-ID style bodystyle args keyword values ...
|
||||||
</PRE>
|
</PRE>
|
||||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||||
|
|
||||||
<LI>rigid = style name of this fix command
|
<LI>style = <I>rigid</I> or <I>rigid/nve</I> or <I>rigid/nvt</I> or <I>rigid/npt</I>
|
||||||
|
|
||||||
<LI>bodystyle = <I>single</I> or <I>molecule</I> or <I>group</I>
|
<LI>bodystyle = <I>single</I> or <I>molecule</I> or <I>group</I>
|
||||||
|
|
||||||
@ -29,9 +35,21 @@
|
|||||||
</PRE>
|
</PRE>
|
||||||
<LI>zero or more keyword/value pairs may be appended
|
<LI>zero or more keyword/value pairs may be appended
|
||||||
|
|
||||||
<LI>keyword = <I>force</I> or <I>torque</I>
|
<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>
|
||||||
|
|
||||||
<PRE> <I>force</I> values = M xflag yflag zflag
|
<PRE> <I>temp</I> values = Tstart Tstop Tperiod
|
||||||
|
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
||||||
|
Tdamp = temperature damping parameter (time units)
|
||||||
|
<I>press</I> values = Pstart Pstop Pperiod
|
||||||
|
Pstart,Pstop = desired temperature at start/stop of run (pressure units)
|
||||||
|
Pdamp = pressure damping parameter (time units)
|
||||||
|
<I>tparam</I> values = Tchain Titer Torder
|
||||||
|
Tchain = length of Nose/Hoover thermostat chain
|
||||||
|
Titer = number of thermostat iterations performed
|
||||||
|
Torder = 3 or 5 = Yoshida-Suzuki integration parameters
|
||||||
|
<I>pparam</I> values = Pchain
|
||||||
|
Pchain = length of Nose/Hoover barostat chain
|
||||||
|
<I>force</I> values = M xflag yflag zflag
|
||||||
M = which rigid body from 1-Nbody (see asterisk form below)
|
M = which rigid body from 1-Nbody (see asterisk form below)
|
||||||
xflag,yflag,zflag = off/on if component of center-of-mass force is active
|
xflag,yflag,zflag = off/on if component of center-of-mass force is active
|
||||||
<I>torque</I> values = M xflag yflag zflag
|
<I>torque</I> values = M xflag yflag zflag
|
||||||
@ -44,9 +62,9 @@
|
|||||||
</P>
|
</P>
|
||||||
<PRE>fix 1 clump rigid single
|
<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
|
||||||
fix 1 polychains rigid molecule
|
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 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
|
fix 2 fluid rigid group 3 clump1 clump2 clump3 temp 300.0 320.0 100.0 press 0.0 0.0 1000.0
|
||||||
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
|
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
|
||||||
</PRE>
|
</PRE>
|
||||||
<P><B>Description:</B>
|
<P><B>Description:</B>
|
||||||
@ -71,26 +89,35 @@ command can also be used to rigidify small molecules of 2, 3, or 4
|
|||||||
atoms, e.g. water molecules. That fix treats the constituent atoms as
|
atoms, e.g. water molecules. That fix treats the constituent atoms as
|
||||||
point masses.
|
point masses.
|
||||||
</P>
|
</P>
|
||||||
<P>The constituent particles within a rigid body can be point particles
|
<P>These fixes also update the positions and velocities of the atoms in
|
||||||
(the default in LAMMPS) or finite-size particles, such as spheroids
|
each rigid body via time integration. The <I>rigid</I> and <I>rigid/nve</I>
|
||||||
and ellipsoids. See the <A HREF = "shape.html">shape</A> command and <A HREF = "atom_style.html">atom_style
|
styles do this via constant NVE integration. The only difference is
|
||||||
granular</A> for more details on these kinds of
|
that the <I>rigid</I> style uses an integration technique based on
|
||||||
particles. Finite-size particles contribute differently to the moment
|
Richardson iterations. The <I>rigid/nve</I> style uses the methods
|
||||||
of inertia of a rigid body than do point particles. Finite-size
|
described in the paper by <A HREF = "#Miller">Miller</A>, which are thought to
|
||||||
particles can also experience torque (e.g. due to <A HREF = "pair_gran.html">frictional granular
|
provide better energy conservation than an iterative approach.
|
||||||
interactions</A>) and have an orientation. These
|
|
||||||
contributions are accounted for by the fix.
|
|
||||||
</P>
|
</P>
|
||||||
<P>Forces between particles within a body do not contribute to the
|
<P>The <I>rigid/nvt</I> style performs constant NVT integration using a
|
||||||
external force or torque on the body. Thus for computational
|
Nose/Hoover thermostat with chains as described originally in
|
||||||
efficiency, you may wish to turn off pairwise and bond interactions
|
<A HREF = "#Hoover">(Hoover)</A> and <A HREF = "#Martyna">(Martyna)</A>, which thermostats both
|
||||||
between particles within each rigid body. The <A HREF = "neigh_modify.html">neigh_modify
|
the translational and rotational degrees of freedom of the rigid
|
||||||
exclude</A> and <A HREF = "delete_bonds.html">delete_bonds</A>
|
bodies. The rigid-body algorithm used by <I>rigid/nvt</I> is described in
|
||||||
commands are used to do this. For finite-size particles this also
|
the paper by <A HREF = "#Kamberaj">Kamberaj</A>.
|
||||||
means the particles can be highly overlapped when creating the rigid
|
|
||||||
body.
|
|
||||||
</P>
|
</P>
|
||||||
<P>IMPORTANT NOTE: This fix is overkill if you simply want to hold a
|
<P>The <I>rigid/npt</I> style performs constant NPT integration using a
|
||||||
|
Nose/Hoover thermostat and barostat with chains, as described
|
||||||
|
originally in <A HREF = "#Hoover">(Hoover)</A> and <A HREF = "#Martyna">(Martyna)</A>. As with
|
||||||
|
<I>rigid/nvt</I>, the thermostat affects both the translational and
|
||||||
|
rotational degrees of freedom of the rigid bodies. The barostat
|
||||||
|
adjusts the simulation box size isotropically. The rigid-body
|
||||||
|
algorithm used by <I>rigid/nvt</I> is described in the paper by
|
||||||
|
<A HREF = "#Kamberaj">Kamberaj</A>.
|
||||||
|
</P>
|
||||||
|
<P>IMPORTANT NOTE: You should not update the atoms in rigid bodies via
|
||||||
|
other time-integration fixes (e.g. nve, nvt, npt), or you will be
|
||||||
|
integrating their motion more than once each timestep.
|
||||||
|
</P>
|
||||||
|
<P>IMPORTANT NOTE: These fixes are overkill if you simply want to hold a
|
||||||
collection of atoms stationary or have them move with a constant
|
collection of atoms stationary or have them move with a constant
|
||||||
velocity. A simpler way to hold atoms stationary is to not include
|
velocity. A simpler way to hold atoms stationary is to not include
|
||||||
those atoms in your time integration fix. E.g. use "fix 1 mobile nve"
|
those atoms in your time integration fix. E.g. use "fix 1 mobile nve"
|
||||||
@ -101,9 +128,26 @@ command), setting the force on them to 0.0 (via the <A HREF = "fix_setforce.html
|
|||||||
setforce</A> command), and integrating them as usual
|
setforce</A> command), and integrating them as usual
|
||||||
(e.g. via the <A HREF = "fix_nve.html">fix nve</A> command).
|
(e.g. via the <A HREF = "fix_nve.html">fix nve</A> command).
|
||||||
</P>
|
</P>
|
||||||
<P>IMPORTANT NOTE: This fix updates the positions and velocities of the
|
<HR>
|
||||||
rigid atoms with a constant-energy time integration, so you should not
|
|
||||||
update the same atoms via other fixes (e.g. nve, nvt, npt).
|
<P>The constituent particles within a rigid body can be point particles
|
||||||
|
(the default in LAMMPS) or finite-size particles, such as spheroids
|
||||||
|
and ellipsoids. See the <A HREF = "shape.html">shape</A> command and <A HREF = "atom_style.html">atom_style
|
||||||
|
granular</A> for more details on these kinds of
|
||||||
|
particles. Finite-size particles contribute differently to the moment
|
||||||
|
of inertia of a rigid body than do point particles. Finite-size
|
||||||
|
particles can also experience torque (e.g. due to <A HREF = "pair_gran.html">frictional granular
|
||||||
|
interactions</A>) and have an orientation. These
|
||||||
|
contributions are accounted for by these fixes.
|
||||||
|
</P>
|
||||||
|
<P>Forces between particles within a body do not contribute to the
|
||||||
|
external force or torque on the body. Thus for computational
|
||||||
|
efficiency, you may wish to turn off pairwise and bond interactions
|
||||||
|
between particles within each rigid body. The <A HREF = "neigh_modify.html">neigh_modify
|
||||||
|
exclude</A> and <A HREF = "delete_bonds.html">delete_bonds</A>
|
||||||
|
commands are used to do this. For finite-size particles this also
|
||||||
|
means the particles can be highly overlapped when creating the rigid
|
||||||
|
body.
|
||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@ -155,24 +199,82 @@ bond interactions within each rigid body, as they no longer contribute
|
|||||||
to the motion. The <A HREF = "neigh_modify.html">neigh_modify exclude</A> and
|
to the motion. The <A HREF = "neigh_modify.html">neigh_modify exclude</A> and
|
||||||
<A HREF = "delete_bonds.html">delete_bonds</A> commands are used to do this.
|
<A HREF = "delete_bonds.html">delete_bonds</A> commands are used to do this.
|
||||||
</P>
|
</P>
|
||||||
<P>For computational efficiency, you should define one fix rigid which
|
<P>For computational efficiency, you should typically define one fix
|
||||||
includes all the desired rigid bodies. LAMMPS will allow multiple
|
rigid which includes all the desired rigid bodies. LAMMPS will allow
|
||||||
rigid fixes to be defined, but it is more expensive.
|
multiple rigid fixes to be defined, but it is more expensive.
|
||||||
</P>
|
</P>
|
||||||
<P>This fix uses constant-energy NVE-style integration, so you may need
|
<HR>
|
||||||
to impose additional constraints to control the temperature of an
|
|
||||||
ensemble of rigid bodies. You can use <A HREF = "fix_langevin.html">fix
|
<P>As stated above, the <I>rigid</I> and <I>rigid/nve</I> styles
|
||||||
langevin</A> for this purpose to treat the system as
|
perform constant NVE time integration. Thus the
|
||||||
|
<I>temp</I>, <I>press</I>, <I>tparam</I>, and <I>pparam</I> keywords cannot
|
||||||
|
be used with these styles.
|
||||||
|
</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>
|
||||||
|
<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
|
||||||
|
used. <I>Tchain</I> is the number of thermostats in the Nose Hoover chain.
|
||||||
|
This value, along with <I>Tdamp</I> can be varied to dampen undesirable
|
||||||
|
oscillations in temperature that can occur in a simulation. As a rule
|
||||||
|
of thumb, increasing the chain length should lead to smaller
|
||||||
|
oscillations. The <I>rigid/nvt</I> style does not allow the use of the
|
||||||
|
<I>press</I> and <I>pparam</I> keywords.
|
||||||
|
</P>
|
||||||
|
<P>The <I>rigid/npt</I> style performs constant NPT time integration, using a
|
||||||
|
temperature it computes for the rigid bodies which includes their
|
||||||
|
translational and rotational motion, and a pressure which includes the
|
||||||
|
conribution of the rigid bodies to the virial of the system. The
|
||||||
|
<I>temp</I> and <I>press</I> keywords 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). Similarly, the desired pressure at each
|
||||||
|
timestep is a ramped value during the run from <I>Pstart</I> to <I>Pstop</I>.
|
||||||
|
The <I>Pdamp</I> parameter is specified in time units and determines how
|
||||||
|
rapidly the presssure is relaxed. For example, a value of 1000.0
|
||||||
|
means to relax the temperature in a timespan of (roughly) 1000 time
|
||||||
|
units. The pressure of the system is controlled by varying the box
|
||||||
|
volume via isotropic rescaling. This means the simulation box retains
|
||||||
|
its aspect ratio, and the center-of-mass of each rigid body is
|
||||||
|
rescaled to new coordinates.
|
||||||
|
</P>
|
||||||
|
<P>Nose/Hoover chains are used in conjunction with this
|
||||||
|
thermostat/barostat combination. The <I>pparam</I> keyword can optionally
|
||||||
|
be used to change the chain settings used. <I>Pchain</I> is the number of
|
||||||
|
thermostats in the Nose Hoover chain. This value, along with <I>Tdamp</I>
|
||||||
|
and <I>Pdamp</I> can be varied to dampen undesirable oscillations in
|
||||||
|
pressure that can occur in a simulation. As a rule of thumb,
|
||||||
|
increasing the chain length should lead to smaller oscillations. The
|
||||||
|
<I>rigid/npt</I> style does not allow the use of the <I>tparam</I> keyword.
|
||||||
|
</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
|
effectively immersed in an implicit solvent, e.g. a Brownian dynamics
|
||||||
model. Or you can thermostat only the non-rigid atoms that surround
|
model. For hybrid systems with both rigid bodies and solvent
|
||||||
one or more rigid bodies (i.e. explicit solvent) by appropriate choice
|
particles, you can thermostat only the solvent particles that surround
|
||||||
of groups in the compute and fix commands for temperature and
|
one or more rigid bodies by appropriate choice of groups in the
|
||||||
thermostatting.
|
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>
|
</P>
|
||||||
<P>If you calculate a temperature for particles in the rigid bodies, the
|
<HR>
|
||||||
degrees-of-freedom removed by each rigid body are accounted for in the
|
|
||||||
temperature (and pressure) computation, but only if the temperature
|
<P>If you use a <A HREF = "compute.html">temperature compute</A> with a group that
|
||||||
group includes all the particles in a particular rigid body.
|
includes particles in rigid bodies, the degrees-of-freedom removed by
|
||||||
|
each rigid body are accounted for in the temperature (and pressure)
|
||||||
|
computation, but only if the temperature group includes all the
|
||||||
|
particles in a particular rigid body.
|
||||||
</P>
|
</P>
|
||||||
<P>A 3d rigid body has 6 degrees of freedom (3 translational, 3
|
<P>A 3d rigid body has 6 degrees of freedom (3 translational, 3
|
||||||
rotational), except for a collection of point particles lying on a
|
rotational), except for a collection of point particles lying on a
|
||||||
@ -181,7 +283,7 @@ degrees of freedom (2 translational, 1 rotational).
|
|||||||
</P>
|
</P>
|
||||||
<P>IMPORTANT NOTE: You may wish to explicitly subtract additional
|
<P>IMPORTANT NOTE: You may wish to explicitly subtract additional
|
||||||
degrees-of-freedom if you use the <I>force</I> and <I>torque</I> keywords to
|
degrees-of-freedom if you use the <I>force</I> and <I>torque</I> keywords to
|
||||||
eliminate certain motions of one or more rigid bodies, as LAMMPS does
|
eliminate certain motions of one or more rigid bodies. LAMMPS does
|
||||||
not do this automatically.
|
not do this automatically.
|
||||||
</P>
|
</P>
|
||||||
<P>The rigid body contribution to the pressure of the system (virial) is
|
<P>The rigid body contribution to the pressure of the system (virial) is
|
||||||
@ -201,13 +303,22 @@ between a pair of rigid bodies and the bond straddles a periodic
|
|||||||
boundary, you cannot use the <A HREF = "replicate">replicate</A> command to increase
|
boundary, you cannot use the <A HREF = "replicate">replicate</A> command to increase
|
||||||
the system size.
|
the system size.
|
||||||
</P>
|
</P>
|
||||||
|
<HR>
|
||||||
|
|
||||||
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
||||||
</P>
|
</P>
|
||||||
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
|
<P>No information about the <I>rigid</I> and <I>rigid/nve</I> fixes are written to
|
||||||
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
|
<A HREF = "restart.html">binary restart files</A>. For style <I>rigid/nvt</I> and
|
||||||
are relevant to this fix.
|
<I>rigid/npt</I>, the state of the Nose/Hoover thermostat/barostat is
|
||||||
|
written 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>
|
||||||
<P>This fix computes a global array of values which can be accessed by
|
<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to these
|
||||||
|
fixes.
|
||||||
|
</P>
|
||||||
|
<P>These fixes compute a global array of values which can be accessed by
|
||||||
various <A HREF = "Section_howto.html#4_15">output commands</A>. The number of rows
|
various <A HREF = "Section_howto.html#4_15">output commands</A>. The number of rows
|
||||||
in the array is equal to the number of rigid bodies. The number of
|
in the array is equal to the number of rigid bodies. The number of
|
||||||
columns is 12. Thus for each rigid body, 12 values are stored: the
|
columns is 12. Thus for each rigid body, 12 values are stored: the
|
||||||
@ -224,18 +335,19 @@ For the <I>single</I> keyword there is just one rigid body. For the
|
|||||||
For the <I>group</I> keyword, the list of group IDs determines the ordering
|
For the <I>group</I> keyword, the list of group IDs determines the ordering
|
||||||
of bodies.
|
of bodies.
|
||||||
</P>
|
</P>
|
||||||
<P>The array values calculated by this fix are "intensive", meaning they
|
<P>The array values calculated by these fixes are "intensive", meaning
|
||||||
are independent of the number of atoms in the simulation.
|
they are independent of the number of atoms in the simulation.
|
||||||
</P>
|
</P>
|
||||||
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
|
<P>No parameter of these fixes can be used with the <I>start/stop</I> keywords
|
||||||
the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy
|
of the <A HREF = "run.html">run</A> command. These fixse are not invoked during
|
||||||
minimization</A>.
|
<A HREF = "minimize.html">energy minimization</A>.
|
||||||
</P>
|
</P>
|
||||||
<P><B>Restrictions:</B>
|
<P><B>Restrictions:</B>
|
||||||
</P>
|
</P>
|
||||||
<P>This fix performs an MPI_Allreduce each timestep that is proportional
|
<P>These fixes performs an MPI_Allreduce each timestep that is
|
||||||
in length to the number of rigid bodies. Hence it will not scale well
|
proportional in length to the number of rigid bodies. Hence they will
|
||||||
in parallel if large numbers of rigid bodies are simulated.
|
not scale well in parallel if large numbers of rigid bodies are
|
||||||
|
simulated.
|
||||||
</P>
|
</P>
|
||||||
<P>If the atoms in a single rigid body initially straddle a periodic
|
<P>If the atoms in a single rigid body initially straddle a periodic
|
||||||
boundary, the input data file must define the image flags for each
|
boundary, the input data file must define the image flags for each
|
||||||
@ -249,11 +361,30 @@ exclude
|
|||||||
</P>
|
</P>
|
||||||
<P><B>Default:</B>
|
<P><B>Default:</B>
|
||||||
</P>
|
</P>
|
||||||
<P>The option defaults are force * on on on and torque * on on on meaning
|
<P>The option defaults are force * on on on and torque * on on on,
|
||||||
all rigid bodies are acted on by center-of-mass force and torque.
|
meaning all rigid bodies are acted on by center-of-mass force and
|
||||||
|
torque. Also Tchain = 10, Titer = 1, Torder = 3, and Pchain = 10.
|
||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
<A NAME = "Hoover"></A>
|
||||||
|
|
||||||
|
<P><B>(Hoover)</B> Hoover, Phys Rev A, 31, 1695 (1985).
|
||||||
|
</P>
|
||||||
|
<A NAME = "Kamberaj"></A>
|
||||||
|
|
||||||
|
<P><B>(Kamberaj)</B> Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).
|
||||||
|
</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>
|
||||||
|
<A NAME = "Miller"></A>
|
||||||
|
|
||||||
|
<P><B>(Miller)</B> Miller, Eleftheriou, Pattnaik, Ndirango, and Newns,
|
||||||
|
J Chem Phys, 116, 8649 (2002).
|
||||||
|
</P>
|
||||||
<A NAME = "Zhang"></A>
|
<A NAME = "Zhang"></A>
|
||||||
|
|
||||||
<P><B>(Zhang)</B> Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).
|
<P><B>(Zhang)</B> Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).
|
||||||
|
|||||||
@ -6,14 +6,17 @@
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
fix rigid :h3
|
fix rigid command :h3
|
||||||
|
fix rigid/nve command :h3
|
||||||
|
fix rigid/nvt command :h3
|
||||||
|
fix rigid/npt command :h3
|
||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
fix ID group-ID rigid bodystyle args keyword values ... :pre
|
fix ID group-ID style bodystyle args keyword values ... :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
rigid = style name of this fix command :l
|
style = {rigid} or {rigid/nve} or {rigid/nvt} or {rigid/npt} :l
|
||||||
bodystyle = {single} or {molecule} or {group} :l
|
bodystyle = {single} or {molecule} or {group} :l
|
||||||
{single} args = none
|
{single} args = none
|
||||||
{molecule} args = none
|
{molecule} args = none
|
||||||
@ -22,7 +25,19 @@ bodystyle = {single} or {molecule} or {group} :l
|
|||||||
groupID1, groupID2, ... = list of N group IDs :pre
|
groupID1, groupID2, ... = list of N group IDs :pre
|
||||||
|
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {force} or {torque} :l
|
keyword = {temp} or {press} or {tparam} or {pparam} or {force} or {torque} :l
|
||||||
|
{temp} values = Tstart Tstop Tperiod
|
||||||
|
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
||||||
|
Tdamp = temperature damping parameter (time units)
|
||||||
|
{press} values = Pstart Pstop Pperiod
|
||||||
|
Pstart,Pstop = desired temperature at start/stop of run (pressure units)
|
||||||
|
Pdamp = pressure damping parameter (time units)
|
||||||
|
{tparam} values = Tchain Titer Torder
|
||||||
|
Tchain = length of Nose/Hoover thermostat chain
|
||||||
|
Titer = number of thermostat iterations performed
|
||||||
|
Torder = 3 or 5 = Yoshida-Suzuki integration parameters
|
||||||
|
{pparam} values = Pchain
|
||||||
|
Pchain = length of Nose/Hoover barostat chain
|
||||||
{force} values = M xflag yflag zflag
|
{force} values = M xflag yflag zflag
|
||||||
M = which rigid body from 1-Nbody (see asterisk form below)
|
M = which rigid body from 1-Nbody (see asterisk form below)
|
||||||
xflag,yflag,zflag = off/on if component of center-of-mass force is active
|
xflag,yflag,zflag = off/on if component of center-of-mass force is active
|
||||||
@ -35,9 +50,9 @@ keyword = {force} or {torque} :l
|
|||||||
|
|
||||||
fix 1 clump rigid single
|
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
|
||||||
fix 1 polychains rigid molecule
|
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 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
|
fix 2 fluid rigid group 3 clump1 clump2 clump3 temp 300.0 320.0 100.0 press 0.0 0.0 1000.0
|
||||||
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off :pre
|
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -62,26 +77,35 @@ command can also be used to rigidify small molecules of 2, 3, or 4
|
|||||||
atoms, e.g. water molecules. That fix treats the constituent atoms as
|
atoms, e.g. water molecules. That fix treats the constituent atoms as
|
||||||
point masses.
|
point masses.
|
||||||
|
|
||||||
The constituent particles within a rigid body can be point particles
|
These fixes also update the positions and velocities of the atoms in
|
||||||
(the default in LAMMPS) or finite-size particles, such as spheroids
|
each rigid body via time integration. The {rigid} and {rigid/nve}
|
||||||
and ellipsoids. See the "shape"_shape.html command and "atom_style
|
styles do this via constant NVE integration. The only difference is
|
||||||
granular"_atom_style.html for more details on these kinds of
|
that the {rigid} style uses an integration technique based on
|
||||||
particles. Finite-size particles contribute differently to the moment
|
Richardson iterations. The {rigid/nve} style uses the methods
|
||||||
of inertia of a rigid body than do point particles. Finite-size
|
described in the paper by "Miller"_#Miller, which are thought to
|
||||||
particles can also experience torque (e.g. due to "frictional granular
|
provide better energy conservation than an iterative approach.
|
||||||
interactions"_pair_gran.html) and have an orientation. These
|
|
||||||
contributions are accounted for by the fix.
|
|
||||||
|
|
||||||
Forces between particles within a body do not contribute to the
|
The {rigid/nvt} style performs constant NVT integration using a
|
||||||
external force or torque on the body. Thus for computational
|
Nose/Hoover thermostat with chains as described originally in
|
||||||
efficiency, you may wish to turn off pairwise and bond interactions
|
"(Hoover)"_#Hoover and "(Martyna)"_#Martyna, which thermostats both
|
||||||
between particles within each rigid body. The "neigh_modify
|
the translational and rotational degrees of freedom of the rigid
|
||||||
exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html
|
bodies. The rigid-body algorithm used by {rigid/nvt} is described in
|
||||||
commands are used to do this. For finite-size particles this also
|
the paper by "Kamberaj"_#Kamberaj.
|
||||||
means the particles can be highly overlapped when creating the rigid
|
|
||||||
body.
|
|
||||||
|
|
||||||
IMPORTANT NOTE: This fix is overkill if you simply want to hold a
|
The {rigid/npt} style performs constant NPT integration using a
|
||||||
|
Nose/Hoover thermostat and barostat with chains, as described
|
||||||
|
originally in "(Hoover)"_#Hoover and "(Martyna)"_#Martyna. As with
|
||||||
|
{rigid/nvt}, the thermostat affects both the translational and
|
||||||
|
rotational degrees of freedom of the rigid bodies. The barostat
|
||||||
|
adjusts the simulation box size isotropically. The rigid-body
|
||||||
|
algorithm used by {rigid/nvt} is described in the paper by
|
||||||
|
"Kamberaj"_#Kamberaj.
|
||||||
|
|
||||||
|
IMPORTANT NOTE: You should not update the atoms in rigid bodies via
|
||||||
|
other time-integration fixes (e.g. nve, nvt, npt), or you will be
|
||||||
|
integrating their motion more than once each timestep.
|
||||||
|
|
||||||
|
IMPORTANT NOTE: These fixes are overkill if you simply want to hold a
|
||||||
collection of atoms stationary or have them move with a constant
|
collection of atoms stationary or have them move with a constant
|
||||||
velocity. A simpler way to hold atoms stationary is to not include
|
velocity. A simpler way to hold atoms stationary is to not include
|
||||||
those atoms in your time integration fix. E.g. use "fix 1 mobile nve"
|
those atoms in your time integration fix. E.g. use "fix 1 mobile nve"
|
||||||
@ -92,9 +116,26 @@ command), setting the force on them to 0.0 (via the "fix
|
|||||||
setforce"_fix_setforce.html command), and integrating them as usual
|
setforce"_fix_setforce.html command), and integrating them as usual
|
||||||
(e.g. via the "fix nve"_fix_nve.html command).
|
(e.g. via the "fix nve"_fix_nve.html command).
|
||||||
|
|
||||||
IMPORTANT NOTE: This fix updates the positions and velocities of the
|
:line
|
||||||
rigid atoms with a constant-energy time integration, so you should not
|
|
||||||
update the same atoms via other fixes (e.g. nve, nvt, npt).
|
The constituent particles within a rigid body can be point particles
|
||||||
|
(the default in LAMMPS) or finite-size particles, such as spheroids
|
||||||
|
and ellipsoids. See the "shape"_shape.html command and "atom_style
|
||||||
|
granular"_atom_style.html for more details on these kinds of
|
||||||
|
particles. Finite-size particles contribute differently to the moment
|
||||||
|
of inertia of a rigid body than do point particles. Finite-size
|
||||||
|
particles can also experience torque (e.g. due to "frictional granular
|
||||||
|
interactions"_pair_gran.html) and have an orientation. These
|
||||||
|
contributions are accounted for by these fixes.
|
||||||
|
|
||||||
|
Forces between particles within a body do not contribute to the
|
||||||
|
external force or torque on the body. Thus for computational
|
||||||
|
efficiency, you may wish to turn off pairwise and bond interactions
|
||||||
|
between particles within each rigid body. The "neigh_modify
|
||||||
|
exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html
|
||||||
|
commands are used to do this. For finite-size particles this also
|
||||||
|
means the particles can be highly overlapped when creating the rigid
|
||||||
|
body.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -146,24 +187,82 @@ bond interactions within each rigid body, as they no longer contribute
|
|||||||
to the motion. The "neigh_modify exclude"_neigh_modify.html and
|
to the motion. The "neigh_modify exclude"_neigh_modify.html and
|
||||||
"delete_bonds"_delete_bonds.html commands are used to do this.
|
"delete_bonds"_delete_bonds.html commands are used to do this.
|
||||||
|
|
||||||
For computational efficiency, you should define one fix rigid which
|
For computational efficiency, you should typically define one fix
|
||||||
includes all the desired rigid bodies. LAMMPS will allow multiple
|
rigid which includes all the desired rigid bodies. LAMMPS will allow
|
||||||
rigid fixes to be defined, but it is more expensive.
|
multiple rigid fixes to be defined, but it is more expensive.
|
||||||
|
|
||||||
This fix uses constant-energy NVE-style integration, so you may need
|
:line
|
||||||
to impose additional constraints to control the temperature of an
|
|
||||||
ensemble of rigid bodies. You can use "fix
|
As stated above, the {rigid} and {rigid/nve} styles
|
||||||
langevin"_fix_langevin.html for this purpose to treat the system as
|
perform constant NVE time integration. Thus the
|
||||||
|
{temp}, {press}, {tparam}, and {pparam} keywords cannot
|
||||||
|
be used with these styles.
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
|
Nose/Hoover chains are used in conjunction with this thermostat. The
|
||||||
|
{tparam} keyword can optionally be used to change the chain settings
|
||||||
|
used. {Tchain} is the number of thermostats in the Nose Hoover chain.
|
||||||
|
This value, along with {Tdamp} can be varied to dampen undesirable
|
||||||
|
oscillations in temperature that can occur in a simulation. As a rule
|
||||||
|
of thumb, increasing the chain length should lead to smaller
|
||||||
|
oscillations. The {rigid/nvt} style does not allow the use of the
|
||||||
|
{press} and {pparam} keywords.
|
||||||
|
|
||||||
|
The {rigid/npt} style performs constant NPT time integration, using a
|
||||||
|
temperature it computes for the rigid bodies which includes their
|
||||||
|
translational and rotational motion, and a pressure which includes the
|
||||||
|
conribution of the rigid bodies to the virial of the system. The
|
||||||
|
{temp} and {press} keywords 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). Similarly, the desired pressure at each
|
||||||
|
timestep is a ramped value during the run from {Pstart} to {Pstop}.
|
||||||
|
The {Pdamp} parameter is specified in time units and determines how
|
||||||
|
rapidly the presssure is relaxed. For example, a value of 1000.0
|
||||||
|
means to relax the temperature in a timespan of (roughly) 1000 time
|
||||||
|
units. The pressure of the system is controlled by varying the box
|
||||||
|
volume via isotropic rescaling. This means the simulation box retains
|
||||||
|
its aspect ratio, and the center-of-mass of each rigid body is
|
||||||
|
rescaled to new coordinates.
|
||||||
|
|
||||||
|
Nose/Hoover chains are used in conjunction with this
|
||||||
|
thermostat/barostat combination. The {pparam} keyword can optionally
|
||||||
|
be used to change the chain settings used. {Pchain} is the number of
|
||||||
|
thermostats in the Nose Hoover chain. This value, along with {Tdamp}
|
||||||
|
and {Pdamp} can be varied to dampen undesirable oscillations in
|
||||||
|
pressure that can occur in a simulation. As a rule of thumb,
|
||||||
|
increasing the chain length should lead to smaller oscillations. The
|
||||||
|
{rigid/npt} style does not allow the use of the {tparam} keyword.
|
||||||
|
|
||||||
|
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
|
effectively immersed in an implicit solvent, e.g. a Brownian dynamics
|
||||||
model. Or you can thermostat only the non-rigid atoms that surround
|
model. For hybrid systems with both rigid bodies and solvent
|
||||||
one or more rigid bodies (i.e. explicit solvent) by appropriate choice
|
particles, you can thermostat only the solvent particles that surround
|
||||||
of groups in the compute and fix commands for temperature and
|
one or more rigid bodies by appropriate choice of groups in the
|
||||||
thermostatting.
|
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.
|
||||||
|
|
||||||
If you calculate a temperature for particles in the rigid bodies, the
|
:line
|
||||||
degrees-of-freedom removed by each rigid body are accounted for in the
|
|
||||||
temperature (and pressure) computation, but only if the temperature
|
If you use a "temperature compute"_compute.html with a group that
|
||||||
group includes all the particles in a particular rigid body.
|
includes particles in rigid bodies, the degrees-of-freedom removed by
|
||||||
|
each rigid body are accounted for in the temperature (and pressure)
|
||||||
|
computation, but only if the temperature group includes all the
|
||||||
|
particles in a particular rigid body.
|
||||||
|
|
||||||
A 3d rigid body has 6 degrees of freedom (3 translational, 3
|
A 3d rigid body has 6 degrees of freedom (3 translational, 3
|
||||||
rotational), except for a collection of point particles lying on a
|
rotational), except for a collection of point particles lying on a
|
||||||
@ -172,7 +271,7 @@ degrees of freedom (2 translational, 1 rotational).
|
|||||||
|
|
||||||
IMPORTANT NOTE: You may wish to explicitly subtract additional
|
IMPORTANT NOTE: You may wish to explicitly subtract additional
|
||||||
degrees-of-freedom if you use the {force} and {torque} keywords to
|
degrees-of-freedom if you use the {force} and {torque} keywords to
|
||||||
eliminate certain motions of one or more rigid bodies, as LAMMPS does
|
eliminate certain motions of one or more rigid bodies. LAMMPS does
|
||||||
not do this automatically.
|
not do this automatically.
|
||||||
|
|
||||||
The rigid body contribution to the pressure of the system (virial) is
|
The rigid body contribution to the pressure of the system (virial) is
|
||||||
@ -192,13 +291,22 @@ between a pair of rigid bodies and the bond straddles a periodic
|
|||||||
boundary, you cannot use the "replicate"_replicate command to increase
|
boundary, you cannot use the "replicate"_replicate command to increase
|
||||||
the system size.
|
the system size.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
No information about this fix is written to "binary restart
|
No information about the {rigid} and {rigid/nve} fixes are written to
|
||||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
"binary restart files"_restart.html. For style {rigid/nvt} and
|
||||||
are relevant to this fix.
|
{rigid/npt}, the state of the Nose/Hoover thermostat/barostat is
|
||||||
|
written 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.
|
||||||
|
|
||||||
This fix computes a global array of values which can be accessed by
|
None of the "fix_modify"_fix_modify.html options are relevant to these
|
||||||
|
fixes.
|
||||||
|
|
||||||
|
These fixes compute a global array of values which can be accessed by
|
||||||
various "output commands"_Section_howto.html#4_15. The number of rows
|
various "output commands"_Section_howto.html#4_15. The number of rows
|
||||||
in the array is equal to the number of rigid bodies. The number of
|
in the array is equal to the number of rigid bodies. The number of
|
||||||
columns is 12. Thus for each rigid body, 12 values are stored: the
|
columns is 12. Thus for each rigid body, 12 values are stored: the
|
||||||
@ -215,18 +323,19 @@ For the {single} keyword there is just one rigid body. For the
|
|||||||
For the {group} keyword, the list of group IDs determines the ordering
|
For the {group} keyword, the list of group IDs determines the ordering
|
||||||
of bodies.
|
of bodies.
|
||||||
|
|
||||||
The array values calculated by this fix are "intensive", meaning they
|
The array values calculated by these fixes are "intensive", meaning
|
||||||
are independent of the number of atoms in the simulation.
|
they are independent of the number of atoms in the simulation.
|
||||||
|
|
||||||
No parameter of this fix can be used with the {start/stop} keywords of
|
No parameter of these fixes can be used with the {start/stop} keywords
|
||||||
the "run"_run.html command. This fix is not invoked during "energy
|
of the "run"_run.html command. These fixse are not invoked during
|
||||||
minimization"_minimize.html.
|
"energy minimization"_minimize.html.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This fix performs an MPI_Allreduce each timestep that is proportional
|
These fixes performs an MPI_Allreduce each timestep that is
|
||||||
in length to the number of rigid bodies. Hence it will not scale well
|
proportional in length to the number of rigid bodies. Hence they will
|
||||||
in parallel if large numbers of rigid bodies are simulated.
|
not scale well in parallel if large numbers of rigid bodies are
|
||||||
|
simulated.
|
||||||
|
|
||||||
If the atoms in a single rigid body initially straddle a periodic
|
If the atoms in a single rigid body initially straddle a periodic
|
||||||
boundary, the input data file must define the image flags for each
|
boundary, the input data file must define the image flags for each
|
||||||
@ -240,10 +349,25 @@ exclude
|
|||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are force * on on on and torque * on on on meaning
|
The option defaults are force * on on on and torque * on on on,
|
||||||
all rigid bodies are acted on by center-of-mass force and torque.
|
meaning all rigid bodies are acted on by center-of-mass force and
|
||||||
|
torque. Also Tchain = 10, Titer = 1, Torder = 3, and Pchain = 10.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
:link(Hoover)
|
||||||
|
[(Hoover)] Hoover, Phys Rev A, 31, 1695 (1985).
|
||||||
|
|
||||||
|
:link(Kamberaj)
|
||||||
|
[(Kamberaj)] Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).
|
||||||
|
|
||||||
|
:link(Martyna)
|
||||||
|
[(Martyna)] Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992);
|
||||||
|
Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.
|
||||||
|
|
||||||
|
:link(Miller)
|
||||||
|
[(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns,
|
||||||
|
J Chem Phys, 116, 8649 (2002).
|
||||||
|
|
||||||
:link(Zhang)
|
:link(Zhang)
|
||||||
[(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).
|
[(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).
|
||||||
|
|||||||
Reference in New Issue
Block a user