[cig-commits] r13021 - short/3D/PyLith/trunk/libsrc/faults

knepley at geodynamics.org knepley at geodynamics.org
Mon Oct 13 17:42:02 PDT 2008


Author: knepley
Date: 2008-10-13 17:42:01 -0700 (Mon, 13 Oct 2008)
New Revision: 13021

Modified:
   short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
Log:
Fixed renumbering of fault (had to convert local numbers to global numbers)


Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2008-10-12 18:12:32 UTC (rev 13020)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2008-10-14 00:42:01 UTC (rev 13021)
@@ -951,9 +951,19 @@
   //   Can I figure this out in a nicer way?
   Obj<Mesh::send_overlap_type> sendParallelMeshOverlap = (*ifault)->getSendOverlap();
   Obj<Mesh::recv_overlap_type> recvParallelMeshOverlap = (*ifault)->getRecvOverlap();
-  ALE::SetFromMap<Mesh::renumbering_type> globalPoints(fRenumbering);
 
-  ALE::OverlapBuilder<>::constructOverlap(globalPoints, fRenumbering, sendParallelMeshOverlap, recvParallelMeshOverlap);
+  // Must process the renumbering local --> fault to global --> fault
+  Mesh::renumbering_type& renumbering = mesh->getRenumbering();
+  Mesh::renumbering_type  gRenumbering;
+
+  for(Mesh::renumbering_type::const_iterator r_iter = renumbering.begin(); r_iter != renumbering.end(); ++r_iter) {
+    if (fRenumbering.find(r_iter->second) != fRenumbering.end()) {
+      gRenumbering[r_iter->first] = fRenumbering[r_iter->second];
+    }
+  }
+
+  ALE::SetFromMap<Mesh::renumbering_type> globalPoints(gRenumbering);
+  ALE::OverlapBuilder<>::constructOverlap(globalPoints, gRenumbering, sendParallelMeshOverlap, recvParallelMeshOverlap);
   (*ifault)->setCalculatedOverlap(true);
   sendParallelMeshOverlap->view("Send parallel fault overlap");
   recvParallelMeshOverlap->view("Recv parallel fault overlap");



More information about the cig-commits mailing list