281 |
|
data_[SYSTEM_DIPOLE] = system_dipole; |
282 |
|
statsMap_["SYSTEM_DIPOLE"] = SYSTEM_DIPOLE; |
283 |
|
|
284 |
+ |
StatsData system_quadrupole; |
285 |
+ |
system_quadrupole.units = "C*m*m"; |
286 |
+ |
system_quadrupole.title = "System Quadrupole"; |
287 |
+ |
system_quadrupole.dataType = "Mat3x3d"; |
288 |
+ |
system_quadrupole.accumulator = new MatrixAccumulator(); |
289 |
+ |
data_[SYSTEM_QUADRUPOLE] = system_quadrupole; |
290 |
+ |
statsMap_["SYSTEM_QUADRUPOLE"] = SYSTEM_QUADRUPOLE; |
291 |
+ |
|
292 |
|
StatsData tagged_pair_distance; |
293 |
|
tagged_pair_distance.units = "Ang"; |
294 |
|
tagged_pair_distance.title = "Tagged_Pair_Distance"; |
384 |
|
statsMask_.set(SYSTEM_DIPOLE); |
385 |
|
} |
386 |
|
|
387 |
+ |
// Why do we have both of these? |
388 |
+ |
if (simParams->getAccumulateBoxQuadrupole()) { |
389 |
+ |
statsMask_.set(SYSTEM_QUADRUPOLE); |
390 |
+ |
} |
391 |
+ |
if (info_->getCalcBoxQuadrupole()){ |
392 |
+ |
statsMask_.set(SYSTEM_QUADRUPOLE); |
393 |
+ |
} |
394 |
+ |
|
395 |
|
if (simParams->havePrintHeatFlux()) { |
396 |
|
if (simParams->getPrintHeatFlux()){ |
397 |
|
statsMask_.set(HEATFLUX); |
484 |
|
case SYSTEM_DIPOLE: |
485 |
|
dynamic_cast<VectorAccumulator *>(data_[i].accumulator)->add(thermo.getSystemDipole()); |
486 |
|
break; |
487 |
+ |
case SYSTEM_QUADRUPOLE: |
488 |
+ |
dynamic_cast<MatrixAccumulator *>(data_[i].accumulator)->add(thermo.getSystemQuadrupole()); |
489 |
+ |
break; |
490 |
|
case HEATFLUX: |
491 |
|
dynamic_cast<VectorAccumulator *>(data_[i].accumulator)->add(thermo.getHeatFlux()); |
492 |
|
break; |