[cig-commits] r21331 - short/3D/PyLith/trunk/unittests/libtests/bc

knepley at geodynamics.org knepley at geodynamics.org
Mon Feb 4 18:41:37 PST 2013


Author: knepley
Date: 2013-02-04 18:41:37 -0800 (Mon, 04 Feb 2013)
New Revision: 21331

Modified:
   short/3D/PyLith/trunk/unittests/libtests/bc/TestAbsorbingDampers.cc
   short/3D/PyLith/trunk/unittests/libtests/bc/TestNeumann.cc
Log:
Use closure insted of cone

Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestAbsorbingDampers.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestAbsorbingDampers.cc	2013-02-04 23:42:56 UTC (rev 21330)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestAbsorbingDampers.cc	2013-02-05 02:41:37 UTC (rev 21331)
@@ -124,16 +124,21 @@
 
   PetscInt dp = 0;
   for(PetscInt c = cStart; c < cEnd; ++c) {
-    const PetscInt *cone;
-    PetscInt        numCorners;
+    PetscInt *closure = PETSC_NULL;
+    PetscInt  closureSize, numCorners = 0;
 
-    // Assume non-interpolated mesh
-    err = DMPlexGetConeSize(subMesh, c, &numCorners);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetTransitiveClosure(subMesh, c, PETSC_TRUE, &closureSize, &closure);CHECK_PETSC_ERROR(err);
+    for(PetscInt p = 0; p < closureSize*2; p += 2) {
+      const PetscInt point = closure[p];
+      if ((point >= vStart) && (point < vEnd)) {
+        closure[numCorners++] = point;
+      }
+    }
     CPPUNIT_ASSERT_EQUAL(_data->numCorners, numCorners);
-    err = DMPlexGetCone(subMesh, c, &cone);CHECK_PETSC_ERROR(err);
     for(PetscInt p = 0; p < numCorners; ++p, ++dp) {
-      CPPUNIT_ASSERT_EQUAL(_data->cells[dp], cone[p]);
+      CPPUNIT_ASSERT_EQUAL(_data->cells[dp], closure[p]);
     }
+    err = DMPlexRestoreTransitiveClosure(subMesh, c, PETSC_TRUE, &closureSize, &closure);CHECK_PETSC_ERROR(err);
   } // for
 
   // Check damping constants

Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestNeumann.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestNeumann.cc	2013-02-04 23:42:56 UTC (rev 21330)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestNeumann.cc	2013-02-05 02:41:37 UTC (rev 21331)
@@ -179,15 +179,21 @@
 
   PetscInt dp = 0;
   for(PetscInt c = cStart; c < cEnd; ++c) {
-    const PetscInt *cone;
-    PetscInt        numCorners;
+    PetscInt *closure = PETSC_NULL;
+    PetscInt  closureSize, numCorners = 0;
 
-    err = DMPlexGetConeSize(subMesh, c, &numCorners);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetCone(subMesh, c, &cone);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetTransitiveClosure(subMesh, c, PETSC_TRUE, &closureSize, &closure);CHECK_PETSC_ERROR(err);
+    for(PetscInt p = 0; p < closureSize*2; p += 2) {
+      const PetscInt point = closure[p];
+      if ((point >= vStart) && (point < vEnd)) {
+        closure[numCorners++] = point;
+      }
+    }
     CPPUNIT_ASSERT_EQUAL(_data->numCorners, numCorners);
     for(PetscInt p = 0; p < numCorners; ++p, ++dp) {
-      CPPUNIT_ASSERT_EQUAL(_data->cells[dp], cone[p]);
+      CPPUNIT_ASSERT_EQUAL(_data->cells[dp], closure[p]);
     }
+    err = DMPlexRestoreTransitiveClosure(subMesh, c, PETSC_TRUE, &closureSize, &closure);CHECK_PETSC_ERROR(err);
   } // for
 
   // Check traction values



More information about the CIG-COMMITS mailing list