[cig-commits] r22033 - in short/3D/PyLith/trunk: libsrc/pylith/faults unittests/libtests/faults

knepley at geodynamics.org knepley at geodynamics.org
Fri May 10 16:10:01 PDT 2013


Author: knepley
Date: 2013-05-10 16:10:01 -0700 (Fri, 10 May 2013)
New Revision: 22033

Modified:
   short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
   short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.hh
   short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesive.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultMesh.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestSlipFn.cc
Log:
Removed fault boundary sieve

Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-05-10 22:50:33 UTC (rev 22032)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-05-10 23:10:01 UTC (rev 22033)
@@ -45,8 +45,7 @@
 // ----------------------------------------------------------------------
 void
 pylith::faults::CohesiveTopology::createFault(topology::SubMesh* faultMesh,
-                                              ALE::Obj<SieveFlexMesh>& faultBoundary,
-                                              DM& faultBoundaryDM,
+                                              DM& faultBoundary,
                                               const topology::Mesh& mesh,
                                               DMLabel groupField,
                                               const bool flipFault)
@@ -81,7 +80,7 @@
     err = DMPlexCreateLabel(subdm, labelName);PYLITH_CHECK_ERROR(err);
     err = DMPlexGetLabel(subdm, labelName, &label);PYLITH_CHECK_ERROR(err);
     err = DMPlexMarkBoundaryFaces(subdm, label);PYLITH_CHECK_ERROR(err);
-    err = DMPlexCreateSubmesh(subdm, labelName, 1, &faultBoundaryDM);PYLITH_CHECK_ERROR(err);
+    err = DMPlexCreateSubmesh(subdm, labelName, 1, &faultBoundary);PYLITH_CHECK_ERROR(err);
     faultMesh->setDMMesh(subdm);
   } else {
     DM              faultDMMeshTmp, faultDMMesh;
@@ -155,7 +154,7 @@
     err = DMPlexCreateLabel(faultDMMesh, labelName);PYLITH_CHECK_ERROR(err);
     err = DMPlexGetLabel(faultDMMesh, labelName, &label);PYLITH_CHECK_ERROR(err);
     err = DMPlexMarkBoundaryFaces(faultDMMesh, label);PYLITH_CHECK_ERROR(err);
-    err = DMPlexCreateSubmesh(faultDMMesh, labelName, 1, &faultBoundaryDM);PYLITH_CHECK_ERROR(err);
+    err = DMPlexCreateSubmesh(faultDMMesh, labelName, 1, &faultBoundary);PYLITH_CHECK_ERROR(err);
   }
 
   logger.stagePop();
