[cig-commits] r7128 - short/3D/PyLith/trunk/libsrc/faults
brad at geodynamics.org
brad at geodynamics.org
Mon Jun 11 09:55:40 PDT 2007
Author: brad
Date: 2007-06-11 09:55:40 -0700 (Mon, 11 Jun 2007)
New Revision: 7128
Modified:
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
Log:
Fixed bug in computing orientations at fault constraint vertices. Forgot to skip over non-constraint vertices in cohesive cells.
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2007-06-11 13:40:30 UTC (rev 7127)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2007-06-11 16:55:40 UTC (rev 7128)
@@ -148,8 +148,7 @@
assert(0);
} // switch
- // Loop over cohesive cells, computing orientation at each vertex
-
+ // Loop over cohesive cells, computing orientation at constraint vertices
const int numBasis = _quadrature->numBasis();
const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
const double_array& verticesRef = _quadrature->vertices();
@@ -169,13 +168,20 @@
for (int i=0, offset=2*size; i < size; ++i)
faceVertices[i] = cohesiveVertices[offset+i];
- int iBasis = 0;
const ALE::Obj<sieve_type::traits::coneSequence>& cone =
sieve->cone(*c_iter);
assert(!cone.isNull());
const sieve_type::traits::coneSequence::iterator vBegin = cone->begin();
const sieve_type::traits::coneSequence::iterator vEnd = cone->end();
- for(sieve_type::traits::coneSequence::iterator v_iter=vBegin;
+
+ // skip over non-constraint vertices
+ sieve_type::traits::coneSequence::iterator vConstraintBegin = vBegin;
+ const int numSkip = 2*numBasis;
+ for (int i=0; i < numSkip; ++i)
+ ++vConstraintBegin;
+
+ int iBasis = 0;
+ for(sieve_type::traits::coneSequence::iterator v_iter=vConstraintBegin;
v_iter != vEnd;
++v_iter, ++iBasis) {
// Compute Jacobian and determinant of Jacobian at vertex
More information about the cig-commits
mailing list