[MOAB-dev] commit/MOAB: 2 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Fri Sep 27 16:53:00 CDT 2013


2 new commits in MOAB:

https://bitbucket.org/fathomteam/moab/commits/4e7a43bb646f/
Changeset:   4e7a43bb646f
Branch:      None
User:        danwu
Date:        2013-09-27 23:50:37
Summary:     Several unit tests failed on 3 or more processors, which is caused by commit 4c1554a. This commit partially fixed the issue (unit test mpastrvpart still fails with this fix).

Affected #:  1 file

diff --git a/src/parallel/ParallelComm.cpp b/src/parallel/ParallelComm.cpp
index d9e06d5..68b2eb6 100644
--- a/src/parallel/ParallelComm.cpp
+++ b/src/parallel/ParallelComm.cpp
@@ -2565,10 +2565,13 @@ ErrorCode ParallelComm::recv_entities(std::set<unsigned int>& recv_procs,
     if ((new_numps > 2 && !(new_pstat&(PSTATUS_INTERFACE|PSTATUS_GHOST|PSTATUS_NOT_OWNED))) ||
         (new_pstat&PSTATUS_INTERFACE && !(new_pstat&PSTATUS_NOT_OWNED))
         ) {
+      idx = std::min_element(&new_ps[0], &new_ps[0] + new_numps) - &new_ps[0];
       std::swap(new_ps[0], new_ps[idx]);
       std::swap(new_hs[0], new_hs[idx]);
+      if (new_ps[0] != (int)rank())
+        new_pstat |= PSTATUS_NOT_OWNED;
     }
-      
+
 /*    
     plist("new_ps", new_ps, new_numps);
     plist("new_hs", new_hs, new_numps);


https://bitbucket.org/fathomteam/moab/commits/0b9e97646900/
Changeset:   0b9e97646900
Branch:      master
User:        danwu
Date:        2013-09-27 23:52:48
Summary:     Merge branch 'master' of https://bitbucket.org/fathomteam/moab

Affected #:  1 file

diff --git a/src/MeshTopoUtil.cpp b/src/MeshTopoUtil.cpp
index cef11e3..711cbf5 100644
--- a/src/MeshTopoUtil.cpp
+++ b/src/MeshTopoUtil.cpp
@@ -468,24 +468,40 @@ ErrorCode MeshTopoUtil::get_bridge_adjacencies(const EntityHandle from_entity,
 
   if (bridge_dim < from_dim) {
       // looping over each sub-entity of dimension bridge_dim...
-    EntityHandle bridge_verts[MAX_SUB_ENTITIES];
-    int bridge_indices[MAX_SUB_ENTITIES];
-    for (int i = 0; i < CN::NumSubEntities(from_type, bridge_dim); i++) {
-
-        // get the vertices making up this sub-entity
-      int num_bridge_verts = CN::VerticesPerEntity( CN::SubEntityType( from_type, bridge_dim, i ) );
-      CN::SubEntityVertexIndices( from_type, bridge_dim, i, bridge_indices );
-      for (int j = 0; j < num_bridge_verts; ++j)
-        bridge_verts[j]= connect[bridge_indices[j]];
-      //CN::SubEntityConn(connect, from_type, bridge_dim, i, &bridge_verts[0], num_bridge_verts);
-    
-        // get the to_dim entities adjacent
-      to_ents.clear();
-      ErrorCode tmp_result = mbImpl->get_adjacencies(bridge_verts, num_bridge_verts,
-                                                       to_dim, false, to_ents, Interface::INTERSECT);
-      if (MB_SUCCESS != tmp_result) result = tmp_result;
-    
-      to_adjs.merge(to_ents);
+    if (MBPOLYGON == from_type)
+    {
+      for (int i=0; i<num_connect; i++)
+      {
+        // loop over edges, and get the vertices
+        EntityHandle verts_on_edge[2]={connect[i], connect[(i+1)%num_connect]};
+        to_ents.clear();
+        ErrorCode tmp_result = mbImpl->get_adjacencies(verts_on_edge, 2,
+                        to_dim, false, to_ents, Interface::INTERSECT);
+        if (MB_SUCCESS != tmp_result) result = tmp_result;
+        to_adjs.merge(to_ents);
+      }
+    }
+    else
+    {
+      EntityHandle bridge_verts[MAX_SUB_ENTITIES];
+      int bridge_indices[MAX_SUB_ENTITIES];
+      for (int i = 0; i < CN::NumSubEntities(from_type, bridge_dim); i++) {
+
+          // get the vertices making up this sub-entity
+        int num_bridge_verts = CN::VerticesPerEntity( CN::SubEntityType( from_type, bridge_dim, i ) );
+        CN::SubEntityVertexIndices( from_type, bridge_dim, i, bridge_indices );
+        for (int j = 0; j < num_bridge_verts; ++j)
+          bridge_verts[j]= connect[bridge_indices[j]];
+        //CN::SubEntityConn(connect, from_type, bridge_dim, i, &bridge_verts[0], num_bridge_verts);
+
+          // get the to_dim entities adjacent
+        to_ents.clear();
+        ErrorCode tmp_result = mbImpl->get_adjacencies(bridge_verts, num_bridge_verts,
+                                                         to_dim, false, to_ents, Interface::INTERSECT);
+        if (MB_SUCCESS != tmp_result) result = tmp_result;
+
+        to_adjs.merge(to_ents);
+      }
     }
 
   }

Repository URL: https://bitbucket.org/fathomteam/moab/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.


More information about the moab-dev mailing list