1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
/* -*- 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: Fix ID for dump image does not exist
UNDOCUMENTED
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.
*/