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 1879 by gezelter, Sun Jun 16 15:15:42 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 201 | Line 193 | namespace OpenMD {
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";
# Line 272 | Line 272 | namespace OpenMD {
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";
# Line 366 | Line 374 | namespace OpenMD {
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()) {
# Line 460 | 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;
# Line 490 | Line 509 | namespace OpenMD {
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;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines