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
/* -*- 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 FIX_CLASS
FixStyle(ave/correlate,FixAveCorrelate)
#else
#ifndef LMP_FIX_AVE_CORRELATE_H
#define LMP_FIX_AVE_CORRELATE_H
#include "fix.h"
namespace LAMMPS_NS {
class FixAveCorrelate : public Fix {
public:
FixAveCorrelate(class LAMMPS *, int, char **);
~FixAveCorrelate();
int setmask();
void init();
void setup(int);
void end_of_step();
double compute_array(int,int);
private:
int me,nvalues;
int nrepeat,nfreq;
bigint nvalid,nvalid_last;
int *which,*argindex,*value2index;
char **ids;
FILE *fp;
int type,ave,startstep,overwrite;
double prefactor;
long filepos;
int firstindex; // index in values ring of earliest time sample
int lastindex; // index in values ring of latest time sample
int nsample; // number of time samples in values ring
int npair; // number of correlation pairs to calculate
int *count;
double **values,**corr;
int *save_count; // saved values at Nfreq for output via compute_array()
double **save_corr;
void accumulate();
bigint nextvalid();
};
}
#endif
#endif
/* ERROR/WARNING messages:
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: Cannot open fix ave/correlate file %s
The specified file cannot be opened. Check that the path and name are
correct.
E: Compute ID for fix ave/correlate does not exist
Self-explanatory.
E: Fix ave/correlate compute does not calculate a scalar
Self-explanatory.
E: Fix ave/correlate compute does not calculate a vector
Self-explanatory.
E: Fix ave/correlate compute vector is accessed out-of-range
The index for the vector is out of bounds.
E: Fix ID for fix ave/correlate does not exist
Self-explanatory.
E: Fix ave/correlate fix does not calculate a scalar
Self-explanatory.
E: Fix ave/correlate fix does not calculate a vector
Self-explanatory.
E: Fix ave/correlate fix vector is accessed out-of-range
The index for the vector is out of bounds.
E: Fix for fix ave/correlate not computed at compatible time
Fixes generate their values on specific timesteps. Fix ave/correlate
is requesting a value on a non-allowed timestep.
E: Variable name for fix ave/correlate does not exist
Self-explanatory.
E: Fix ave/correlate variable is not equal-style variable
Self-explanatory.
E: Fix ave/correlate variable is not vector-style variable
UNDOCUMENTED
E: Error writing file header
Something in the output to the file triggered an error.
E: Invalid timestep reset for fix ave/correlate
Resetting the timestep has invalidated the sequence of timesteps this
fix needs to process.
E: Error writing out correlation data
Something in the output to the file triggered an error.
*/