75 |
|
rCut_ = rCut; |
76 |
|
mSize_ = 2*lNumber_+1; |
77 |
|
|
78 |
< |
// Set the l for the spherical harmonic, it doesn't change |
78 |
> |
deltaQ_ = 1.0 / nbins; |
79 |
> |
deltaW_ = 2.0 / nbins; |
80 |
|
|
80 |
– |
sphericalHarmonic.setL(lNumber_); |
81 |
– |
|
82 |
– |
delta_Q = 1.0 / nbins; |
83 |
– |
delta_W = 2.0 / nbins; |
84 |
– |
|
81 |
|
Q_histogram_.resize(nbins); |
82 |
|
W_histogram_.resize(nbins); |
83 |
|
|
107 |
|
RealSphericalHarmonic sphericalHarmonic; |
108 |
|
int i, j; |
109 |
|
|
110 |
< |
|
110 |
> |
// Set the l for the spherical harmonic, it doesn't change |
111 |
> |
sphericalHarmonic.setL(lNumber_); |
112 |
> |
|
113 |
> |
|
114 |
|
DumpReader reader(info_, dumpFilename_); |
115 |
|
int nFrames = reader.getNFrames(); |
116 |
|
|
199 |
|
double l_ = (double)lNumber_; |
200 |
|
double m2Min, m2Max; |
201 |
|
int error, m1, m2, m3; |
202 |
< |
|
203 |
< |
W_l_ = 0.0; |
202 |
> |
|
203 |
> |
RealType W_l; |
204 |
> |
RealType W_l_hat; |
205 |
> |
W_l = 0.0; |
206 |
|
for (int m1 = -lNumber_; m1 <= lNumber_; m1++) { |
207 |
|
// Zero work array |
208 |
< |
for (int ii = 0; ii < mSize_; ii+){ |
208 |
> |
for (int ii = 0; ii < mSize_; ii++){ |
209 |
|
THRCOF[i] = 0.0; |
210 |
|
} |
211 |
|
// Get Wigner coefficients |
213 |
|
for (int m_index = 1; i < (int)(m2Max - m2Min-1.0); m_index++) { |
214 |
|
m2 = floor(m2Min) + m_index - 1; |
215 |
|
m3 = -m1-m2; |
216 |
< |
W_l_ += THRCOF[m_index]*QBar_lm[m1+lNumber_]*QBar_lm[m2+lNumber_]*QBar_lm[m3+lNumber_]; |
216 |
> |
W_l += THRCOF[m_index]*QBar_lm[m1+lNumber_]*QBar_lm[m2+lNumber_]*QBar_lm[m3+lNumber_]; |
217 |
|
} |
218 |
|
} |
219 |
|
|
220 |
< |
W_l_hat = W_l_ / pow(QSq_l, 1.5); |
220 |
> |
W_l_hat = W_l / pow(QSq_l, 1.5); |
221 |
|
|
222 |
|
// accumulate histogram data for Q_l and W_l_hat: |
223 |
|
|
261 |
|
|
262 |
|
void BondOrderParameter::collectHistogram(RealType Q_l, RealType W_l_hat) { |
263 |
|
|
264 |
< |
if (Q_l < Max_Q) { |
264 |
> |
if (Q_l < MaxQ_) { |
265 |
|
int whichBin = Q_l / deltaQ_; |
266 |
|
Q_histogram_[whichBin] += 1; |
267 |
|
} |
268 |
< |
if (W_l_hat < Max_W) { |
268 |
> |
if (W_l_hat < MaxW_) { |
269 |
|
int whichBin = W_l_hat / deltaW_; |
270 |
|
W_histogram_[whichBin] += 1; |
271 |
|
} |