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

Comparing:
branches/development/src/rnemd/RNEMD.cpp (file contents), Revision 1777 by gezelter, Thu Aug 9 18:35:09 2012 UTC vs.
trunk/src/rnemd/RNEMD.cpp (file contents), Revision 1791 by gezelter, Fri Aug 31 16:48:50 2012 UTC

# Line 53 | Line 53
53   #include <mpi.h>
54   #endif
55  
56 + #ifdef _MSC_VER
57 + #define isnan(x) _isnan((x))
58 + #define isinf(x) (!_finite(x) && !_isnan(x))
59 + #endif
60 +
61   #define HONKING_LARGE_VALUE 1.0e10
62  
63   using namespace std;
# Line 65 | Line 70 | namespace OpenMD {
70      failTrialCount_ = 0;
71      failRootCount_ = 0;
72  
68    int seedValue;
73      Globals * simParams = info->getSimParams();
74      RNEMDParameters* rnemdParams = simParams->getRNEMDParameters();
75  
# Line 305 | Line 309 | namespace OpenMD {
309      z.title =  "Z";
310      z.dataType = "RealType";
311      z.accumulator.reserve(nBins_);
312 <    for (unsigned int i = 0; i < nBins_; i++)
312 >    for (int i = 0; i < nBins_; i++)
313        z.accumulator.push_back( new Accumulator() );
314      data_[Z] = z;
315      outputMap_["Z"] =  Z;
# Line 315 | Line 319 | namespace OpenMD {
319      temperature.title =  "Temperature";
320      temperature.dataType = "RealType";
321      temperature.accumulator.reserve(nBins_);
322 <    for (unsigned int i = 0; i < nBins_; i++)
322 >    for (int i = 0; i < nBins_; i++)
323        temperature.accumulator.push_back( new Accumulator() );
324      data_[TEMPERATURE] = temperature;
325      outputMap_["TEMPERATURE"] =  TEMPERATURE;
# Line 325 | Line 329 | namespace OpenMD {
329      velocity.title =  "Velocity";  
330      velocity.dataType = "Vector3d";
331      velocity.accumulator.reserve(nBins_);
332 <    for (unsigned int i = 0; i < nBins_; i++)
332 >    for (int i = 0; i < nBins_; i++)
333        velocity.accumulator.push_back( new VectorAccumulator() );
334      data_[VELOCITY] = velocity;
335      outputMap_["VELOCITY"] = VELOCITY;
# Line 335 | Line 339 | namespace OpenMD {
339      density.title =  "Density";
340      density.dataType = "RealType";
341      density.accumulator.reserve(nBins_);
342 <    for (unsigned int i = 0; i < nBins_; i++)
342 >    for (int i = 0; i < nBins_; i++)
343        density.accumulator.push_back( new Accumulator() );
344      data_[DENSITY] = density;
345      outputMap_["DENSITY"] =  DENSITY;
# Line 1537 | Line 1541 | namespace OpenMD {
1541          if(outputMask_[j]) {
1542            switch(j) {
1543            case Z:
1544 <            (data_[j].accumulator[i])->add(z);
1544 >            dynamic_cast<Accumulator *>(data_[j].accumulator[i])->add(z);
1545              break;
1546            case TEMPERATURE:
1547 <            data_[j].accumulator[i]->add(temp);
1547 >            dynamic_cast<Accumulator *>(data_[j].accumulator[i])->add(temp);
1548              break;
1549            case VELOCITY:
1550              dynamic_cast<VectorAccumulator *>(data_[j].accumulator[i])->add(vel);
1551              break;
1552            case DENSITY:
1553 <            data_[j].accumulator[i]->add(den);
1553 >            dynamic_cast<Accumulator *>(data_[j].accumulator[i])->add(den);
1554              break;
1555            }
1556          }
# Line 1681 | Line 1685 | namespace OpenMD {
1685        
1686        rnemdFile_.precision(8);
1687        
1688 <      for (unsigned int j = 0; j < nBins_; j++) {        
1688 >      for (int j = 0; j < nBins_; j++) {        
1689          
1690          for (unsigned int i = 0; i < outputMask_.size(); ++i) {
1691            if (outputMask_[i]) {
# Line 1707 | Line 1711 | namespace OpenMD {
1711        rnemdFile_ << "#######################################################\n";
1712  
1713  
1714 <      for (unsigned int j = 0; j < nBins_; j++) {        
1714 >      for (int j = 0; j < nBins_; j++) {        
1715          rnemdFile_ << "#";
1716          for (unsigned int i = 0; i < outputMask_.size(); ++i) {
1717            if (outputMask_[i]) {
# Line 1743 | Line 1747 | namespace OpenMD {
1747      assert(bin < nBins_);
1748      RealType s;
1749      
1750 <    data_[index].accumulator[bin]->getAverage(s);
1750 >    dynamic_cast<Accumulator *>(data_[index].accumulator[bin])->getAverage(s);
1751      
1752      if (! isinf(s) && ! isnan(s)) {
1753        rnemdFile_ << "\t" << s;
# Line 1781 | Line 1785 | namespace OpenMD {
1785      assert(bin < nBins_);
1786      RealType s;
1787      
1788 <    data_[index].accumulator[bin]->getStdDev(s);
1788 >    dynamic_cast<Accumulator *>(data_[index].accumulator[bin])->getStdDev(s);
1789      
1790      if (! isinf(s) && ! isnan(s)) {
1791        rnemdFile_ << "\t" << s;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines