[cig-commits] r16497 - in short/3D/PyLith/trunk: libsrc/friction playpen/friction/bar_shearwave/quad4 pylith/friction tests/2d/quad4 unittests/libtests/friction
brad at geodynamics.org
brad at geodynamics.org
Tue Apr 6 17:23:42 PDT 2010
Author: brad
Date: 2010-04-06 17:23:41 -0700 (Tue, 06 Apr 2010)
New Revision: 16497
Modified:
short/3D/PyLith/trunk/libsrc/friction/FrictionModel.hh
short/3D/PyLith/trunk/libsrc/friction/RateStateAgeing.cc
short/3D/PyLith/trunk/libsrc/friction/SlipWeakening.cc
short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/shearwave.cfg
short/3D/PyLith/trunk/pylith/friction/SlipWeakening.py
short/3D/PyLith/trunk/pylith/friction/StaticFriction.py
short/3D/PyLith/trunk/tests/2d/quad4/README
short/3D/PyLith/trunk/tests/2d/quad4/axialdisp_soln.py
short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.cc
short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.hh
Log:
Added unit test to check friction metadata.
Modified: short/3D/PyLith/trunk/libsrc/friction/FrictionModel.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/friction/FrictionModel.hh 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/libsrc/friction/FrictionModel.hh 2010-04-07 00:23:41 UTC (rev 16497)
@@ -304,6 +304,9 @@
int _numPropsVertex; ///< Number of properties per vertex.
int _numVarsVertex; ///< Number of state variables per vertex.
+ /// Property and state variable metadata.
+ const pylith::materials::Metadata _metadata;
+
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
@@ -330,9 +333,6 @@
std::string _label; ///< Label of friction model.
- /// Property and state variable metadata.
- const pylith::materials::Metadata _metadata;
-
/** Properties for current vertex.
*
* size = numProps
Modified: short/3D/PyLith/trunk/libsrc/friction/RateStateAgeing.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/friction/RateStateAgeing.cc 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/libsrc/friction/RateStateAgeing.cc 2010-04-07 00:23:41 UTC (rev 16497)
@@ -55,17 +55,17 @@
// Values expected in spatial database
const int numDBProperties = 6;
- const char* dbProperties[] = {
+ const char* dbProperties[6] = {
"reference-friction-coefficient",
"reference-slip-rate",
"characteristic-slip-distance",
"constitutive-parameter-a",
"constitutive-parameter-b",
- "cohesion"
+ "cohesion",
};
const int numDBStateVars = 1;
- const char* dbStateVars[] = {
+ const char* dbStateVars[1] = {
"state-variable"
};
Modified: short/3D/PyLith/trunk/libsrc/friction/SlipWeakening.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/friction/SlipWeakening.cc 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/libsrc/friction/SlipWeakening.cc 2010-04-07 00:23:41 UTC (rev 16497)
@@ -54,16 +54,16 @@
// Values expected in spatial database
const int numDBProperties = 4;
- const char* dbProperties[] = { "static-coefficient",
- "dynamic-coefficient",
- "slip-weakening-parameter",
- "cohesion"
- };
+ const char* dbProperties[4] = { "static-coefficient",
+ "dynamic-coefficient",
+ "slip-weakening-parameter",
+ "cohesion",
+ };
const int numDBStateVars = 2;
- const char* dbStateVars[] = { "cumulative-slip",
- "previous-slip"
-};
+ const char* dbStateVars[2] = { "cumulative-slip",
+ "previous-slip",
+ };
} // _SlipWeakening
} // friction
Modified: short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/shearwave.cfg 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/shearwave.cfg 2010-04-07 00:23:41 UTC (rev 16497)
@@ -99,10 +99,10 @@
db_initial_tractions.values = [traction-shear,traction-normal]
db_initial_tractions.data = [-6001.0*MPa, -10000.0*MPa]
-friction = pylith.friction.StaticFriction
+friction = pylith.friction.SlipWeakening
friction.db_properties = spatialdata.spatialdb.UniformDB
-friction.db_properties.label = Static friction
+friction.db_properties.label = Slip weakening friction
friction.db_properties.values = [friction-coefficient,cohesion]
friction.db_properties.data = [0.6*m,0.0*Pa]
Modified: short/3D/PyLith/trunk/pylith/friction/SlipWeakening.py
===================================================================
--- short/3D/PyLith/trunk/pylith/friction/SlipWeakening.py 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/pylith/friction/SlipWeakening.py 2010-04-07 00:23:41 UTC (rev 16497)
@@ -36,7 +36,7 @@
FrictionModel.__init__(self, name)
self.availableFields = \
{'vertex': \
- {'info': ["static_coefficient","dynamic_coefficient","slip_weakening_parameter","cumulative_slip","previous_slip"],
+ {'info': ["static_coefficient","dynamic_coefficient","slip_weakening_parameter","cohesion"],
'data': []},
'cell': \
{'info': [],
Modified: short/3D/PyLith/trunk/pylith/friction/StaticFriction.py
===================================================================
--- short/3D/PyLith/trunk/pylith/friction/StaticFriction.py 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/pylith/friction/StaticFriction.py 2010-04-07 00:23:41 UTC (rev 16497)
@@ -36,7 +36,7 @@
FrictionModel.__init__(self, name)
self.availableFields = \
{'vertex': \
- {'info': ["friction_coefficient"],
+ {'info': ["friction_coefficient","cohesion"],
'data': []},
'cell': \
{'info': [],
Modified: short/3D/PyLith/trunk/tests/2d/quad4/README
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/README 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/tests/2d/quad4/README 2010-04-07 00:23:41 UTC (rev 16497)
@@ -2,36 +2,28 @@
DOMAIN
======================================================================
--400 <= x <= +400
--400 <= y <= +400
+-4000 <= x <= +4000
+-4000 <= y <= +4000
-Mesh is quad4 cells with nominal 100m discretization size.
+Mesh is quad4 cells with nominal 1000m discretization size.
-======================================================================
-AXIAL COMPRESSION
-======================================================================
-2-D axial compression test with linear quadrilateral cells.
+AXIAL COMPRESSION (axialdisp.cfg)
+ See axialdisp_soln.py
- Uy=-1.0 m
- ----------
- | |
-Ux=0.0 m | |
- | |
- | |
- ----------
- Uy=+1.0 m
+SHEAR (sheardisp.cfg)
+ See sheardisp_soln.py
-Dirichlet boundary conditions
- Ux(0,y) = 0.0
- Uy(x,-400) = +1.0 m
- Uy(x,+400) = -1.0 m
+DISLOCATION (dislocation.cfg)
+ See dislocation_soln.py
-Analytical solution
- Ux(x,y) = 0
- Uy(x,y) = -0.004 * y
+DISLOCATION2 (dislocation2.cfg)
+ See dislocation2_soln.py
+SMALL STRAIN RIGID BODY ROTATION (lgdeform_rigidbody.cfg)
+SMALL STRAIN COMPRESSION (lfdeform_traction.cfg)
+
======================================================================
SHEAR
======================================================================
@@ -55,7 +47,7 @@
Analytical solution
Ux(x,y) = 0
- Uy(x,y) = -0.004 * x
+ Uy(x,y) = -0.0025 * x
======================================================================
Modified: short/3D/PyLith/trunk/tests/2d/quad4/axialdisp_soln.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/axialdisp_soln.py 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/tests/2d/quad4/axialdisp_soln.py 2010-04-07 00:23:41 UTC (rev 16497)
@@ -14,6 +14,22 @@
##
## @brief Analytical solution to axial displacement problem.
+## 2-D axial compression test with linear quadrilateral cells.
+##
+## Uy=-a
+## ----------
+## | |
+## Ux=-b | |
+## | |
+## | |
+## ----------
+## Uy=+a
+##
+## Dirichlet boundary conditions
+## Ux(0,y) = -b
+## Uy(x,-4000) = +a
+## Uy(x,+4000) = -a
+
import numpy
# Physical properties
Modified: short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.cc 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.cc 2010-04-07 00:23:41 UTC (rev 16497)
@@ -32,14 +32,39 @@
} // setUp
// ----------------------------------------------------------------------
+// Test properties metadata.
+void
+pylith::friction::TestStaticFriction::testPropertiesMetadata(void)
+{ // testPropertiesMetadata
+ StaticFriction model;
+
+ CPPUNIT_ASSERT_EQUAL(2, model._metadata.numDBProperties());
+ const char* const* names = model._metadata.dbProperties();
+ CPPUNIT_ASSERT_EQUAL(std::string("friction-coefficient"),
+ std::string(names[0]));
+ CPPUNIT_ASSERT_EQUAL(std::string("cohesion"),
+ std::string(names[1]));
+} // testPropertiesMetadata
+
+// ----------------------------------------------------------------------
+// Test state variable metadata.
+void
+pylith::friction::TestStaticFriction::testStateVarsMetadata(void)
+{ // testStateVarsMetadata
+ StaticFriction model;
+
+ CPPUNIT_ASSERT_EQUAL(0, model._metadata.numDBStateVars());
+} // testStateVarsMetadata
+
+// ----------------------------------------------------------------------
// Test hasProperty().
void
pylith::friction::TestStaticFriction::testHasProperty(void)
{ // testHasProperty
- StaticFriction material;
+ StaticFriction model;
- CPPUNIT_ASSERT(material.hasProperty("friction_coefficient"));
- CPPUNIT_ASSERT(!material.hasProperty("aaa"));
+ CPPUNIT_ASSERT(model.hasProperty("friction_coefficient"));
+ CPPUNIT_ASSERT(!model.hasProperty("aaa"));
} // testHasProperty
// ----------------------------------------------------------------------
@@ -47,9 +72,9 @@
void
pylith::friction::TestStaticFriction::testHasStateVar(void)
{ // testHasStateVar
- StaticFriction material;
+ StaticFriction model;
- CPPUNIT_ASSERT(!material.hasStateVar("aaa"));
+ CPPUNIT_ASSERT(!model.hasStateVar("aaa"));
} // testHasStateVar
Modified: short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.hh 2010-04-06 23:55:38 UTC (rev 16496)
+++ short/3D/PyLith/trunk/unittests/libtests/friction/TestStaticFriction.hh 2010-04-07 00:23:41 UTC (rev 16497)
@@ -37,6 +37,8 @@
// CPPUNIT TEST SUITE /////////////////////////////////////////////////
CPPUNIT_TEST_SUITE( TestStaticFriction );
+ CPPUNIT_TEST( testPropertiesMetadata );
+ CPPUNIT_TEST( testStateVarsMetadata );
CPPUNIT_TEST( testDBToProperties );
CPPUNIT_TEST( testNonDimProperties );
CPPUNIT_TEST( testDimProperties );
@@ -56,6 +58,12 @@
/// Setup testing data.
void setUp(void);
+ /// Test properties metadata.
+ void testPropertiesMetadata(void);
+
+ /// Test state variable metadata.
+ void testStateVarsMetadata(void);
+
/// Test hasProperty().
void testHasProperty(void);
More information about the CIG-COMMITS
mailing list