Skip to content

Commit

Permalink
Merge pull request lammps#4259 from jrgissing/add_some_more_type_labe…
Browse files Browse the repository at this point in the history
…l_support,again

Type label support for dump image, movie
  • Loading branch information
akohlmey authored Aug 5, 2024
2 parents 18b3f6b + e599663 commit 9fa2ffa
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 35 deletions.
67 changes: 36 additions & 31 deletions doc/src/dump_image.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,10 @@ Syntax
.. parsed-literal::
*acolor* args = type color
type = atom type or range of types (see below)
type = atom type (numeric or type label) or range of numeric types (see below)
color = name of color or color1/color2/...
*adiam* args = type diam
type = atom type or range of types (see below)
type = atom type (numeric or type label) or range of numeric types (see below)
diam = diameter of atoms of that type (distance units)
*amap* args = lo hi style delta N entry1 entry2 ... entryN
lo = number or *min* = lower bound of range of color map
Expand All @@ -139,10 +139,10 @@ Syntax
*backcolor* arg = color
color = name of color for background
*bcolor* args = type color
type = bond type or range of types (see below)
type = bond type (numeric or type label) or range of numeric types (see below)
color = name of color or color1/color2/...
*bdiam* args = type diam
type = bond type or range of types (see below)
type = bond type (numeric or type label) or range of numeric types (see below)
diam = diameter of bonds of that type (distance units)
*bitrate* arg = rate
rate = target bitrate for movie in kbps
Expand All @@ -169,6 +169,9 @@ Examples
dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red
labelmap atom 1 C 2 H 3 O 4 N
dump_modify 1 acolor C gray acolor H white acolor O red acolor N blue
Description
"""""""""""

Expand Down Expand Up @@ -739,15 +742,15 @@ The *acolor* keyword can be used with the dump image command, when its
atom color setting is *type*, to set the color that atoms of each type
will be drawn in the image.

The specified *type* 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 *type* 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).
The specified *type* should be a type label or integer from 1 to Ntypes
= the number of atom types. For numeric types, a wildcard asterisk can
be used in place of or in conjunction with the *type* 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).

The specified *color* can be a single color which is any of the 140
pre-defined colors (see below) or a color name defined by the
Expand All @@ -761,11 +764,12 @@ fashion to each of the specified atom types.

The *adiam* keyword can be used with the dump image command, when its
atom diameter setting is *type*, to set the size that atoms of each
type will be drawn in the image. The specified *type* should be an
integer from 1 to Ntypes. As with the *acolor* keyword, a wildcard
asterisk can be used as part of the *type* argument to specify a range
of atom types. The specified *diam* is the size in whatever distance
:doc:`units <units>` the input script is using, e.g. Angstroms.
type will be drawn in the image. The specified *type* should be a type
label or integer from 1 to Ntypes. As with the *acolor* keyword, a
wildcard asterisk can be used as part of the *type* argument to specify
a range of numeric atom types. The specified *diam* is the size in
whatever distance :doc:`units <units>` the input script is using, e.g.
Angstroms.

----------

Expand Down Expand Up @@ -908,14 +912,15 @@ The *bcolor* keyword can be used with the dump image command, with its
*bond* keyword, when its color setting is *type*, to set the color
that bonds of each type will be drawn in the image.

The specified *type* should be an integer from 1 to :math:`N`, where :math:`N`
is the number of bond types. A wildcard asterisk can be used in place of or
in conjunction with the *type* argument to specify a range of bond
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N`
is the number of bond types, then an asterisk with no numerical values
means all types from 1 to :math:`N`. A leading asterisk means all types from
1 to n (inclusive). A trailing asterisk means all types from m to :math:`N`
(inclusive). A middle asterisk means all types from m to n
The specified *type* should be a type label or integer from 1 to
:math:`N`, where :math:`N` is the number of bond types. For numeric
types, a wildcard asterisk can be used in place of or in conjunction
with the *type* argument to specify a range of bond types. This takes
the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is the number
of bond types, then an asterisk with no numerical values means all
types from 1 to :math:`N`. A leading asterisk means all types from 1
to n (inclusive). A trailing asterisk means all types from m to
:math:`N` (inclusive). A middle asterisk means all types from m to n
(inclusive).

The specified *color* can be a single color which is any of the 140
Expand All @@ -931,11 +936,11 @@ of the specified bond types.
The *bdiam* keyword can be used with the dump image command, with its
*bond* keyword, when its *diam* setting is *type*, to set the diameter
that bonds of each type will be drawn in the image. The specified
*type* should be an integer from 1 to Nbondtypes. As with the
*bcolor* keyword, a wildcard asterisk can be used as part of the
*type* argument to specify a range of bond types. The specified
*diam* is the size in whatever distance :doc:`units <units>` you are
using (e.g., Angstroms).
*type* should be a type label or integer from 1 to Nbondtypes. As with
the *bcolor* keyword, a wildcard asterisk can be used as part of the
*type* argument to specify a range of numeric bond types. The
specified *diam* is the size in whatever distance :doc:`units <units>`
you are using (e.g., Angstroms).

----------

Expand Down
8 changes: 4 additions & 4 deletions src/dump_image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1536,7 +1536,7 @@ int DumpImage::modify_param(int narg, char **arg)
if (strcmp(arg[0],"acolor") == 0) {
if (narg < 3) error->all(FLERR,"Illegal dump_modify command");
int nlo,nhi;
utils::bounds(FLERR,arg[1],1,atom->ntypes,nlo,nhi,error);
utils::bounds_typelabel(FLERR,arg[1],1,atom->ntypes,nlo,nhi,lmp,Atom::ATOM);

// get list of colors
// assign colors in round-robin fashion to types
Expand All @@ -1557,7 +1557,7 @@ int DumpImage::modify_param(int narg, char **arg)
if (strcmp(arg[0],"adiam") == 0) {
if (narg < 3) error->all(FLERR,"Illegal dump_modify command");
int nlo,nhi;
utils::bounds(FLERR,arg[1],1,atom->ntypes,nlo,nhi,error);
utils::bounds_typelabel(FLERR,arg[1],1,atom->ntypes,nlo,nhi,lmp,Atom::ATOM);
double diam = utils::numeric(FLERR,arg[2],false,lmp);
if (diam <= 0.0) error->all(FLERR,"Illegal dump_modify command");
for (int i = nlo; i <= nhi; i++) diamtype[i] = diam;
Expand Down Expand Up @@ -1588,7 +1588,7 @@ int DumpImage::modify_param(int narg, char **arg)
if (atom->nbondtypes == 0)
error->all(FLERR,"Dump modify bcolor not allowed with no bond types");
int nlo,nhi;
utils::bounds(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,error);
utils::bounds_typelabel(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,lmp,Atom::BOND);

// process list of ncount colornames separated by '/'
// assign colors in round-robin fashion to bond types
Expand All @@ -1611,7 +1611,7 @@ int DumpImage::modify_param(int narg, char **arg)
if (atom->nbondtypes == 0)
error->all(FLERR,"Dump modify bdiam not allowed with no bond types");
int nlo,nhi;
utils::bounds(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,error);
utils::bounds_typelabel(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,lmp,Atom::BOND);
double diam = utils::numeric(FLERR,arg[2],false,lmp);
if (diam <= 0.0) error->all(FLERR,"Illegal dump_modify command");
for (int i = nlo; i <= nhi; i++) bdiamtype[i] = diam;
Expand Down

0 comments on commit 9fa2ffa

Please sign in to comment.