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 |
|
|
193 |
|
data_[HYDROGENBONDING_POTENTIAL] = hydrogenbonding_potential; |
194 |
|
statsMap_["HYDROGENBONDING_POTENTIAL"] = HYDROGENBONDING_POTENTIAL; |
195 |
|
|
196 |
+ |
StatsData reciprocal_potential; |
197 |
+ |
reciprocal_potential.units = "kcal/mol"; |
198 |
+ |
reciprocal_potential.title = "Reciprocal Space Potential"; |
199 |
+ |
reciprocal_potential.dataType = "RealType"; |
200 |
+ |
reciprocal_potential.accumulator = new Accumulator(); |
201 |
+ |
data_[RECIPROCAL_POTENTIAL] = reciprocal_potential; |
202 |
+ |
statsMap_["RECIPROCAL_POTENTIAL"] = RECIPROCAL_POTENTIAL; |
203 |
+ |
|
204 |
|
StatsData short_range_potential; |
205 |
|
short_range_potential.units = "kcal/mol"; |
206 |
|
short_range_potential.title = "Short Range Potential"; |
272 |
|
system_dipole.accumulator = new VectorAccumulator(); |
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"; |
374 |
|
} |
375 |
|
if (info_->getCalcBoxDipole()){ |
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()) { |
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; |
509 |
|
case HYDROGENBONDING_POTENTIAL: |
510 |
|
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotentials()[HYDROGENBONDING_FAMILY]); |
511 |
|
break; |
512 |
+ |
case RECIPROCAL_POTENTIAL: |
513 |
+ |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getReciprocalPotential()); |
514 |
+ |
break; |
515 |
|
case SHORT_RANGE_POTENTIAL: |
516 |
|
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getShortRangePotential()); |
517 |
|
break; |