ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/Stats.cpp
(Generate patch)

Comparing trunk/src/brains/Stats.cpp (file contents):
Revision 1925 by gezelter, Wed Aug 7 15:24:16 2013 UTC vs.
Revision 2046 by gezelter, Tue Dec 2 22:11:04 2014 UTC

# Line 40 | Line 40
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  
# Line 281 | Line 273 | namespace OpenMD {
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";
# Line 376 | Line 376 | namespace OpenMD {
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);
# Line 468 | Line 476 | namespace OpenMD {
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;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines