[cig-commits] r20623 - in short/3D/PyLith/branches/v1.7-trunk: libsrc/pylith/materials unittests/libtests/materials unittests/libtests/materials/data
brad at geodynamics.org
brad at geodynamics.org
Thu Aug 23 15:51:14 PDT 2012
Author: brad
Date: 2012-08-23 15:51:13 -0700 (Thu, 23 Aug 2012)
New Revision: 20623
Modified:
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.hh
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPrager3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPragerPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStress.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStrain1D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStress1D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellIsotropic3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLaw3D.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLawPlaneStrain.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3D.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialApp.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrain.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStress.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1D.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1D.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElastic.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDep.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.hh
Log:
Worked on material unit tests for calculating stable time step for explicit time stepping.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -432,6 +432,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::DruckerPrager3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute stress tensor at location from properties as an elastic
// material.
void
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPrager3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -229,6 +229,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
/** Update state variables (for next time step).
*
* @param stateVars State variables at location.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -452,6 +452,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::DruckerPragerPlaneStrain::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute stress tensor at location from properties as an elastic
// material.
void
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -225,10 +225,26 @@
* @returns Time step
*/
PylithScalar _stableTimeStepImplicit(const PylithScalar* properties,
- const int numProperties,
- const PylithScalar* stateVars,
- const int numStateVars) const;
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
/** Update state variables (for next time step).
*
* @param stateVars State variables at location.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -343,4 +343,28 @@
} // _stableTimeStepImplicit
+// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::ElasticIsotropic3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
// End of file
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -181,6 +181,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -320,7 +320,6 @@
sieveMesh->restrictClosure(*c_iter, coordsVisitor);
const double minCellWidth = quadrature->minCellWidth(coordinatesCell);
-#if 0
for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
const PylithScalar dt =
_stableTimeStepExplicit(&_propertiesCell[iQuad*numPropsQuadPt],
@@ -331,7 +330,6 @@
if (dt < dtStable)
dtStable = dt;
} // for
-#endif
} // for
return dtStable;
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticMaterial.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -337,14 +337,12 @@
*
* @returns Time step
*/
-#if 0
virtual
PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
const int numProperties,
const PylithScalar* stateVars,
const int numStateVars,
const double minCellWidth) const = 0;
-#endif
/** Compute 2D deviatoric stress/strain from vector and mean value.
*
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -329,4 +329,28 @@
} // _stableTimeStepImplicit
+// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::ElasticPlaneStrain::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
// End of file
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -181,6 +181,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -332,4 +332,28 @@
} // _stableTimeStepImplicit
+// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::ElasticPlaneStress::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
// End of file
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticPlaneStress.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -183,6 +183,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -309,4 +309,28 @@
} // _stableTimeStepImplicit
+// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::ElasticStrain1D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
// End of file
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStrain1D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -182,6 +182,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -309,4 +309,28 @@
} // _stableTimeStepImplicit
+// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::ElasticStress1D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
// End of file
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/ElasticStress1D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -183,6 +183,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE MEMBERS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -895,8 +895,31 @@
return dtStable;
} // _stableTimeStepImplicit
-#include <iostream>
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::GenMaxwellIsotropic3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellIsotropic3D::_computeStateVars(
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -230,6 +230,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -843,8 +843,32 @@
return dtStable;
} // _stableTimeStepImplicit
-#include <iostream>
+
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::GenMaxwellPlaneStrain::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar lambda = properties[p_lambdaEff];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellPlaneStrain::_computeStateVars(
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -240,6 +240,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -974,6 +974,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::GenMaxwellQpQsIsotropic3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_muEff];
+ const PylithScalar kappa = properties[p_kEff];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((kappa + 4.0/3.0*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute viscous strain for current time step.
void
pylith::materials::GenMaxwellQpQsIsotropic3D::_computeStateVars(
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/GenMaxwellQpQsIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -230,6 +230,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -739,6 +739,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::MaxwellIsotropic3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute viscous strain for current time step.
void
pylith::materials::MaxwellIsotropic3D::_computeStateVars(
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -218,6 +218,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -697,6 +697,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::MaxwellPlaneStrain::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute viscous strain for current time step.
void
pylith::materials::MaxwellPlaneStrain::_computeStateVars(
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/MaxwellPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -232,6 +232,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
// PRIVATE TYPEDEFS ///////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -436,6 +436,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::PowerLaw3D::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute stress tensor at location from properties as an elastic
// material.
void
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLaw3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -233,6 +233,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
/** Update state variables (for next time step).
*
* @param stateVars State variables at location.
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -436,6 +436,30 @@
} // _stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Get stable time step for explicit time integration.
+PylithScalar
+pylith::materials::PowerLawPlaneStrain::_stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const
+{ // _stableTimeStepExplicit
+ assert(properties);
+ assert(_numPropsQuadPt == numProperties);
+
+ const PylithScalar mu = properties[p_mu];
+ const PylithScalar lambda = properties[p_lambda];
+ const PylithScalar density = properties[p_density];
+
+ assert(density > 0.0);
+ const PylithScalar vp = sqrt((lambda + 2*mu) / density);
+
+ const PylithScalar dtStable = minCellWidth / vp;
+ return dtStable;
+} // _stableTimeStepExplicit
+
+
+// ----------------------------------------------------------------------
// Compute stress tensor at location from properties as an elastic
// material.
void
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/materials/PowerLawPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -233,6 +233,22 @@
const PylithScalar* stateVars,
const int numStateVars) const;
+ /** Get stable time step for explicit time integration.
+ *
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ * @param minCellWidth Minimum width across cell.
+ *
+ * @returns Time step
+ */
+ PylithScalar _stableTimeStepExplicit(const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars,
+ const double minCellWidth) const;
+
/** Update state variables (for next time step).
*
* @param stateVars State variables at location.
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPrager3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPrager3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPrager3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Drucker-Prager elastoplastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPragerPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPragerPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestDruckerPragerPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Drucker-Prager elastoplastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -57,6 +57,7 @@
CPPUNIT_TEST( test_calcElasticConsts );
CPPUNIT_TEST( test_updateStateVars );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
CPPUNIT_TEST( testHasProperty );
CPPUNIT_TEST( testHasStateVar );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -393,6 +393,57 @@
} // testStableTimeStepImplicit
// ----------------------------------------------------------------------
+// Test calcStableTimeStepExplicit()
+void
+pylith::materials::TestElasticMaterial::testStableTimeStepExplicit(void)
+{ // testStableTimeStepExplicit
+ topology::Mesh mesh;
+ ElasticStrain1D material;
+ ElasticStrain1DData data;
+ _initialize(&mesh, &material, &data);
+
+ // Get cells associated with material
+ const int materialId = 24;
+ const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
+ assert(!sieveMesh.isNull());
+ const ALE::Obj<SieveMesh::label_sequence>& cells =
+ sieveMesh->getLabelStratum("material-id", materialId);
+ SieveMesh::point_type cell = *cells->begin();
+
+ // Setup quadrature
+ feassemble::Quadrature<topology::Mesh> quadrature;
+ feassemble::GeometryLine1D geometry;
+ quadrature.refGeometry(&geometry);
+ const int cellDim = 1;
+ const int numCorners = 3;
+ const int numQuadPts = 2;
+ const int spaceDim = 1;
+ const PylithScalar basis[] = { 0.455, -0.122, 0.667, -0.122, 0.455, 0.667 };
+ const PylithScalar basisDeriv[] = {
+ -1.07735027e+00,
+ -7.73502692e-02,
+ 1.15470054e+00,
+ 7.73502692e-02,
+ 1.07735027e+00,
+ -1.15470054e+00,
+ };
+ const PylithScalar quadPtsRef[] = { -0.577350269, 0.577350269 };
+ const PylithScalar quadWts[] = { 1.0, 1.0 };
+ quadrature.initialize(basis, numQuadPts, numCorners,
+ basisDeriv, numQuadPts, numCorners, cellDim,
+ quadPtsRef, numQuadPts, cellDim,
+ quadWts, numQuadPts,
+ spaceDim);
+
+ material.retrievePropsAndVars(cell);
+ const PylithScalar dt = material.stableTimeStepExplicit(mesh, &quadrature);
+
+ const PylithScalar tolerance = 1.0e-06;
+ const PylithScalar dtE = data.dtStableExplicit / 1000.0 * 2.0;
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, dt/dtE, tolerance);
+} // testStableTimeStepExplicit
+
+// ----------------------------------------------------------------------
// Setup testing data.
void
pylith::materials::TestElasticMaterial::setUp(void)
@@ -635,7 +686,7 @@
// Test _stableTimeStepImplicit()
void
pylith::materials::TestElasticMaterial::test_stableTimeStepImplicit(void)
-{ // _testCalcDensity
+{ // test_stableTimeStepImplicit
CPPUNIT_ASSERT(0 != _matElastic);
CPPUNIT_ASSERT(0 != _dataElastic);
const ElasticMaterialData* data = _dataElastic;
@@ -648,9 +699,32 @@
const PylithScalar tolerance = 1.0e-06;
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, dt/dtE, tolerance);
-} // _testStableTimeStepImplicit
+} // test_stableTimeStepImplicit
// ----------------------------------------------------------------------
+// Test _stableTimeStepExplicit()
+void
+pylith::materials::TestElasticMaterial::test_stableTimeStepExplicit(void)
+{ // test_stableTimeStepExplicit
+ CPPUNIT_ASSERT(0 != _matElastic);
+ CPPUNIT_ASSERT(0 != _dataElastic);
+ const ElasticMaterialData* data = _dataElastic;
+
+ const PylithScalar minCellWidth = 1000.0;
+
+ const PylithScalar dt =
+ _matElastic->_stableTimeStepExplicit(data->properties, data->numPropsQuadPt,
+ data->stateVars, data->numVarsQuadPt,
+ minCellWidth);
+
+ const PylithScalar dtE = data->dtStableExplicit;
+
+ const PylithScalar tolerance = 1.0e-06;
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(dtE, dt, tolerance); // TEMPORARY
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, dt/dtE, tolerance);
+} // test_stableTimeStepExplicit
+
+// ----------------------------------------------------------------------
// Setup nondimensionalization.
void
pylith::materials::TestElasticMaterial::setupNormalizer(void)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticMaterial.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -56,6 +56,7 @@
CPPUNIT_TEST( testCalcDerivElastic );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST( testStableTimeStepImplicit );
+ CPPUNIT_TEST( testStableTimeStepExplicit );
CPPUNIT_TEST_SUITE_END();
@@ -89,6 +90,9 @@
/// Test stableTimeStepImplicit().
void testStableTimeStepImplicit(void);
+ /// Test stableTimeStepExplicit().
+ void testStableTimeStepExplicit(void);
+
// PUBLIC METHODS /////////////////////////////////////////////////////
public :
@@ -117,6 +121,9 @@
/// Test _stableTimeStepImplicit().
void test_stableTimeStepImplicit(void);
+ /// Test _stableTimeStepExplicit().
+ void test_stableTimeStepExplicit(void);
+
// PROTECTED METHODS //////////////////////////////////////////////////
protected :
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -57,6 +57,7 @@
CPPUNIT_TEST( test_calcElasticConsts );
CPPUNIT_TEST( test_updateStateVars );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStress.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStress.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticPlaneStress.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -57,6 +57,7 @@
CPPUNIT_TEST( test_calcElasticConsts );
CPPUNIT_TEST( test_updateStateVars );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStrain1D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStrain1D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStrain1D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -57,6 +57,7 @@
CPPUNIT_TEST( test_calcElasticConsts );
CPPUNIT_TEST( test_updateStateVars );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStress1D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStress1D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestElasticStress1D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -57,6 +57,7 @@
CPPUNIT_TEST( test_calcElasticConsts );
CPPUNIT_TEST( test_updateStateVars );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Maxwell viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Maxwell viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Maxwell viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellIsotropic3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellIsotropic3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellIsotropic3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Maxwell viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestMaxwellPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Maxwell viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLaw3D.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLaw3D.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLaw3D.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Power Law viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLawPlaneStrain.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLawPlaneStrain.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/TestPowerLawPlaneStrain.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -55,6 +55,7 @@
CPPUNIT_TEST( testDimStateVars );
CPPUNIT_TEST( test_calcDensity );
CPPUNIT_TEST( test_stableTimeStepImplicit );
+ CPPUNIT_TEST( test_stableTimeStepExplicit );
// Need to test Power Law viscoelastic specific behavior.
CPPUNIT_TEST( testTimeStep );
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -167,7 +167,8 @@
self._calcStress(strainB, muB, lambdaB, \
initialStressB, initialStrainB)
- self.dtStableImplicit = 1.0e10
+ self.dtStableImplicit = 1.0e+10
+ self.dtStableExplicit = 1000.0 / vpA
plasticStrainUpdated = numpy.zeros((numLocs, tensorSize),
dtype=numpy.float64)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::DruckerPrager3DElasticData::_dtStableImplicit = 1.00000000e+10;
+const PylithScalar pylith::materials::DruckerPrager3DElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::DruckerPrager3DElasticData::_numPropertyValues[] = {
1,
1,
@@ -338,6 +340,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -46,8 +46,6 @@
"""
ElasticMaterialApp.__init__(self, name)
- # import pdb
- # pdb.set_trace()
numLocs = 2
self.dimension = dimension
@@ -190,6 +188,7 @@
initialStressB, initialStrainB)
self.dtStableImplicit = 1.0e+99
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::DruckerPrager3DTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::DruckerPrager3DTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -338,6 +340,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -78,7 +78,7 @@
initialStrainA = [3.1e-4, 3.2e-4, 3.4e-4]
muA = vsA*vsA*densityA
lambdaA = vpA*vpA*densityA - 2.0*muA
- stressZZInitialA = numpy.array([1.075e4], dtype=numpy.float64)
+ stressZZInitialA = 1.075e+4
denomFrictionA = math.sqrt(3.0) * (3.0 - math.sin(frictionAngleA))
denomDilatationA = math.sqrt(3.0) * (3.0 - math.sin(dilatationAngleA))
@@ -103,7 +103,7 @@
alphaYieldB = 2.0 * math.sin(frictionAngleB)/denomFrictionB
betaB = 6.0 * cohesionB * math.cos(frictionAngleB)/denomFrictionB
alphaFlowB = 2.0 * math.sin(dilatationAngleB)/denomDilatationB
- stressZZInitialB = numpy.array([2.575e4], dtype=numpy.float64)
+ stressZZInitialB = 2.575e+4
self.lengthScale = 1.0e+3
self.pressureScale = muA
@@ -179,6 +179,7 @@
initialStressB, initialStrainB)
self.dtStableImplicit = 1.0e10
+ self.dtStableExplicit = 1000.0 / vpA
stateVarsUpdatedA = numpy.array([stressZZInitialA, 0.0, 0.0, 0.0, 0.0],
dtype=numpy.float64)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::DruckerPragerPlaneStrainElasticData::_dtStableImplicit = 1.00000000e+10;
+const PylithScalar pylith::materials::DruckerPragerPlaneStrainElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::DruckerPragerPlaneStrainElasticData::_numPropertyValues[] = {
1,
1,
@@ -252,6 +254,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -195,6 +195,7 @@
stateVarsB)
self.dtStableImplicit = 1.0e+99
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::DruckerPragerPlaneStrainTimeDepData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::DruckerPragerPlaneStrainTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::DruckerPragerPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -252,6 +254,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/DruckerPragerPlaneStrainTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3D.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3D.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3D.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -119,6 +119,9 @@
self.stress = stress
self.elasticConsts = elasticConsts
+
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::ElasticIsotropic3DData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::ElasticIsotropic3DData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::ElasticIsotropic3DData::_numPropertyValues[] = {
1,
1,
@@ -253,6 +255,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticIsotropic3DData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int* _numStateVarValues;
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialApp.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialApp.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialApp.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -89,6 +89,7 @@
# Elastic material information
self.dtStableImplicit = 1.0e+99
+ self.dtStableExplicit = 1.0e+99
self.density = None
self.strain = None
self.stress = None
@@ -200,6 +201,9 @@
self.data.addScalar(vtype="PylithScalar", name="_dtStableImplicit",
value=self.dtStableImplicit,
format="%16.8e")
+ self.data.addScalar(vtype="PylithScalar", name="_dtStableExplicit",
+ value=self.dtStableExplicit,
+ format="%16.8e")
self.data.addArray(vtype="PylithScalar", name="_density",
values=self.density,
format="%16.8e", ncols=1)
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -20,6 +20,7 @@
pylith::materials::ElasticMaterialData::ElasticMaterialData(void) :
dtStableImplicit(0.0),
+ dtStableExplicit(0.0),
density(0),
strain(0),
stress(0),
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticMaterialData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -43,6 +43,7 @@
public:
PylithScalar dtStableImplicit; ///< Stable time step for implicit time stepping.
+ PylithScalar dtStableExplicit; ///< Stable time step for explicit time stepping.
PylithScalar* density; ///< Density at location.
PylithScalar* strain; ///< Strain at location.
PylithScalar* stress; ///< Stress at location.
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrain.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrain.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrain.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -118,6 +118,9 @@
self.stress = stress
self.elasticConsts = elasticConsts
+
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::ElasticPlaneStrainData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::ElasticPlaneStrainData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::ElasticPlaneStrainData::_numPropertyValues[] = {
1,
1,
@@ -175,6 +177,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStrainData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int* _numStateVarValues;
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStress.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStress.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStress.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -118,6 +118,9 @@
self.stress = stress
self.elasticConsts = elasticConsts
+
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::ElasticPlaneStressData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::ElasticPlaneStressData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::ElasticPlaneStressData::_numPropertyValues[] = {
1,
1,
@@ -175,6 +177,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticPlaneStressData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int* _numStateVarValues;
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1D.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1D.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1D.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -118,6 +118,9 @@
self.stress = stress
self.elasticConsts = elasticConsts
+
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::ElasticStrain1DData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::ElasticStrain1DData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::ElasticStrain1DData::_numPropertyValues[] = {
1,
1,
@@ -143,6 +145,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStrain1DData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int* _numStateVarValues;
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1D.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1D.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1D.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -118,6 +118,9 @@
self.stress = stress
self.elasticConsts = elasticConsts
+
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::ElasticStress1DData::_dtStableImplicit = 1.00000000e+99;
+const PylithScalar pylith::materials::ElasticStress1DData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::ElasticStress1DData::_numPropertyValues[] = {
1,
1,
@@ -143,6 +145,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/ElasticStress1DData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int* _numStateVarValues;
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -186,6 +186,7 @@
initialStressB, initialStrainB,
self.stateVars[1,:])
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellIsotropic3DElasticData::_numPropertyValues[] = {
1,
1,
@@ -527,6 +529,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -213,6 +213,7 @@
initialStressB, initialStrainB,
stateVarsB)
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellIsotropic3DTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -527,6 +529,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -194,6 +194,7 @@
initialStressB, initialStrainB,
self.stateVars[1,:])
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellPlaneStrainElasticData::_numPropertyValues[] = {
1,
1,
@@ -378,6 +380,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -229,6 +229,7 @@
initialStressB, initialStrainB,
stateVarsB)
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::GenMaxwellPlaneStrainTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -378,6 +380,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -212,6 +212,7 @@
self._calcStress(strainB, muB, lambdaB, \
initialStressB, initialStrainB)
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+05;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellQpQsIsotropic3DElasticData::_numPropertyValues[] = {
1,
1,
@@ -570,6 +572,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -247,6 +247,7 @@
strainTB, visStrainB, visStrainBulkB,
initialStressB, initialStrainB)
self.dtStableImplicit = 0.2*min(min(maxwellTimeA), min(maxwellTimeB),min(maxwellTimeBulkA), min(maxwellTimeBulkB))
+ self.dtStableExplicit = 1000.0 / vpA
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+05;
+const PylithScalar pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::GenMaxwellQpQsIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -570,6 +572,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -146,6 +146,8 @@
self._calcStress(strainB, muB, lambdaB, \
initialStressB, initialStrainB)
self.dtStableImplicit = 0.2*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellIsotropic3DElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::MaxwellIsotropic3DElasticData::_numPropertyValues[] = {
1,
1,
@@ -377,6 +379,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -185,6 +185,8 @@
initialStressB, initialStrainB)
self.dtStableImplicit = 0.2*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellIsotropic3DTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::MaxwellIsotropic3DTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -365,6 +367,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -164,6 +164,8 @@
initialStressB, initialStrainB,
self.stateVars[1,:])
self.dtStableImplicit = 0.2*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellPlaneStrainElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::MaxwellPlaneStrainElasticData::_numPropertyValues[] = {
1,
1,
@@ -264,6 +266,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -199,6 +199,8 @@
stateVarsB)
self.dtStableImplicit = 0.2*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_dtStableImplicit = 8.88888889e+06;
+const PylithScalar pylith::materials::MaxwellPlaneStrainTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::MaxwellPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -264,6 +266,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -193,6 +193,8 @@
dtype=numpy.float64)
self.dtStableImplicit = 0.1*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::PowerLaw3DElasticData::_dtStableImplicit = 4.44444444e+06;
+const PylithScalar pylith::materials::PowerLaw3DElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::PowerLaw3DElasticData::_numPropertyValues[] = {
1,
1,
@@ -393,6 +395,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -211,6 +211,8 @@
powerLawExponentB, stressB)
self.dtStableImplicit = 0.1*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_dtStableImplicit = 4.44444444e+06;
+const PylithScalar pylith::materials::PowerLaw3DTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::PowerLaw3DTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -381,6 +383,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElastic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElastic.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElastic.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -214,6 +214,8 @@
self.dtStableImplicit = 0.1*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::PowerLawPlaneStrainElasticData::_dtStableImplicit = 4.09893495e+06;
+const PylithScalar pylith::materials::PowerLawPlaneStrainElasticData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::PowerLawPlaneStrainElasticData::_numPropertyValues[] = {
1,
1,
@@ -289,6 +291,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainElasticData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDep.py 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDep.py 2012-08-23 22:51:13 UTC (rev 20623)
@@ -223,6 +223,8 @@
self.stateVarsUpdated[1,5:])
self.dtStableImplicit = 0.1*min(maxwellTimeA, maxwellTimeB)
+ self.dtStableExplicit = 1000.0 / vpA
+
return
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.cc 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.cc 2012-08-23 22:51:13 UTC (rev 20623)
@@ -47,6 +47,8 @@
const PylithScalar pylith::materials::PowerLawPlaneStrainTimeDepData::_dtStableImplicit = 4.44444444e+06;
+const PylithScalar pylith::materials::PowerLawPlaneStrainTimeDepData::_dtStableExplicit = 1.92450090e-01;
+
const int pylith::materials::PowerLawPlaneStrainTimeDepData::_numPropertyValues[] = {
1,
1,
@@ -277,6 +279,7 @@
pressureScale = _pressureScale;
densityScale = _densityScale;
dtStableImplicit = _dtStableImplicit;
+ dtStableExplicit = _dtStableExplicit;
numPropertyValues = const_cast<int*>(_numPropertyValues);
numStateVarValues = const_cast<int*>(_numStateVarValues);
dbPropertyValues = const_cast<char**>(_dbPropertyValues);
Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.hh 2012-08-23 20:09:54 UTC (rev 20622)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/materials/data/PowerLawPlaneStrainTimeDepData.hh 2012-08-23 22:51:13 UTC (rev 20623)
@@ -69,6 +69,8 @@
static const PylithScalar _dtStableImplicit;
+ static const PylithScalar _dtStableExplicit;
+
static const int _numPropertyValues[];
static const int _numStateVarValues[];
More information about the CIG-COMMITS
mailing list