[cig-commits] [commit] knepley/upgrade-petsc-interface: Fault Test: Fault meshes now have correct coordinates (0b72e51)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Sat Nov 23 09:55:12 PST 2013


Repository : ssh://geoshell/pylith

On branch  : knepley/upgrade-petsc-interface
Link       : https://github.com/geodynamics/pylith/compare/f4faf9408c04ec442346ce0c70a530c12202ae29...0b9b0aaf3cbf745e5b76f3177a1ddddb5bf75fe7

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

commit 0b72e51d3770c7895eee489d869302ffeb3cf548
Author: Matthew G. Knepley <knepley at gmail.com>
Date:   Sat Nov 23 11:57:10 2013 -0600

    Fault Test: Fault meshes now have correct coordinates


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

0b72e51d3770c7895eee489d869302ffeb3cf548
 unittests/libtests/faults/TestFaultMesh.cc | 51 ------------------------------
 1 file changed, 51 deletions(-)

diff --git a/unittests/libtests/faults/TestFaultMesh.cc b/unittests/libtests/faults/TestFaultMesh.cc
index 1f5a3cb..178bcde 100644
--- a/unittests/libtests/faults/TestFaultMesh.cc
+++ b/unittests/libtests/faults/TestFaultMesh.cc
@@ -61,56 +61,5 @@ pylith::faults::TestFaultMesh::createFaultMesh(topology::Mesh* faultMesh,
     err = DMDestroy(&faultBoundary);PYLITH_CHECK_ERROR(err);
   } // Create mesh
 
-  { // Need to copy coordinates from mesh to fault mesh since we are not
-    // using create() instead of createParallel().
-    PetscDM dmMesh = mesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
-    PetscDM faultDMMesh = faultMesh->dmMesh();CPPUNIT_ASSERT(faultDMMesh);
-    const int  spaceDim = mesh->dimension();
-    PetscIS subpointIS = NULL;
-    const PetscInt *points = NULL;
-    PetscSection coordSection = NULL, fcoordSection = NULL;
-    PetscInt vStart, vEnd, ffStart, ffEnd;
-    
-    err = DMPlexGetDepthStratum(faultDMMesh, 0, &vStart, &vEnd);PYLITH_CHECK_ERROR(err);
-    err = DMPlexGetHeightStratum(faultDMMesh, 1, &ffStart, &ffEnd);PYLITH_CHECK_ERROR(err);
-    err = DMPlexCreateSubpointIS(faultDMMesh, &subpointIS);PYLITH_CHECK_ERROR(err);
-    err = DMPlexGetCoordinateSection(dmMesh, &coordSection);PYLITH_CHECK_ERROR(err);
-    err = DMPlexGetCoordinateSection(faultDMMesh, &fcoordSection);PYLITH_CHECK_ERROR(err);
-    err = PetscSectionSetChart(fcoordSection, vStart, vEnd);PYLITH_CHECK_ERROR(err);
-    for(PetscInt v = vStart; v < vEnd; ++v) {
-      err = PetscSectionSetDof(fcoordSection, v, spaceDim);PYLITH_CHECK_ERROR(err);
-    } // for
-    err = PetscSectionSetUp(fcoordSection);PYLITH_CHECK_ERROR(err);
-    PetscVec coordVec, fcoordVec;
-    PetscScalar *coords,  *fcoords;
-    PetscInt coordSize;
-    
-    err = PetscSectionGetStorageSize(fcoordSection, &coordSize);PYLITH_CHECK_ERROR(err);
-    err = DMGetCoordinatesLocal(dmMesh, &coordVec);PYLITH_CHECK_ERROR(err);
-    err = VecCreate(mesh->comm(), &fcoordVec);PYLITH_CHECK_ERROR(err);
-    err = VecSetSizes(fcoordVec, coordSize, PETSC_DETERMINE);PYLITH_CHECK_ERROR(err);
-    err = VecSetFromOptions(fcoordVec);PYLITH_CHECK_ERROR(err);
-    err = ISGetIndices(subpointIS, &points);PYLITH_CHECK_ERROR(err);
-    err = VecGetArray(coordVec, &coords);PYLITH_CHECK_ERROR(err);
-    err = VecGetArray(fcoordVec, &fcoords);PYLITH_CHECK_ERROR(err);
-    for(PetscInt v = vStart; v < vEnd; ++v) {
-      PetscInt off, foff;
-      
-      // Notice that subpointMap[] does not account for cohesive cells
-      err = PetscSectionGetOffset(coordSection, points[v]+(ffEnd-ffStart), &off);PYLITH_CHECK_ERROR(err);
-      err = PetscSectionGetOffset(fcoordSection, v, &foff);PYLITH_CHECK_ERROR(err);
-      for(PetscInt d = 0; d < spaceDim; ++d) {
-	fcoords[foff+d] = coords[off+d];
-      } // for
-    } // for
-    err = ISRestoreIndices(subpointIS, &points);PYLITH_CHECK_ERROR(err);
-    err = ISDestroy(&subpointIS);PYLITH_CHECK_ERROR(err);
-    err = VecRestoreArray(coordVec, &coords);PYLITH_CHECK_ERROR(err);
-    err = VecRestoreArray(fcoordVec, &fcoords);PYLITH_CHECK_ERROR(err);
-    err = DMSetCoordinatesLocal(faultDMMesh, fcoordVec);PYLITH_CHECK_ERROR(err);
-    err = VecDestroy(&fcoordVec);PYLITH_CHECK_ERROR(err);
-  } // Copy coordiantes
-
-
   PYLITH_METHOD_END;
 } // createFaultMesh



More information about the CIG-COMMITS mailing list