| 195 |
|
|
| 196 |
|
StatsData hydrogenbonding_potential; |
| 197 |
|
hydrogenbonding_potential.units = "kcal/mol"; |
| 198 |
< |
hydrogenbonding_potential.title = "Metallic Potential"; |
| 198 |
> |
hydrogenbonding_potential.title = "Hydrogen Bonding Potential"; |
| 199 |
|
hydrogenbonding_potential.dataType = "RealType"; |
| 200 |
|
hydrogenbonding_potential.accumulator = new Accumulator(); |
| 201 |
|
data_[HYDROGENBONDING_POTENTIAL] = hydrogenbonding_potential; |
| 404 |
|
if (statsMask_[i]) { |
| 405 |
|
switch (i) { |
| 406 |
|
case TIME: |
| 407 |
< |
data_[i].accumulator->add(snap->getTime()); |
| 407 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getTime()); |
| 408 |
|
break; |
| 409 |
|
case KINETIC_ENERGY: |
| 410 |
< |
data_[i].accumulator->add(thermo.getKinetic()); |
| 410 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getKinetic()); |
| 411 |
|
break; |
| 412 |
|
case POTENTIAL_ENERGY: |
| 413 |
< |
data_[i].accumulator->add(thermo.getPotential()); |
| 413 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getPotential()); |
| 414 |
|
break; |
| 415 |
|
case TOTAL_ENERGY: |
| 416 |
< |
data_[i].accumulator->add(thermo.getTotalEnergy()); |
| 416 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getTotalEnergy()); |
| 417 |
|
break; |
| 418 |
|
case TEMPERATURE: |
| 419 |
< |
data_[i].accumulator->add(thermo.getTemperature()); |
| 419 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getTemperature()); |
| 420 |
|
break; |
| 421 |
|
case PRESSURE: |
| 422 |
< |
data_[i].accumulator->add(thermo.getPressure()); |
| 422 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getPressure()); |
| 423 |
|
break; |
| 424 |
|
case VOLUME: |
| 425 |
< |
data_[i].accumulator->add(thermo.getVolume()); |
| 425 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getVolume()); |
| 426 |
|
break; |
| 427 |
|
case CONSERVED_QUANTITY: |
| 428 |
< |
data_[i].accumulator->add(snap->getConservedQuantity()); |
| 428 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getConservedQuantity()); |
| 429 |
|
break; |
| 430 |
|
case PRESSURE_TENSOR: |
| 431 |
|
dynamic_cast<MatrixAccumulator *>(data_[i].accumulator)->add(thermo.getPressureTensor()); |
| 437 |
|
dynamic_cast<VectorAccumulator *>(data_[i].accumulator)->add(thermo.getHeatFlux()); |
| 438 |
|
break; |
| 439 |
|
case HULLVOLUME: |
| 440 |
< |
data_[i].accumulator->add(thermo.getHullVolume()); |
| 440 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getHullVolume()); |
| 441 |
|
break; |
| 442 |
|
case GYRVOLUME: |
| 443 |
< |
data_[i].accumulator->add(thermo.getGyrationalVolume()); |
| 443 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getGyrationalVolume()); |
| 444 |
|
break; |
| 445 |
|
case TRANSLATIONAL_KINETIC: |
| 446 |
< |
data_[i].accumulator->add(thermo.getTranslationalKinetic()); |
| 446 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getTranslationalKinetic()); |
| 447 |
|
break; |
| 448 |
|
case ROTATIONAL_KINETIC: |
| 449 |
< |
data_[i].accumulator->add(thermo.getRotationalKinetic()); |
| 449 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getRotationalKinetic()); |
| 450 |
|
break; |
| 451 |
|
case LONG_RANGE_POTENTIAL: |
| 452 |
< |
data_[i].accumulator->add(snap->getLongRangePotential()); |
| 452 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotential()); |
| 453 |
|
break; |
| 454 |
|
case VANDERWAALS_POTENTIAL: |
| 455 |
< |
data_[i].accumulator->add(snap->getLongRangePotentials()[VANDERWAALS_FAMILY]); |
| 455 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotentials()[VANDERWAALS_FAMILY]); |
| 456 |
|
break; |
| 457 |
|
case ELECTROSTATIC_POTENTIAL: |
| 458 |
< |
data_[i].accumulator->add(snap->getLongRangePotentials()[ELECTROSTATIC_FAMILY]); |
| 458 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotentials()[ELECTROSTATIC_FAMILY]); |
| 459 |
|
break; |
| 460 |
|
case METALLIC_POTENTIAL: |
| 461 |
< |
data_[i].accumulator->add(snap->getLongRangePotentials()[METALLIC_FAMILY]); |
| 461 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotentials()[METALLIC_FAMILY]); |
| 462 |
|
break; |
| 463 |
|
case HYDROGENBONDING_POTENTIAL: |
| 464 |
< |
data_[i].accumulator->add(snap->getLongRangePotentials()[HYDROGENBONDING_FAMILY]); |
| 464 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getLongRangePotentials()[HYDROGENBONDING_FAMILY]); |
| 465 |
|
break; |
| 466 |
|
case SHORT_RANGE_POTENTIAL: |
| 467 |
< |
data_[i].accumulator->add(snap->getShortRangePotential()); |
| 467 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getShortRangePotential()); |
| 468 |
|
break; |
| 469 |
|
case BOND_POTENTIAL: |
| 470 |
< |
data_[i].accumulator->add(snap->getBondPotential()); |
| 470 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getBondPotential()); |
| 471 |
|
break; |
| 472 |
|
case BEND_POTENTIAL: |
| 473 |
< |
data_[i].accumulator->add(snap->getBendPotential()); |
| 473 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getBendPotential()); |
| 474 |
|
break; |
| 475 |
|
case DIHEDRAL_POTENTIAL: |
| 476 |
< |
data_[i].accumulator->add(snap->getTorsionPotential()); |
| 476 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getTorsionPotential()); |
| 477 |
|
break; |
| 478 |
|
case INVERSION_POTENTIAL: |
| 479 |
< |
data_[i].accumulator->add(snap->getInversionPotential()); |
| 479 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getInversionPotential()); |
| 480 |
|
break; |
| 481 |
|
case RAW_POTENTIAL: |
| 482 |
< |
data_[i].accumulator->add(snap->getRawPotential()); |
| 482 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getRawPotential()); |
| 483 |
|
break; |
| 484 |
|
case RESTRAINT_POTENTIAL: |
| 485 |
< |
data_[i].accumulator->add(snap->getRestraintPotential()); |
| 485 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(snap->getRestraintPotential()); |
| 486 |
|
break; |
| 487 |
|
case TAGGED_PAIR_DISTANCE: |
| 488 |
< |
data_[i].accumulator->add(thermo.getTaggedAtomPairDistance()); |
| 488 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getTaggedAtomPairDistance()); |
| 489 |
|
break; |
| 490 |
|
/* |
| 491 |
|
case SHADOWH: |
| 492 |
< |
data_[i].accumulator->add(thermo.getShadowHamiltionian()); |
| 492 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getShadowHamiltionian()); |
| 493 |
|
break; |
| 494 |
|
case HELFANDMOMENT: |
| 495 |
< |
data_[i].accumulator->add(thermo.getHelfandMoment()); |
| 495 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getHelfandMoment()); |
| 496 |
|
break; |
| 497 |
|
*/ |
| 498 |
|
case ELECTRONIC_TEMPERATURE: |
| 499 |
< |
data_[i].accumulator->add(thermo.getElectronicTemperature()); |
| 499 |
> |
dynamic_cast<Accumulator *>(data_[i].accumulator)->add(thermo.getElectronicTemperature()); |
| 500 |
|
break; |
| 501 |
|
} |
| 502 |
|
} |
| 506 |
|
int Stats::getIntData(int index) { |
| 507 |
|
assert(index >=0 && index < ENDINDEX); |
| 508 |
|
RealType value; |
| 509 |
< |
data_[index].accumulator->getLastValue(value); |
| 509 |
> |
dynamic_cast<Accumulator *>(data_[index].accumulator)->getLastValue(value); |
| 510 |
|
return (int) value; |
| 511 |
|
} |
| 512 |
|
RealType Stats::getRealData(int index) { |
| 513 |
|
assert(index >=0 && index < ENDINDEX); |
| 514 |
|
RealType value(0.0); |
| 515 |
< |
data_[index].accumulator->getLastValue(value); |
| 515 |
> |
dynamic_cast<Accumulator *>(data_[index].accumulator)->getLastValue(value); |
| 516 |
|
return value; |
| 517 |
|
} |
| 518 |
|
Vector3d Stats::getVectorData(int index) { |