[cig-commits] [commit] knepley/upgrade-petsc-interface: Added consistency check of fault mesh for FaultCohesiveKin. (f29f8c0)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Nov 1 15:46:09 PDT 2013


Repository : ssh://geoshell/pylith

On branch  : knepley/upgrade-petsc-interface
Link       : https://github.com/geodynamics/pylith/compare/4563c9e7cd0256b4959f19a292519af56758929f...84adc7d44006b6a1b12396431f5beb8d8cec2ff9

>---------------------------------------------------------------

commit f29f8c0929a355af244cdacd6aba882917cd1cc0
Author: Brad Aagaard <baagaard at usgs.gov>
Date:   Fri Nov 1 15:47:54 2013 -0700

    Added consistency check of fault mesh for FaultCohesiveKin.


>---------------------------------------------------------------

f29f8c0929a355af244cdacd6aba882917cd1cc0
 unittests/libtests/faults/TestFaultCohesiveKin.cc | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/unittests/libtests/faults/TestFaultCohesiveKin.cc b/unittests/libtests/faults/TestFaultCohesiveKin.cc
index 602ae42..e51799d 100644
--- a/unittests/libtests/faults/TestFaultCohesiveKin.cc
+++ b/unittests/libtests/faults/TestFaultCohesiveKin.cc
@@ -157,6 +157,7 @@ pylith::faults::TestFaultCohesiveKin::testInitialize(void)
   PYLITH_METHOD_BEGIN;
 
   CPPUNIT_ASSERT(_data);
+  PetscErrorCode err;
 
   topology::Mesh mesh;
   FaultCohesiveKin fault;
@@ -169,7 +170,18 @@ pylith::faults::TestFaultCohesiveKin::testInitialize(void)
   CPPUNIT_ASSERT_EQUAL(_data->numFaultVertices, fault.numVertices());
   CPPUNIT_ASSERT_EQUAL(_data->numCohesiveCells, fault.numCells());
 
+  // Check fault mesh consistency
   PetscDM dmMesh = fault._faultMesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
+  PetscBool isSimplexMesh = PETSC_TRUE;
+  if ((_data->cellDim == 2 && _data->numBasis == 4) ||
+      (_data->cellDim == 3 && _data->numBasis == 8)) {
+    isSimplexMesh = PETSC_FALSE;
+  } // if
+  err = DMPlexCheckSymmetry(dmMesh);CPPUNIT_ASSERT(!err);
+  if (_data->cellDim > 1) {
+    err = DMPlexCheckSkeleton(dmMesh, isSimplexMesh);CPPUNIT_ASSERT(!err);
+  } // if
+  
   topology::SubMeshIS subpointIS(*fault._faultMesh);
   const PetscInt numPoints = subpointIS.size();
   const PetscInt* points = subpointIS.points();CPPUNIT_ASSERT(points);
@@ -181,7 +193,7 @@ pylith::faults::TestFaultCohesiveKin::testInitialize(void)
   for(PetscInt v = vStart; v < vEnd; ++v) {
     PetscInt faultPoint;
 
-    PetscErrorCode err = PetscFindInt(_data->verticesNegative[v-vStart], numPoints, points, &faultPoint);PYLITH_CHECK_ERROR(err);
+    err = PetscFindInt(_data->verticesNegative[v-vStart], numPoints, points, &faultPoint);PYLITH_CHECK_ERROR(err);
     CPPUNIT_ASSERT(faultPoint >= 0);
     CPPUNIT_ASSERT_EQUAL(faultPoint, _data->verticesFault[v-vStart]);
   } // for



More information about the CIG-COMMITS mailing list