[cig-commits] r19515 - short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults

brad at geodynamics.org brad at geodynamics.org
Mon Jan 30 12:00:08 PST 2012


Author: brad
Date: 2012-01-30 12:00:07 -0800 (Mon, 30 Jan 2012)
New Revision: 19515

Modified:
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/CohesiveTopology.cc
Log:
Added consistency check for construction of fault mesh overlap.

Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/CohesiveTopology.cc	2012-01-30 19:21:28 UTC (rev 19514)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/CohesiveTopology.cc	2012-01-30 20:00:07 UTC (rev 19515)
@@ -886,18 +886,34 @@
     renumbering.end();
   for (SieveMesh::renumbering_type::const_iterator r_iter = renumbering.begin();
        r_iter != renumberingEnd;
-       ++r_iter)
-    if (fRenumbering.find(r_iter->second) != fRenumbering.end())
+       ++r_iter) {
+    if (fRenumbering.find(r_iter->second) != fRenumbering.end()) {
       gRenumbering[r_iter->first] = fRenumbering[r_iter->second];
+    } // if
+  } // for
 
   ALE::SetFromMap<SieveMesh::renumbering_type> globalPoints(gRenumbering);
   ALE::OverlapBuilder<>::constructOverlap(globalPoints, gRenumbering,
 					  sendParallelMeshOverlap,
 					  recvParallelMeshOverlap);
   faultSieveMesh->setCalculatedOverlap(true);
-  //sendParallelMeshOverlap->view("Send parallel fault overlap");
-  //recvParallelMeshOverlap->view("Recv parallel fault overlap");
 
+  // Consistency check for parallel overlap.
+  if (fRenumbering.size() > 0) {
+    if (gRenumbering.size() <= 0 ||
+	globalPoints.size() <= 0 ||
+	sendParallelMeshOverlap->getNumPoints() <= 0 ||
+	recvParallelMeshOverlap->getNumPoints() <= 0) {
+      throw std::logic_error("Inconsistent data when computing overlap for "
+			     "parallel fault mesh.");
+    } // if
+  } // if
+  
+#if 0 // DEBUGGING
+  sendParallelMeshOverlap->view("Send parallel fault overlap");
+  recvParallelMeshOverlap->view("Recv parallel fault overlap");
+#endif
+
   logger.stagePop();
 } // createFaultParallel
 



More information about the CIG-COMMITS mailing list