[cig-commits] r19162 - in short/3D/PyLith/trunk: . doc/releasenotes libsrc/pylith/faults tests/3d/cyclicfriction unittests/libtests/faults unittests/libtests/faults/data
brad at geodynamics.org
brad at geodynamics.org
Tue Nov 8 12:20:46 PST 2011
Author: brad
Date: 2011-11-08 12:20:46 -0800 (Tue, 08 Nov 2011)
New Revision: 19162
Added:
short/3D/PyLith/trunk/doc/releasenotes/announce_v1.6.2.txt
short/3D/PyLith/trunk/tests/3d/cyclicfriction/output/
Modified:
short/3D/PyLith/trunk/configure.ac
short/3D/PyLith/trunk/doc/releasenotes/Makefile.am
short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesiveDyn.cc
short/3D/PyLith/trunk/setup.py
short/3D/PyLith/trunk/tests/3d/cyclicfriction/Makefile.am
short/3D/PyLith/trunk/tests/3d/cyclicfriction/pylithapp.cfg
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh
Log:
Merge from stable.
Modified: short/3D/PyLith/trunk/configure.ac
===================================================================
--- short/3D/PyLith/trunk/configure.ac 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/configure.ac 2011-11-08 20:20:46 UTC (rev 19162)
@@ -17,7 +17,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([PyLith], [1.6.2], [cig-short at geodynamics.org])
+AC_INIT([PyLith], [1.7.0], [cig-short at geodynamics.org])
AC_CONFIG_AUX_DIR([./aux-config])
AC_CONFIG_HEADER([portinfo])
AC_CONFIG_MACRO_DIR([m4])
@@ -325,6 +325,8 @@
tests/3d/Makefile
tests/3d/matprops/Makefile
tests/3d/slipdir/Makefile
+ tests/3d/cyclicfriction/Makefile
+ tests/3d/cyclicfriction/output/Makefile
tests/3d/plasticity/Makefile
tests/3d/plasticity/threehex27/Makefile
tests/3d/plasticity/threehex27/config/Makefile
Modified: short/3D/PyLith/trunk/doc/releasenotes/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/doc/releasenotes/Makefile.am 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/doc/releasenotes/Makefile.am 2011-11-08 20:20:46 UTC (rev 19162)
@@ -28,7 +28,9 @@
announce_v1.5.0.txt \
announce_v1.5.1.txt \
announce_v1.5.2.txt \
- announce_v1.6.0.txt
+ announce_v1.6.0.txt \
+ announce_v1.6.1.txt \
+ announce_v1.6.2.txt
# End of file
Copied: short/3D/PyLith/trunk/doc/releasenotes/announce_v1.6.2.txt (from rev 19158, short/3D/PyLith/branches/v1.6-stable/doc/releasenotes/announce_v1.6.2.txt)
===================================================================
--- short/3D/PyLith/trunk/doc/releasenotes/announce_v1.6.2.txt (rev 0)
+++ short/3D/PyLith/trunk/doc/releasenotes/announce_v1.6.2.txt 2011-11-08 20:20:46 UTC (rev 19162)
@@ -0,0 +1,71 @@
+Greetings,
+
+I am pleased to announce the release of PyLith 1.6.2, a finite-element
+code designed to solve dynamic elastic problems and quasi-static
+viscoelastic problems in tectonic deformation.
+
+This release fixes several bugs in PyLith v1.6.1. We strongly
+recommend all users of previous PyLith releases switch to this latest
+release, especially anyone running in parallel or using fault friction.
+
+You can download the source code and binaries from
+
+ http://geodynamics.org/cig/software/packages/short/pylith
+
+Detailed installation instructions for the binary packages are in the
+User Manual with detailed building instructions for a few platforms
+in the INSTALL file bundled with the PyLith Installer utility.
+
+
+RELEASE NOTES
+
+* Internal changes
+
+ - Fault implementation
+
+ Several changes have been made to the fault implementation, but
+ none of these affect the user interface. The runtime performance
+ is nearly identical with improved accuracy for spontaneous rupture
+ (fault friction) simulations. These changes involved switching to
+ using tractions (non-integrated quantities) for the Lagrange
+ multipliers in the global coordinate system rather than integrated
+ quantities in the fault coordinate system. Additionally, initial
+ fault tractions are associated with the fault vertices and their
+ interpolation uses the finite-element basis functions.
+
+ - Distribution of mesh among processors
+
+ The data structures used to distribute the mesh among processors
+ have been improved. This reduces memory use and runtime for this
+ stage of the simulations.
+
+
+* Bug fixes
+
+ - Fixed bug in writing HDF5 files in parallel when one processor
+ does not write any information (e.g., faults and boundary
+ conditions).
+
+ - Added dimensioning of time dataset in HDF5 files. The units are
+ now seconds rather than nondimensional time.
+
+ - Fixed memory allocation error (std::bad_alloc) when a processor
+ did not contain cells for a boundary condition or output. This bug
+ did not show up on all architectures.
+
+ - Increased robustness of spontaneous rupture (fault friction)
+ implementation to broaden the range of conditions it can
+ handle. The implementation now properly handles cases with fault
+ opening and cases with zero shear or normal tractions.
+
+
+KNOWN ISSUES
+
+ The custom line search used with the PETSc nonlinear solver (SNES)
+ has difficulty handling cases with fault opening when the fault
+ normal tractions are much larger than the fault shear tractions. The
+ direction of the line search tends to be nearly orthogonal to the
+ residual, resulting in extremely poor convergence. We plan to
+ improve the line search algorithm in a future release in order to
+ resolve this issue and improve the rate of convergence in
+ spontaneous rupture simulations.
Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesiveDyn.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/FaultCohesiveDyn.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -808,15 +808,6 @@
dLagrangeTpdtSection->restrictPoint(v_fault, &dLagrangeTpdtVertex[0],
dLagrangeTpdtVertex.size());
- // Solution only changes if Lagrange multiplier changed, so skip
- // updates if change in Lagrange multiplier is zero.
- PylithScalar dLagrangeMag = 0.0;
- for (int iDim=0; iDim < spaceDim; ++iDim)
- dLagrangeMag += dLagrangeTpdtVertex[iDim]*dLagrangeTpdtVertex[iDim];
- if (0.0 == dLagrangeMag) {
- continue; // No change, so continue
- } // if
-
// Get change in relative displacement from sensitivity solve.
assert(spaceDim == sensDispRelSection->getFiberDimension(v_fault));
const PylithScalar* sensDispRelVertex =
Modified: short/3D/PyLith/trunk/setup.py
===================================================================
--- short/3D/PyLith/trunk/setup.py 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/setup.py 2011-11-08 20:20:46 UTC (rev 19162)
@@ -22,7 +22,7 @@
setup(
name = 'PyLith',
- version = '1.6.2',
+ version = '1.7.0',
zip_safe = False,
packages = find_packages(),
Modified: short/3D/PyLith/trunk/tests/3d/cyclicfriction/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/tests/3d/cyclicfriction/Makefile.am 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/tests/3d/cyclicfriction/Makefile.am 2011-11-08 20:20:46 UTC (rev 19162)
@@ -17,9 +17,16 @@
#
dist_noinst_DATA = \
+ geometry.jou \
+ hex8_1000m.jou \
+ hex8_1000m.exo \
pylithapp.cfg \
- matprops.spatialdb \
+ fieldsplit.cfg \
+ initial_tractions.spatialdb \
cycle.timedb
+SUBDIRS = \
+ output
+
# End of file
Copied: short/3D/PyLith/trunk/tests/3d/cyclicfriction/output (from rev 19160, short/3D/PyLith/branches/v1.6-stable/tests/3d/cyclicfriction/output)
Modified: short/3D/PyLith/trunk/tests/3d/cyclicfriction/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/cyclicfriction/pylithapp.cfg 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/tests/3d/cyclicfriction/pylithapp.cfg 2011-11-08 20:20:46 UTC (rev 19162)
@@ -74,7 +74,7 @@
db_change = spatialdata.spatialdb.UniformDB
db_change.label = Amplitude of Dirichlet BC on +x
db_change.values = [displacement-x,displacement-y,displacement-z,change-start-time]
-db_change.data = [-0.2*m,0.5*m,0.0*m,0.0*hour]
+db_change.data = [-0.2*m,-0.4*m,0.0*m,0.0*hour]
th_change = spatialdata.spatialdb.TimeHistory
th_change.label = Time history of tidal load
@@ -89,7 +89,7 @@
db_change = spatialdata.spatialdb.UniformDB
db_change.label = Amplitude of Dirichlet BC on -x
db_change.values = [displacement-x,displacement-y,displacement-z,change-start-time]
-db_change.data = [+0.2*m,-0.5*m,0.0*m,0.0*hour]
+db_change.data = [+0.2*m,+0.4*m,0.0*m,0.0*hour]
th_change = spatialdata.spatialdb.TimeHistory
th_change.label = Time history of tidal load
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -232,7 +232,7 @@
fields.get("dispIncr(t->t+dt)").section();
CPPUNIT_ASSERT(!dispIncrSection.isNull());
- //dispIncrSection->view("DISP INCREMENT"); // DEBUGGING
+ dispIncrSection->view("DISP INCREMENT"); // DEBUGGING
// Get expected values
const PylithScalar* valsE = _data->fieldIncrStick; // No change in dispIncr
@@ -277,23 +277,37 @@
fault.vertexField("slip").section();
CPPUNIT_ASSERT(!slipSection.isNull());
- const PylithScalar valE = 0.0; // slip should be zero
+ //slipSection->view("SLIP"); // DEBUGGING
+
+ // Get expected values
+ CPPUNIT_ASSERT(_data->slipStickE);
+ const PylithScalar* valsE = _data->slipStickE;
int iVertex = 0; // variable to use as index into valsE array
const int fiberDimE = spaceDim; // number of values per point
const PylithScalar tolerance = 1.0e-06;
- for (SieveMesh::label_sequence::iterator v_iter = verticesBegin; v_iter
- != verticesEnd;
+ for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
+ v_iter != verticesEnd;
++v_iter, ++iVertex) { // loop over fault vertices
// Check fiber dimension (number of values at point)
const int fiberDim = slipSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
+ CPPUNIT_ASSERT(vals);
// Check values at point
for (int i = 0; i < fiberDimE; ++i) {
const int index = iVertex * spaceDim + i;
- CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ const PylithScalar valE = valsE[index];
+#if 0 // DEBUGGING
+ std::cout << "SLIP valE: " << valE
+ << ", val: " << vals[i]
+ << ", error: " << fabs(1.0-vals[i]/valE)
+ << std::endl;
+#endif // DEBUGGING
+ if (fabs(valE) > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
} // for
} // for
} // Check slip values
@@ -321,6 +335,54 @@
fault.timeStep(dt);
fault.constrainSolnSpace(&fields, t, jacobian);
+ { // Check solution values
+ // Lagrange multipliers should be adjusted according to friction
+ // as reflected in the fieldIncrSlipE data member.
+ const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
+ CPPUNIT_ASSERT(!sieveMesh.isNull());
+ const ALE::Obj<SieveMesh::label_sequence>& vertices =
+ sieveMesh->depthStratum(0);
+ CPPUNIT_ASSERT(!vertices.isNull());
+ const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
+ const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
+
+ // Get section containing solution (disp + Lagrange multipliers)
+ const ALE::Obj<RealSection>& dispIncrSection =
+ fields.get("dispIncr(t->t+dt)").section();
+ CPPUNIT_ASSERT(!dispIncrSection.isNull());
+
+ // Get expected values
+ const PylithScalar* valsE = _data->fieldIncrSlipE; // Expected values for dispIncr
+ int iVertex = 0; // variable to use as index into valsE array
+ const int fiberDimE = spaceDim; // number of values per point
+ const PylithScalar tolerance = 1.0e-06;
+ for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
+ v_iter != verticesEnd;
+ ++v_iter, ++iVertex) { // loop over all vertices in mesh
+ // Check fiber dimension (number of values at point)
+ const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
+ CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
+ const PylithScalar* vals = dispIncrSection->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != vals);
+
+ // Check values at point
+ for (int i = 0; i < fiberDimE; ++i) {
+ const int index = iVertex * spaceDim + i;
+ const PylithScalar valE = valsE[index];
+#if 0 // DEBUGGING
+ std::cout << "SOLUTION valE: " << valE
+ << ", val: " << vals[i]
+ << ", error: " << fabs(1.0-vals[i]/valE)
+ << std::endl;
+#endif // DEBUGGING
+ if (fabs(valE) > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ } // for
+ } // for
+ } // Check solution values
+
{ // Check slip values
// Slip values should be adjusted based on the change in the
// Lagrange multipliers as reflected in the slipSlipE data member.
@@ -374,54 +436,6 @@
} // for
} // Check slip values
- { // Check solution values
- // Lagrange multipliers should be adjusted according to friction
- // as reflected in the fieldIncrSlipE data member.
- const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
- CPPUNIT_ASSERT(!sieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- sieveMesh->depthStratum(0);
- CPPUNIT_ASSERT(!vertices.isNull());
- const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
-
- // Get section containing solution (disp + Lagrange multipliers)
- const ALE::Obj<RealSection>& dispIncrSection =
- fields.get("dispIncr(t->t+dt)").section();
- CPPUNIT_ASSERT(!dispIncrSection.isNull());
-
- // Get expected values
- const PylithScalar* valsE = _data->fieldIncrSlipE; // Expected values for dispIncr
- int iVertex = 0; // variable to use as index into valsE array
- const int fiberDimE = spaceDim; // number of values per point
- const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
- for (SieveMesh::label_sequence::iterator v_iter = verticesBegin;
- v_iter != verticesEnd;
- ++v_iter, ++iVertex) { // loop over all vertices in mesh
- // Check fiber dimension (number of values at point)
- const int fiberDim = dispIncrSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(fiberDimE, fiberDim);
- const PylithScalar* vals = dispIncrSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- // Check values at point
- for (int i = 0; i < fiberDimE; ++i) {
- const int index = iVertex * spaceDim + i;
- const PylithScalar valE = valsE[index];
-#if 0 // DEBUGGING
- std::cout << "SOLUTION valE: " << valE
- << ", val: " << vals[i]
- << ", error: " << fabs(1.0-vals[i]/valE)
- << std::endl;
-#endif // DEBUGGING
- if (fabs(valE) > tolerance)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
- else
- CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
- } // for
- } // for
- } // Check solution values
-
} // testConstrainSolnSpaceSlip
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -42,6 +42,7 @@
orientation(0),
initialTractions(0),
area(0),
+ slipStickE(0),
fieldIncrSlipE(0),
slipSlipE(0),
fieldIncrOpenE(0),
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -78,6 +78,7 @@
PylithScalar* orientation; ///< Expected values for fault orientation.
PylithScalar* area; ///< Expected values for fault area.
PylithScalar* initialTractions; ///< Expected values for initial tractions.
+ PylithScalar* slipStickE; ///< Expected values for slip for sticking case.
PylithScalar* fieldIncrSlipE; ///< Expected values for solution increment for slipping case.
PylithScalar* slipSlipE; ///< Expected values for slip for slipping case.
PylithScalar* fieldIncrOpenE; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -1128,18 +1128,23 @@
0.0, 2.0, 1.0,
1.1, 3.1, 2.1,
1.2, 3.2, 2.2,
- 1.3, 3.3, 2.3, // 14
- 1.5, 3.5, 2.5, // 15
- 1.7, 3.7, 2.7, // 16
- 1.9, 3.9, 2.9, // 17
- 41.4, 3.4, 2.4, // 18
- 41.6, 3.6, 2.6, // 19
- 41.8, 3.8, 2.8, // 20
- 41.0, 3.0, 2.0, // 21
+ 0.5, 3.3, 2.3, // 14
+ 0.6, 3.5, 2.5, // 15
+ 0.7, 3.7, 2.7, // 16
+ 0.8, 3.9, 2.9, // 17
+ 12.266666666667, 3.6, 4.6, // 18
+ 12.066666666667, 5.4, 2.4, // 19
+ 16.866666666667, 2.2, 8.2, // 20
+ 17.666666666667, 10.0, 2.0, // 21
};
-// No change in fieldIncr
-// Zero slip
+// No slip
+const PylithScalar pylith::faults::CohesiveDynDataHex8::_slipStickE[] = {
+ -0.8, 0.8, 0.0,
+ -0.9, 0.9, 0.0,
+ -1.0, 1.0, 0.0,
+ -1.1, 1.1, 0.0,
+};
// ----------------------------------------------------------------------
// Slip case
@@ -1285,6 +1290,7 @@
// Stick
fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
+ slipStickE = const_cast<PylithScalar*>(_slipStickE);
// Slip
fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -68,6 +68,7 @@
static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
static const PylithScalar _area[]; ///< Expected values for fault area.
static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _slipStickE[]; ///< Expected values for slip for stick case.
static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -302,14 +302,17 @@
1.4, 2.4, // 5
1.5, 2.5,
1.6, 2.6,
- 1.7, 2.7, // 8
- 1.9, 2.9, // 9
- 21.8, 2.8, // 10
- 21.0, 2.0, // 11
+ 1.3, 2.7, // 8
+ 1.4, 2.9, // 9
+ 11.2, 2.20, // 10
+ 16.0, 5.40, // 11
};
-// No change in fieldIncr
-// Zero slip
+// No change in slip
+const PylithScalar pylith::faults::CohesiveDynDataQuad4::_slipStickE[] = {
+ -0.4, 0.0,
+ -0.5, 0.0,
+};
// ----------------------------------------------------------------------
// Slip case
@@ -411,6 +414,7 @@
// Stick
fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
+ slipStickE = const_cast<PylithScalar*>(_slipStickE);
// Slip
fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -68,6 +68,7 @@
static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
static const PylithScalar _area[]; ///< Expected values for fault area.
static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _slipStickE[]; ///< Expected values for slip for stick case.
static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -506,16 +506,20 @@
1.3, 2.3, 3.3, // 4
1.4, 2.4, 3.4, // 5
1.5, 2.5, 3.5,
- 1.6, 2.6, 3.6, // 7
- 1.8, 2.8, 3.8, // 8
- 1.0, 2.0, 3.0, // 9
+ 1.2, 2.2, 3.2, // 7
+ 1.3, 2.3, 3.3, // 8
+ 1.4, 2.4, 3.4, // 9
41.7, 2.7, 3.7, // 10
41.9, 2.9, 3.9, // 11
41.1, 2.1, 3.1, // 12
};
-// No change in fieldIncr
-// Zero slip
+// No slip
+const PylithScalar pylith::faults::CohesiveDynDataTet4::_slipStickE[] = {
+ 0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0,
+ 0.0, 0.0, 0.0,
+};
// ----------------------------------------------------------------------
// Slip case
@@ -623,6 +627,7 @@
// Stick
fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
+ slipStickE = const_cast<PylithScalar*>(_slipStickE);
// Slip
fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -68,6 +68,7 @@
static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
static const PylithScalar _area[]; ///< Expected values for fault area.
static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _slipStickE[]; ///< Expected values for slip for stick case.
static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -276,8 +276,11 @@
21.8, 2.8, // 9
};
-// No change in fieldIncr
-// Zero slip
+// No slip
+const PylithScalar pylith::faults::CohesiveDynDataTri3::_slipStickE[] = {
+ 0.0, 0.0,
+ 0.0, 0.0,
+};
// ----------------------------------------------------------------------
// Slip case
@@ -371,6 +374,7 @@
// Stick
fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
+ slipStickE = const_cast<PylithScalar*>(_slipStickE);
// Slip
fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -68,6 +68,7 @@
static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
static const PylithScalar _area[]; ///< Expected values for fault area.
static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _slipStickE[]; ///< Expected values for slip for stick case.
static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc 2011-11-08 20:20:46 UTC (rev 19162)
@@ -454,16 +454,20 @@
1.4, 2.4,
1.5, 2.5, // 8
1.6, 2.6,
- 1.7, 2.7, // 10
- 1.9, 2.9, // 11
- 2.1, 2.1, // 12
+ 1.2, 2.2, // 10
+ 1.3, 2.3, // 11
+ 1.5, 2.5, // 12
21.8, 22.8, // 13
21.0, 2.0, // 14
2.2, 22.2, // 15
};
-// No change in fieldIncr
-// Zero slip
+// No slip
+const PylithScalar pylith::faults::CohesiveDynDataTri3d::_slipStickE[] = {
+ 0.0, 0.0,
+ 0.0, 0.0,
+ 0.0, 0.0,
+};
// ----------------------------------------------------------------------
// Slip case
@@ -575,6 +579,7 @@
// Stick
fieldIncrStick = const_cast<PylithScalar*>(_fieldIncrStick);
+ slipStickE = const_cast<PylithScalar*>(_slipStickE);
// Slip
fieldIncrSlip = const_cast<PylithScalar*>(_fieldIncrSlip);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh 2011-11-08 20:18:21 UTC (rev 19161)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh 2011-11-08 20:20:46 UTC (rev 19162)
@@ -68,6 +68,7 @@
static const PylithScalar _orientation[]; ///< Expected values for fault orientation.
static const PylithScalar _area[]; ///< Expected values for fault area.
static const PylithScalar _initialTractions[]; ///< Expected values for initial tractions.
+ static const PylithScalar _slipStickE[]; ///< Expected values for slip for stick case.
static const PylithScalar _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
static const PylithScalar _slipSlipE[]; ///< Expected values for slip for slip case.
static const PylithScalar _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
More information about the CIG-COMMITS
mailing list