[cig-commits] [commit] knepley/upgrade-petsc-interface: Topology+Fault: Updated to new DMPlexCreateSubmesh() interface (6b5ddb4)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Thu Oct 10 09:53:40 PDT 2013
Repository : ssh://geoshell/pylith
On branch : knepley/upgrade-petsc-interface
Link : https://github.com/geodynamics/pylith/compare/0000000000000000000000000000000000000000...6b5ddb40724b13328c73e9702f6f00ca998a90ed
>---------------------------------------------------------------
commit 6b5ddb40724b13328c73e9702f6f00ca998a90ed
Author: Matthew G. Knepley <knepley at gmail.com>
Date: Thu Oct 10 11:55:09 2013 -0500
Topology+Fault: Updated to new DMPlexCreateSubmesh() interface
>---------------------------------------------------------------
6b5ddb40724b13328c73e9702f6f00ca998a90ed
libsrc/pylith/faults/CohesiveTopology.cc | 8 ++++----
libsrc/pylith/topology/Mesh.cc | 4 +++-
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/libsrc/pylith/faults/CohesiveTopology.cc b/libsrc/pylith/faults/CohesiveTopology.cc
index 104d284..9604650 100644
--- a/libsrc/pylith/faults/CohesiveTopology.cc
+++ b/libsrc/pylith/faults/CohesiveTopology.cc
@@ -54,7 +54,7 @@ pylith::faults::CohesiveTopology::createFault(topology::Mesh* faultMesh,
const char *groupName = "", *labelName = "boundary";
if (groupField) {err = DMLabelGetName(groupField, &groupName);PYLITH_CHECK_ERROR(err);}
- err = DMPlexCreateSubmesh(dmMesh, groupName, 1, &subdm);PYLITH_CHECK_ERROR(err);
+ err = DMPlexCreateSubmesh(dmMesh, groupField, 1, &subdm);PYLITH_CHECK_ERROR(err);
err = DMPlexOrient(subdm);PYLITH_CHECK_ERROR(err);
if (flipFault) {
@@ -101,7 +101,7 @@ pylith::faults::CohesiveTopology::createFault(topology::Mesh* faultMesh,
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, &faultBoundary);PYLITH_CHECK_ERROR(err);
+ err = DMPlexCreateSubmesh(subdm, label, 1, &faultBoundary);PYLITH_CHECK_ERROR(err);
std::string submeshLabel = "fault_" + std::string(groupName);
faultMesh->dmMesh(subdm, submeshLabel.c_str());
} else {
@@ -113,7 +113,7 @@ pylith::faults::CohesiveTopology::createFault(topology::Mesh* faultMesh,
const char *groupName = "";
if (groupField) {err = DMLabelGetName(groupField, &groupName);PYLITH_CHECK_ERROR(err);}
- err = DMPlexCreateSubmesh(dmMesh, groupName, 1, &faultDMMeshTmp);PYLITH_CHECK_ERROR(err);
+ err = DMPlexCreateSubmesh(dmMesh, groupField, 1, &faultDMMeshTmp);PYLITH_CHECK_ERROR(err);
err = DMPlexInterpolate(faultDMMeshTmp, &faultDMMesh);PYLITH_CHECK_ERROR(err);
err = DMPlexGetVTKCellHeight(faultDMMeshTmp, &h);PYLITH_CHECK_ERROR(err);
err = DMPlexSetVTKCellHeight(faultDMMesh, h);PYLITH_CHECK_ERROR(err);
@@ -182,7 +182,7 @@ pylith::faults::CohesiveTopology::createFault(topology::Mesh* faultMesh,
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, &faultBoundary);PYLITH_CHECK_ERROR(err);
+ err = DMPlexCreateSubmesh(faultDMMesh, label, 1, &faultBoundary);PYLITH_CHECK_ERROR(err);
}
PYLITH_METHOD_END;
diff --git a/libsrc/pylith/topology/Mesh.cc b/libsrc/pylith/topology/Mesh.cc
index 865fe5e..8e6b018 100644
--- a/libsrc/pylith/topology/Mesh.cc
+++ b/libsrc/pylith/topology/Mesh.cc
@@ -107,7 +107,9 @@ pylith::topology::Mesh::Mesh(const Mesh& mesh,
} // if
/* TODO: Add creation of pointSF for submesh */
- err = DMPlexCreateSubmesh(dmMesh, label, 1, &_dmMesh);PYLITH_CHECK_ERROR(err);
+ DMLabel l;
+ err = DMPlexGetLabel(dmMesh, label, &l);PYLITH_CHECK_ERROR(err);
+ err = DMPlexCreateSubmesh(dmMesh, l, 1, &_dmMesh);PYLITH_CHECK_ERROR(err);
PetscInt maxConeSizeLocal = 0, maxConeSize = 0;
err = DMPlexGetMaxSizes(_dmMesh, &maxConeSizeLocal, NULL);PYLITH_CHECK_ERROR(err);
More information about the CIG-COMMITS
mailing list