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

Comparing trunk/src/math/ConvexHull.cpp (file contents):
Revision 1383 by gezelter, Wed Oct 21 15:48:12 2009 UTC vs.
Revision 1384 by gezelter, Thu Oct 22 19:43:10 2009 UTC

# Line 44 | Line 44
44   *
45   *  Created by Charles F. Vardeman II on 11 Dec 2006.
46   *  @author  Charles F. Vardeman II
47 < *  @version $Id: ConvexHull.cpp,v 1.19 2009-10-21 15:48:12 gezelter Exp $
47 > *  @version $Id: ConvexHull.cpp,v 1.20 2009-10-22 19:43:10 gezelter Exp $
48   *
49   */
50  
# Line 77 | Line 77 | extern "C"
77   #include <qhull/stat.h>
78   }
79  
80 /* Old options Qt Qu Qg QG0 FA */
81 /* More old opts Qc Qi Pp*/
82
80   ConvexHull::ConvexHull() : Hull(), dim_(3), options_("qhull Qt Pp") {
81   }
82  
# Line 126 | Line 123 | void ConvexHull::computeHull(std::vector<StuntDouble*>
123    int nproc = MPI::COMM_WORLD.Get_size();
124    int myrank = MPI::COMM_WORLD.Get_rank();
125    int localHullSites = 0;
126 <  int* hullSitesOnProc = new int[nproc];
127 <  int* coordsOnProc = new int[nproc];
128 <  int* displacements = new int[nproc];
129 <  int* vectorDisplacements = new int[nproc];
126 >
127 >  std::vector<int> hullSitesOnProc(nproc, 0);
128 >  std::vector<int> coordsOnProc(nproc, 0);
129 >  std::vector<int> displacements(nproc, 0);
130 >  std::vector<int> vectorDisplacements(nproc, 0);
131  
132    std::vector<double> coords;
133    std::vector<double> vels;
# Line 277 | Line 275 | void ConvexHull::computeHull(std::vector<StuntDouble*>
275    volume_ = qh totvol;
276    area_ = qh totarea;
277  
280 #ifdef IS_MPI
281  delete [] hullSitesOnProc;
282  delete [] coordsOnProc;
283  delete [] displacements;
284  delete [] vectorDisplacements;
285 #endif
286  
278    qh_freeqhull(!qh_ALL);
279    qh_memfreeshort(&curlong, &totlong);
280    if (curlong || totlong)
# Line 292 | Line 283 | void ConvexHull::printHull(const std::string& geomFile
283   }
284  
285   void ConvexHull::printHull(const std::string& geomFileName) {
286 +
287 + #ifdef IS_MPI
288 +  if (worldRank == 0)  {
289 + #endif
290    FILE *newGeomFile;
291    
292    //create new .md file based on old .md file
# Line 301 | Line 296 | void ConvexHull::printHull(const std::string& geomFile
296      qh_printfacets(newGeomFile, qh PRINTout[i], qh facet_list, NULL, !qh_ALL);
297    
298    fclose(newGeomFile);
299 + #ifdef IS_MPI
300 +  }
301 + #endif
302   }
303   #endif //QHULL

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines