diff --git a/doc/fix_pour.html b/doc/fix_pour.html index c94950683e..ae39ae38d1 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -27,12 +27,14 @@
region value = region-ID region-ID = ID of region to use as insertion volume mol value = template-ID template-ID = ID of molecule template specified in a separate molecule command + rigid value = fix-ID + fix-ID = ID of fix rigid/small command diam values = dstyle args dstyle = one or range or poly one args = D @@ -62,16 +64,17 @@fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 -fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 +fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 +fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigidDescription:
Insert finite-size particles or molecules into the simulation box -every few timesteps within a specified region until N particles have -been inserted. This is typically used to model the pouring of -granular particles into a container under the influence of gravity. -For the remainder of this doc page, a single inserted atom or molecule -is referred to as a "particle". +every few timesteps within a specified region until N particles or +molecules have been inserted. This is typically used to model the +pouring of granular particles into a container under the influence of +gravity. For the remainder of this doc page, a single inserted atom +or molecule is referred to as a "particle".
If inserted particles are individual atoms, they are assigned the specified atom type. For molecules the specified type is ignored, and @@ -98,6 +101,12 @@ molecule can be specified in the molecule file. See the required to be in this file are the coordinates and types of atoms in the molecule.
+If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, you can first specify a fix +rigid/small command, and then use the rigid keyword +with this command, specifying the ID of the fix rigid/small command as +its value. +
Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If they are molecules they are also oriented randomly. The larger the diff --git a/doc/fix_pour.txt b/doc/fix_pour.txt index 2ee7c4cdd2..564b8d7bb9 100644 --- a/doc/fix_pour.txt +++ b/doc/fix_pour.txt @@ -18,11 +18,13 @@ N = # of atoms to insert :l type = atom type to assign to inserted atoms :l seed = random # seed (positive integer) :l one or more keyword/value pairs may be appended to args :l -keyword = {region} or {mol} or {diam} or {dens} or {vol} or {rate} or {vel} :l +keyword = {region} or {mol} or {rigid} or {diam} or {dens} or {vol} or {rate} or {vel} :l {region} value = region-ID region-ID = ID of region to use as insertion volume {mol} value = template-ID template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command + {rigid} value = fix-ID + fix-ID = ID of "fix rigid/small"_fix_rigid.html command {diam} values = dstyle args dstyle = {one} or {range} or {poly} {one} args = D @@ -51,16 +53,17 @@ keyword = {region} or {mol} or {diam} or {dens} or {vol} or {rate} or {vel} :l fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 -fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 :pre +fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 +fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid :pre [Description:] Insert finite-size particles or molecules into the simulation box -every few timesteps within a specified region until N particles have -been inserted. This is typically used to model the pouring of -granular particles into a container under the influence of gravity. -For the remainder of this doc page, a single inserted atom or molecule -is referred to as a "particle". +every few timesteps within a specified region until N particles or +molecules have been inserted. This is typically used to model the +pouring of granular particles into a container under the influence of +gravity. For the remainder of this doc page, a single inserted atom +or molecule is referred to as a "particle". If inserted particles are individual atoms, they are assigned the specified atom type. For molecules the specified type is ignored, and @@ -87,6 +90,12 @@ molecule can be specified in the molecule file. See the required to be in this file are the coordinates and types of atoms in the molecule. +If you wish to insert molecules via the {mol} keyword, that will be +treated as rigid bodies, you can first specify a "fix +rigid/small"_fix_rigid.html command, and then use the {rigid} keyword +with this command, specifying the ID of the fix rigid/small command as +its value. + Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If they are molecules they are also oriented randomly. The larger the diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 3f2170d61a..7aab3b3e45 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -39,7 +39,7 @@
langevin values = Tstart Tstop Tperiod seed Tstart,Tstop = desired temperature at start/stop of run (temperature units) @@ -70,7 +70,9 @@ 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 infile filename - filename = file with per-body values of mass, center-of-mass, moments of inertia + filename = file with per-body values of mass, center-of-mass, moments of inertia + mol value = template-ID + template-ID = ID of molecule template specified in a separate molecule command@@ -178,6 +180,12 @@ setforce command), and integrating them as usual most one rigid body. Which atoms are in which bodies can be defined via several options. +
IMPORTANT NOTE: With fix rigid/small, which requires bodystyle +molecule, you can define a system that has no rigid bodies +initially. This is useful when you are adding rigid bodies on-the-fly +via commands such as fix deposit or fix +pour. +
For bodystyle single the entire fix group of atoms is treated as one rigid body. This option is only allowed for fix rigid and its sub-styles. @@ -438,6 +446,22 @@ 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.
+The mol keyword can only be used with fix rigid/small. It should +be used when other commands, such as fix deposit or +fix pour, which will add rigid bodies on-the-fly +during a simulation. You specify a template-ID previously defined +using the molecule command, which reads a file that +defines the molecule. You must use the same template-ID that the +command adding rigid bodies uses. The coordinates, atom types, atom +diameters, center-of-mass, and moments of inertia can be specified in +the molecule file. See the molecule command for +details. The only settings required to be in this file are the +coordinates and types of atoms in the molecule. +
+The infile keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 3 such attributes: the total mass of the rigid body, its center-of-mass @@ -493,6 +517,15 @@ fix using an infile keyword and the appropriate filename. Note that the auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies.
+IMPORTANT NOTE: If you are using fix rigid/small and defining a system +that has no rigid bodies initially, because they will be added +on-the-fly by commands such as fix deposit or fix +pour, you may still wish to use the infile keyword. +This is so that restart files written during the simulation will +output an auxiliary restart file as described above with information +on the new rigid bodies. In this case the initial infile file +should use N = 0. +
If you use a temperature compute with a group that diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index ef3e98025b..06bae4b598 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -27,7 +27,7 @@ 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 = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} :l +keyword = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} or {mol} :l {langevin} values = Tstart Tstop Tperiod seed Tstart,Tstop = desired temperature at start/stop of run (temperature units) Tdamp = temperature damping parameter (time units) @@ -57,7 +57,9 @@ keyword = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {coup 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 {infile} filename - filename = file with per-body values of mass, center-of-mass, moments of inertia :pre + filename = file with per-body values of mass, center-of-mass, moments of inertia + {mol} value = template-ID + template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command :pre :ule [Examples:] @@ -164,6 +166,12 @@ Each rigid 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. +IMPORTANT NOTE: With fix rigid/small, which requires bodystyle +{molecule}, you can define a system that has no rigid bodies +initially. This is useful when you are adding rigid bodies on-the-fly +via commands such as "fix deposit"_fix_deposit.html or "fix +pour"_fix_pour.html. + For bodystyle {single} the entire fix group of atoms is treated as one rigid body. This option is only allowed for fix rigid and its sub-styles. @@ -424,6 +432,22 @@ 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 {mol} keyword can only be used with fix rigid/small. It should +be used when other commands, such as "fix deposit"_fix_deposit.html or +"fix pour"_fix_pour.html, which will add rigid bodies on-the-fly +during a simulation. You specify a {template-ID} previously defined +using the "molecule"_molecule.html command, which reads a file that +defines the molecule. You must use the same {template-ID} that the +command adding rigid bodies uses. The coordinates, atom types, atom +diameters, center-of-mass, and moments of inertia can be specified in +the molecule file. See the "molecule"_molecule.html command for +details. The only settings required to be in this file are the +coordinates and types of atoms in the molecule. + +:line + The {infile} keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 3 such attributes: the total mass of the rigid body, its center-of-mass @@ -479,6 +503,15 @@ fix using an {infile} keyword and the appropriate filename. Note that the auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies. +IMPORTANT NOTE: If you are using fix rigid/small and defining a system +that has no rigid bodies initially, because they will be added +on-the-fly by commands such as "fix deposit"_fix_deposit.html or "fix +pour"_fix_pour.html, you may still wish to use the {infile} keyword. +This is so that restart files written during the simulation will +output an auxiliary restart file as described above with information +on the new rigid bodies. In this case the initial {infile} file +should use N = 0. + :line If you use a "temperature compute"_compute.html with a group that diff --git a/doc/molecule.html b/doc/molecule.html index 16993a9f22..d29fc0d872 100644 --- a/doc/molecule.html +++ b/doc/molecule.html @@ -54,20 +54,26 @@ lines can be used between sections. Sections can appear in any order, with a few exceptions as noted below.
These are the recognized header keywords. Header lines can come in -any order. The value(s) are read from the beginning of the line. -Thus the keyword atoms should be in a line like "10 atoms"; the -keyword ylo yhi should be in a line like "-10.0 10.0 ylo yhi"; the -keyword xy xz yz should be in a line like "0.0 5.0 6.0 xy xz yz". -All these settings have a default value of 0, except the lo/hi box -size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. +any order. The numeric value(s) are read from the beginning of the +line. The keyword should appear at the end of the line. All these +settings have default values, as explained below. A line need only +appear if the value(s) are different than the default.
-For mass, com, and inertia, the default is for LAMMPS to +calculate this quantity itself if needed, assuming the molecules +consists of a set of point particles. You typically only need to +specify these values for a rigid body consisting of overlapping +finite-size particles. +
These are the allowed section keywords for the body of the file.
IMPORTANT NOTE: Whether a section is required depends on how the -molecule definition is used by other LAMMPS commands. For example, to +molecule template is used by other LAMMPS commands. For example, to add a molecule via the fix deposit command, the Coords and Types sections are required. To add a rigid body via the fix pour command, the Bonds (Angles, etc) sections are not required, since the molecule will be treated as a rigid body. Some sections are optional. For example, the fix pour -command can add finite-size granular particles. If the Diameters -section is not specified, added particles will have a default diameter -of 1.0. See the doc pages for LAMMPS commands that use read-in -molecules for more details. +command can be used to add "molecules" which are clusters of +finite-size granular particles. If the Diameters section is not +specified, each particle in the molecule will have a default diameter +of 1.0. See the doc pages for LAMMPS commands that use molecule +templates for more details.
Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and diff --git a/doc/molecule.txt b/doc/molecule.txt index 390eb65f1f..407813fed5 100644 --- a/doc/molecule.txt +++ b/doc/molecule.txt @@ -51,19 +51,25 @@ lines can be used between sections. Sections can appear in any order, with a few exceptions as noted below. These are the recognized header keywords. Header lines can come in -any order. The value(s) are read from the beginning of the line. -Thus the keyword {atoms} should be in a line like "10 atoms"; the -keyword {ylo yhi} should be in a line like "-10.0 10.0 ylo yhi"; the -keyword {xy xz yz} should be in a line like "0.0 5.0 6.0 xy xz yz". -All these settings have a default value of 0, except the lo/hi box -size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. +any order. The numeric value(s) are read from the beginning of the +line. The keyword should appear at the end of the line. All these +settings have default values, as explained below. A line need only +appear if the value(s) are different than the default. -{atoms} = # of atoms in molecule -{bonds} = # of bonds in molecule -{angles} = # of angles in molecule -{dihedrals} = # of dihedrals in molecule -{impropers} = # of impropers in molecule :ul +N {atoms} = # of atoms N in molecule, default = 0 +Nb {bonds} = # of bonds Nb in molecule, default = 0 +Na {angles} = # of angles Na in molecule, default = 0 +Nd {dihedrals} = # of dihedrals Nd in molecule, default = 0 +Ni {impropers} = # of impropers Ni in molecule, default = 0 +Mtotal {mass} = total mass of molecule +Xc Yc Zc {com} = coordinates of center-of-mass of molecule +Ixx Iyy Izz Ixy Ixz Iyz {inertia} = 6 components of inertia tensor of molecule :ul + +For {mass}, {com}, and {inertia}, the default is for LAMMPS to +calculate this quantity itself if needed, assuming the molecules +consists of a set of point particles. You typically only need to +specify these values for a rigid body consisting of overlapping +finite-size particles. These are the allowed section keywords for the body of the file. @@ -72,16 +78,17 @@ These are the allowed section keywords for the body of the file. {Special Bond Counts, Special Bonds} = special neighbor info :ul IMPORTANT NOTE: Whether a section is required depends on how the -molecule definition is used by other LAMMPS commands. For example, to +molecule template is used by other LAMMPS commands. For example, to add a molecule via the "fix deposit"_fix_deposit.html command, the Coords and Types sections are required. To add a rigid body via the "fix pour"_fix_pout.html command, the Bonds (Angles, etc) sections are not required, since the molecule will be treated as a rigid body. Some sections are optional. For example, the "fix pour"_fix_pour.html -command can add finite-size granular particles. If the Diameters -section is not specified, added particles will have a default diameter -of 1.0. See the doc pages for LAMMPS commands that use read-in -molecules for more details. +command can be used to add "molecules" which are clusters of +finite-size granular particles. If the Diameters section is not +specified, each particle in the molecule will have a default diameter +of 1.0. See the doc pages for LAMMPS commands that use molecule +templates for more details. Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and