[MOAB-dev] r5877 - in MOAB/trunk: test/parallel tools/mbcslam

iulian at mcs.anl.gov iulian at mcs.anl.gov
Fri Nov 16 22:15:38 CST 2012


Author: iulian
Date: 2012-11-16 22:15:38 -0600 (Fri, 16 Nov 2012)
New Revision: 5877

Modified:
   MOAB/trunk/test/parallel/par_intx_sph.cpp
   MOAB/trunk/tools/mbcslam/Intx2Mesh.hpp
Log:
update adjacencies of manufactured mesh, for intersection example, so the
resolve sharing can succeed. Still at manufacturing stage
also, make the members of Intx2Mesh base class protected



Modified: MOAB/trunk/test/parallel/par_intx_sph.cpp
===================================================================
--- MOAB/trunk/test/parallel/par_intx_sph.cpp	2012-11-16 22:43:25 UTC (rev 5876)
+++ MOAB/trunk/test/parallel/par_intx_sph.cpp	2012-11-17 04:15:38 UTC (rev 5877)
@@ -100,8 +100,9 @@
   // get the coordinates of the old mesh, and move it around the sphere in the same way as in the
   // python script
 
-  // fill the conn arr with the old one, then modify it to kep the new vertices
+  // fill the conn arr with the old one, then modify it to point to the new vertices
   unsigned int shift = start_vertex-connecVerts[0];
+  EntityHandle * ptr_conn=conn_arr;
   for (Range::iterator qit=quads.begin(); qit!=quads.end(); qit++)
   {
     EntityHandle eh=*qit;
@@ -110,10 +111,14 @@
     rval = mb->get_connectivity(eh, conn4, num_nodes);
     CHECK_ERR(rval);
     for (int i=0; i<4; i++)
-      conn_arr[i]=conn4[i]+shift;
-    conn_arr+=4; // advance pointer in array
+      ptr_conn[i]=conn4[i]+shift;
+    ptr_conn+=4; // advance pointer in array
   }
 
+  // notify to update the adjacencies; they will be used to resolve shared nodes on the new mesh
+  rval = readMeshIface->update_adjacencies(start_quad, quads.size(),
+      4, conn_arr);
+  CHECK_ERR(rval);
   // now put the vertices in the right place....
   int vix=0; // vertex index in new array
   double t=0.1, T=5;// check the script
@@ -198,6 +203,7 @@
      ((int*)data2)[i]= ((int*)data)[i];
   
   ParallelComm* pcomm = ParallelComm::get_pcomm(mb, 0);
+  pcomm->set_debug_verbosity(2);
   rval = pcomm->resolve_shared_ents(0, new_meshRange, 2, 0);
   CHECK_ERR(rval);
 
@@ -233,4 +239,9 @@
   rval = mb.write_file("manuf.h5m", 0, opts_write.c_str(), &lagrange_set, 1);
   CHECK_ERR(rval);
 
+  // now, we know that each processor has an euler set and a lagrange set
+  // compute the intersection in a third set
+
+
+
 }



More information about the moab-dev mailing list