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
/* -*- 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(local,DumpLocal)
#else
#ifndef LMP_DUMP_LOCAL_H
#define LMP_DUMP_LOCAL_H
#include "dump.h"
namespace LAMMPS_NS {
class DumpLocal : public Dump {
public:
DumpLocal(LAMMPS *, int, char **);
virtual ~DumpLocal();
private:
int nevery; // dump frequency to check Fix against
char *label; // string for dump file header
int nmine; // # of lines I am dumping
int *vtype; // type of each vector (INT, DOUBLE)
char **vformat; // format string for each vector element
char *columns; // column labels
int nfield; // # of keywords listed by user
int *field2index; // which compute,fix,variable calcs this field
int *argindex; // index into compute,fix scalar_atom,vector_atom
// 0 for scalar_atom, 1-N for vector_atom values
int ncompute; // # of Compute objects used by dump
char **id_compute; // their IDs
class Compute **compute; // list of ptrs to the Compute objects
int nfix; // # of Fix objects used by dump
char **id_fix; // their IDs
class Fix **fix; // list of ptrs to the Fix objects
void init_style();
int modify_param(int, char **);
void write_header(bigint);
int count();
void pack(tagint *);
int convert_string(int, double *);
void write_data(int, double *);
void parse_fields(int, char **);
int add_compute(char *);
int add_fix(char *);
typedef void (DumpLocal::*FnPtrWrite)(int, double *);
FnPtrWrite write_choice; // ptr to write data functions
void write_string(int, double *);
void write_lines(int, double *);
// customize by adding a method prototype
typedef void (DumpLocal::*FnPtrPack)(int);
FnPtrPack *pack_choice; // ptrs to pack functions
void pack_index(int);
void pack_compute(int);
void pack_fix(int);
};
}
#endif
#endif
/* ERROR/WARNING messages:
E: No dump local arguments specified
Self-explanatory.
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: Binary files are not supported with dump local
UNDOCUMENTED
E: Dump local cannot sort by atom ID
This is because dump local does not really dump per-atom info.
E: Dump_modify format line is too short
UNDOCUMENTED
E: Could not find dump local compute ID
Self-explanatory.
E: Could not find dump local fix ID
Self-explanatory.
E: Dump local and fix not computed at compatible times
The fix must produce per-atom quantities on timesteps that dump local
needs them.
E: Compute used in dump between runs is not current
The compute was not invoked on the current timestep, therefore it
cannot be used in a dump between runs.
E: Dump local count is not consistent across input fields
Every column of output must be the same length.
E: Invalid attribute in dump local command
Self-explanatory.
E: Dump local compute does not compute local info
Self-explanatory.
E: Dump local compute does not calculate local vector
Self-explanatory.
E: Dump local compute does not calculate local array
Self-explanatory.
E: Dump local compute vector is accessed out-of-range
Self-explanatory.
E: Dump local fix does not compute local info
Self-explanatory.
E: Dump local fix does not compute local vector
Self-explanatory.
E: Dump local fix does not compute local array
Self-explanatory.
E: Dump local fix vector is accessed out-of-range
Self-explanatory.
E: Dump local attributes contain no compute or fix
Self-explanatory.
*/