[MOAB-dev] r5229 - MOAB/trunk/tools/mbzoltan

hongjun at mcs.anl.gov hongjun at mcs.anl.gov
Tue Nov 29 14:22:49 CST 2011


Author: hongjun
Date: 2011-11-29 14:22:44 -0600 (Tue, 29 Nov 2011)
New Revision: 5229

Modified:
   MOAB/trunk/tools/mbzoltan/MBZoltan.cpp
   MOAB/trunk/tools/mbzoltan/MBZoltan.hpp
   MOAB/trunk/tools/mbzoltan/mbpart.cpp
Log:
o reinforce mesh generation time and mesh communication time estimation functions
o -g option takes argument of mesh size for geometry partition
o added debug statements
o passes make check


Modified: MOAB/trunk/tools/mbzoltan/MBZoltan.cpp
===================================================================
--- MOAB/trunk/tools/mbzoltan/MBZoltan.cpp	2011-11-28 19:01:46 UTC (rev 5228)
+++ MOAB/trunk/tools/mbzoltan/MBZoltan.cpp	2011-11-29 20:22:44 UTC (rev 5229)
@@ -237,7 +237,7 @@
   return MB_SUCCESS;
 }
 
-ErrorCode MBZoltan::partition_mesh_geom(const bool part_geom,
+ErrorCode MBZoltan::partition_mesh_geom(const double part_geom_mesh_size,
                                         const int nparts,
                                         const char *zmethod,
                                         const char *other_method,
@@ -283,7 +283,7 @@
   
     // short-circuit everything if RR partition is requested
   if (!strcmp(zmethod, "RR")) {
-    if (!part_geom) {
+    if (part_geom_mesh_size < 0.) {
       // get all elements
       result = mbImpl->get_entities_by_dimension(0, 3, elems); RR;
 
@@ -311,13 +311,14 @@
     return result;
   }
   
-  if (!part_geom) {
+  if (part_geom_mesh_size < 0.) {
+    //if (!part_geom) {
     result = assemble_graph(part_dim, pts, ids, adjs, length, elems); RR;
   }
   else {
 #ifdef CGM
     result = assemble_graph(part_dim, pts, ids, adjs, length, obj_weights,
-                            edge_weights, entities); RR;
+                            edge_weights, entities, part_geom_mesh_size); RR;
 
     if (debug) {
       int n_ids = ids.size();
@@ -440,7 +441,8 @@
   if (ZOLTAN_OK != retval) return MB_FAILURE;
   
   // take results & write onto MOAB partition sets
-  if (!part_geom) {
+  if (part_geom_mesh_size < 0.) {
+    //if (!part_geom) {
     result = write_partition(nparts, elems, assign_parts,
                              write_as_sets, write_as_tags);
   }
@@ -549,7 +551,8 @@
                                    std::vector<int> &length,


More information about the moab-dev mailing list