[cig-commits] r16449 - short/3D/PyLith/trunk/libsrc/faults

brad at geodynamics.org brad at geodynamics.org
Wed Mar 24 07:48:54 PDT 2010


Author: brad
Date: 2010-03-24 07:48:53 -0700 (Wed, 24 Mar 2010)
New Revision: 16449

Modified:
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
Log:
Added update of displacements based on change in slip.

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc	2010-03-24 14:46:41 UTC (rev 16448)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc	2010-03-24 14:48:53 UTC (rev 16449)
@@ -529,6 +529,18 @@
     assert(dLagrangeTpdtVertex.size() ==
 	   dispTIncrSection->getFiberDimension(v_lagrange));
     dispTIncrSection->updateAddPoint(v_lagrange, &dLagrangeTpdtVertex[0]);
+
+    // Update displacement field
+    dSlipVertex *= -0.5;
+    assert(dSlipVertex.size() ==
+	   dispTIncrSection->getFiberDimension(v_negative));
+    dispTIncrSection->updateAddPoint(v_negative, &dSlipVertex[0]);
+    
+    dSlipVertex *= -1.0;
+    assert(dSlipVertex.size() ==
+	   dispTIncrSection->getFiberDimension(v_positive));
+    dispTIncrSection->updateAddPoint(v_positive, &dSlipVertex[0]);
+    
   } // for
 
 #if 0 // DEBUGGING

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc	2010-03-24 14:46:41 UTC (rev 16448)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc	2010-03-24 14:48:53 UTC (rev 16449)
@@ -241,20 +241,28 @@
     _logger->eventBegin(restrictEvent);
 #endif
 
+    // Get slip at fault vertex.
     slipSection->restrictPoint(v_fault, &slipVertex[0], slipVertex.size());
 
-    // Get orientations at fault cell's vertices.
-    orientationSection->restrictPoint(v_fault, &orientationVertex[0], orientationVertex.size());
+    // Get orientations at fault vertex.
+    orientationSection->restrictPoint(v_fault, &orientationVertex[0],
+				      orientationVertex.size());
 
     // Get disp(t) at conventional vertices and Lagrange vertex.
-    dispTSection->restrictPoint(v_negative, &dispTVertexN[0], dispTVertexN.size());
-    dispTSection->restrictPoint(v_positive, &dispTVertexP[0], dispTVertexP.size());
-    dispTSection->restrictPoint(v_lagrange, &dispTVertexL[0], dispTVertexL.size());
+    dispTSection->restrictPoint(v_negative, &dispTVertexN[0],
+				dispTVertexN.size());
+    dispTSection->restrictPoint(v_positive, &dispTVertexP[0],
+				dispTVertexP.size());
+    dispTSection->restrictPoint(v_lagrange, &dispTVertexL[0],
+				dispTVertexL.size());
 
     // Get dispIncr(t->t+dt) at conventional vertices and Lagrange vertex.
-    dispTIncrSection->restrictPoint(v_negative, &dispTIncrVertexN[0], dispTIncrVertexN.size());
-    dispTIncrSection->restrictPoint(v_positive, &dispTIncrVertexP[0], dispTIncrVertexP.size());
-    dispTIncrSection->restrictPoint(v_lagrange, &dispTIncrVertexL[0], dispTIncrVertexL.size());
+    dispTIncrSection->restrictPoint(v_negative, &dispTIncrVertexN[0],
+				    dispTIncrVertexN.size());
+    dispTIncrSection->restrictPoint(v_positive, &dispTIncrVertexP[0],
+				    dispTIncrVertexP.size());
+    dispTIncrSection->restrictPoint(v_lagrange, &dispTIncrVertexL[0],
+				    dispTIncrVertexL.size());
 
 #if defined(DETAILED_EVENT_LOGGING)
     _logger->eventEnd(restrictEvent);
@@ -271,7 +279,8 @@
     residualVertexN = 0.0;
     for (int iDim = 0; iDim < spaceDim; ++iDim)
       for (int kDim = 0; kDim < spaceDim; ++kDim)
-        residualVertexN[iDim] -= dispTpdtVertexL[kDim] * -orientationVertex[kDim*spaceDim+iDim];
+        residualVertexN[iDim] -= 
+	  dispTpdtVertexL[kDim] * -orientationVertex[kDim*spaceDim+iDim];
 
     // Entries associated with constraint forces applied at positive vertex
     residualVertexP = -residualVertexN;
@@ -289,13 +298,16 @@
     _logger->eventBegin(updateEvent);
 #endif
 
-    assert(residualVertexN.size() == residualSection->getFiberDimension(v_negative));
+    assert(residualVertexN.size() == 
+	   residualSection->getFiberDimension(v_negative));
     residualSection->updateAddPoint(v_negative, &residualVertexN[0]);
 
-    assert(residualVertexP.size() == residualSection->getFiberDimension(v_positive));
+    assert(residualVertexP.size() == 
+	   residualSection->getFiberDimension(v_positive));
     residualSection->updateAddPoint(v_positive, &residualVertexP[0]);
 
-    assert(residualVertexL.size() == residualSection->getFiberDimension(v_lagrange));
+    assert(residualVertexL.size() == 
+	   residualSection->getFiberDimension(v_lagrange));
     residualSection->updateAddPoint(v_lagrange, &residualVertexL[0]);
 
 #if defined(DETAILED_EVENT_LOGGING)



More information about the CIG-COMMITS mailing list