[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