diff -Naur lammps-12Jan09/doc/fix_rigid.html lammps-13Jan09/doc/fix_rigid.html --- lammps-12Jan09/doc/fix_rigid.html 2008-10-08 09:02:35.000000000 -0600 +++ lammps-13Jan09/doc/fix_rigid.html 2009-01-13 07:38:26.000000000 -0700 @@ -13,25 +13,41 @@
Syntax:
-fix ID group-ID rigid keyword values +fix ID group-ID rigid bodystyle args keyword values ...
single values = none - molecule values = none - group values = list of group IDs +single args = none + molecule args = none + group args = N groupID1 groupID2 ... + N = # of groups + groupID1, groupID2, ... = list of N group IDs ++
force values = M xflag yflag zflag + 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 + torque values = M xflag yflag zflag + M = which rigid body from 1-Nbody (see asterisk form below) + xflag,yflag,zflag = off/on if component of center-of-mass torque is active
Examples:
fix 1 clump rigid single +fix 1 clump rigid single force 1 off off on fix 1 polychains rigid molecule -fix 2 fluid rigid group clump1 clump2 clump3 +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 torque * off off off
Description:
@@ -46,20 +62,44 @@ a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt). -Each body must have two or more atoms. Which atoms are in which -bodies can be defined via several options. +
Each body must have two or more atoms. An atom can belong to at most +one rigid body. Which atoms are in which bodies can be defined via +several options.
-For option single the entire group of atoms is treated as one rigid -body. +
For bodystyle single the entire fix group of atoms is treated as one +rigid body.
-For option molecule, each set of atoms in the group with a different -molecule ID is treated as a rigid body. +
For bodystyle molecule, each set of atoms in the fix group with a +different molecule ID is treated as a rigid body.
-For option group, each of the listed groups is treated as a separate -rigid body. Note that only atoms that are also in the fix group are +
For bodystyle group, each of the listed groups is treated as a +separate rigid body. Only atoms that are also in the fix group are included in each rigid body.
-For computational efficiency, you should also turn off pairwise and +
By default, each rigid body is acted on by other atoms which induce a +force and torque on its center of mass, causing it to translate and +rotate. Components of the center-of-mass force and torque can be +turned off by the force and torque keywords. This may be useful +if you wish a body to rotate but not translate, or vice versa. Note +that if you expect a rigid body not to move or rotate by using these +keywords, you must insure its initial center-of-mass translational or +angular velocity is 0.0. +
+An xflag, yflag, or zflag set to off means turn off the component of +force of torque in that dimension. A setting of on means turn on +the component, which is the default. Which rigid body(s) the settings +apply to is determined by the first argument of the force and +torque keywords. It can be an integer M from 1 to Nbody, where +Nbody is the number of rigid bodies defined. A wild-card asterisk can +be used in place of, or in conjunction with, the M argument to set the +flags for multiple rigid bodies. This takes the form "*" or "*n" or +"n*" or "m*n". If N = the number of rigid bodies, then an asterisk +with no numeric values means all bodies from 1 to N. A leading +asterisk means all bodies from 1 to n (inclusive). A trailing +asterisk means all bodies from n to N (inclusive). A middle asterisk +means all types from m to n (inclusive). +
+For computational efficiency, you may wish to turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The neigh_modify exclude and delete_bonds commands are used to do this. @@ -83,7 +123,13 @@ compute_modify command. E.g. for a simulation of 10 such rigid bodies, use "compute_modify thermo_temp extra 13", after the thermo_style command, where 3 is the default setting and an -additional 10 degrees-of-freedom are subtracted. +additional 10 degrees-of-freedom are subtracted. You may also wish to +manually subtract additional degrees-of-freedom if you use the force +and torque keywords to eliminate certain motions of the rigid body. +Alternatively, you can define the temperature compute +to exclude atoms in rigid bodies, which may be a better strategy, +i.e. measure the temperature of the free atoms around the rigid body +or bodies.
IMPORTANT NOTE: The periodic image flags of atoms in rigid bodies are modified when the center-of-mass of the rigid body moves across a @@ -103,11 +149,32 @@
No information about this fix is written to binary restart files. None of the fix_modify options -are relevant to this fix. No global scalar or vector or per-atom -quantities are stored by this fix for access by various output -commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. +are relevant to this fix. +
+This fix computes a global vector of quantities which can be accessed +by various output commands. For each rigid +body, 12 values are stored: the xyz coords of the center of mass +(COM), the xyz components of the COM velocity, the xyz components of +the force acting on the COM, and the xyz components of the torque +acting on the COM. The force and torque values in the vector are not +affected by the force and torque keywords in the fix rigid +command; they reflect values before any changes are made by those +keywords. +
+The total length of the vector is 12*Nbody where Nbody is the number +of rigid bodies defined by the fix. Thus the 15th value in the vector +would be the z-coord of the COM of the 2nd rigid body. LAMMPS chooses +the ordering of the rigid bodies internally. The ordering of the +rigid bodies is as follows. For the single keyword there is just +one rigid body. For the molecule keyword, the bodies are ordered by +ascending molecule ID. For the group keyword, the list of group IDs +determines the ordering of bodies. The vector values calculated by +this fix are "intensive", meaning 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 +the run command. This fix is not invoked during energy +minimization.
Restrictions:
@@ -124,13 +191,17 @@ stationary. A better way to do this is to not include those atoms in your time integration fix. E.g. use "fix 1 mobile nve" instead of "fix 1 all nve", where "mobile" is the group of atoms that you want to -move. +move. Alternatively, you can also set the force on those atoms to 0.0 +via the fix setforce command.Related commands:
delete_bonds, neigh_modify exclude
-Default: none +
Default: +
+The option defaults are force * 1 1 1 and torque * 1 1 1, meaning +all rigid bodies are acted on by center-of-mass force and torque.