[cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Fault: Replace logic using clamped label with logic using _cohesiveVertices[] - This makes all parts agree on fault definition (c51f9ba)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 15:44:49 PST 2014
- Previous message: [cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Turn on field split, remove marking of buried edges. (8fb67f5)
- Next message: [cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Upgrade to new PETSc release (78ec935)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Repository : https://github.com/geodynamics/pylith
On branches: baagaard/add-release-2.0.3,baagaard/add-release-2.1.0,baagaard/dynrup-new-lagrange,baagaard/feature-output-station-names,baagaard/feature-progress-monitor,baagaard/fix-custom-faultpc,baagaard/fix-faults-intersect,baagaard/fix-friction-initial-state,baagaard/update-autoconf,knepley/feature-petsc-fe,knepley/upgrade-petsc-3.5,knepley/upgrade-petsc-master,maint,master,next,willic3/fix-plasticity
Link : https://github.com/geodynamics/pylith/compare/f33c75b19fd60eedb2a3405db76a1fee333bb1d7...5b6d812b1612809fea3bd331c4e5af98c25a536a
>---------------------------------------------------------------
commit c51f9ba2a0a50c27f37f59bdc2f37da2eedd2daf
Author: Matthew G. Knepley <knepley at gmail.com>
Date: Wed Jul 16 15:04:17 2014 -0500
Fault: Replace logic using clamped label with logic using _cohesiveVertices[]
- This makes all parts agree on fault definition
>---------------------------------------------------------------
c51f9ba2a0a50c27f37f59bdc2f37da2eedd2daf
libsrc/pylith/faults/FaultCohesiveLagrange.cc | 74 +++++++--------------------
1 file changed, 19 insertions(+), 55 deletions(-)
diff --git a/libsrc/pylith/faults/FaultCohesiveLagrange.cc b/libsrc/pylith/faults/FaultCohesiveLagrange.cc
index 8bd3b5a..53575ee 100644
--- a/libsrc/pylith/faults/FaultCohesiveLagrange.cc
+++ b/libsrc/pylith/faults/FaultCohesiveLagrange.cc
@@ -126,64 +126,28 @@ pylith::faults::FaultCohesiveLagrange::initialize(const topology::Mesh& mesh,
const PetscInt vStart = verticesStratum.begin();
const PetscInt vEnd = verticesStratum.end();
- if (strlen(edge()) > 0 && numPoints > 0) {
- PetscDMLabel label = NULL;
- PetscIS clampedIS = NULL;
- const PetscInt* clampedPoints = NULL;
- PetscInt numClampedPoints;
- PetscErrorCode err;
-
- err = DMPlexGetLabel(mesh.dmMesh(), edge(), &label);PYLITH_CHECK_ERROR(err);
- err = DMLabelGetStratumIS(label, 1, &clampedIS);PYLITH_CHECK_ERROR(err);
- if (clampedIS) {
- err = ISGetLocalSize(clampedIS, &numClampedPoints);PYLITH_CHECK_ERROR(err);
- err = ISGetIndices(clampedIS, &clampedPoints);PYLITH_CHECK_ERROR(err);
- for (int i = 0; i < numClampedPoints; ++i) {
- PetscInt v_fault;
- err = PetscFindInt(clampedPoints[i], numPoints, points, &v_fault);PYLITH_CHECK_ERROR(err);
- if (v_fault < vStart || v_fault >= vEnd) { // skip non-vertices
- continue;
- } // if
-
- err = PetscSectionSetConstraintDof(dispRel.petscSection(), v_fault, spaceDim);PYLITH_CHECK_ERROR(err);
- } // for
- err = ISRestoreIndices(clampedIS, &clampedPoints);PYLITH_CHECK_ERROR(err);
- err = ISDestroy(&clampedIS);PYLITH_CHECK_ERROR(err);
- } // if
- } // if
+ const int numVertices = _cohesiveVertices.size();
+ PetscErrorCode err;
+
+ for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int e_lagrange = _cohesiveVertices[iVertex].lagrange;
+ const int v_fault = _cohesiveVertices[iVertex].fault;
+
+ if (e_lagrange < 0) {err = PetscSectionSetConstraintDof(dispRel.petscSection(), -v_fault, spaceDim);PYLITH_CHECK_ERROR(err);}
+ }
dispRel.allocate();
- if (strlen(edge()) > 0 && numPoints > 0) {
- PetscDMLabel label = NULL;
- PetscIS clampedIS = NULL;
- const PetscInt *clampedPoints = NULL;
- PetscInt numClampedPoints;
- PetscErrorCode err;
-
- err = DMPlexGetLabel(mesh.dmMesh(), edge(), &label);PYLITH_CHECK_ERROR(err);
- err = DMLabelGetStratumIS(label, 1, &clampedIS);PYLITH_CHECK_ERROR(err);
- if (clampedIS) {
- err = ISGetLocalSize(clampedIS, &numClampedPoints);PYLITH_CHECK_ERROR(err);
- err = ISGetIndices(clampedIS, &clampedPoints);PYLITH_CHECK_ERROR(err);
-
- PetscInt* ind = (spaceDim > 0) ? new PetscInt[spaceDim] : 0;
- for (int i = 0; i < spaceDim; ++i) {
- ind[i] = i;
- } // for
+ {
+ PetscInt *ind = (spaceDim > 0) ? new PetscInt[spaceDim] : 0;
- for (int i = 0; i < numClampedPoints; ++i) {
- PetscInt v_fault;
- err = PetscFindInt(clampedPoints[i], numPoints, points, &v_fault);PYLITH_CHECK_ERROR(err);
- if (v_fault < vStart || v_fault >= vEnd) { // skip non-vertices
- continue;
- } // if
+ for (int i = 0; i < spaceDim; ++i) ind[i] = i;
+ for (int iVertex = 0; iVertex < numVertices; ++iVertex) {
+ const int e_lagrange = _cohesiveVertices[iVertex].lagrange;
+ const int v_fault = _cohesiveVertices[iVertex].fault;
- err = PetscSectionSetConstraintIndices(dispRel.petscSection(), v_fault, ind);PYLITH_CHECK_ERROR(err);
- } // for
- err = ISRestoreIndices(clampedIS, &clampedPoints);PYLITH_CHECK_ERROR(err);
- err = ISDestroy(&clampedIS);PYLITH_CHECK_ERROR(err);
- delete[] ind; ind = 0;
- } // if
- } // if
+ if (e_lagrange < 0) {err = PetscSectionSetConstraintIndices(dispRel.petscSection(), -v_fault, ind);PYLITH_CHECK_ERROR(err);}
+ }
+ delete[] ind; ind = 0;
+ }
dispRel.vectorFieldType(topology::FieldBase::VECTOR);
dispRel.scale(_normalizer->lengthScale());
- Previous message: [cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Turn on field split, remove marking of buried edges. (8fb67f5)
- Next message: [cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Upgrade to new PETSc release (78ec935)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the CIG-COMMITS
mailing list