235 lines
6.6 KiB
C++
235 lines
6.6 KiB
C++
/* -*- c++ -*- ----------------------------------------------------------
|
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
|
http://lammps.sandia.gov, Sandia National Laboratories
|
|
Steve Plimpton, sjplimp@sandia.gov
|
|
|
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
|
certain rights in this software. This software is distributed under
|
|
the GNU General Public License.
|
|
|
|
See the README file in the top-level LAMMPS directory.
|
|
------------------------------------------------------------------------- */
|
|
|
|
#ifdef DUMP_CLASS
|
|
|
|
DumpStyle(image,DumpImage)
|
|
|
|
#else
|
|
|
|
#ifndef LMP_DUMP_IMAGE_H
|
|
#define LMP_DUMP_IMAGE_H
|
|
|
|
#include "dump_custom.h"
|
|
|
|
namespace LAMMPS_NS {
|
|
|
|
class DumpImage : public DumpCustom {
|
|
public:
|
|
int multifile_override; // used by write_dump command
|
|
|
|
DumpImage(class LAMMPS *, int, char**);
|
|
virtual ~DumpImage();
|
|
int pack_forward_comm(int, int *, double *, int, int *);
|
|
void unpack_forward_comm(int, int, double *);
|
|
|
|
protected:
|
|
int filetype;
|
|
enum{PPM,JPG,PNG};
|
|
|
|
int atomflag; // 0/1 for draw atoms
|
|
int acolor,adiam; // what determines color/diam of atoms
|
|
double adiamvalue; // atom diameter value
|
|
|
|
int lineflag; // 0/1 for draw atoms as lines
|
|
int lcolor,ldiam; // what determines color/diam of lines
|
|
double ldiamvalue; // line diameter value
|
|
int triflag; // 0/1 for draw atoms as triangles
|
|
int tcolor,tstyle; // what determines color/style of tris
|
|
double tdiamvalue; // tri edge diameter value
|
|
int bodyflag; // 0/1 for draw atoms as bodies
|
|
int bodycolor; // what determines color of bodies
|
|
double bodyflag1,bodyflag2; // user-specified params for drawing bodies
|
|
int fixflag; // 0/1 to draw what fix provides
|
|
int fixcolor; // what determines color of fix objects
|
|
double fixflag1,fixflag2; // user-specified params for fix objects
|
|
|
|
int bondflag; // 0/1 for draw bonds
|
|
int bcolor,bdiam; // what determines color/diam of bonds
|
|
double bdiamvalue; // bond diameter value
|
|
|
|
int extraflag; // 0/1 for any of line/tri/body flag set
|
|
char *thetastr,*phistr; // variables for view theta,phi
|
|
int thetavar,phivar; // index to theta,phi vars
|
|
int cflag; // static/dynamic box center
|
|
double cx,cy,cz; // fractional box center
|
|
char *cxstr,*cystr,*czstr; // variables for box center
|
|
int cxvar,cyvar,czvar; // index to box center vars
|
|
char *upxstr,*upystr,*upzstr; // view up vector variables
|
|
int upxvar,upyvar,upzvar; // index to up vector vars
|
|
char *zoomstr,*perspstr; // view zoom and perspective variables
|
|
int zoomvar,perspvar; // index to zoom,persp vars
|
|
int boxflag,axesflag; // 0/1 for draw box and axes
|
|
double boxdiam,axeslen,axesdiam; // params for drawing box and axes
|
|
int subboxflag;
|
|
double subboxdiam;
|
|
|
|
int viewflag; // overall view is static or dynamic
|
|
|
|
double *diamtype,*diamelement,*bdiamtype; // per-type diameters
|
|
double **colortype,**colorelement,**bcolortype; // per-type colors
|
|
|
|
class AtomVecLine *avec_line; // ptrs to atom style (sub)classes
|
|
class AtomVecTri *avec_tri;
|
|
class AtomVecBody *avec_body;
|
|
|
|
class Fix *fixptr; // ptr to Fix that provides image data
|
|
|
|
class Image *image; // class that renders each image
|
|
|
|
int *chooseghost; // extended choose array for comm
|
|
double **bufcopy; // buffer for communicating bond/atom info
|
|
int maxbufcopy;
|
|
|
|
virtual void init_style();
|
|
int modify_param(int, char **);
|
|
void write();
|
|
|
|
void box_center();
|
|
void view_params();
|
|
void box_bounds();
|
|
|
|
void create_image();
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
/* ERROR/WARNING messages:
|
|
|
|
E: Invalid dump image filename
|
|
|
|
The file produced by dump image cannot be binary and must
|
|
be for a single processor.
|
|
|
|
E: Support for writing images in JPEG format not included
|
|
|
|
LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile.
|
|
|
|
E: Support for writing images in PNG format not included
|
|
|
|
LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile.
|
|
|
|
E: Illegal ... command
|
|
|
|
Self-explanatory. Check the input script syntax and compare to the
|
|
documentation for the command. You can use -echo screen as a
|
|
command-line option when running LAMMPS to see the offending line.
|
|
|
|
E: Dump image bond not allowed with no bond types
|
|
|
|
Self-explanatory.
|
|
|
|
E: Invalid dump image theta value
|
|
|
|
Theta must be between 0.0 and 180.0 inclusive.
|
|
|
|
E: Dump image persp option is not yet supported
|
|
|
|
Self-explanatory.
|
|
|
|
E: Dump image line requires atom style line
|
|
|
|
Self-explanatory.
|
|
|
|
E: Dump image tri requires atom style tri
|
|
|
|
Self-explanatory.
|
|
|
|
E: Dump image body yes requires atom style body
|
|
|
|
Self-explanatory.
|
|
|
|
E: Dump image requires one snapshot per file
|
|
|
|
Use a "*" in the filename.
|
|
|
|
E: Dump image cannot perform sorting
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable name for dump image theta does not exist
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable for dump image theta is invalid style
|
|
|
|
Must be an equal-style variable.
|
|
|
|
E: Variable name for dump image phi does not exist
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable for dump image phi is invalid style
|
|
|
|
Must be an equal-style variable.
|
|
|
|
E: Variable name for dump image center does not exist
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable for dump image center is invalid style
|
|
|
|
Must be an equal-style variable.
|
|
|
|
E: Variable name for dump image zoom does not exist
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable for dump image zoom is invalid style
|
|
|
|
Must be an equal-style variable.
|
|
|
|
E: Variable name for dump image persp does not exist
|
|
|
|
Self-explanatory.
|
|
|
|
E: Variable for dump image persp is invalid style
|
|
|
|
Must be an equal-style variable.
|
|
|
|
E: Invalid dump image element name
|
|
|
|
The specified element name was not in the standard list of elements.
|
|
See the dump_modify doc page.
|
|
|
|
E: Invalid color map min/max values
|
|
|
|
The min/max values are not consistent with either each other or
|
|
with values in the color map.
|
|
|
|
E: Invalid dump image zoom value
|
|
|
|
Zoom value must be > 0.0.
|
|
|
|
E: Invalid dump image persp value
|
|
|
|
Persp value must be >= 0.0.
|
|
|
|
E: Invalid color in dump_modify command
|
|
|
|
The specified color name was not in the list of recognized colors.
|
|
See the dump_modify doc page.
|
|
|
|
E: Dump modify bcolor not allowed with no bond types
|
|
|
|
Self-explanatory.
|
|
|
|
E: Dump modify bdiam not allowed with no bond types
|
|
|
|
Self-explanatory.
|
|
|
|
*/
|