[cig-commits] r16203 - in short/3D/PyLith/trunk: libsrc/faults unittests/libtests/faults/data

brad at geodynamics.org brad at geodynamics.org
Mon Feb 1 09:56:51 PST 2010


Author: brad
Date: 2010-02-01 09:56:47 -0800 (Mon, 01 Feb 2010)
New Revision: 16203

Modified:
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.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 sign of slip in adjusting lumped solution.

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2010-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -903,8 +903,8 @@
 	  // Aru = A_i^{-1} r_i - A_j^{-1} r_j + u_i - u_j
 	  const double Aru = ri[0]/Ai[0] - rj[0]/Aj[0] + ui[0] - uj[0];
 
-	  // dl_k = D^{-1}( d_k - C_{ki} Aru)
-	  const double Aruslip = slipVertex[0] - Aru;
+	  // dl_k = D^{-1}( - C_{ki} Aru - d_k)
+	  const double Aruslip = -Aru - slipVertex[0] ;
 	  const double dlp = wt * Sinv * Aruslip;
 
 	  // Update displacements at node I
@@ -916,7 +916,7 @@
 	  // Update Lagrange multipliers
 	  solutionCell[indexK*spaceDim+0] = dlp;
 
-	  PetscLogFlops(16);
+	  PetscLogFlops(17);
 	  break;
 	} // case 1
 	case 2 : {
@@ -941,11 +941,11 @@
 	  const double Arux = ri[0]/Ai[0] - rj[0]/Aj[0] + ui[0] - uj[0];
 	  const double Aruy = ri[1]/Ai[1] - rj[1]/Aj[1] + ui[1] - uj[1];
 
-	  // dl_k = S^{-1}( d_k - C_{ki} Aru)
+	  // dl_k = S^{-1}(-C_{ki} Aru - d_k)
 	  const double Arup = Cpx*Arux + Cpy*Aruy;
 	  const double Aruq = Cqx*Arux + Cqy*Aruy;
-	  const double Arupslip = slipVertex[0] - Arup;
-	  const double Aruqslip = slipVertex[1] - Aruq;
+	  const double Arupslip = -Arup - slipVertex[0] ;
+	  const double Aruqslip = -Aruq - slipVertex[1];
 	  const double dlp = Sinv * Arupslip;
 	  const double dlq = Sinv * Aruqslip;
 
@@ -964,7 +964,7 @@
 	  solutionCell[indexK*spaceDim+0] = wt * dlp;
 	  solutionCell[indexK*spaceDim+1] = wt * dlq;
 
-	  PetscLogFlops(39);
+	  PetscLogFlops(41);
 	  break;
 	} // case 2
 	case 3 : {
@@ -997,13 +997,13 @@
 	  const double Aruy = ri[1]/Ai[1] - rj[1]/Aj[1] + ui[1] - uj[1];
 	  const double Aruz = ri[2]/Ai[2] - rj[2]/Aj[2] + ui[2] - uj[2];
 
-	  // dl_k = D^{-1}( d_k - C_{ki} Aru)
+	  // dl_k = D^{-1}( -C_{ki} Aru - d_k)
 	  const double Arup = Cpx*Arux + Cpy*Aruy + Cpz*Aruz;
 	  const double Aruq = Cqx*Arux + Cqy*Aruy + Cqz*Aruz;
 	  const double Arur = Crx*Arux + Cry*Aruy + Crz*Aruz;
-	  const double Arupslip = slipVertex[0] - Arup;
-	  const double Aruqslip = slipVertex[1] - Aruq;
-	  const double Arurslip = slipVertex[2] - Arur;
+	  const double Arupslip = -Arup - slipVertex[0];
+	  const double Aruqslip = -Aruq - slipVertex[1];
+	  const double Arurslip = -Arur - slipVertex[2];
 	  const double dlp = Sinv * Arupslip;
 	  const double dlq = Sinv * Aruqslip;
 	  const double dlr = Sinv * Arurslip;
@@ -1027,7 +1027,7 @@
 	  solutionCell[indexK*spaceDim+1] = wt * dlq;
 	  solutionCell[indexK*spaceDim+2] = wt * dlr;
 
-	  PetscLogFlops(69);
+	  PetscLogFlops(72);
 	  break;
 	} // case 3
 	default :

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -1443,22 +1443,22 @@
   3.2, 4.2, 5.2,
   3.3, 4.3, 5.3,
   3.4, 4.4, 5.4,
-  10.1012399174, 7.62375619614, 11.0627491494, // 6
-  9.96706334677, 7.71443758064, 11.0591659677, // 7
-  9.87367998662, 7.85321557474, 11.0613129813, // 8
-  9.26265302548, 7.47826568661, 10.5092833522, // 9
+  10.1749505588, 9.31910094671, 10.5467746601, // 6
+  10.1039043952, 9.3565301613, 10.5118017742, // 7
+  10.0557317781, 9.37031383702, 10.5151576069, // 8
+  9.46707670425, 8.80701959867, 9.99822415528, // 9
   3.9, 4.9, 5.9,
   3.0, 4.0, 5.0,
   3.1, 4.1, 5.1,
   3.2, 4.2, 5.2,
-  -4.31681528934, 0.695665927527, -1.11855671086, // 14
-  -3.29153423656, 1.17793324732, -0.323110365593, // 15
-  -2.47367998662, 1.54678442526, 0.338687018672, // 16
-  -1.27514497151, 2.36269566532, 1.43857366631, // 17
-  -1.28563429421, -3.94412372412, -4.50185987615, // 18
-  -1.38310012902, -4.13466554839, -4.58730135484, // 19
-  -1.56046647706, -4.31423206826, -4.69525597725, // 20
-  -1.8208782359, -4.47671003401, -4.83277544586, // 21
+  -4.40186602934, -1.26050109236, -0.523201530893, // 14
+  -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
 };
 
 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-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -135,10 +135,10 @@
 
 const double pylith::faults::CohesiveKinDataLine2::_fieldIncrAdjusted[] = {
   1.1,
-  -1.11580527225, // 3
+  -3.09368089375, // 3
   1.3,
-  3.52282149957, // 5
-  -3.59477159896, // 6
+  5.33587415261, // 5
+  -7.94609796626, // 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-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -379,14 +379,14 @@
 const double pylith::faults::CohesiveKinDataQuad4::_fieldIncrAdjusted[] = {
   3.1, 4.1,
   3.2, 4.2,
-  -3.92795746626, -1.23651523612, // 4
-  -2.69324360432, 0.0649209102031, // 5
+  -4.09563227733, -3.248612969, // 4
+  -2.78814167707, -2.11773476302, // 5
   3.5, 4.5,
   3.6, 4.6,
-  9.22726159185, 8.9338057688, // 8
-  8.38975844529, 8.09426880301, // 9
-  -3.39746980696, -4.59634470614, // 10
-  -3.06911072572, -4.53054104604, // 11
+  9.35548350619, 10.472468741, // 8
+  8.459683341, 9.70254140433, // 9
+  -6.0131968597, -4.81432196053, // 10
+  -6.12482866822, -4.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-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -535,16 +535,16 @@
 
 const double pylith::faults::CohesiveKinDataTet4::_fieldIncrAdjusted[] = {
   3.1, 4.1, 5.1,
-  -4.6094015101, -0.944806160821, -2.13895133408, // 3
-  -3.94295740571, -0.501344947885, -1.58424978164, // 4
-  -3.19081175355, -0.205970962145, -0.779945691723, // 5
+  -4.70012229942, -3.03138431537, -1.50390580878, // 3
+  -4.10716666377, -2.47185604467, -0.927412749378, // 4
+  -3.34252157978, -1.47021951405, -0.324816213039, // 5
   3.5, 4.5, 5.5,
-  9.45705113257, 8.45860462062, 11.1042135006, // 7
-  9.03102479301, 8.26763801792, 10.7719581756, // 8
-  12.227136455, 10.448359347, 13.6519239684, // 9
-  -2.47376739299, -4.1067416009, -3.67128181212, // 10
-  -2.34174843225, -4.04952471613, -3.51584462742, // 11
-  -3.348359347, -4.55192396841, -4.12713645498, // 12
+  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
 };
 
 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-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2010-02-01 17:56:47 UTC (rev 16203)
@@ -301,13 +301,13 @@
 
 const double pylith::faults::CohesiveKinDataTri3::_fieldIncrAdjusted[] = {
   3.1, 4.1,
-  11.3208825088, 10.4802977015, // 3
-  10.9812907996, 10.2898485695, // 4
+  11.4124508246, 12.5863689652, // 3
+  11.1489656107, 12.3019463023, // 4
   3.4, 4.4,
-  -2.99670600701, -0.524238161213, // 6
-  -2.17392825851, 0.119527564532, // 7
-  -3.93635724182, -5.14505901051, // 8
-  -3.9868031403, -5.18567803947, // 9
+  -3.06996065966, -2.20909517212, // 6
+  -2.30215017286, -1.41913540767, // 7
+  -6.46364275818, -5.25494098949, // 8
+  -6.60253019304, -5.40365529386, // 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-01-31 21:45:03 UTC (rev 16202)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py	2010-02-01 17:56:47 UTC (rev 16203)
@@ -10,7 +10,7 @@
 
     Si = (Ai * Aj) / (Ai + Aj)
     Aru = ri/Ai - rj/Aj + ui - uj
-    Aruslip = dk - C*Aru
+    Aruslip = -C*Aru - dk 
     dlp = Si * Aruslip
 
     ddui = +C / Ai * dlp
@@ -116,8 +116,8 @@
 
     Arup = Cpx*Arux + Cpy*Aruy
     Aruq = Cqx*Arux + Cqy*Aruy
-    Arupslip = dkp - Arup
-    Aruqslip = dkq - Aruq
+    Arupslip = -Arup - dkp 
+    Aruqslip = -Aruq - dkq 
 
     dlp = Sppi * Arupslip
     dlq = Sqqi * Aruqslip
@@ -314,9 +314,9 @@
     Arup = Cpx*Arux + Cpy*Aruy + Cpz*Aruz
     Aruq = Cqx*Arux + Cqy*Aruy + Cqz*Aruz
     Arur = Crx*Arux + Cry*Aruy + Crz*Aruz
-    Arupslip = dkp - Arup
-    Aruqslip = dkq - Aruq
-    Arurslip = dkr - Arur
+    Arupslip = -Arup - dkp
+    Aruqslip = -Aruq - dkq
+    Arurslip = -Arur - dkr
 
     dlp = Sppi * Arupslip
     dlq = Sqqi * Aruqslip



More information about the CIG-COMMITS mailing list