[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