[cig-commits] r16979 - short/3D/PyLith/trunk/libsrc/faults
brad at geodynamics.org
brad at geodynamics.org
Thu Jun 10 16:25:31 PDT 2010
Author: brad
Date: 2010-06-10 16:25:30 -0700 (Thu, 10 Jun 2010)
New Revision: 16979
Modified:
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
Log:
Added some additional error checking.
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc 2010-06-10 16:36:38 UTC (rev 16978)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc 2010-06-10 23:25:30 UTC (rev 16979)
@@ -233,7 +233,8 @@
const ALE::Obj<SieveMesh>& sieveMesh = fields->mesh().sieveMesh();
assert(!sieveMesh.isNull());
const ALE::Obj<SieveMesh::order_type>& globalOrder =
- sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default", residualSection);
+ sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
+ residualSection);
assert(!globalOrder.isNull());
_logger->eventEnd(setupEvent);
@@ -420,6 +421,8 @@
indicesL = indicesRel + globalOrder->getIndex(v_lagrange);
indicesN = indicesRel + globalOrder->getIndex(v_negative);
indicesP = indicesRel + globalOrder->getIndex(v_positive);
+ assert(0 == solutionSection->getConstraintDimension(v_negative));
+ assert(0 == solutionSection->getConstraintDimension(v_positive));
#if defined(DETAILED_EVENT_LOGGING)
_logger->eventEnd(restrictEvent);
@@ -467,6 +470,7 @@
ADD_VALUES);
// Values at Lagrange vertex, entry L,L in Jacobian
+ // We must have entries on the diagonal.
jacobianVertex = 0.0;
MatSetValues(jacobianMatrix,
indicesL.size(), &indicesL[0],
@@ -487,6 +491,12 @@
#endif
_needNewJacobian = false;
+
+#if 0 // DEBUGGING
+ sieveMesh->getSendOverlap()->view("Send domain overlap");
+ sieveMesh->getRecvOverlap()->view("Receive domain overlap");
+#endif
+
} // integrateJacobian
// ----------------------------------------------------------------------
@@ -1863,8 +1873,8 @@
#if 0 // DEBUGGING
area.view("AREA");
- //_faultMesh->getSendOverlap()->view("Send fault overlap");
- //_faultMesh->getRecvOverlap()->view("Receive fault overlap");
+ faultSieveMesh->getSendOverlap()->view("Send fault overlap");
+ faultSieveMesh->getRecvOverlap()->view("Receive fault overlap");
#endif
} // _calcArea
More information about the CIG-COMMITS
mailing list