[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