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

Comparing trunk/src/applications/staticProps/pAngle.cpp (file contents):
Revision 1522 by kstocke1, Fri Nov 19 20:26:36 2010 UTC vs.
Revision 1782 by gezelter, Wed Aug 22 02:28:28 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        
103
106        int runningTot = 0;
107        for (sd = seleMan_.beginSelected(i); sd != NULL;
108             sd = seleMan_.nextSelected(i)) {
109 <      
109 >        
110          Vector3d pos = sd->getPos();
111          
112          Vector3d r1 = CenterOfMass - pos;
# Line 132 | Line 134 | namespace OpenMD {
134    void pAngle::processHistogram() {
135      
136      int atot = 0;
137 <    for(int i = 0; i < count_.size(); ++i)
137 >    for(unsigned int i = 0; i < count_.size(); ++i)
138        atot += count_[i];
139      
140 <    for(int i = 0; i < count_.size(); ++i) {
141 <      histogram_[i] = double(count_[i]) / double(atot);
140 >    for(unsigned int i = 0; i < count_.size(); ++i) {
141 >      histogram_[i] = double(count_[i] / double(atot));
142      }    
143    }
144    
# Line 150 | Line 152 | namespace OpenMD {
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) {
155 >      for (unsigned int i = 0; i < histogram_.size(); ++i) {
156          RealType ct = -1.0 + (2.0 * i + 1) / (histogram_.size());
157          rdfStream << ct << "\t" << histogram_[i]/dct << "\n";
158        }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines