[cig-commits] r21392 - in short/3D/PyLith/branches/v1.7-trunk: modulesrc/friction pylith/friction unittests/libtests/friction unittests/libtests/friction/data unittests/pytests/friction
brad at geodynamics.org
brad at geodynamics.org
Mon Feb 25 14:30:21 PST 2013
Author: brad
Date: 2013-02-25 14:30:21 -0800 (Mon, 25 Feb 2013)
New Revision: 21392
Added:
short/3D/PyLith/branches/v1.7-trunk/modulesrc/friction/SlipWeakeningTimeStable.i
short/3D/PyLith/branches/v1.7-trunk/pylith/friction/SlipWeakeningTimeStable.py
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.cc
short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.hh
short/3D/PyLith/branches/v1.7-trunk/unittests/pytests/friction/TestSlipWeakeningTimeStable.py
Log:
Added SlipWeakeningTimeStable files.
Added: short/3D/PyLith/branches/v1.7-trunk/modulesrc/friction/SlipWeakeningTimeStable.i
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/modulesrc/friction/SlipWeakeningTimeStable.i (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/modulesrc/friction/SlipWeakeningTimeStable.i 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,92 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+/** @file modulesrc/friction/SlipWeakeningTimeStable.i
+ *
+ * Python interface to C++ SlipWeakeningTimeStable object.
+ */
+
+namespace pylith {
+ namespace friction {
+
+ class SlipWeakeningTimeStable : public FrictionModel
+ { // class SlipWeakeningTimeStable
+
+ // PUBLIC METHODS /////////////////////////////////////////////////
+ public :
+
+ /// Default constructor.
+ SlipWeakeningTimeStable(void);
+
+ /// Destructor.
+ ~SlipWeakeningTimeStable(void);
+
+ // PROTECTED METHODS //////////////////////////////////////////////
+ protected :
+
+ /** Compute properties from values in spatial database.
+ *
+ * @param propValues Array of property values.
+ * @param dbValues Array of database values.
+ */
+ void _dbToProperties(PylithScalar* const propValues,
+ const scalar_array& dbValues) const;
+
+ /** Nondimensionalize properties.
+ *
+ * @param values Array of property values.
+ * @param nvalues Number of values.
+ */
+ void _nondimProperties(PylithScalar* const values,
+ const int nvalues) const;
+
+ /** Dimensionalize properties.
+ *
+ * @param values Array of property values.
+ * @param nvalues Number of values.
+ */
+ void _dimProperties(PylithScalar* const values,
+ const int nvalues) const;
+
+ /** Compute friction from properties and state variables.
+ *
+ * @param t Current time.
+ * @param slip Current slip at location.
+ * @param slipRate Current slip rate at location.
+ * @param normalTraction Normal traction at location.
+ * @param properties Properties at location.
+ * @param numProperties Number of properties.
+ * @param stateVars State variables at location.
+ * @param numStateVars Number of state variables.
+ */
+ PylithScalar _calcFriction(const PylithScalar t,
+ const PylithScalar slip,
+ const PylithScalar slipRate,
+ const PylithScalar normalTraction,
+ const PylithScalar* properties,
+ const int numProperties,
+ const PylithScalar* stateVars,
+ const int numStateVars);
+
+ }; // class SlipWeakeningTimeStable
+
+ } // friction
+} // pylith
+
+
+// End of file
Added: short/3D/PyLith/branches/v1.7-trunk/pylith/friction/SlipWeakeningTimeStable.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/friction/SlipWeakeningTimeStable.py (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/friction/SlipWeakeningTimeStable.py 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,80 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/friction/SlipWeakeningTimeStable.py
+##
+## @brief Python object implementing slip weakening with forced
+## weakening at a give time (sometimes used for nucleation).
+##
+## Factory: friction_model.
+
+from FrictionModel import FrictionModel
+from friction import SlipWeakeningTimeStable as ModuleSlipWeakeningTimeStable
+
+# SlipWeakeningTimeStable class
+class SlipWeakeningTimeStable(FrictionModel, ModuleSlipWeakeningTimeStable):
+ """
+ Python object implementing Slip Weakening.
+
+ Factory: friction_model.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="slipweakening"):
+ """
+ Constructor.
+ """
+ FrictionModel.__init__(self, name)
+ self.availableFields = \
+ {'vertex': \
+ {'info': ["static_coefficient",
+ "dynamic_coefficient",
+ "slip_weakening_parameter",
+ "cohesion",
+ "time_weakening_time",
+ "time_weakening_parameter"],
+ 'data': ["cumulative_slip",
+ "previous_slip"]},
+ 'cell': \
+ {'info': [],
+ 'data': []}}
+ self._loggingPrefix = "FrSWT "
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _createModuleObj(self):
+ """
+ Call constructor for module object for access to C++ object.
+ """
+ ModuleSlipWeakeningTimeStable.__init__(self)
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def friction_model():
+ """
+ Factory associated with SlipWeakeningTimeStable.
+ """
+ return SlipWeakeningTimeStable()
+
+
+# End of file
Added: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.cc (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.cc 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,97 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestSlipWeakeningTimeStable.hh" // Implementation of class methods
+
+#include "data/SlipWeakeningTimeStableData.hh" // USES SlipWeakeningTimeStableData
+
+#include "pylith/friction/SlipWeakeningTimeStable.hh" // USES SlipWeakeningTimeStable
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::friction::TestSlipWeakeningTimeStable );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::friction::TestSlipWeakeningTimeStable::setUp(void)
+{ // setUp
+ _friction = new SlipWeakeningTimeStable();
+ _data = new SlipWeakeningTimeStableData();
+ setupNormalizer();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test properties metadata.
+void
+pylith::friction::TestSlipWeakeningTimeStable::testPropertiesMetadata(void)
+{ // testPropertiesMetadata
+ SlipWeakeningTimeStable model;
+
+ CPPUNIT_ASSERT_EQUAL(6, model._metadata.numDBProperties());
+ const char* const* names = model._metadata.dbProperties();
+ CPPUNIT_ASSERT_EQUAL(std::string("static-coefficient"),
+ std::string(names[0]));
+ CPPUNIT_ASSERT_EQUAL(std::string("dynamic-coefficient"),
+ std::string(names[1]));
+ CPPUNIT_ASSERT_EQUAL(std::string("slip-weakening-parameter"),
+ std::string(names[2]));
+ CPPUNIT_ASSERT_EQUAL(std::string("cohesion"),
+ std::string(names[3]));
+ CPPUNIT_ASSERT_EQUAL(std::string("time-weakening-time"),
+ std::string(names[4]));
+ CPPUNIT_ASSERT_EQUAL(std::string("time-weakening-parameter"),
+ std::string(names[5]));
+} // testPropertiesMetadata
+
+// ----------------------------------------------------------------------
+// Test state variable metadata.
+void
+pylith::friction::TestSlipWeakeningTimeStable::testStateVarsMetadata(void)
+{ // testStateVarsMetadata
+ SlipWeakeningTimeStable model;
+
+ CPPUNIT_ASSERT_EQUAL(2, model._metadata.numDBStateVars());
+ const char* const* names = model._metadata.dbStateVars();
+ CPPUNIT_ASSERT_EQUAL(std::string("cumulative-slip"),
+ std::string(names[0]));
+ CPPUNIT_ASSERT_EQUAL(std::string("previous-slip"),
+ std::string(names[1]));
+} // testStateVarsMetadata
+
+// ----------------------------------------------------------------------
+// Test hasPropStateVar().
+void
+pylith::friction::TestSlipWeakeningTimeStable::testHasPropStateVar(void)
+{ // testHasPropStateVar
+ SlipWeakeningTimeStable material;
+
+ CPPUNIT_ASSERT(material.hasPropStateVar("static_coefficient"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("dynamic_coefficient"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("slip_weakening_parameter"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("cohesion"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("time_weakening_time"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("time_weakening_parameter"));
+ CPPUNIT_ASSERT(!material.hasPropStateVar("aaa"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("cumulative_slip"));
+ CPPUNIT_ASSERT(material.hasPropStateVar("previous_slip"));
+} // testHasPropStateVar
+
+
+// End of file
Added: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.hh (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/TestSlipWeakeningTimeStable.hh 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/friction/TestSlipWeakeningTimeStable.hh
+ *
+ * @brief C++ TestSlipWeakeningTimeStable object
+ *
+ * C++ unit testing for SlipWeakeningTimeStable.
+ */
+
+#if !defined(pylith_friction_testslipweakeningtimestable_hh)
+#define pylith_friction_testslipweakeningtimestable_hh
+
+#include "TestFrictionModel.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace friction {
+ class TestSlipWeakeningTimeStable;
+ } // friction
+} // pylith
+
+/// C++ unit testing for SlipWeakeningTimeStable
+class pylith::friction::TestSlipWeakeningTimeStable : public TestFrictionModel
+{ // class TestSlipWeakeningTimeStable
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestSlipWeakeningTimeStable );
+
+ CPPUNIT_TEST( testPropertiesMetadata );
+ CPPUNIT_TEST( testStateVarsMetadata );
+ CPPUNIT_TEST( testDBToProperties );
+ CPPUNIT_TEST( testNonDimProperties );
+ CPPUNIT_TEST( testDimProperties );
+ CPPUNIT_TEST( testDBToStateVars );
+ CPPUNIT_TEST( testNonDimStateVars );
+ CPPUNIT_TEST( testDimStateVars );
+ CPPUNIT_TEST( testHasPropStateVar );
+ CPPUNIT_TEST( test_calcFriction );
+ CPPUNIT_TEST( test_updateStateVars );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Test properties metadata.
+ void testPropertiesMetadata(void);
+
+ /// Test state variable metadata.
+ void testStateVarsMetadata(void);
+
+ /// Test hasPropStateVar().
+ void testHasPropStateVar(void);
+
+}; // class TestSlipWeakeningTimeStable
+
+#endif // pylith_friction_testslipweakeningtimestable_hh
+
+
+// End of file
Added: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.cc (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.cc 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,356 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+#include "SlipWeakeningTimeStableData.hh"
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numLocs = 6;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numProperties = 6;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numStateVars = 2;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numDBProperties = 6;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numDBStateVars = 2;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numPropsVertex = 6;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numVarsVertex = 2;
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_lengthScale = 1.00000000e+03;
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_timeScale = 1.00000000e+01;
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_pressureScale = 2.25000000e+10;
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_densityScale = 1.00000000e+03;
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_dt = 0.01;
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numPropertyValues[6] = {
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+};
+
+const int pylith::friction::SlipWeakeningTimeStableData::_numStateVarValues[2] = {
+ 1,
+ 1,
+};
+
+const char* pylith::friction::SlipWeakeningTimeStableData::_dbPropertyValues[6] = {
+ "static-coefficient",
+ "dynamic-coefficient",
+ "slip-weakening-parameter",
+ "cohesion",
+ "time-weakening-time",
+ "time-weakening-parameter",
+};
+
+const char* pylith::friction::SlipWeakeningTimeStableData::_dbStateVarValues[2] = {
+ "cumulative-slip",
+ "previous-slip",
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_dbProperties[6*6] = {
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 2.0,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 1.25,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 0.6,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 2.0,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 1.25,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 0.6,
+ 0.5,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_dbStateVars[6*2] = {
+ 0.15,
+ 0.1,
+
+ 0.15,
+ 0.1,
+
+ 0.15,
+ 0.1,
+
+ 0.8,
+ 0.4,
+
+ 0.8,
+ 0.4,
+
+ 0.8,
+ 0.4,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_properties[6*6] = {
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 2.0,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 1.25,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.8,
+ 1000000,
+ 0.6,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 2.0,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 1.25,
+ 0.5,
+
+ 0.6,
+ 0.5,
+ 0.4,
+ 1000000,
+ 0.6,
+ 0.5,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_stateVars[6*2] = {
+ 0.15,
+ 0.1,
+
+ 0.15,
+ 0.1,
+
+ 0.15,
+ 0.1,
+
+ 0.8,
+ 0.4,
+
+ 0.8,
+ 0.4,
+
+ 0.8,
+ 0.4,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_propertiesNondim[6*6] = {
+ 0.6,
+ 0.5,
+ 0.0008,
+ 0.000044444444,
+ 0.2,
+ 0.05,
+
+ 0.6,
+ 0.5,
+ 0.0008,
+ 0.000044444444,
+ 0.125,
+ 0.05,
+
+ 0.6,
+ 0.5,
+ 0.0008,
+ 0.000044444444,
+ 0.06,
+ 0.05,
+
+ 0.6,
+ 0.5,
+ 0.0004,
+ 0.000044444444,
+ 0.2,
+ 0.05,
+
+ 0.6,
+ 0.5,
+ 0.0004,
+ 0.000044444444,
+ 0.125,
+ 0.05,
+
+ 0.6,
+ 0.5,
+ 0.0004,
+ 0.000044444444,
+ 0.06,
+ 0.05,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_stateVarsNondim[6*2] = {
+ 0.00015,
+ 0.0001,
+
+ 0.00015,
+ 0.0001,
+
+ 0.00015,
+ 0.0001,
+
+ 0.0008,
+ 0.0004,
+
+ 0.0008,
+ 0.0004,
+
+ 0.0008,
+ 0.0004,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_friction[6] = {
+ 11.265e+5,
+ 11.210e+5,
+ 11.100e+5,
+ 11.15e+5,
+ 11.15e+5,
+ 11.15e+5,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_slip[6] = {
+ 0.15,
+ 0.15,
+ 0.15,
+ 0.6,
+ 0.6,
+ 0.6,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_slipRate[6] = {
+ 0.74,
+ 0.74,
+ 0.74,
+ 0.64,
+ 0.64,
+ 0.64,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_normalTraction[6] = {
+ -2.2e+5,
+ -2.2e+5,
+ -2.2e+5,
+ -2.3e+5,
+ -2.3e+5,
+ -2.3e+5,
+};
+
+const PylithScalar pylith::friction::SlipWeakeningTimeStableData::_stateVarsUpdated[6*2] = {
+ 0.20,
+ 0.15,
+
+ 0.20,
+ 0.15,
+
+ 0.20,
+ 0.15,
+
+ 1.0,
+ 0.6,
+
+ 1.0,
+ 0.6,
+
+ 1.0,
+ 0.6,
+};
+
+pylith::friction::SlipWeakeningTimeStableData::SlipWeakeningTimeStableData(void)
+{ // constructor
+ numLocs = _numLocs;
+ numProperties = _numProperties;
+ numStateVars = _numStateVars;
+ numDBProperties = _numDBProperties;
+ numDBStateVars = _numDBStateVars;
+ numPropsVertex = _numPropsVertex;
+ numVarsVertex = _numVarsVertex;
+ lengthScale = _lengthScale;
+ timeScale = _timeScale;
+ pressureScale = _pressureScale;
+ densityScale = _densityScale;
+ numPropertyValues = const_cast<int*>(_numPropertyValues);
+ numStateVarValues = const_cast<int*>(_numStateVarValues);
+ dbPropertyValues = const_cast<char**>(_dbPropertyValues);
+ dbStateVarValues = const_cast<char**>(_dbStateVarValues);
+ dbProperties = const_cast<PylithScalar*>(_dbProperties);
+ dbStateVars = const_cast<PylithScalar*>(_dbStateVars);
+ dt = _dt;
+ properties = const_cast<PylithScalar*>(_properties);
+ stateVars = const_cast<PylithScalar*>(_stateVars);
+ propertiesNondim = const_cast<PylithScalar*>(_propertiesNondim);
+ stateVarsNondim = const_cast<PylithScalar*>(_stateVarsNondim);
+ friction = const_cast<PylithScalar*>(_friction);
+ slip = const_cast<PylithScalar*>(_slip);
+ slipRate = const_cast<PylithScalar*>(_slipRate);
+ normalTraction = const_cast<PylithScalar*>(_normalTraction);
+ stateVarsUpdated = const_cast<PylithScalar*>(_stateVarsUpdated);
+} // constructor
+
+pylith::friction::SlipWeakeningTimeStableData::~SlipWeakeningTimeStableData(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.hh (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/friction/data/SlipWeakeningTimeStableData.hh 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2011 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ======================================================================
+//
+
+#if !defined(pylith_friction_slipweakeningtimestabledata_hh)
+#define pylith_friction_slipweakeningtimestabledata_hh
+
+#include "FrictionModelData.hh"
+
+namespace pylith {
+ namespace friction {
+ class SlipWeakeningTimeStableData;
+ } // pylith
+} // friction
+
+class pylith::friction::SlipWeakeningTimeStableData : public FrictionModelData
+{
+
+public:
+
+ /// Constructor
+ SlipWeakeningTimeStableData(void);
+
+ /// Destructor
+ ~SlipWeakeningTimeStableData(void);
+
+private:
+
+ static const int _numLocs;
+
+ static const int _numProperties;
+
+ static const int _numStateVars;
+
+ static const int _numDBProperties;
+
+ static const int _numDBStateVars;
+
+ static const int _numPropsVertex;
+
+ static const int _numVarsVertex;
+
+ static const PylithScalar _lengthScale;
+
+ static const PylithScalar _timeScale;
+
+ static const PylithScalar _pressureScale;
+
+ static const PylithScalar _densityScale;
+
+ static const PylithScalar _dt;
+
+ static const int _numPropertyValues[];
+
+ static const int _numStateVarValues[];
+
+ static const char* _dbPropertyValues[];
+
+ static const char* _dbStateVarValues[];
+
+ static const PylithScalar _dbProperties[];
+
+ static const PylithScalar _dbStateVars[];
+
+ static const PylithScalar _properties[];
+
+ static const PylithScalar _stateVars[];
+
+ static const PylithScalar _propertiesNondim[];
+
+ static const PylithScalar _stateVarsNondim[];
+
+ static const PylithScalar _friction[];
+
+ static const PylithScalar _slip[];
+
+ static const PylithScalar _slipRate[];
+
+ static const PylithScalar _normalTraction[];
+
+ static const PylithScalar _stateVarsUpdated[];
+
+};
+
+#endif // pylith_friction_slipweakeningtimestabledata_hh
+
+// End of file
Added: short/3D/PyLith/branches/v1.7-trunk/unittests/pytests/friction/TestSlipWeakeningTimeStable.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/pytests/friction/TestSlipWeakeningTimeStable.py (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/pytests/friction/TestSlipWeakeningTimeStable.py 2013-02-25 22:30:21 UTC (rev 21392)
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ======================================================================
+#
+
+## @file unittests/pytests/friction/TestSlipWeakeningTimeStable.py
+
+## @brief Unit testing of SlipWeakeningTimeStable object.
+
+import unittest
+
+from pylith.friction.SlipWeakeningTimeStable import SlipWeakeningTimeStable
+
+# ----------------------------------------------------------------------
+class TestSlipWeakeningTimeStable(unittest.TestCase):
+ """
+ Unit testing of SlipWeakeningTimeStable object.
+ """
+
+ def setUp(self):
+ """
+ Setup test subject.
+ """
+ self.friction = SlipWeakeningTimeStable()
+ return
+
+
+ def test_constructor(self):
+ """
+ Test constructor.
+ """
+ return
+
+
+ def test_factory(self):
+ """
+ Test factory method.
+ """
+ from pylith.friction.SlipWeakeningTimeStable import friction_model
+ m = friction_model()
+ return
+
+
+# End of file
More information about the CIG-COMMITS
mailing list