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

Comparing trunk/src/applications/staticProps/GofRZ.cpp (file contents):
Revision 1441 by gezelter, Thu Apr 29 14:48:10 2010 UTC vs.
Revision 1444 by chuckv, Tue Jun 8 18:35:22 2010 UTC

# Line 53 | Line 53 | namespace OpenMD {
53        setOutputName(getPrefix(filename) + ".gofrz");
54  
55        deltaR_ = len_ / (double) nRBins_;
56 <      deltaZ_ = len_ / (double)nZBins_;    
56 >      deltaZ_ = 86.52361692 / (double)nZBins_;    // for solvated_NVT.md4
57 >
58        histogram_.resize(nRBins_);
59        avgGofr_.resize(nRBins_);
60        for (int i = 0 ; i < nRBins_; ++i) {
61 <        histogram_[i].resize(nZBins_);
62 <        avgGofr_[i].resize(nZBins_);
61 >        histogram_[i].resize(nRBins_);
62 >        avgGofr_[i].resize(nRBins_);
63 >        for (int j = 0 ; j < nZBins_; ++j) {
64 >        histogram_[i][j].resize(nZBins_);
65 >        avgGofr_[i][j].resize(nZBins_);
66        }
67      }
68 <
69 <
68 >
69 >  }
70    void GofRZ::preProcess() {
71 <    for (int i = 0; i < avgGofr_.size(); ++i) {
72 <      std::fill(avgGofr_[i].begin(), avgGofr_[i].end(), 0);
71 >    for (int i = 0; i < avgGofr_[i].size(); ++i) {
72 >      avgGofr_[i].resize(nRBins_);
73 >      for (int j = 0; j < avgGofr_[i][j].size(); ++j) {
74 >      std::fill(avgGofr_[i][j].begin(), avgGofr_[i][j].end(), 0);
75 >      }
76      }
77    }
78  
79    void GofRZ::initalizeHistogram() {
80      npairs_ = 0;
81 <    for (int i = 0; i < histogram_.size(); ++i){
82 <      std::fill(histogram_[i].begin(), histogram_[i].end(), 0);
81 >    for (int i = 0; i < histogram_[i].size(); ++i){
82 >      histogram_[i].resize(nRBins_);
83 >      for (int j = 0; j < histogram_[i][j].size(); ++j){
84 >      std::fill(histogram_[i][j].begin(), histogram_[i][j].end(), 0);
85 >      }
86      }
87    }
88    
89    void GofRZ::processHistogram() {
90      int nPairs = getNPairs();
91      RealType volume = info_->getSnapshotManager()->getCurrentSnapshot()->getVolume();
92 <    RealType pairDensity = nPairs / volume;
92 >    RealType pairDensity = nPairs / volume * 2.0;
93  
94 <    for(int i = 0 ; i < histogram_.size(); ++i){
94 >    for(int i = 0 ; i < histogram_[i].size(); ++i){
95  
96        RealType rLower = i * deltaR_;
97        RealType rUpper = rLower + deltaR_;
98        RealType volSlice = NumericConstant::PI * deltaZ_ * (( rUpper * rUpper ) - ( rLower * rLower ));
99        RealType nIdeal = volSlice * pairDensity;
100  
101 <      for (int j = 0; j < histogram_[i].size(); ++j){
101 >      for (int j = 0; j < histogram_[i][j].size(); ++j){
102          avgGofr_[i][j] += histogram_[i][j] / nIdeal;    
103        }
104      }
# Line 112 | Line 122 | namespace OpenMD {
122  
123      if (distance <= len_) {
124      
125 <      RealType Z = abs(r12.z());
125 >      RealType Z = fabs(r12.z());
126  
127 <      if (Z <= len_) {
127 >      if (Z <= 86.52361692) {
128          int whichZBin = Z / deltaZ_;
129 +
130          ++histogram_[whichRBin][whichZBin];        
131          ++npairs_;
132        }
# Line 129 | Line 140 | namespace OpenMD {
140        rdfStream << "#selection1: (" << selectionScript1_ << ")\t";
141        rdfStream << "selection2: (" << selectionScript2_ << ")\n";
142        rdfStream << "#nRBins = " << nRBins_ << "\t maxLen = " << len_ << "deltaR = " << deltaR_ <<"\n";
143 <      rdfStream << "#nZBins =" << nZBins_ << "deltaZ = " << deltaZ_ << "\n";
144 <      for (int i = 0; i < avgGofr_.size(); ++i) {
143 >      rdfStream << "#nZBins =" << nZBins_ << "\t deltaZ = " << deltaZ_ << "\n";
144 >      for (int i = 0; i < avgGofr_[i].size(); ++i) {
145          RealType r = deltaR_ * (i + 0.5);
146  
147 <        for(int j = 0; j < avgGofr_[i].size(); ++j) {
147 >        for(int j = 0; j < avgGofr_[i][j].size(); ++j) {
148            RealType z = deltaZ_ * (j + 0.5);
149            rdfStream << avgGofr_[i][j]/nProcessed_ << "\t";
150          }

Comparing trunk/src/applications/staticProps/GofRZ.cpp (property svn:keywords):
Revision 1441 by gezelter, Thu Apr 29 14:48:10 2010 UTC vs.
Revision 1444 by chuckv, Tue Jun 8 18:35:22 2010 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines