[cig-commits] r16420 - in short/3D/PyLith/trunk: libsrc/faults unittests/libtests/faults unittests/libtests/faults/data
brad at geodynamics.org
brad at geodynamics.org
Mon Mar 15 13:44:21 PDT 2010
Author: brad
Date: 2010-03-15 13:44:20 -0700 (Mon, 15 Mar 2010)
New Revision: 16420
Modified:
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py
Log:
Fixed bug in FaultCohesiveLagrange::adjustSolnLumped(). Set increment in Lagrange multiplier value, don't add to it.
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -635,7 +635,7 @@
// Get residual at cohesive cell's vertices.
residualSection->restrictPoint(v_negative, &residualVertexN[0],
- residualVertexN.size());
+ residualVertexN.size());
residualSection->restrictPoint(v_positive, &residualVertexP[0],
residualVertexP.size());
@@ -669,6 +669,8 @@
_logger->eventBegin(updateEvent);
#endif
+ // Adjust displacements to account for Lagrange multiplier values
+ // (assumed to be zero in perliminary solve).
assert(dispTIncrVertexN.size() ==
dispTIncrSection->getFiberDimension(v_negative));
dispTIncrSection->updateAddPoint(v_negative, &dispTIncrVertexN[0]);
@@ -677,6 +679,8 @@
dispTIncrSection->getFiberDimension(v_positive));
dispTIncrSection->updateAddPoint(v_positive, &dispTIncrVertexP[0]);
+ // Set Lagrange multiplier value. Value from preliminary solve is
+ // bogus due to artificial diagonal entry of 1.0.
assert(lagrangeIncrVertex.size() ==
dispTIncrSection->getFiberDimension(v_lagrange));
dispTIncrSection->updatePoint(v_lagrange, &lagrangeIncrVertex[0]);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -693,7 +693,7 @@
const topology::Field<topology::Mesh>& solution = fields.get("dispIncr(t->t+dt)");
fault.adjustSolnLumped(&fields, jacobian);
- // solution.view("SOLUTION AFTER ADJUSTMENT"); // DEBUGGING
+ //solution.view("SOLUTION AFTER ADJUSTMENT"); // DEBUGGING
const ALE::Obj<RealSection>& solutionSection = solution.section();
CPPUNIT_ASSERT(!solutionSection.isNull());
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -1455,10 +1455,10 @@
-3.43749802151, -0.573632172048, 0.260744774195, // 15
-2.65573177809, 0.0296861629776, 0.884842393092, // 16
-1.46880950929, 1.10387616968, 1.92273501079, // 17
- -3.82865142007, -3.17016199016, -4.61242583814, // 18
- -4.01044825807, -3.25888283871, -4.80624703226, // 19
- -4.13953352294, -3.38576793174, -5.00474402275, // 20
- -4.21263527761, -3.55680347951, -5.20073806765, // 21
+ -7.22865142007, -7.57016199016, -10.0124258381, // 18
+ -7.61044825807, -7.85888283871, -10.4062470323, // 19
+ -7.93953352294, -8.18576793174, -10.8047440227, // 20
+ -7.21263527761, -7.55680347951, -10.2007380677, // 21
};
pylith::faults::CohesiveKinDataHex8::CohesiveKinDataHex8(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -138,7 +138,7 @@
-3.09368089375, // 3
1.3,
5.33587415261, // 5
- -7.94609796626, // 6
+ -9.44609796626, // 6
};
pylith::faults::CohesiveKinDataLine2::CohesiveKinDataLine2(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -385,8 +385,8 @@
3.6, 4.6,
9.35548350619, 10.472468741, // 8
8.459683341, 9.70254140433, // 9
- -6.0131968597, -4.81432196053, // 10
- -6.12482866822, -4.66339834789, // 11
+ -9.8131968597, -9.61432196053, // 10
+ -9.12482866822, -8.66339834789, // 11
};
pylith::faults::CohesiveKinDataQuad4::CohesiveKinDataQuad4(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -542,9 +542,9 @@
9.52509172457, 10.0235382365, 10.6279293566, // 7
9.14962036828, 9.69078492115, 10.2975758746, // 8
12.4395302117, 12.2183073197, 13.0147426983, // 9
- -4.97766117844, -3.34468697053, -3.78014675931, // 10
- -4.90341285807, -3.19563657419, -3.72931666291, // 11
- -5.11830731966, -3.91474269826, -4.33953021169, // 12
+ -8.67766117844, -8.04468697053, -9.48014675931, // 10
+ -8.80341285807, -8.09563657419, -9.62931666291, // 11
+ -8.21830731966, -8.01474269826, -9.43953021169, // 12
};
pylith::faults::CohesiveKinDataTet4::CohesiveKinDataTet4(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2010-03-15 20:44:20 UTC (rev 16420)
@@ -306,8 +306,8 @@
3.4, 4.4,
-3.06996065966, -2.20909517212, // 6
-2.30215017286, -1.41913540767, // 7
- -6.46364275818, -5.25494098949, // 8
- -6.60253019304, -5.40365529386, // 9
+ -10.0636427582, -9.85494098949, // 8
+ -10.402530193, -10.2036552939, // 9
};
pylith::faults::CohesiveKinDataTri3::CohesiveKinDataTri3(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py 2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py 2010-03-15 20:44:20 UTC (rev 16420)
@@ -21,7 +21,7 @@
#print "Si",Si
#print "dlip",dlp
- print dui+ddui,duj+dduj,l+dlp
+ print dui+ddui,duj+dduj,dlp
# ----------------------------------------------------------------------
elif test == "tri3" or test == "quad4":
@@ -148,7 +148,7 @@
print duix+dduix,duiy+dduiy
print dujx+ddujx,dujy+ddujy
- print lp+dlp,lq+dlq
+ print dlp,dlq
# ----------------------------------------------------------------------
elif test == "tet4" or test == "hex8":
@@ -330,31 +330,31 @@
ddujy = -1.0/Ajy * (Cpy*dlp + Cqy*dlq + Cry*dlr)
ddujz = -1.0/Ajz * (Cpz*dlp + Cqz*dlq + Crz*dlr)
- print "Sppi",Sppi
- print "Sqqi",Sqqi
- print "Srri",Srri
+# print "Sppi",Sppi
+# print "Sqqi",Sqqi
+# print "Srri",Srri
- print "Arup",Arup
- print "Aruq",Aruq
- print "Arur",Arur
+# print "Arup",Arup
+# print "Aruq",Aruq
+# print "Arur",Arur
- print "Arupslip",Arupslip
- print "Aruqslip",Aruqslip
- print "Arurslip",Arurslip
+# print "Arupslip",Arupslip
+# print "Aruqslip",Aruqslip
+# print "Arurslip",Arurslip
- print "dlp",dlp
- print "dlq",dlq
- print "dlr",dlr
+# print "dlp",dlp
+# print "dlq",dlq
+# print "dlr",dlr
- print "dduix:",dduix
- print "dduiy:",dduiy
- print "dduiz:",dduiz
+# print "dduix:",dduix
+# print "dduiy:",dduiy
+# print "dduiz:",dduiz
- print "ddujx:",ddujx
- print "ddujy:",ddujy
- print "ddujz:",ddujz
+# print "ddujx:",ddujx
+# print "ddujy:",ddujy
+# print "ddujz:",ddujz
print duix+dduix,duiy+dduiy,duiz+dduiz
print dujx+ddujx,dujy+ddujy,dujz+ddujz
- print lp+dlp,lq+dlq,lr+dlr
+ print dlp,dlq,dlr
More information about the CIG-COMMITS
mailing list