@@ -167,8 +166,7 @@
 void
 pylith::faults::CohesiveTopology::create(topology::Mesh* mesh,
                                          const topology::SubMesh& faultMesh,
-                                         const ALE::Obj<SieveFlexMesh>& faultBoundary,
-                                         DM faultBoundaryDM,
+                                         DM faultBoundary,
                                          DMLabel groupField,
                                          const int materialId,
                                          int& firstFaultVertex,
@@ -603,27 +601,19 @@
   TopologyOps::PointSet replaceCellsBase(replaceCells);
 
   TopologyOps::PointSet faultBdVertices;
-#if 0
-  if (!faultBoundary.isNull()) {
-    const ALE::Obj<SieveFlexMesh::label_sequence>& faultBdVerts = faultBoundary->depthStratum(0);
-    assert(!faultBdVerts.isNull());
-    faultBdVertices.insert(faultBdVerts->begin(), faultBdVerts->end());
-  } else {
-#else
-    IS              bdSubpointIS;
-    const PetscInt *points;
-    PetscInt        bfvStart, bfvEnd;
+  IS              bdSubpointIS;
+  const PetscInt *points;
+  PetscInt        bfvStart, bfvEnd;
 
-    assert(faultBoundaryDM);
-    err = DMPlexGetDepthStratum(faultBoundaryDM, 0, &bfvStart, &bfvEnd);PYLITH_CHECK_ERROR(err);
-    err = DMPlexCreateSubpointIS(faultBoundaryDM, &bdSubpointIS);PYLITH_CHECK_ERROR(err);
-    err = ISGetIndices(bdSubpointIS, &points);PYLITH_CHECK_ERROR(err);
-    for (PetscInt v = bfvStart; v < bfvEnd; ++v) {
-      faultBdVertices.insert(subpointMap[points[v]]);
-    }
-    err = ISRestoreIndices(bdSubpointIS, &points);PYLITH_CHECK_ERROR(err);
-    err = ISDestroy(&bdSubpointIS);PYLITH_CHECK_ERROR(err);
-#endif
+  assert(faultBoundary);
+  err = DMPlexGetDepthStratum(faultBoundary, 0, &bfvStart, &bfvEnd);PYLITH_CHECK_ERROR(err);
+  err = DMPlexCreateSubpointIS(faultBoundary, &bdSubpointIS);PYLITH_CHECK_ERROR(err);
+  err = ISGetIndices(bdSubpointIS, &points);PYLITH_CHECK_ERROR(err);
+  for (PetscInt v = bfvStart; v < bfvEnd; ++v) {
+    faultBdVertices.insert(subpointMap[points[v]]);
+  }
+  err = ISRestoreIndices(bdSubpointIS, &points);PYLITH_CHECK_ERROR(err);
+  err = ISDestroy(&bdSubpointIS);PYLITH_CHECK_ERROR(err);
   err = ISRestoreIndices(subpointIS, &subpointMap);PYLITH_CHECK_ERROR(err);
   err = ISDestroy(&subpointIS);PYLITH_CHECK_ERROR(err);
 
@@ -936,8 +926,8 @@
 void
 pylith::faults::CohesiveTopology::createInterpolated(topology::Mesh* mesh,
                                          const topology::SubMesh& faultMesh,
-                                         const ALE::Obj<SieveFlexMesh>& faultBoundary,
-                                         const ALE::Obj<topology::Mesh::IntSection>& groupField,
+                                         DM faultBoundary,
+                                         DMLabel groupField,
                                          const int materialId,
                                          int& firstFaultVertex,
                                          int& firstLagrangeVertex,
@@ -945,8 +935,8 @@
                                          const bool constraintCell)
 { // createInterpolated
   assert(0 != mesh);
-  assert(!faultBoundary.isNull());
-  assert(!groupField.isNull());
+  assert(faultBoundary);
+  assert(groupField);
   DM             dm = mesh->dmMesh(), sdm;
   DMLabel        label;
   const char    *labelName = "faultSurface";

Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.hh	2013-05-10 22:50:33 UTC (rev 22032)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.hh	2013-05-10 23:10:01 UTC (rev 22033)
@@ -53,8 +53,7 @@
    */
   static
   void createFault(topology::SubMesh* faultMesh,
-		   ALE::Obj<SieveFlexMesh>& faultBoundary,
-		   DM& faultBoundaryDM,
+		   DM& faultBoundary,
 		   const topology::Mesh& mesh,
 		   DMLabel groupField,
 		   const bool flipFault =false);
@@ -76,8 +75,7 @@
   static
   void create(topology::Mesh* mesh,
 	      const topology::SubMesh& faultMesh,
-              const ALE::Obj<SieveFlexMesh>& faultBoundary,
-              DM faultBoundaryDM,
+              DM faultBoundary,
               DMLabel groupField,
               const int materialId,
               int& firstFaultVertex,
@@ -102,8 +100,8 @@
   static
   void createInterpolated(topology::Mesh* mesh,
                           const topology::SubMesh& faultMesh,
-                          const ALE::Obj<SieveFlexMesh>& faultBoundary,
-                          const ALE::Obj<topology::Mesh::IntSection>& groupField,
+                          DM faultBoundary,
+                          DMLabel groupField,
                           const int materialId,
                           int& firstFaultVertex,
                           int& firstLagrangeVertex,

Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesive.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesive.cc	2013-05-10 22:50:33 UTC (rev 22032)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesive.cc	2013-05-10 23:10:01 UTC (rev 22033)
@@ -116,8 +116,7 @@
   
   try {
     topology::SubMesh faultMesh;
-    ALE::Obj<SieveFlexMesh> faultBoundary;
-    DM faultBoundaryDM = NULL;
+    DM faultBoundary = NULL;
   
     // Get group of vertices associated with fault
     PetscDM dmMesh = mesh->dmMesh();assert(dmMesh);
@@ -136,12 +135,12 @@
         throw std::runtime_error(msg.str());
       } // if
       err = DMPlexGetLabel(dmMesh, charlabel, &groupField);PYLITH_CHECK_ERROR(err);
-      CohesiveTopology::createFault(&faultMesh, faultBoundary, faultBoundaryDM, *mesh, groupField, 
+      CohesiveTopology::createFault(&faultMesh, faultBoundary, *mesh, groupField, 
                                     flipFault);
       
-      CohesiveTopology::create(mesh, faultMesh, faultBoundary, faultBoundaryDM, groupField, id(), 
+      CohesiveTopology::create(mesh, faultMesh, faultBoundary, groupField, id(), 
                                *firstFaultVertex, *firstLagrangeVertex, *firstFaultCell, useLagrangeConstraints());
-      err = DMDestroy(&faultBoundaryDM);PYLITH_CHECK_ERROR(err);
+      err = DMDestroy(&faultBoundary);PYLITH_CHECK_ERROR(err);
     } else {
       const int faultDim = 2;
       assert(3 == mesh->dimension());

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultMesh.cc	2013-05-10 22:50:33 UTC (rev 22032)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultMesh.cc	2013-05-10 23:10:01 UTC (rev 22033)
@@ -42,7 +42,7 @@
     PetscInt firstLagrangeVertex = 0, firstFaultCell = 0;
     PetscDMLabel groupField = NULL;
     const bool useLagrangeConstraints = true;
-    PetscDM faultBoundaryDM = NULL;
+    PetscDM faultBoundary = NULL;
     PetscDM dmMesh = mesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
     
     err = DMPlexGetStratumSize(dmMesh, faultLabel, 1, &firstLagrangeVertex);PYLITH_CHECK_ERROR(err);
@@ -52,10 +52,9 @@
     } // if
     err = DMPlexGetLabel(dmMesh, faultLabel, &groupField);PYLITH_CHECK_ERROR(err);
     CPPUNIT_ASSERT(groupField);
-    ALE::Obj<SieveFlexMesh> faultBoundary = 0;
-    CohesiveTopology::createFault(faultMesh, faultBoundary, faultBoundaryDM, *mesh, groupField);
-    CohesiveTopology::create(mesh, *faultMesh, faultBoundary, faultBoundaryDM, groupField, faultId, firstFaultVertex, firstLagrangeVertex, firstFaultCell, useLagrangeConstraints);
-    err = DMDestroy(&faultBoundaryDM);PYLITH_CHECK_ERROR(err);
+    CohesiveTopology::createFault(faultMesh, faultBoundary, *mesh, groupField);
+    CohesiveTopology::create(mesh, *faultMesh, faultBoundary, groupField, faultId, firstFaultVertex, firstLagrangeVertex, firstFaultCell, useLagrangeConstraints);
+    err = DMDestroy(&faultBoundary);PYLITH_CHECK_ERROR(err);
   } // Create mesh
 
   { // Need to copy coordinates from mesh to fault mesh since we are not

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestSlipFn.cc	2013-05-10 22:50:33 UTC (rev 22032)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestSlipFn.cc	2013-05-10 23:10:01 UTC (rev 22033)
@@ -47,7 +47,7 @@
     PetscInt firstLagrangeVertex = 0, firstFaultCell = 0;
     PetscDMLabel groupField = NULL;
     const bool useLagrangeConstraints = true;
-    PetscDM faultBoundaryDM = NULL;
+    PetscDM faultBoundary = NULL;
     PetscDM dmMesh = mesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
     
     err = DMPlexGetStratumSize(dmMesh, faultLabel, 1, &firstLagrangeVertex);PYLITH_CHECK_ERROR(err);
@@ -57,12 +57,11 @@
     } // if
     err = DMPlexGetLabel(dmMesh, faultLabel, &groupField);PYLITH_CHECK_ERROR(err);
     CPPUNIT_ASSERT(groupField);
-    ALE::Obj<SieveFlexMesh> faultBoundary = 0;
     const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
     CPPUNIT_ASSERT(!sieveMesh.isNull());
-    CohesiveTopology::createFault(faultMesh, faultBoundary, faultBoundaryDM, *mesh, groupField);
-    CohesiveTopology::create(mesh, *faultMesh, faultBoundary, faultBoundaryDM, groupField, faultId, firstFaultVertex, firstLagrangeVertex, firstFaultCell, useLagrangeConstraints);
-    err = DMDestroy(&faultBoundaryDM);PYLITH_CHECK_ERROR(err);
+    CohesiveTopology::createFault(faultMesh, faultBoundary, *mesh, groupField);
+    CohesiveTopology::create(mesh, *faultMesh, faultBoundary, groupField, faultId, firstFaultVertex, firstLagrangeVertex, firstFaultCell, useLagrangeConstraints);
+    err = DMDestroy(&faultBoundary);PYLITH_CHECK_ERROR(err);
   } // Create mesh
 
   { // Need to copy coordinates from mesh to fault mesh since we are not



More information about the CIG-COMMITS mailing list