<LI>one or more keyword/value pairs may be appended
<LI>these keywords apply to various dump styles
<LI>keyword = <I>append</I> or <I>buffer</I> or <I>element</I> or <I>every</I> or <I>fileper</I> or <I>first</I> or <I>flush</I> or <I>format</I> or <I>image</I> or <I>label</I> or <I>nfile</I> or <I>pad</I> or <I>precision</I> or <I>region</I> or <I>scale</I> or <I>sort</I> or <I>thresh</I> or <I>unwrap</I>
<PRE><I>append</I> arg = <I>yes</I> or <I>no</I>
<I>buffer</I> arg = <I>yes</I> or <I>no</I>
<I>element</I> args = E1 E2 ... EN, where N = # of atom types
E1,...,EN = element name, e.g. C or Fe or Ga
<I>every</I> arg = N
N = dump every this many timesteps
N can be a variable (see below)
<I>fileper</I> arg = Np
Np = write one file for every this many processors
<I>first</I> arg = <I>yes</I> or <I>no</I>
<I>format</I> arg = C-style format string for one line of output
<I>flush</I> arg = <I>yes</I> or <I>no</I>
<I>image</I> arg = <I>yes</I> or <I>no</I>
<I>label</I> arg = string
string = character string (e.g. BONDS) to use in header of dump local file
<I>nfile</I> arg = Nf
Nf = write this many files, one from each of Nf processors
<I>pad</I> arg = Nchar = # of characters to convert timestep to
<I>precision</I> arg = power-of-10 value from 10 to 1000000
<I>sort</I> arg = <I>off</I> or <I>id</I> or N or -N
off = no sorting of per-atom lines within a snapshot
id = sort per-atom lines by atom ID
N = sort per-atom lines in ascending order by the Nth column
-N = sort per-atom lines in descending order by the Nth column
<I>thresh</I> args = attribute operation value
attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
operation = "<" or "<=" or ">" or ">=" or "==" or "!="
value = numeric value to compare to
these 3 args can be replaced by the word "none" to turn off thresholding
<I>unwrap</I> arg = <I>yes</I> or <I>no</I>
</PRE>
<LI>these keywords apply only to the <I>image</I> and <I>movie</I><AHREF ="dump_image.html">styles</A>
<LI>keyword = <I>acolor</I> or <I>adiam</I> or <I>amap</I> or <I>backcolor</I> or <I>bcolor</I> or <I>bdiam</I> or <I>boxcolor</I> or <I>color</I> or <I>bitrate</I> or <I>framerate</I>
<PRE><I>acolor</I> args = type color
type = atom type or range of types (see below)
color = name of color or color1/color2/...
<I>adiam</I> args = type diam
type = atom type or range of types (see below)
diam = diameter of atoms of that type (distance units)
<I>amap</I> args = lo hi style delta N entry1 entry2 ... entryN
lo = number or <I>min</I> = lower bound of range of color map
hi = number or <I>max</I> = upper bound of range of color map
style = 2 letters = "c" or "d" or "s" plus "a" or "f"
"c" for continuous
"d" for discrete
"s" for sequential
"a" for absolute
"f" for fractional
delta = binsize (only used for style "s", otherwise ignored)
binsize = range is divided into bins of this width
N = # of subsequent entries
entry = value color (for continuous style)
value = number or <I>min</I> or <I>max</I> = single value within range
color = name of color used for that value
entry = lo hi color (for discrete style)
lo/hi = number or <I>min</I> or <I>max</I> = lower/upper bound of subset of range
color = name of color used for that subset of values
entry = color (for sequential style)
color = name of color used for a bin of values
<I>backcolor</I> arg = color
color = name of color for background
<I>bcolor</I> args = type color
type = bond type or range of types (see below)
color = name of color or color1/color2/...
<I>bdiam</I> args = type diam
type = bond type or range of types (see below)
diam = diameter of bonds of that type (distance units)
<I>boxcolor</I> arg = color
color = name of color for simulation box lines and processor sub-domain lines
<I>color</I> args = name R G B
name = name of color
R,G,B = red/green/blue numeric values from 0.0 to 1.0
<I>bitrate</I> arg = rate
rate = target bitrate for movie in kbps
<I>framerate</I> arg = fps
fps = frames per second for movie
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>dump_modify 1 format "%d %d %20.15g %g %g" scale yes
dump_modify myDump image yes scale no flush yes
dump_modify 1 region mySphere thresh x < 0.0threshepair>= 3.2
dump_modify xtcdump precision 10000 sfactor 0.1
dump_modify 1 every 1000 nfile 20
dump_modify 1 every v_myVar
dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red
</PRE>
<P><B>Description:</B>
</P>
<P>Modify the parameters of a previously defined dump command. Not all
parameters are relevant to all dump styles.
</P>
<P>As explained on the <AHREF ="dump.html">dump</A> doc page, the <I>atom/mpiio</I>,
<I>custom/mpiio</I>, and <I>xyz/mpiio</I> dump styles are identical in command
syntax and in the format of the dump files they create, to the
corresponding styles without "mpiio", except the single dump file they
produce is written in parallel via the MPI-IO library. Thus if a
dump_modify option below is valid for the <I>atom</I> style, it is also
valid for the <I>atom/mpiio</I> style, and similarly for the other styles
which allow for use of MPI-IO.
</P>
<HR>
<HR>
<P>These keywords apply to various dump styles, including the <AHREF ="dump_image.html">dump
image</A> and <AHREF ="dump_image.html">dump movie</A> styles. The
description gives details.
</P>
<HR>
<P>The <I>append</I> keyword applies to all dump styles except <I>cfg</I> and <I>xtc</I>
and <I>dcd</I>. It also applies only to text output files, not to binary
or gzipped or image/movie files. If specified as <I>yes</I>, then dump
snapshots are appended to the end of an existing dump file. If
specified as <I>no</I>, then a new dump file will be created which will
overwrite an existing file with the same name. This keyword can only
take effect if the dump_modify command is used after the
<AHREF ="dump.html">dump</A> command, but before the first command that causes
dump snapshots to be output, e.g. a <AHREF ="run.html">run</A> or
<AHREF ="minimize.html">minimize</A> command. Once the dump file has been opened,
this keyword has no further effect.
</P>
<HR>
<P>The <I>buffer</I> keyword applies only to dump styles <I>atom</I>, <I>cfg</I>,
<I>custom</I>, <I>local</I>, and <I>xyz</I>. It also applies only to text output
files, not to binary or gzipped files. If specified as <I>yes</I>, which
is the default, then each processor writes its output into an internal
text buffer, which is then sent to the processor(s) which perform file
writes, and written by those processors(s) as one large chunk of text.
If specified as <I>no</I>, each processor sends its per-atom data in binary
format to the processor(s) which perform file wirtes, and those
processor(s) format and write it line by line into the output file.
</P>
<P>The buffering mode is typically faster since each processor does the
relatively expensive task of formatting the output for its own atoms.
However it requires about twice the memory (per processor) for the
extra buffering.
</P>
<HR>
<P>The <I>element</I> keyword applies only to the the dump <I>cfg</I>, <I>xyz</I>, and
<I>image</I> styles. It associates element names (e.g. H, C, Fe) with
LAMMPS atom types. See the list of element names at the bottom of
this page.
</P>
<P>In the case of dump <I>cfg</I>, this allows the <AHREF ="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</A>
visualization package to read the dump file and render atoms with the
appropriate size and color.
</P>
<P>In the case of dump <I>image</I>, the output images will follow the same
<AHREF ="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</A> convention. An element name is specified for each
atom type (1 to Ntype) in the simulation. The same element name can
be given to multiple atom types.
</P>
<P>In the case of <I>xyz</I> format dumps, there are no restrictions to what
label can be used as an element name. Any whitespace separated text
will be accepted.
</P>
<HR>
<P>The <I>every</I> keyword changes the dump frequency originally specified by
the <AHREF ="dump.html">dump</A> command to a new value. The every keyword can be
specified in one of two ways. It can be a numeric value in which case
it must be > 0. Or it can be an <AHREF ="variable.html">equal-style variable</A>,
which should be specified as v_name, where name is the variable name.
</P>
<P>In this case, the variable is evaluated at the beginning of a run to
determine the next timestep at which a dump snapshot will be written
out. On that timestep the variable will be evaluated again to
determine the next timestep, etc. Thus the variable should return
timestep values. See the stagger() and logfreq() and stride() math
functions for <AHREF ="variable.html">equal-style variables</A>, as examples of
useful functions to use in this context. Other similar math functions
could easily be added as options for <AHREF ="variable.html">equal-style
variables</A>. Also see the next() function, which allows
use of a file-style variable which reads successive values from a
file, each time the variable is evaluated. Used with the <I>every</I>
keyword, if the file contains a list of ascending timesteps, you can
output snapshots whenever you wish.
</P>
<P>Note that when using the variable option with the <I>every</I> keyword, you
need to use the <I>first</I> option if you want an initial snapshot written
to the dump file. The <I>every</I> keyword cannot be used with the dump
<I>dcd</I> style.
</P>
<P>For example, the following commands will
write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:
</P>
<PRE>variable s equal logfreq(10,3,10)
dump 1 all atom 100 tmp.dump
dump_modify 1 every v_s first yes
</PRE>
<P>The following commands would write snapshots at the timesteps listed
in file tmp.times:
</P>
<PRE>variable f file tmp.times
variable s equal next(f)
dump 1 all atom 100 tmp.dump
dump_modify 1 every v_s
</PRE>
<P>IMPORTANT NOTE: When using a file-style variable with the <I>every</I>
keyword, the file of timesteps must list a first timestep that is
beyond the current timestep (e.g. it cannot be 0). And it must list
one or more timesteps beyond the length of the run you perform. This
is because the dump command will generate an error if the next
timestep it reads from the file is not a value greater than the
current timestep. Thus if you wanted output on steps 0,15,100 of a
100-timestep run, the file should contain the values 15,100,101 and
you should also use the dump_modify first command. Any final value >
100 could be used in place of 101.
</P>
<HR>
<P>The <I>first</I> keyword determines whether a dump snapshot is written on
the very first timestep after the dump command is invoked. This will
always occur if the current timestep is a multiple of N, the frequency
specified in the <AHREF ="dump.html">dump</A> command, including timestep 0. But
if this is not the case, a dump snapshot will only be written if the
setting of this keyword is <I>yes</I>. If it is <I>no</I>, which is the
default, then it will not be written.
</P>
<HR>
<P>The <I>flush</I> keyword determines whether a flush operation is invoked
after a dump snapshot is written to the dump file. A flush insures
the output in that file is current (no buffering by the OS), even if
LAMMPS halts before the simulation completes. Flushes cannot be
performed with dump style <I>xtc</I>.
</P>
<HR>
<P>The text-based dump styles have a default C-style format string which
simply specifies %d for integers and %g for floating-point values.
The <I>format</I> keyword can be used to override the default with a new
C-style format string. Do not include a trailing "\n" newline
character in the format string. This option has no effect on the
<I>dcd</I> and <I>xtc</I> dump styles since they write binary files. Note that
for the <I>cfg</I> style, the first two fields (atom id and type) are not
actually written into the CFG file, though you must include formats
for them in the format string.
</P>
<P>IMPORTANT NOTE: Any value written to a text-based dump file that is a
per-atom quantity calculated by a <AHREF ="compute.html">compute</A> or
<AHREF ="fix.html">fix</A> is stored internally as a floating-point value. If the
value is actually an integer and you wish it to appear in the text
dump file as a (large) integer, then you need to use an appropriate
format. For example, these commands:
</P>
<PRE>compute 1 all property/local batom1 batom2
dump 1 all local 100 tmp.bonds index c_1[1] c_1[2]
dump_modify 1 format "%d %0.0f %0.0f"
</PRE>
<P>will output the two atom IDs for atoms in each bond as integers. If
the dump_modify command were omitted, they would appear as
floating-point values, assuming they were large integers (more than 6
digits). The "index" keyword should use the "%d" format since it is
not generated by a compute or fix, and is stored internally as an
integer.
</P>
<HR>
<P>The <I>fileper</I> keyword is documented below with the <I>nfile</I> keyword.
</P>
<HR>
<P>The <I>image</I> keyword applies only to the dump <I>atom</I> style. If the
image value is <I>yes</I>, 3 flags are appended to each atom's coords which
are the absolute box image of the atom in each dimension. For
example, an x image flag of -2 with a normalized coord of 0.5 means
the atom is in the center of the box, but has passed thru the box
boundary 2 times and is really 2 box lengths to the left of its
current coordinate. Note that for dump style <I>custom</I> these various
values can be printed in the dump file by using the appropriate atom
attributes in the dump command itself.
</P>
<HR>
<P>The <I>label</I> keyword applies only to the dump <I>local</I> style. When
it writes local information, such as bond or angle topology
to a dump file, it will use the specified <I>label</I> to format
the header. By default this includes 2 lines:
</P>
<PRE>ITEM: NUMBER OF ENTRIES
ITEM: ENTRIES ...
</PRE>
<P>The word "ENTRIES" will be replaced with the string specified,
e.g. BONDS or ANGLES.
</P>
<HR>
<P>The <I>nfile</I> or <I>fileper</I> keywords can be used in conjunction with the
"%" wildcard character in the specified dump file name, for all dump
styles except the <I>dcd</I>, <I>image</I>, <I>movie</I>, <I>xtc</I>, and <I>xyz</I> styles
(for which "%" is not allowed). As explained on the <AHREF ="dump.html">dump</A>
command doc page, the "%" character causes the dump file to be written
in pieces, one piece for each of P processors. By default P = the
number of processors the simulation is running on. The <I>nfile</I> or
<I>fileper</I> keyword can be used to set P to a smaller value, which can
be more efficient when running on a large number of processors.
</P>
<P>The <I>nfile</I> keyword sets P to the specified Nf value. For example, if
Nf = 4, and the simulation is running on 100 processors, 4 files will
be written, by processors 0,25,50,75. Each will collect information
from itself and the next 24 processors and write it to a dump file.
</P>
<P>For the <I>fileper</I> keyword, the specified value of Np means write one
file for every Np processors. For example, if Np = 4, every 4th
processor (0,4,8,12,etc) will collect information from itself and the
next 3 processors and write it to a dump file.
</P>
<HR>
<P>The <I>pad</I> keyword only applies when the dump filename is specified
with a wildcard "*" character which becomes the timestep. If <I>pad</I> is
0, which is the default, the timestep is converted into a string of
unpadded length, e.g. 100 or 12000 or 2000000. When <I>pad</I> is
specified with <I>Nchar</I> > 0, the string is padded with leading zeroes
so they are all the same length = <I>Nchar</I>. For example, pad 7 would
yield 0000100, 0012000, 2000000. This can be useful so that
post-processing programs can easily read the files in ascending
timestep order.
</P>
<HR>
<P>The <I>precision</I> keyword only applies to the dump <I>xtc</I> style. A
specified value of N means that coordinates are stored to 1/N
nanometer accuracy, e.g. for N = 1000, the coordinates are written to
1/1000 nanometer accuracy.
</P>
<HR>
<P>The <I>sfactor</I> and <I>tfactor</I> keywords only apply to the dump <I>xtc</I>
style. They allow customization of the unit conversion factors used
when writing to XTC files. By default they are initialized for
whatever <AHREF ="units.html">units</A> style is being used, to write out
coordinates in nanometers and time in picoseconds. I.e. for <I>real</I>
units, LAMMPS defines <I>sfactor</I> = 0.1 and <I>tfactor</I> = 0.001, since the
Angstroms and fmsec used by <I>real</I> units are 0.1 nm and 0.001 psec
respectively. If you are using a units system with distance and time
units far from nm and psec, you may wish to write XTC files with
different units, since the compression algorithm used in XTC files is
most effective when the typical magnitude of position data is between
10.0 and 0.1.
</P>
<HR>
<P>The <I>region</I> keyword only applies to the dump <I>custom</I>, <I>cfg</I>,
<I>image</I>, and <I>movie</I> styles. If specified, only atoms in the region
will be written to the dump file or included in the image/movie. Only
one region can be applied as a filter (the last one specified). See
the <AHREF ="region.html">region</A> command for more details. Note that a region
can be defined as the "inside" or "outside" of a geometric shape, and
it can be the "union" or "intersection" of a series of simpler
regions.
</P>
<HR>
<P>The <I>scale</I> keyword applies only to the dump <I>atom</I> style. A scale
value of <I>yes</I> means atom coords are written in normalized units from
0.0 to 1.0 in each box dimension. If the simluation box is triclinic
(tilted), then all atom coords will still be between 0.0 and 1.0. A
value of <I>no</I> means they are written in absolute distance units
(e.g. Angstroms or sigma).
</P>
<HR>
<P>The <I>sort</I> keyword determines whether lines of per-atom output in a
snapshot are sorted or not. A sort value of <I>off</I> means they will
typically be written in indeterminate order, either in serial or
parallel. This is the case even in serial if the <AHREF ="atom_modify.html">atom_modify
sort</A> option is turned on, which it is by default, to
improve performance. A sort value of <I>id</I> means sort the output by
atom ID. A sort value of N or -N means sort the output by the value
in the Nth column of per-atom info in either ascending or descending
order.
</P>
<P>The dump <I>local</I> style cannot be sorted by atom ID, since there are
typically multiple lines of output per atom. Some dump styles, such
as <I>dcd</I> and <I>xtc</I>, require sorting by atom ID to format the output
file correctly. If multiple processors are writing the dump file, via
the "%" wildcard in the dump filename, then sorting cannot be
performed.
</P>
<P>IMPORTANT NOTE: Unless it is required by the dump style, sorting dump
file output requires extra overhead in terms of CPU and communication
cost, as well as memory, versus unsorted output.
</P>
<HR>
<P>The <I>thresh</I> keyword only applies to the dump <I>custom</I>, <I>cfg</I>,
<I>image</I>, and <I>movie</I> styles. Multiple thresholds can be specified.
Specifying "none" turns off all threshold criteria. If thresholds are
specified, only atoms whose attributes meet all the threshold criteria
are written to the dump file or included in the image. The possible
attributes that can be tested for are the same as those that can be
specified in the <AHREF ="dump.html">dump custom</A> command, with the exception
of the <I>element</I> attribute, since it is not a numeric value. Note
that different attributes can be output by the dump custom command
than are used as threshold criteria by the dump_modify command.
E.g. you can output the coordinates and stress of atoms whose energy
is above some threshold.
</P>
<HR>
<P>The <I>unwrap</I> keyword only applies to the dump <I>dcd</I> and <I>xtc</I> styles.
If set to <I>yes</I>, coordinates will be written "unwrapped" by the image
flags for each atom. Unwrapped means that if the atom has passed thru
a periodic boundary one or more times, the value is printed for what
the coordinate would be if it had not been wrapped back into the
periodic box. Note that these coordinates may thus be far outside the
box size stored with the snapshot.
</P>
<HR>
<HR>
<P>These keywords apply only to the <AHREF ="dump_image.html">dump image</A> and
<AHREF ="dump_image.html">dump movie</A> styles. Any keyword that affects an
image, also affects a movie, since the movie is simply a collection of
images. Some of the keywords only affect the <AHREF ="dump_image.html">dump
movie</A> style. The descriptions give details.
</P>
<HR>
<P>The <I>acolor</I> keyword can be used with the <AHREF ="dump_image.html">dump image</A>
command, when its atom color setting is <I>type</I>, to set the color that
atoms of each type will be drawn in the image.
</P>
<P>The specified <I>type</I> should be an integer from 1 to Ntypes = the
number of atom types. A wildcard asterisk can be used in place of or
in conjunction with the <I>type</I> argument to specify a range of atom
types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the
number of atom types, then an asterisk with no numeric values means
all types from 1 to N. A leading asterisk means all types from 1 to n
(inclusive). A trailing asterisk means all types from n to N
(inclusive). A middle asterisk means all types from m to n
(inclusive).
</P>
<P>The specified <I>color</I> can be a single color which is any of the 140
pre-defined colors (see below) or a color name defined by the
dump_modify color option. Or it can be two or more colors separated
by a "/" character, e.g. red/green/blue. In the former case, that
color is assigned to all the specified atom types. In the latter
case, the list of colors are assigned in a round-robin fashion to each
of the specified atom types.
</P>
<HR>
<P>The <I>adiam</I> keyword can be used with the <AHREF ="dump_image.html">dump image</A>
command, when its atom diameter setting is <I>type</I>, to set the size
that atoms of each type will be drawn in the image. The specified
<I>type</I> should be an integer from 1 to Ntypes. As with the <I>acolor</I>
keyword, a wildcard asterisk can be used as part of the <I>type</I>
argument to specify a range of atomt types. The specified <I>diam</I> is
the size in whatever distance <AHREF ="units.html">units</A> the input script is
using, e.g. Angstroms.
</P>
<HR>
<P>The <I>amap</I> keyword can be used with the <AHREF ="dump_image.html">dump image</A>
command, with its <I>atom</I> keyword, when its atom setting is an
atom-attribute, to setup a color map. The color map is used to assign
a specific RGB (red/green/blue) color value to an individual atom when
it is drawn, based on the atom's attribute, which is a numeric value,
e.g. its x-component of velocity if the atom-attribute "vx" was
specified.
</P>
<P>The basic idea of a color map is that the atom-attribute will be
within a range of values, and that range is associated with a a series
of colors (e.g. red, blue, green). An atom's specific value (vx =
-3.2) can then mapped to the series of colors (e.g. halfway between
red and blue), and a specific color is determined via an interpolation
procedure.
</P>
<P>There are many possible options for the color map, enabled by the
<I>amap</I> keyword. Here are the details.
</P>
<P>The <I>lo</I> and <I>hi</I> settings determine the range of values allowed for
the atom attribute. If numeric values are used for <I>lo</I> and/or <I>hi</I>,
then values that are lower/higher than that value are set to the
value. I.e. the range is static. If <I>lo</I> is specified as <I>min</I> or
<I>hi</I> as <I>max</I> then the range is dynamic, and the lower and/or
upper bound will be calculated each time an image is drawn, based
on the set of atoms being visualized.
</P>
<P>The <I>style</I> setting is two letters, such as "ca". The first letter is
either "c" for continuous, "d" for discrete, or "s" for sequential.
The second letter is either "a" for absolute, or "f" for fractional.
</P>
<P>A continuous color map is one in which the color changes continuously
from value to value within the range. A discrete color map is one in
which discrete colors are assigned to sub-ranges of values within the
range. A sequential color map is one in which discrete colors are
assigned to a sequence of sub-ranges of values covering the entire
range.
</P>
<P>An absolute color map is one in which the values to which colors are
assigned are specified explicitly as values within the range. A
fractional color map is one in which the values to which colors are
assigned are specified as a fractional portion of the range. For
example if the range is from -10.0 to 10.0, and the color red is to be
assigned to atoms with a value of 5.0, then for an absolute color map
the number 5.0 would be used. But for a fractional map, the number
0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0.
</P>
<P>The <I>delta</I> setting must be specified for all styles, but is only used
for the sequential style; otherwise the value is ignored. It
specifies the bin size to use within the range for assigning
consecutive colors to. For example, if the range is from -10.0 to
10.0 and a <I>delta</I> of 1.0 is used, then 20 colors will be assigned to
the range. The first will be from -10.0 <= color1 < -9.0, then 2nd
from -9.0 <= color2 < -8.0, etc.
</P>
<P>The <I>N</I> setting is how many entries follow. The format of the entries
depends on whether the color map style is continuous, discrete or
sequential. In all cases the <I>color</I> setting can be any of the 140
pre-defined colors (see below) or a color name defined by the
dump_modify color option.
</P>
<P>For continuous color maps, each entry has a <I>value</I> and a <I>color</I>.
The <I>value</I> is either a number within the range of values or <I>min</I> or
<I>max</I>. The <I>value</I> of the first entry must be <I>min</I> and the <I>value</I>
of the last entry must be <I>max</I>. Any entries in between must have
increasing values. Note that numeric values can be specified either
as absolute numbers or as fractions (0.0 to 1.0) of the range,
depending on the "a" or "f" in the style setting for the color map.
</P>
<P>Here is how the entries are used to determine the color of an
individual atom, given the value X of its atom attribute. X will fall
between 2 of the entry values. The color of the atom is linearly
interpolated (in each of the RGB values) between the 2 colors
associated with those entries. For example, if X = -5.0 and the 2
surrounding entries are "red" at -10.0 and "blue" at 0.0, then the
atom's color will be halfway between "red" and "blue", which happens
to be "purple".
</P>
<P>For discrete color maps, each entry has a <I>lo</I> and <I>hi</I> value and a
<I>color</I>. The <I>lo</I> and <I>hi</I> settings are either numbers within the
range of values or <I>lo</I> can be <I>min</I> or <I>hi</I> can be <I>max</I>. The <I>lo</I>
and <I>hi</I> settings of the last entry must be <I>min</I> and <I>max</I>. Other
entries can have any <I>lo</I> and <I>hi</I> values and the sub-ranges of
different values can overlap. Note that numeric <I>lo</I> and <I>hi</I> values
can be specified either as absolute numbers or as fractions (0.0 to
1.0) of the range, depending on the "a" or "f" in the style setting
for the color map.
</P>
<P>Here is how the entries are used to determine the color of an
individual atom, given the value X of its atom attribute. The entries
are scanned from first to last. The first time that <I>lo</I><= X <=
<I>hi</I>, X is assigned the color associated with that entry. You can
think of the last entry as assigning a default color (since it will
always be matched by X), and the earlier entries as colors that
override the default. Also note that no interpolation of a color RGB
is done. All atoms will be drawn with one of the colors in the list
of entries.
</P>
<P>For sequential color maps, each entry has only a <I>color</I>. Here is how
the entries are used to determine the color of an individual atom,
given the value X of its atom attribute. The range is partitioned
into N bins of width <I>binsize</I>. Thus X will fall in a specific bin
from 1 to N, say the Mth bin. If it falls on a boundary between 2
bins, it is considered to be in the higher of the 2 bins. Each bin is
assigned a color from the E entries. If E < N,thenthecolorsare