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

iulian at mcs.anl.gov iulian at mcs.anl.gov
Tue Nov 27 19:37:26 CST 2012


Author: iulian
Date: 2012-11-27 19:37:26 -0600 (Tue, 27 Nov 2012)
New Revision: 5887

Modified:
   MOAB/trunk/test/parallel/par_intx_sph.cpp
   MOAB/trunk/tools/mbcoupler/Coupler.cpp
   MOAB/trunk/tools/mbcoupler/Coupler.hpp
   MOAB/trunk/tools/mbcslam/Intx2Mesh.cpp
   MOAB/trunk/tools/mbcslam/Intx2Mesh.hpp
   MOAB/trunk/tools/mbcslam/Makefile.am
Log:
start the intersection in parallel
coupler will need to accept 2d elements



Modified: MOAB/trunk/test/parallel/par_intx_sph.cpp
===================================================================
--- MOAB/trunk/test/parallel/par_intx_sph.cpp	2012-11-27 19:07:41 UTC (rev 5886)
+++ MOAB/trunk/test/parallel/par_intx_sph.cpp	2012-11-28 01:37:26 UTC (rev 5887)
@@ -52,8 +52,8 @@
   MPI_Finalize();
   return result;
 }
-
-ErrorCode  manufacture_lagrange_mesh_on_sphere(Interface * mb, EntityHandle euler_set, EntityHandle & out_lagrange_set)
+// will save the LOC tag on the euler nodes
+ErrorCode  manufacture_lagrange_mesh_on_sphere(Interface * mb, EntityHandle euler_set)
 {
   ErrorCode rval = MB_SUCCESS;
 
@@ -66,8 +66,6 @@
    *   circumscribed sphere radius
    *   radius = length * math.sqrt(3) /2
    */
-  ReadUtilIface* readMeshIface;
-  mb->query_interface(readMeshIface);
   double radius = 3*sqrt(3.);// our value ....
   Range quads;
   rval = mb->get_entities_by_type(euler_set, MBQUAD, quads);
@@ -75,52 +73,25 @@
 
   Range connecVerts;
   rval = mb->get_connectivity(quads, connecVerts);
-  CHECK_ERR(rval);
-  assert(connecVerts.psize()==1); // check if indeed we have only one subrange; then it is easy to duplicate mesh
-  rval = mb->create_meshset(MESHSET_SET, out_lagrange_set);
-  CHECK_ERR(rval);
 
-  EntityHandle *conn_arr;
-  EntityHandle start_quad;
-  Range new_meshRange;
-  // create new quads, and vertices at a manufactured positions
-  rval = readMeshIface->get_element_connect(quads.size(), 4,
-                                                MBQUAD, 0, start_quad, conn_arr);
+  // the LOC tag, should be provided by the user?
+  Tag tagh = 0;
+  std::string tag_name("DP");
+  rval = mb->tag_get_handle(tag_name.c_str(), 3, MB_TYPE_DOUBLE, tagh, MB_TAG_DENSE | MB_TAG_CREAT);
   CHECK_ERR(rval);
-  new_meshRange.insert(start_quad, start_quad + quads.size() - 1);
+  void *data; // pointer to the LOC in memory, for each vertex
+  int count;
 
-  EntityHandle start_vertex;
-  std::vector<double*> arrays;
-  rval = readMeshIface->get_node_coords(3, connecVerts.size(), 0, start_vertex, arrays);


More information about the moab-dev mailing list