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

knepley at geodynamics.org knepley at geodynamics.org
Sat Jun 15 15:36:58 PDT 2013


Author: knepley
Date: 2013-06-15 15:36:58 -0700 (Sat, 15 Jun 2013)
New Revision: 22317

Modified:
   short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
Log:
Fixed setting hybrid point bounds for multiple faults

Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-06-15 19:13:54 UTC (rev 22316)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-06-15 22:36:58 UTC (rev 22317)
@@ -281,13 +281,19 @@
     err = DMPlexSetCone(newMesh, c, newCone);PYLITH_CHECK_ERROR(err);
   }
   err = PetscFree(newCone);PYLITH_CHECK_ERROR(err);
-  PetscInt cMax;
+  PetscInt cMax, vMax;
 
-  err = DMPlexGetHybridBounds(newMesh, &cMax, NULL, NULL, NULL);PYLITH_CHECK_ERROR(err);
+  err = DMPlexGetHybridBounds(complexMesh, &cMax, NULL, NULL, &vMax);PYLITH_CHECK_ERROR(err);
   if (cMax < 0) {
     err = DMPlexSetHybridBounds(newMesh, firstFaultCellDM, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE);PYLITH_CHECK_ERROR(err);
+  } else {
+    err = DMPlexSetHybridBounds(newMesh, cMax, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE);PYLITH_CHECK_ERROR(err);
   }
-  err = DMPlexSetHybridBounds(newMesh, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE, firstLagrangeVertexDM);PYLITH_CHECK_ERROR(err);
+  if (vMax < 0) {
+    err = DMPlexSetHybridBounds(newMesh, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE, firstLagrangeVertexDM);PYLITH_CHECK_ERROR(err);
+  } else {
+    err = DMPlexSetHybridBounds(newMesh, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE, vMax+extraCells);PYLITH_CHECK_ERROR(err);
+  }
 
   // TODO: Use DMPlexGetLabels(): Renumber labels
   PetscInt    numLabels;



More information about the CIG-COMMITS mailing list