[cig-commits] r20038 - in short/3D/PyLith/branches/v1.7-trunk: libsrc/pylith libsrc/pylith/faults modulesrc/faults unittests/libtests/faults
brad at geodynamics.org
brad at geodynamics.org
Thu May 3 17:45:50 PDT 2012
Author: brad
Date: 2012-05-03 17:45:49 -0700 (Thu, 03 May 2012)
New Revision: 20038
Modified:
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/Makefile.am
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/Makefile.am
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/SlipTimeFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/faultsfwd.hh
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/BruneSlipFn.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/ConstRateSlipFn.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/EqKinSrc.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/LiuCosSlipFn.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/SlipTimeFn.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/StepSlipFn.i
short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/TimeHistorySlipFn.i
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.hh
Log:
Cleanup of kinematic slip functions. Remove slipIncr (obsolete).
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/Makefile.am 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/Makefile.am 2012-05-04 00:45:49 UTC (rev 20038)
@@ -54,13 +54,6 @@
bc/AbsorbingDampers.cc \
bc/PointForce.cc \
faults/Fault.cc \
- faults/SlipTimeFn.cc \
- faults/StepSlipFn.cc \
- faults/ConstRateSlipFn.cc \
- faults/BruneSlipFn.cc \
- faults/TimeHistorySlipFn.cc \
- faults/LiuCosSlipFn.cc \
- faults/EqKinSrc.cc \
faults/TopologyOps.cc \
faults/CohesiveTopology.cc \
faults/FaultCohesive.cc \
@@ -69,6 +62,16 @@
faults/FaultCohesiveDyn.cc \
faults/FaultCohesiveImpulses.cc \
faults/FaultCohesiveTract.cc \
+ faults/EqKinSrc.cc \
+ faults/SlipTimeFn.cc \
+ faults/StepSlipFn.cc \
+ faults/ConstRateSlipFn.cc \
+ faults/BruneSlipFn.cc \
+ faults/TimeHistorySlipFn.cc \
+ faults/LiuCosSlipFn.cc \
+ faults/Nucleator.cc \
+ faults/TractPerturbation.cc \
+ faults/StaticPerturbation.cc \
feassemble/CellGeometry.cc \
feassemble/Constraint.cc \
feassemble/GeometryPoint1D.cc \
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -287,71 +287,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get increment of slip on fault surface between time t0 and t1.
-void
-pylith::faults::BruneSlipFn::slipIncr(
- topology::Field<topology::SubMesh>* slip,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slipIncr
- assert(0 != slip);
- assert(0 != _parameters);
-
- // Get vertices in fault mesh
- const ALE::Obj<SieveMesh>& sieveMesh = slip->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
- assert(!vertices.isNull());
- const label_sequence::iterator verticesBegin = vertices->begin();
- const label_sequence::iterator verticesEnd = vertices->end();
-
- // Get sections
- const topology::Field<topology::SubMesh>& finalSlip =
- _parameters->get("final slip");
- const ALE::Obj<RealSection>& finalSlipSection = finalSlip.section();
- assert(!finalSlipSection.isNull());
- const topology::Field<topology::SubMesh>& slipTime =
- _parameters->get("slip time");
- const ALE::Obj<RealSection>& slipTimeSection = slipTime.section();
- assert(!slipTimeSection.isNull());
- const topology::Field<topology::SubMesh>& riseTime =
- _parameters->get("rise time");
- const ALE::Obj<RealSection>& riseTimeSection = riseTime.section();
- assert(!riseTimeSection.isNull());
- const ALE::Obj<RealSection>& slipSection = slip->section();
- assert(!slipSection.isNull());
-
- const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter) {
- finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
- _slipVertex.size());
- slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
-
- PylithScalar finalSlipMag = 0.0;
- for (int i=0; i < spaceDim; ++i)
- finalSlipMag += _slipVertex[i]*_slipVertex[i];
- finalSlipMag = sqrt(finalSlipMag);
-
- const PylithScalar slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
- _riseTimeVertex);
- const PylithScalar slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
- _riseTimeVertex);
- const PylithScalar scale = finalSlipMag > 0.0 ?
- (slip1 - slip0) / finalSlipMag : 0.0;
- _slipVertex *= scale;
-
-
- // Update field
- slipSection->updateAddPoint(*v_iter, &_slipVertex[0]);
- } // for
-
- PetscLogFlops(vertices->size() * (3+2*8 + 3*_slipVertex.size()));
-} // slipIncr
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::BruneSlipFn::finalSlip(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/BruneSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -29,6 +29,8 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
+
#include "pylith/utils/types.hh" // HASA PylithScalar
#include "pylith/utils/array.hh" // HASA scalar_array
@@ -79,7 +81,6 @@
/** Initialize slip time function.
*
* @param faultMesh Finite-element mesh of fault.
- * @param cs Coordinate system for mesh
* @param normalizer Nondimensionalization of scales.
* @param originTime Origin time for earthquake source.
*/
@@ -97,18 +98,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -246,60 +246,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get increment of slip on fault surface between time t0 and t1.
-void
-pylith::faults::ConstRateSlipFn::slipIncr(
- topology::Field<topology::SubMesh>* slip,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slipIncr
- assert(0 != slip);
- assert(0 != _parameters);
-
- // Get vertices in fault mesh
- const ALE::Obj<SieveMesh>& sieveMesh = slip->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
- assert(!vertices.isNull());
- const label_sequence::iterator verticesBegin = vertices->begin();
- const label_sequence::iterator verticesEnd = vertices->end();
-
- // Get sections
- const topology::Field<topology::SubMesh>& slipRate =
- _parameters->get("slip rate");
- const ALE::Obj<RealSection>& slipRateSection = slipRate.section();
- assert(!slipRateSection.isNull());
- const topology::Field<topology::SubMesh>& slipTime =
- _parameters->get("slip time");
- const ALE::Obj<RealSection>& slipTimeSection = slipTime.section();
- assert(!slipTimeSection.isNull());
- const ALE::Obj<RealSection>& slipSection = slip->section();
- assert(!slipSection.isNull());
-
- for (label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter) {
- slipRateSection->restrictPoint(*v_iter, &_slipRateVertex[0],
- _slipRateVertex.size());
- slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
-
- const PylithScalar relTime0 = t0 - _slipTimeVertex;
- const PylithScalar relTime1 = t1 - _slipTimeVertex;
- PylithScalar elapsedTime = 0.0;
- if (relTime0 > 0)
- elapsedTime = t1 - t0;
- else if (relTime1 > 0)
- elapsedTime = t1 - _slipTimeVertex;
- _slipRateVertex *= elapsedTime; // Convert slip rate to slip
-
- // Update field
- slipSection->updateAddPoint(*v_iter, &_slipRateVertex[0]);
- } // for
-
- PetscLogFlops(vertices->size() * (4 + _slipRateVertex.size()));
-} // slipIncr
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::ConstRateSlipFn::finalSlip(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/ConstRateSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -29,6 +29,8 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
+
#include "pylith/utils/array.hh" // HASA scalar_array
// ConstRateTimeFn ------------------------------------------------------
@@ -88,18 +90,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -98,18 +98,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get slip increment on fault surface from time t0 to 1.
-void
-pylith::faults::EqKinSrc::slipIncr(
- topology::Field<topology::SubMesh>* const slipField,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slip
- assert(0 != _slipfn);
- _slipfn->slipIncr(slipField, t0, t1);
-} // slip
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::EqKinSrc::finalSlip(void) const
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/EqKinSrc.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -89,16 +89,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get increment of slip on fault surface between time t0 and t1.
- *
- * @param slipField Slip increment field over fault mesh.
- * @param t0 Time for start of slip increment.
- * @param t1 Time for end of slip increment.
- */
- void slipIncr(topology::Field<topology::SubMesh>* const slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -287,71 +287,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get increment of slip on fault surface between time t0 and t1.
-void
-pylith::faults::LiuCosSlipFn::slipIncr(
- topology::Field<topology::SubMesh>* slip,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slipIncr
- assert(0 != slip);
- assert(0 != _parameters);
-
- // Get vertices in fault mesh
- const ALE::Obj<SieveMesh>& sieveMesh = slip->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
- assert(!vertices.isNull());
- const label_sequence::iterator verticesBegin = vertices->begin();
- const label_sequence::iterator verticesEnd = vertices->end();
-
- // Get sections
- const topology::Field<topology::SubMesh>& finalSlip =
- _parameters->get("final slip");
- const ALE::Obj<RealSection>& finalSlipSection = finalSlip.section();
- assert(!finalSlipSection.isNull());
- const topology::Field<topology::SubMesh>& slipTime =
- _parameters->get("slip time");
- const ALE::Obj<RealSection>& slipTimeSection = slipTime.section();
- assert(!slipTimeSection.isNull());
- const topology::Field<topology::SubMesh>& riseTime =
- _parameters->get("rise time");
- const ALE::Obj<RealSection>& riseTimeSection = riseTime.section();
- assert(!riseTimeSection.isNull());
- const ALE::Obj<RealSection>& slipSection = slip->section();
- assert(!slipSection.isNull());
-
- const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter) {
- finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
- _slipVertex.size());
- slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
- riseTimeSection->restrictPoint(*v_iter, &_riseTimeVertex, 1);
-
- PylithScalar finalSlipMag = 0.0;
- for (int i=0; i < spaceDim; ++i)
- finalSlipMag += _slipVertex[i]*_slipVertex[i];
- finalSlipMag = sqrt(finalSlipMag);
-
- const PylithScalar slip0 = _slipFn(t0-_slipTimeVertex, finalSlipMag,
- _riseTimeVertex);
- const PylithScalar slip1 = _slipFn(t1-_slipTimeVertex, finalSlipMag,
- _riseTimeVertex);
- const PylithScalar scale = finalSlipMag > 0.0 ?
- (slip1 - slip0) / finalSlipMag : 0.0;
- _slipVertex *= scale;
-
-
- // Update field
- slipSection->updateAddPoint(*v_iter, &_slipVertex[0]);
- } // for
-
- PetscLogFlops(vertices->size() * (3+2*28 + 3*_slipVertex.size()));
-} // slipIncr
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::LiuCosSlipFn::finalSlip(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/LiuCosSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -29,6 +29,8 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<Field<SubMesh> >
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
+
#include "pylith/utils/array.hh" // HASA scalar_array
// LiuCosSlipFn ---------------------------------------------------------
@@ -79,7 +81,6 @@
/** Initialize slip time function.
*
* @param faultMesh Finite-element mesh of fault.
- * @param cs Coordinate system for mesh
* @param normalizer Nondimensionalization of scales.
* @param originTime Origin time for earthquake source.
*/
@@ -97,18 +98,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/Makefile.am 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/Makefile.am 2012-05-04 00:45:49 UTC (rev 20038)
@@ -42,6 +42,9 @@
StepSlipFn.icc \
TimeHistorySlipFn.hh \
TimeHistorySlipFn.icc \
+ Nucleator.hh \
+ TractPerturbation.hh \
+ StaticPerturbation.hh \
faultsfwd.hh
noinst_HEADERS = \
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/SlipTimeFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/SlipTimeFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/SlipTimeFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -30,7 +30,6 @@
#include "pylith/topology/topologyfwd.hh" // USES Fields<SubMesh>
#include "spatialdata/units/unitsfwd.hh" // USES Nondimensional
-#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
// SlipTimeFn -----------------------------------------------------------
/**
@@ -59,7 +58,6 @@
/** Initialize slip time function.
*
* @param faultMesh Finite-element mesh of fault.
- * @param cs Coordinate system for mesh
* @param normalizer Nondimensionalization of scales.
* @param originTime Origin time for earthquake source.
*/
@@ -72,26 +70,11 @@
*
* @param slipField Slip field over fault surface.
* @param t Time t.
- *
- * @returns Slip vector as left-lateral/reverse/normal.
*/
virtual
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t) = 0;
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- virtual
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1) = 0;
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -245,54 +245,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get increment of slip on fault surface between time t0 and t1.
-void
-pylith::faults::StepSlipFn::slipIncr(topology::Field<topology::SubMesh>* slip,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slipIncr
- assert(0 != slip);
- assert(0 != _parameters);
-
- // Get vertices in fault mesh
- const ALE::Obj<SieveMesh>& sieveMesh = slip->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
- assert(!vertices.isNull());
- const label_sequence::iterator verticesBegin = vertices->begin();
- const label_sequence::iterator verticesEnd = vertices->end();
-
- // Get sections
- const topology::Field<topology::SubMesh>& finalSlip =
- _parameters->get("final slip");
- const ALE::Obj<RealSection>& finalSlipSection = finalSlip.section();
- assert(!finalSlipSection.isNull());
- const topology::Field<topology::SubMesh>& slipTime =
- _parameters->get("slip time");
- const ALE::Obj<RealSection>& slipTimeSection = slipTime.section();
- assert(!slipTimeSection.isNull());
- const ALE::Obj<RealSection>& slipSection = slip->section();
- assert(!slipSection.isNull());
-
- for (label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter) {
- finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
- slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
-
- const PylithScalar relTime0 = t0 - _slipTimeVertex;
- const PylithScalar relTime1 = t1 - _slipTimeVertex;
- if (relTime1 < 0.0 || relTime0 >= 0.0)
- _slipVertex = 0.0;
-
- // Update field
- slipSection->updateAddPoint(*v_iter, &_slipVertex[0]);
- } // for
-
- PetscLogFlops(vertices->size() * 2);
-} // slipIncr
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::StepSlipFn::finalSlip(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/StepSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -27,6 +27,8 @@
// Include directives ---------------------------------------------------
#include "SlipTimeFn.hh"
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
+
#include "pylith/utils/array.hh" // HASA scalar_array
// StepSlipFn -----------------------------------------------------------
@@ -87,18 +89,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -271,78 +271,6 @@
} // slip
// ----------------------------------------------------------------------
-// Get increment of slip on fault surface between time t0 and t1.
-void
-pylith::faults::TimeHistorySlipFn::slipIncr(topology::Field<topology::SubMesh>* slip,
- const PylithScalar t0,
- const PylithScalar t1)
-{ // slipIncr
- assert(0 != slip);
- assert(0 != _parameters);
- assert(0 != _dbTimeHistory);
-
- // Get vertices in fault mesh
- const ALE::Obj<SieveMesh>& sieveMesh = slip->mesh().sieveMesh();
- assert(!sieveMesh.isNull());
- const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
- assert(!vertices.isNull());
- const label_sequence::iterator verticesBegin = vertices->begin();
- const label_sequence::iterator verticesEnd = vertices->end();
-
- // Get sections
- const topology::Field<topology::SubMesh>& slipAmplitude =
- _parameters->get("slip amplitude");
- const ALE::Obj<RealSection>& slipAmplitudeSection = slipAmplitude.section();
- assert(!slipAmplitudeSection.isNull());
- const topology::Field<topology::SubMesh>& slipTime =
- _parameters->get("slip time");
- const ALE::Obj<RealSection>& slipTimeSection = slipTime.section();
- assert(!slipTimeSection.isNull());
- const ALE::Obj<RealSection>& slipSection = slip->section();
- assert(!slipSection.isNull());
-
- PylithScalar amplitude0 = 0.0;
- PylithScalar amplitude1 = 0.0;
- for (label_sequence::iterator v_iter=verticesBegin;
- v_iter != verticesEnd;
- ++v_iter) {
- slipAmplitudeSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
- slipTimeSection->restrictPoint(*v_iter, &_slipTimeVertex, 1);
-
- PylithScalar relTime0 = t0 - _slipTimeVertex;
- PylithScalar relTime1 = t1 - _slipTimeVertex;
- if (relTime1 < 0.0)
- _slipVertex = 0.0;
- else {
- relTime0 *= _timeScale;
- relTime1 *= _timeScale;
- int err = _dbTimeHistory->query(&litude0, relTime0);
- if (0 != err) {
- std::ostringstream msg;
- msg << "Error querying for time '" << relTime0
- << "' in time history database "
- << _dbTimeHistory->label() << ".";
- throw std::runtime_error(msg.str());
- } // if
- err = _dbTimeHistory->query(&litude1, relTime1);
- if (0 != err) {
- std::ostringstream msg;
- msg << "Error querying for time '" << relTime1
- << "' in time history database "
- << _dbTimeHistory->label() << ".";
- throw std::runtime_error(msg.str());
- } // if
- _slipVertex *= amplitude1 - amplitude0;
- } // else
-
- // Update field
- slipSection->updateAddPoint(*v_iter, &_slipVertex[0]);
- } // for
-
- PetscLogFlops(vertices->size() * 6);
-} // slipIncr
-
-// ----------------------------------------------------------------------
// Get final slip.
const pylith::topology::Field<pylith::topology::SubMesh>&
pylith::faults::TimeHistorySlipFn::finalSlip(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/TimeHistorySlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -28,6 +28,8 @@
// Include directives ---------------------------------------------------
#include "SlipTimeFn.hh"
+#include "spatialdata/spatialdb/spatialdbfwd.hh" // USES SpatialDB
+
#include "pylith/utils/array.hh" // HASA scalar_array
// TimeHistorySlipFn -----------------------------------------------------------
@@ -76,7 +78,6 @@
/** Initialize slip time function.
*
* @param faultMesh Finite-element mesh of fault.
- * @param cs Coordinate system for mesh
* @param normalizer Nondimensionalization of scales.
* @param originTime Origin time for earthquake source.
*/
@@ -94,18 +95,6 @@
void slip(topology::Field<topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(topology::Field<topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/faultsfwd.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/faultsfwd.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/faultsfwd.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -48,6 +48,11 @@
class StepSlipFn;
class TimeHistorySlipFn;
+ class Nucleator;
+ class TractPerturbation;
+ class StaticPerturbation;
+ class SpaceTimePerturbation;
+
class TopologyOps;
template<typename Sieve, typename Renumbering> class ReplaceVisitor;
template<typename Sieve> class ClassifyVisitor;
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/BruneSlipFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/BruneSlipFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/BruneSlipFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -79,18 +79,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/ConstRateSlipFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/ConstRateSlipFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/ConstRateSlipFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -73,18 +73,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/EqKinSrc.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/EqKinSrc.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/EqKinSrc.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -74,16 +74,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get increment of slip on fault surface between time t0 and t1.
- *
- * @param slipField Slip increment field over fault mesh.
- * @param t0 Time for start of slip increment.
- * @param t1 Time for end of slip increment.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/LiuCosSlipFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/LiuCosSlipFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/LiuCosSlipFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -81,18 +81,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/SlipTimeFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/SlipTimeFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/SlipTimeFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -64,19 +64,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t) = 0;
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- virtual
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1) = 0;
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/StepSlipFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/StepSlipFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/StepSlipFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -73,18 +73,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/TimeHistorySlipFn.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/TimeHistorySlipFn.i 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/faults/TimeHistorySlipFn.i 2012-05-04 00:45:49 UTC (rev 20038)
@@ -79,18 +79,6 @@
void slip(pylith::topology::Field<pylith::topology::SubMesh>* const slipField,
const PylithScalar t);
- /** Get slip increment on fault surface between time t0 and t1.
- *
- * @param slipField Slip field over fault surface.
- * @param t0 Time t.
- * @param t1 Time t+dt.
- *
- * @returns Increment in slip vector as left-lateral/reverse/normal.
- */
- void slipIncr(pylith::topology::Field<pylith::topology::SubMesh>* slipField,
- const PylithScalar t0,
- const PylithScalar t1);
-
/** Get final slip.
*
* @returns Final slip.
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -282,72 +282,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestBruneSlipFn::testSlipIncr(void)
-{ // testSlipIncr
- const PylithScalar finalSlipE[] = { 2.3, 0.1,
- 0.0, 0.0};
- const PylithScalar slipTimeE[] = { 1.2, 1.3 };
- const PylithScalar riseTimeE[] = { 1.4, 1.5 };
- const PylithScalar originTime = 1.064;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- BruneSlipFn slipfn;
- _initialize(&mesh, &faultMesh, &slipfn, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 1.234;
- const PylithScalar t1 = 3.635;
- slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
- PylithScalar slipMag = 0.0;
- for (int iDim=0; iDim < spaceDim; ++iDim)
- slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
- slipMag = sqrt(slipMag);
- const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const PylithScalar tau =
- (slipMag > 0.0) ? slipMag / (exp(1.0) * peakRate) : 1.0;
- const PylithScalar tRef = slipTimeE[iPoint];
- const PylithScalar slipNorm0 =
- (t0 > tRef) ? 1.0 - exp(-(t0-tRef)/tau) * (1.0 + (t0-tRef)/tau) : 0.0;
- const PylithScalar slipNorm1 =
- (t1 > tRef) ? 1.0 - exp(-(t1-tRef)/tau) * (1.0 + (t1-tRef)/tau) : 0.0;
-
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim) {
- const PylithScalar slipE =
- finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1-slipNorm0);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
- } // for
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Test _slip().
void
pylith::faults::TestBruneSlipFn::testSlipTH(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestBruneSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -58,7 +58,6 @@
CPPUNIT_TEST( testInitialize2D );
CPPUNIT_TEST( testInitialize3D );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST( testSlipTH );
CPPUNIT_TEST_SUITE_END();
@@ -90,9 +89,6 @@
/// Test slip().
void testSlip(void);
- /// Test slipIncr().
- void testSlipIncr(void);
-
/// Test _slip().
void testSlipTH(void);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -240,59 +240,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestConstRateSlipFn::testSlipIncr(void)
-{ // testSlipIncr
- const PylithScalar slipRateE[] = { 0.1, 0.2,
- 0.3, 0.4 };
- const PylithScalar slipTimeE[] = { 1.2, 1.3 };
- const PylithScalar originTime = 1.064;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- ConstRateSlipFn slipfn;
- _initialize(&mesh, &faultMesh, &slipfn, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 1.234;
- const PylithScalar t1 = 3.635;
- slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim) {
- const PylithScalar tRef = (slipTimeE[iPoint] > t0) ? slipTimeE[iPoint] : t0;
- const PylithScalar slipE =
- slipRateE[iPoint*spaceDim+iDim] * (t1 - tRef);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
- } // for
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Initialize ConstRateSlipFn.
void
pylith::faults::TestConstRateSlipFn::_initialize(topology::Mesh* mesh,
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestConstRateSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -57,7 +57,6 @@
CPPUNIT_TEST( testInitialize2D );
CPPUNIT_TEST( testInitialize3D );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST_SUITE_END();
@@ -85,9 +84,6 @@
/// Test slip().
void testSlip(void);
- /// Test slipIncr().
- void testSlipIncr(void);
-
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -144,72 +144,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestEqKinSrc::testSlipIncr(void)
-{ // testSlip
- const PylithScalar finalSlipE[] = { 2.3, 0.1,
- 2.4, 0.2};
- const PylithScalar slipTimeE[] = { 1.2, 1.3 };
- const PylithScalar riseTimeE[] = { 1.4, 1.5 };
- const PylithScalar originTime = -4.29;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- EqKinSrc eqsrc;
- BruneSlipFn slipfn;
- _initialize(&mesh, &faultMesh, &eqsrc, &slipfn, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 1.234;
- const PylithScalar t1 = 2.525;
- eqsrc.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
- PylithScalar slipMag = 0.0;
- for (int iDim=0; iDim < spaceDim; ++iDim)
- slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
- slipMag = sqrt(slipMag);
- const PylithScalar peakRate = slipMag / riseTimeE[iPoint] * 1.745;
- const PylithScalar tau = slipMag / (exp(1.0) * peakRate);
- const PylithScalar tRef = slipTimeE[iPoint];
- const PylithScalar slipNorm0 =
- (t0 > tRef) ? 1.0 - exp(-(t0-tRef)/tau) * (1.0 + (t0-tRef)/tau) : 0.0;
- const PylithScalar slipNorm1 =
- (t1 > tRef) ? 1.0 - exp(-(t1-tRef)/tau) * (1.0 + (t1-tRef)/tau) : 0.0;
-
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim) {
- const PylithScalar slipE =
- finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1 - slipNorm0);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
- } // for
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Initialize EqKinSrc.
void
pylith::faults::TestEqKinSrc::_initialize(topology::Mesh* mesh,
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestEqKinSrc.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -50,7 +50,6 @@
CPPUNIT_TEST( testSlipFn );
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST_SUITE_END();
@@ -71,10 +70,6 @@
/// slip().
void testSlip(void);
- /// Test slipIncr(). Use 2-D mesh with Brune slip function to test
- /// slip().
- void testSlipIncr(void);
-
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -282,71 +282,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestLiuCosSlipFn::testSlipIncr(void)
-{ // testSlipIncr
- const PylithScalar finalSlipE[] = { 2.3, 0.1,
- 0.0, 0.0};
- const PylithScalar slipTimeE[] = { 1.2, 1.3 };
- const PylithScalar riseTimeE[] = { 1.4, 1.5 };
- const PylithScalar originTime = 1.064;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- LiuCosSlipFn slipfn;
- _initialize(&mesh, &faultMesh, &slipfn, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 1.234;
- const PylithScalar t1 = 3.635;
- slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
- PylithScalar slipMag = 0.0;
- for (int iDim=0; iDim < spaceDim; ++iDim)
- slipMag += pow(finalSlipE[iPoint*spaceDim+iDim], 2);
- slipMag = sqrt(slipMag);
-
- const PylithScalar slipNorm0 = (slipMag > 0.0) ?
- _slipFn(t0 - slipTimeE[iPoint], slipMag, riseTimeE[iPoint]) / slipMag :
- 0.0;
- const PylithScalar slipNorm1 = (slipMag > 0.0) ?
- _slipFn(t1 - slipTimeE[iPoint], slipMag, riseTimeE[iPoint]) / slipMag :
- 0.0;
-
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim) {
- const PylithScalar slipE =
- finalSlipE[iPoint*spaceDim+iDim] * (slipNorm1-slipNorm0);
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE, vals[iDim], tolerance);
- } // for
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Test _slip().
void
pylith::faults::TestLiuCosSlipFn::testSlipTH(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestLiuCosSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -58,7 +58,6 @@
CPPUNIT_TEST( testInitialize2D );
CPPUNIT_TEST( testInitialize3D );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST( testSlipTH );
CPPUNIT_TEST_SUITE_END();
@@ -90,9 +89,6 @@
/// Test slip().
void testSlip(void);
- /// Test slipIncr().
- void testSlipIncr(void);
-
/// Test _slip().
void testSlipTH(void);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -236,55 +236,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestStepSlipFn::testSlipIncr(void)
-{ // testSlipIncr
- const PylithScalar slipE[] = { 0.0, 0.0,
- 2.4, 0.2};
- const PylithScalar originTime = 1.064;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- StepSlipFn slipfn;
- _initialize(&mesh, &faultMesh, &slipfn, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 1.234;
- const PylithScalar t1 = 2.525;
- slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE[iPoint*spaceDim+iDim], vals[iDim],
- tolerance);
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Initialize StepSlipFn.
void
pylith::faults::TestStepSlipFn::_initialize(topology::Mesh* mesh,
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestStepSlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -57,7 +57,6 @@
CPPUNIT_TEST( testInitialize2D );
CPPUNIT_TEST( testInitialize3D );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST_SUITE_END();
@@ -85,9 +84,6 @@
/// Test slip().
void testSlip(void);
- /// Test slipIncr().
- void testSlipIncr(void);
-
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2012-05-04 00:45:49 UTC (rev 20038)
@@ -266,58 +266,6 @@
} // testSlip
// ----------------------------------------------------------------------
-// Test slipIncr().
-void
-pylith::faults::TestTimeHistorySlipFn::testSlipIncr(void)
-{ // testSlipIncr
- const PylithScalar slipTimeE[] = { 1.2, 1.3 };
- const PylithScalar slipE[] = { 0.92, 0.04,
- 0.984, 0.082};
- const PylithScalar originTime = 1.064;
-
- topology::Mesh mesh;
- topology::SubMesh faultMesh;
- TimeHistorySlipFn slipfn;
- spatialdata::spatialdb::TimeHistory th;
- _initialize(&mesh, &faultMesh, &slipfn, &th, originTime);
-
- const spatialdata::geocoords::CoordSys* cs = faultMesh.coordsys();
- CPPUNIT_ASSERT(0 != cs);
-
- const int spaceDim = cs->spaceDim();
- const ALE::Obj<SieveSubMesh>& faultSieveMesh = faultMesh.sieveMesh();
- CPPUNIT_ASSERT(!faultSieveMesh.isNull());
- const ALE::Obj<SieveMesh::label_sequence>& vertices =
- faultSieveMesh->depthStratum(0);
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
- topology::Field<topology::SubMesh> slip(faultMesh);
- slip.newSection(vertices, spaceDim);
- slip.allocate();
-
- const PylithScalar t0 = 3.2;
- const PylithScalar t1 = 9.7;
- slipfn.slipIncr(&slip, originTime+t0, originTime+t1);
-
- const PylithScalar tolerance = 1.0e-06;
- int iPoint = 0;
- const ALE::Obj<RealSection>& slipSection = slip.section();
- CPPUNIT_ASSERT(!slipSection.isNull());
- for (SieveMesh::label_sequence::iterator v_iter=vertices->begin();
- v_iter != verticesEnd;
- ++v_iter, ++iPoint) {
-
- const int fiberDim = slipSection->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const PylithScalar* vals = slipSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != vals);
-
- for (int iDim=0; iDim < fiberDim; ++iDim)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(slipE[iPoint*spaceDim+iDim],
- vals[iDim], tolerance);
- } // for
-} // testSlipIncr
-
-// ----------------------------------------------------------------------
// Initialize TimeHistorySlipFn.
void
pylith::faults::TestTimeHistorySlipFn::_initialize(topology::Mesh* mesh,
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.hh 2012-05-03 22:36:07 UTC (rev 20037)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/faults/TestTimeHistorySlipFn.hh 2012-05-04 00:45:49 UTC (rev 20038)
@@ -59,7 +59,6 @@
CPPUNIT_TEST( testInitialize2D );
CPPUNIT_TEST( testInitialize3D );
CPPUNIT_TEST( testSlip );
- CPPUNIT_TEST( testSlipIncr );
CPPUNIT_TEST_SUITE_END();
@@ -90,9 +89,6 @@
/// Test slip().
void testSlip(void);
- /// Test slipIncr().
- void testSlipIncr(void);
-
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
More information about the CIG-COMMITS
mailing list