40 |
|
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 |
|
*/ |
42 |
|
|
43 |
– |
/** |
44 |
– |
* @file Stats.cpp |
45 |
– |
* @author tlin |
46 |
– |
* @date 11/04/2004 |
47 |
– |
* @time 14:26am |
48 |
– |
* @version 1.0 |
49 |
– |
*/ |
50 |
– |
|
43 |
|
#include "brains/Stats.hpp" |
44 |
|
#include "brains/Thermo.hpp" |
45 |
|
|
273 |
|
data_[SYSTEM_DIPOLE] = system_dipole; |
274 |
|
statsMap_["SYSTEM_DIPOLE"] = SYSTEM_DIPOLE; |
275 |
|
|
276 |
+ |
StatsData system_quadrupole; |
277 |
+ |
system_quadrupole.units = "C*m*m"; |
278 |
+ |
system_quadrupole.title = "System Quadrupole"; |
279 |
+ |
system_quadrupole.dataType = "Mat3x3d"; |
280 |
+ |
system_quadrupole.accumulator = new MatrixAccumulator(); |
281 |
+ |
data_[SYSTEM_QUADRUPOLE] = system_quadrupole; |
282 |
+ |
statsMap_["SYSTEM_QUADRUPOLE"] = SYSTEM_QUADRUPOLE; |
283 |
+ |
|
284 |
|
StatsData tagged_pair_distance; |
285 |
|
tagged_pair_distance.units = "Ang"; |
286 |
|
tagged_pair_distance.title = "Tagged_Pair_Distance"; |
376 |
|
statsMask_.set(SYSTEM_DIPOLE); |
377 |
|
} |
378 |
|
|
379 |
+ |
// Why do we have both of these? |
380 |
+ |
if (simParams->getAccumulateBoxQuadrupole()) { |
381 |
+ |
statsMask_.set(SYSTEM_QUADRUPOLE); |
382 |
+ |
} |
383 |
+ |
if (info_->getCalcBoxQuadrupole()){ |
384 |
+ |
statsMask_.set(SYSTEM_QUADRUPOLE); |
385 |
+ |
} |
386 |
+ |
|
387 |
|
if (simParams->havePrintHeatFlux()) { |
388 |
|
if (simParams->getPrintHeatFlux()){ |
389 |
|
statsMask_.set(HEATFLUX); |
476 |
|
case SYSTEM_DIPOLE: |
477 |
|
dynamic_cast<VectorAccumulator *>(data_[i].accumulator)->add(thermo.getSystemDipole()); |
478 |
|
break; |
479 |
+ |
case SYSTEM_QUADRUPOLE: |
480 |
+ |
dynamic_cast<MatrixAccumulator *>(data_[i].accumulator)->add(thermo.getSystemQuadrupole()); |
481 |
+ |
break; |
482 |
|
case HEATFLUX: |
483 |
|
dynamic_cast<VectorAccumulator *>(data_[i].accumulator)->add(thermo.getHeatFlux()); |
484 |
|
break; |