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

Comparing trunk/src/applications/sequentialProps/ContactAngle2.cpp (file contents):
Revision 2037 by gezelter, Tue Nov 4 20:16:29 2014 UTC vs.
Revision 2073 by gezelter, Sat Mar 7 23:52:07 2015 UTC

# Line 51 | Line 51 | namespace OpenMD {
51   #include "math/Eigenvalue.hpp"
52  
53   namespace OpenMD {
54 <
54 >  
55    ContactAngle2::ContactAngle2(SimInfo* info, const std::string& filename,
56                                 const std::string& sele, RealType solidZ,
57 <                               RealType threshDens, int nrbins, int nzbins)
58 <    : SequentialAnalyzer(info, filename), selectionScript_(sele),
59 <      evaluator_(info), seleMan_(info), solidZ_(solidZ),
60 <      threshDens_(threshDens), nRBins_(nrbins), nZBins_(nzbins) {
61 <
57 >                               RealType threshDens, RealType bufferLength,
58 >                               int nrbins, int nzbins)
59 >  : SequentialAnalyzer(info, filename), solidZ_(solidZ),
60 >    threshDens_(threshDens), bufferLength_(bufferLength), nRBins_(nrbins),
61 >    nZBins_(nzbins), selectionScript_(sele), seleMan_(info),
62 >    evaluator_(info) {
63 >    
64      setOutputName(getPrefix(filename) + ".ca2");
65      
66      evaluator_.loadScriptString(sele);
# Line 123 | Line 125 | namespace OpenMD {
125        int whichRBin = int(r / dr);
126        int whichZBin = int( (zLen/2.0 + z) / dz);
127        
128 <      if ((whichRBin < nRBins_) && (whichZBin >= 0) && (whichZBin < nZBins_))
128 >      if ((whichRBin < int(nRBins_)) && (whichZBin >= 0) && (whichZBin < int(nZBins_))) {
129          histo[whichRBin][whichZBin] += sd->getMass();
130 +      }
131        
132      }
133      
# Line 154 | Line 157 | namespace OpenMD {
157        bool foundThresh = false;
158        int rloc = 0;
159        
160 <      for (unsigned int i = 0; i < nRBins_;  ++i) {
161 <        RealType ther = dr * (i + 0.5);
160 >      for (std::size_t i = 0; i < nRBins_;  ++i) {
161 >
162          if (histo[i][j] >= threshDens_) aboveThresh = true;
163  
164          if (aboveThresh && (histo[i][j] <= threshDens_)) {
# Line 169 | Line 172 | namespace OpenMD {
172          Vector<RealType,2> point;
173          point[0] = dr*(rloc+0.5);
174          point[1] = thez;
175 <        points.push_back( point );      
175 >
176 >        if (thez > bufferLength_) {
177 >          points.push_back( point );
178 >        }
179        }      
180      }
181  
# Line 246 | Line 252 | namespace OpenMD {
252      center[1] = -((RealType)0.5)*coeff[2];
253      RealType radius = sqrt(fabs(center[0]*center[0] + center[1]*center[1]
254                                  - coeff[0]));
249    RealType ev0 =  fabs(evals[0]);
255  
256      int i1;
257      for (i1 = 0; i1 < 100; ++i1) {
# Line 284 | Line 289 | namespace OpenMD {
289      if (fabs(zCen) > rDrop) {
290        ca = 180.0;
291      } else {
292 <    
288 <      if (zCen >= 0.0) {
289 <        ca = 90.0 + asin(zCen/rDrop)*(180.0/M_PI);
290 <      } else {
291 <        ca = 90 - asin(zCen/rDrop)*(180.0/M_PI);
292 <      }
292 >      ca = 90.0 + asin(zCen/rDrop)*(180.0/M_PI);
293      }
294  
295      values_.push_back( ca );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines