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

This commit is contained in:
sjplimp 2014-01-07 18:29:14 +00:00
parent c4bc0ca8f2
commit 5ca5395c16
4 changed files with 264 additions and 50 deletions

View File

@ -131,18 +131,20 @@ many timesteps until the desired # of particles has been inserted.
<P>All other keywords are optional with defaults as shown below. <P>All other keywords are optional with defaults as shown below.
</P> </P>
<P>The <I>diam</I> option is only used when inserting atoms and specifes the <P>The <I>diam</I> option is only used when inserting atoms and specifes the
diameters of inserted particles. For molecule insertion, the diameters of inserted particles. There are 3 styles: <I>one</I>, <I>range</I>,
diameters of individual atoms in the molecule can be specified in the or <I>poly</I>. For <I>one</I>, all particles will have diameter <I>D</I>. For
file read by the <A HREF = "molecule.html">molecule</A> command. There are 3 <I>range</I>, the diameter of each particle will be chosen randomly and
styles: <I>one</I>, <I>range</I>, or <I>poly</I>. For <I>one</I>, all particles will have uniformly between the specified <I>Dlo</I> and <I>Dhi</I> bounds. For <I>poly</I>, a
diameter <I>D</I>. For <I>range</I>, the diameter of each particle will be series of <I>Npoly</I> diameters is specified. For each diameter a
chosen randomly and uniformly between the specified <I>Dlo</I> and <I>Dhi</I> percentage value from 0.0 to 1.0 is also specified. The <I>Npoly</I>
bounds. For <I>poly</I>, a series of <I>Npoly</I> diameters is specified. For percentages must sum to 1.0. For the example shown above with "diam 2
each diameter a percentage value from 0.0 to 1.0 is also specified. 0.7 0.4 1.5 0.6", all inserted particles will have a diameter of 0.7
The <I>Npoly</I> percentages must sum to 1.0. For the example shown above or 1.5. 40% of the particles will be small; 60% will be large.
with "diam 2 0.7 0.4 1.5 0.6", all inserted particles will have a </P>
diameter of 0.7 or 1.5. 40% of the particles will be small; 60% will <P>Note that for molecule insertion, the diameters of individual atoms in
be large. the molecule can be specified in the file read by the
<A HREF = "molecule.html">molecule</A> command. If not specified, the diameter of
each atom in the molecule has a default diameter of 1.0.
</P> </P>
<P>The <I>dens</I> and <I>vel</I> options enable inserted particles to have a range <P>The <I>dens</I> and <I>vel</I> options enable inserted particles to have a range
of densities or xy velocities. The specific values for a particular of densities or xy velocities. The specific values for a particular

View File

@ -120,18 +120,20 @@ many timesteps until the desired # of particles has been inserted.
All other keywords are optional with defaults as shown below. All other keywords are optional with defaults as shown below.
The {diam} option is only used when inserting atoms and specifes the The {diam} option is only used when inserting atoms and specifes the
diameters of inserted particles. For molecule insertion, the diameters of inserted particles. There are 3 styles: {one}, {range},
diameters of individual atoms in the molecule can be specified in the or {poly}. For {one}, all particles will have diameter {D}. For
file read by the "molecule"_molecule.html command. There are 3 {range}, the diameter of each particle will be chosen randomly and
styles: {one}, {range}, or {poly}. For {one}, all particles will have uniformly between the specified {Dlo} and {Dhi} bounds. For {poly}, a
diameter {D}. For {range}, the diameter of each particle will be series of {Npoly} diameters is specified. For each diameter a
chosen randomly and uniformly between the specified {Dlo} and {Dhi} percentage value from 0.0 to 1.0 is also specified. The {Npoly}
bounds. For {poly}, a series of {Npoly} diameters is specified. For percentages must sum to 1.0. For the example shown above with "diam 2
each diameter a percentage value from 0.0 to 1.0 is also specified. 0.7 0.4 1.5 0.6", all inserted particles will have a diameter of 0.7
The {Npoly} percentages must sum to 1.0. For the example shown above or 1.5. 40% of the particles will be small; 60% will be large.
with "diam 2 0.7 0.4 1.5 0.6", all inserted particles will have a
diameter of 0.7 or 1.5. 40% of the particles will be small; 60% will Note that for molecule insertion, the diameters of individual atoms in
be large. the molecule can be specified in the file read by the
"molecule"_molecule.html command. If not specified, the diameter of
each atom in the molecule has a default diameter of 1.0.
The {dens} and {vel} options enable inserted particles to have a range The {dens} and {vel} options enable inserted particles to have a range
of densities or xy velocities. The specific values for a particular of densities or xy velocities. The specific values for a particular

View File

@ -27,10 +27,16 @@ molecule CO2 co2.txt
</P> </P>
<P>Define a molecule template that can be used as part of other LAMMPS <P>Define a molecule template that can be used as part of other LAMMPS
commands, typically to define a collection of particles as a bonded commands, typically to define a collection of particles as a bonded
molecule or a rigid body. Commands that use molecule templates molecule or a rigid body. Commands that currently use molecule
include (or will include) <A HREF = "fix_deposit.html">fix deposit</A>, <A HREF = "fix_pour.html">fix templates (or will in the future) include:
pour</A>, and <A HREF = "fix_gcmc.html">fix gcmc</A>.
</P> </P>
<UL><LI><A HREF = "fix_deposit.html">fix deposit</A>
<LI><A HREF = "fix_pour.html">fix pour</A>
<LI><A HREF = "fix_rigid.html">fix rigid/small</A>
<LI><A HREF = "fix_shake.html">fix shake</A>
<LI><A HREF = "fix_gcmc.html">fix gcmc</A> (not yet)
<LI><A HREF = "create_atoms.html">create_atoms</A> (not yet)
</UL>
<P>The ID of a molecule template can only contain alphanumeric characters <P>The ID of a molecule template can only contain alphanumeric characters
and underscores. and underscores.
</P> </P>
@ -87,6 +93,7 @@ internally.
<UL><LI><I>Coords, Types, Charges, Diameters, Masses</I> = atom-property sections <UL><LI><I>Coords, Types, Charges, Diameters, Masses</I> = atom-property sections
<LI><I>Bonds, Angles, Dihedrals, Impropers</I> = molecular topology sections <LI><I>Bonds, Angles, Dihedrals, Impropers</I> = molecular topology sections
<LI><I>Special Bond Counts, Special Bonds</I> = special neighbor info <LI><I>Special Bond Counts, Special Bonds</I> = special neighbor info
<LI><I>Shake Flags, Shake Atoms, Shake Bond Types</I> = SHAKE info
</UL> </UL>
<P>IMPORTANT NOTE: Whether a section is required depends on how the <P>IMPORTANT NOTE: Whether a section is required depends on how the
molecule template is used by other LAMMPS commands. For example, to molecule template is used by other LAMMPS commands. For example, to
@ -104,10 +111,10 @@ templates for more details.
<P>Each section is listed below in alphabetic order. The format of each <P>Each section is listed below in alphabetic order. The format of each
section is described including the number of lines it must contain and section is described including the number of lines it must contain and
rules (if any) for whether it can appear in the data file. In each rules (if any) for whether it can appear in the data file. In each
case the ID is ignored; it is simply included for readability as a case the ID is ignored; it is simply included for readability, and
number from 1 to Nlines for the section, indicating which atom (or should be a number from 1 to Nlines for the section, indicating which
bond, etc) the entry applies to. The lines are assumed to be listed atom (or bond, etc) the entry applies to. The lines are assumed to be
in order from 1 to Nlines. listed in order from 1 to Nlines, but LAMMPS does not check for this.
</P> </P>
<HR> <HR>
@ -134,8 +141,8 @@ in order from 1 to Nlines.
<LI>q = charge on atom <LI>q = charge on atom
</UL> </UL>
<P>This section is only allowed for <A HREF = "atom_style.html">atom styles</A> that <P>This section is only allowed for <A HREF = "atom_style.html">atom styles</A> that
support charge. If not listed, the default charge on each atom in the support charge. If this section is not included, the default charge
molecule is 0.0. on each atom in the molecule is 0.0.
</P> </P>
<HR> <HR>
@ -159,9 +166,10 @@ not listed, the default diameter of each atom in the molecule is 1.0.
</UL> </UL>
<P>This section is only allowed for <A HREF = "atom_style.html">atom styles</A> that <P>This section is only allowed for <A HREF = "atom_style.html">atom styles</A> that
support per-atom mass, as opposed to per-type mass. See the support per-atom mass, as opposed to per-type mass. See the
<A HREF = "mass.html">mass</A> command for details. If not listed, the default mass <A HREF = "mass.html">mass</A> command for details. If this section is not
for each atom is derived from its volume (see Diameters section) and a included, the default mass for each atom is derived from its volume
default density of 1.0, in <A HREF = "units.html">units</A> of mass/volume. (see Diameters section) and a default density of 1.0, in
<A HREF = "units.html">units</A> of mass/volume.
</P> </P>
<HR> <HR>
@ -253,6 +261,103 @@ appears, the Special Bond Counts section must also appear. If this
section is not specied, the atoms in the molecule will have no special section is not specied, the atoms in the molecule will have no special
bonds. bonds.
</P> </P>
<P><I>Shake Flags</I> section:
</P>
<UL><LI>one line per atom
<LI>line syntax: ID flag
<LI>flag = 0,1,2,3,4
</UL>
<P>This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file, following this one.
</P>
<P>The meaning of the flag for each atom is as follows. See the <A HREF = "fix_shake.html">fix
shake</A> doc page for a further description of SHAKE
clusters.
</P>
<UL><LI>0 = not part of a SHAKE cluster
<LI>1 = part of a SHAKE angle cluster (two bonds and the angle they form)
<LI>2 = part of a 2-atom SHAKE cluster with a single bond
<LI>3 = part of a 3-atom SHAKE cluster with two bonds
<LI>4 = part of a 4-atom SHAKE cluster with three bonds
</UL>
<P><I>Shake Atoms</I> section:
</P>
<UL><LI>one line per atom
<LI>line syntax: ID a b c d
<LI>a,b,c,d = IDs of atoms in cluster
</UL>
<P>This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file.
</P>
<P>The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms
in the SHAKE cluster that this atom belongs to. The number of values
that must appear is determined by the shake flag for the atom (see the
Shake Flags section above). All atoms in a particular cluster should
list their a,b,c,d values identically.
</P>
<P>If flag = 0, no a,b,c,d values are listed on the line, just the
(ignored) ID.
</P>
<P>If flag = 1, a,b,c are listed, where a = ID of central atom in the
angle, and b,c the other two atoms in the angle.
</P>
<P>If flag = 2, a,b are listed, where a = ID of atom in bond with the the
lowest ID, and b = ID of atom in bond with the highest ID.
</P>
<P>If flag = 3, a,b,c are listed, where a = ID of central atom,
and b,c = IDs of other two atoms bonded to the central atom.
</P>
<P>If flag = 4, a,b,c,d are listed, where a = ID of central atom,
and b,c,d = IDs of other three atoms bonded to the central atom.
</P>
<P>See the <A HREF = "fix_shake.html">fix shake</A> doc page for a further description
of SHAKE clusters.
</P>
<P><I>Shake Bond Types</I> section:
</P>
<UL><LI>one line per atom
<LI>line syntax: ID a b c
<LI>a,b,c = bond types of bonds in cluster
</UL>
<P>This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file.
</P>
<P>The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds
in the SHAKE cluster that this atom belongs to. The number of values
that must appear is determined by the shake flag for the atom (see the
Shake Flags section above). All atoms in a particular cluster should
list their a,b,c values identically.
</P>
<P>If flag = 0, no a,b,c values are listed on the line, just the
(ignored) ID.
</P>
<P>If flag = 1, a,b,c are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), b = bondtype of the bond between the central atom and
the 2nd non-central atom (value c in the Shake Atoms section), and c =
the angle type (1 to Nangletypes) of the angle between the 3 atoms.
</P>
<P>If flag = 2, only a is listed, where a = bondtype of the bond between
the 2 atoms in the cluster.
</P>
<P>If flag = 3, a,b are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), and b = bondtype of the bond between the central atom
and the 2nd non-central atom (value c in the Shake Atoms section).
</P>
<P>If flag = 4, a,b,c are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), b = bondtype of the bond between the central atom and
the 2nd non-central atom (value c in the Shake Atoms section), and c =
bondtype of the bond between the central atom and the 3rd non-central
atom (value d in the Shake Atoms section).
</P>
<P>See the <A HREF = "fix_shake.html">fix shake</A> doc page for a further description
of SHAKE clusters.
</P>
<HR> <HR>
<P><B>Restrictions:</B> none <P><B>Restrictions:</B> none

View File

@ -24,9 +24,15 @@ molecule CO2 co2.txt :pre
Define a molecule template that can be used as part of other LAMMPS Define a molecule template that can be used as part of other LAMMPS
commands, typically to define a collection of particles as a bonded commands, typically to define a collection of particles as a bonded
molecule or a rigid body. Commands that use molecule templates molecule or a rigid body. Commands that currently use molecule
include (or will include) "fix deposit"_fix_deposit.html, "fix templates (or will in the future) include:
pour"_fix_pour.html, and "fix gcmc"_fix_gcmc.html.
"fix deposit"_fix_deposit.html
"fix pour"_fix_pour.html
"fix rigid/small"_fix_rigid.html
"fix shake"_fix_shake.html
"fix gcmc"_fix_gcmc.html (not yet)
"create_atoms"_create_atoms.html (not yet) :ul
The ID of a molecule template can only contain alphanumeric characters The ID of a molecule template can only contain alphanumeric characters
and underscores. and underscores.
@ -83,7 +89,8 @@ These are the allowed section keywords for the body of the file.
{Coords, Types, Charges, Diameters, Masses} = atom-property sections {Coords, Types, Charges, Diameters, Masses} = atom-property sections
{Bonds, Angles, Dihedrals, Impropers} = molecular topology sections {Bonds, Angles, Dihedrals, Impropers} = molecular topology sections
{Special Bond Counts, Special Bonds} = special neighbor info :ul {Special Bond Counts, Special Bonds} = special neighbor info
{Shake Flags, Shake Atoms, Shake Bond Types} = SHAKE info :ul
IMPORTANT NOTE: Whether a section is required depends on how the IMPORTANT NOTE: Whether a section is required depends on how the
molecule template is used by other LAMMPS commands. For example, to molecule template is used by other LAMMPS commands. For example, to
@ -101,10 +108,10 @@ templates for more details.
Each section is listed below in alphabetic order. The format of each Each section is listed below in alphabetic order. The format of each
section is described including the number of lines it must contain and section is described including the number of lines it must contain and
rules (if any) for whether it can appear in the data file. In each rules (if any) for whether it can appear in the data file. In each
case the ID is ignored; it is simply included for readability as a case the ID is ignored; it is simply included for readability, and
number from 1 to Nlines for the section, indicating which atom (or should be a number from 1 to Nlines for the section, indicating which
bond, etc) the entry applies to. The lines are assumed to be listed atom (or bond, etc) the entry applies to. The lines are assumed to be
in order from 1 to Nlines. listed in order from 1 to Nlines, but LAMMPS does not check for this.
:line :line
@ -131,8 +138,8 @@ line syntax: ID q
q = charge on atom :ul q = charge on atom :ul
This section is only allowed for "atom styles"_atom_style.html that This section is only allowed for "atom styles"_atom_style.html that
support charge. If not listed, the default charge on each atom in the support charge. If this section is not included, the default charge
molecule is 0.0. on each atom in the molecule is 0.0.
:line :line
@ -156,9 +163,10 @@ mass = mass of atom :ul
This section is only allowed for "atom styles"_atom_style.html that This section is only allowed for "atom styles"_atom_style.html that
support per-atom mass, as opposed to per-type mass. See the support per-atom mass, as opposed to per-type mass. See the
"mass"_mass.html command for details. If not listed, the default mass "mass"_mass.html command for details. If this section is not
for each atom is derived from its volume (see Diameters section) and a included, the default mass for each atom is derived from its volume
default density of 1.0, in "units"_units.html of mass/volume. (see Diameters section) and a default density of 1.0, in
"units"_units.html of mass/volume.
:line :line
@ -250,6 +258,103 @@ appears, the Special Bond Counts section must also appear. If this
section is not specied, the atoms in the molecule will have no special section is not specied, the atoms in the molecule will have no special
bonds. bonds.
{Shake Flags} section:
one line per atom
line syntax: ID flag
flag = 0,1,2,3,4 :ul
This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file, following this one.
The meaning of the flag for each atom is as follows. See the "fix
shake"_fix_shake.html doc page for a further description of SHAKE
clusters.
0 = not part of a SHAKE cluster
1 = part of a SHAKE angle cluster (two bonds and the angle they form)
2 = part of a 2-atom SHAKE cluster with a single bond
3 = part of a 3-atom SHAKE cluster with two bonds
4 = part of a 4-atom SHAKE cluster with three bonds :ul
{Shake Atoms} section:
one line per atom
line syntax: ID a b c d
a,b,c,d = IDs of atoms in cluster :ul
This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file.
The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms
in the SHAKE cluster that this atom belongs to. The number of values
that must appear is determined by the shake flag for the atom (see the
Shake Flags section above). All atoms in a particular cluster should
list their a,b,c,d values identically.
If flag = 0, no a,b,c,d values are listed on the line, just the
(ignored) ID.
If flag = 1, a,b,c are listed, where a = ID of central atom in the
angle, and b,c the other two atoms in the angle.
If flag = 2, a,b are listed, where a = ID of atom in bond with the the
lowest ID, and b = ID of atom in bond with the highest ID.
If flag = 3, a,b,c are listed, where a = ID of central atom,
and b,c = IDs of other two atoms bonded to the central atom.
If flag = 4, a,b,c,d are listed, where a = ID of central atom,
and b,c,d = IDs of other three atoms bonded to the central atom.
See the "fix shake"_fix_shake.html doc page for a further description
of SHAKE clusters.
{Shake Bond Types} section:
one line per atom
line syntax: ID a b c
a,b,c = bond types of bonds in cluster :ul
This section is only needed when molecules created using the template
will be constrained by SHAKE via the "fix shake" command. The other
two Shake sections must also appear in the file.
The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds
in the SHAKE cluster that this atom belongs to. The number of values
that must appear is determined by the shake flag for the atom (see the
Shake Flags section above). All atoms in a particular cluster should
list their a,b,c values identically.
If flag = 0, no a,b,c values are listed on the line, just the
(ignored) ID.
If flag = 1, a,b,c are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), b = bondtype of the bond between the central atom and
the 2nd non-central atom (value c in the Shake Atoms section), and c =
the angle type (1 to Nangletypes) of the angle between the 3 atoms.
If flag = 2, only a is listed, where a = bondtype of the bond between
the 2 atoms in the cluster.
If flag = 3, a,b are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), and b = bondtype of the bond between the central atom
and the 2nd non-central atom (value c in the Shake Atoms section).
If flag = 4, a,b,c are listed, where a = bondtype of the bond between
the central atom and the first non-central atom (value b in the Shake
Atoms section), b = bondtype of the bond between the central atom and
the 2nd non-central atom (value c in the Shake Atoms section), and c =
bondtype of the bond between the central atom and the 3rd non-central
atom (value d in the Shake Atoms section).
See the "fix shake"_fix_shake.html doc page for a further description
of SHAKE clusters.
:line :line
[Restrictions:] none [Restrictions:] none