ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/applications/staticProps/pAngle.cpp
(Generate patch)

Comparing branches/development/src/applications/staticProps/pAngle.cpp (file contents):
Revision 1465 by chuckv, Fri Jul 9 23:08:25 2010 UTC vs.
Revision 1764 by gezelter, Tue Jul 3 18:32:27 2012 UTC

# Line 36 | Line 36
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38   * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
40 < *
39 > * [4] Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [4] , Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). *
41   */
42  
43   /* Calculates Rho(theta) */
44  
45   #include <algorithm>
46 <  #include <fstream>
46 > #include <fstream>
47   #include "applications/staticProps/pAngle.hpp"
48   #include "utils/simError.h"
49   #include "io/DumpReader.hpp"
50   #include "primitives/Molecule.hpp"
51 + #include "brains/Thermo.hpp"
52 +
53   namespace OpenMD {
54    
55    pAngle::pAngle(SimInfo* info, const std::string& filename,
# Line 74 | Line 76 | namespace OpenMD {
76      Molecule::RigidBodyIterator rbIter;
77      int i;
78  
79 +    Thermo thermo(info_);
80      DumpReader reader(info_, dumpFilename_);    
81      int nFrames = reader.getNFrames();
82      nProcessed_ = nFrames/step_;
# Line 94 | Line 97 | namespace OpenMD {
97          }
98        }
99        
100 <      Vector3d CenterOfMass = info_->getCom();      
100 >      Vector3d CenterOfMass = thermo.getCom();      
101  
102        if  (evaluator_.isDynamic()) {
103          seleMan_.setSelectionSet(evaluator_.evaluate());
104        }
105        
106 +      int runningTot = 0;
107        for (sd = seleMan_.beginSelected(i); sd != NULL;
108             sd = seleMan_.nextSelected(i)) {
109          
# Line 134 | Line 138 | namespace OpenMD {
138        atot += count_[i];
139      
140      for(int i = 0; i < count_.size(); ++i) {
141 <      histogram_[i] = double(count_[i] / atot);
141 >      histogram_[i] = double(count_[i] / double(atot));
142      }    
143    }
144    
# Line 147 | Line 151 | namespace OpenMD {
151        rdfStream << "#nFrames:\t" << nProcessed_ << "\n";
152        rdfStream << "#selection: (" << selectionScript_ << ")\n";
153        rdfStream << "#cos(theta)\tp(cos(theta))\n";
154 +      RealType dct = 2.0 / histogram_.size();
155        for (int i = 0; i < histogram_.size(); ++i) {
156 <        RealType ct = -1.0 + i / histogram_.size();
157 <        rdfStream << ct << "\t" << histogram_[i] << "\n";
156 >        RealType ct = -1.0 + (2.0 * i + 1) / (histogram_.size());
157 >        rdfStream << ct << "\t" << histogram_[i]/dct << "\n";
158        }
159        
160      } else {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines