[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