[cgma-dev] r4494 - in cgm/trunk/geom: OCC parallel

hongjun at mcs.anl.gov hongjun at mcs.anl.gov
Tue Feb 15 10:59:02 CST 2011


Author: hongjun
Date: 2011-02-15 10:59:02 -0600 (Tue, 15 Feb 2011)
New Revision: 4494

Modified:
   cgm/trunk/geom/OCC/OCCQueryEngine.cpp
   cgm/trunk/geom/parallel/CABodies.cpp
   cgm/trunk/geom/parallel/CABodies.hpp
   cgm/trunk/geom/parallel/CGMReadParallel.cpp
Log:
o Geometry entity unique id is stored in "CABodies" for parallel meshing
o OCCQueryEngine::Write() function (write entities in buffer) has option to just check the size of buffer for scatter distribution
o CGMReadParallel stores load balancing information not only Body but also Volume
o Passes "make check"
o Passes "partest" which is not in the TEST list


Modified: cgm/trunk/geom/OCC/OCCQueryEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCQueryEngine.cpp	2011-02-15 14:21:59 UTC (rev 4493)
+++ cgm/trunk/geom/OCC/OCCQueryEngine.cpp	2011-02-15 16:59:02 UTC (rev 4494)
@@ -1375,17 +1375,21 @@
   long size=infile.tellg();
   infile.seekg(0);
 
-  if(n_buffer_size < size)
-  {
-    PRINT_ERROR("Buffer size is not enough, increase buffer size.\n");
-    infile.close();
-    remove(file_name);
-    return CUBIT_FAILURE;
+  if (b_write_buffer) {
+    if(n_buffer_size < size)
+      {
+	PRINT_ERROR("Buffer size is not enough, increase buffer size.\n");
+	infile.close();
+	remove(file_name);
+	return CUBIT_FAILURE;
+      }
+    infile.read(pBuffer,size);
   }
+  else n_buffer_size = size;
 
-  infile.read(pBuffer,size);
   infile.close();
   remove(file_name);
+  
   return CUBIT_TRUE;
 }
                                    

Modified: cgm/trunk/geom/parallel/CABodies.cpp
===================================================================
--- cgm/trunk/geom/parallel/CABodies.cpp	2011-02-15 14:21:59 UTC (rev 4493)
+++ cgm/trunk/geom/parallel/CABodies.cpp	2011-02-15 16:59:02 UTC (rev 4494)
@@ -43,9 +43,10 @@
   // first, the ints
   i_list->reset();
   
-  // is interface
-  m_interface = *(i_list->get_and_step());
+  m_interface = *(i_list->get_and_step()); // is interface
 
+  m_uniqueID = *(i_list->get_and_step()); // unique ID
+
   // shared bodies
   int num_list = *(i_list->get_and_step());
   for (int i = num_list; i > 0; i--) {


More information about the cgma-dev mailing list