[cig-commits] r16143 - in short/3D/PyLith/trunk/unittests/libtests/faults: . data

surendra at geodynamics.org surendra at geodynamics.org
Mon Jan 18 14:16:37 PST 2010


Author: surendra
Date: 2010-01-18 14:16:36 -0800 (Mon, 18 Jan 2010)
New Revision: 16143

Added:
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/quad4_initialtract.spatialdb
Modified:
   short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am
Log:
Added Quad4 unittest for friction and test passed

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2010-01-18 17:51:54 UTC (rev 16142)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2010-01-18 22:16:36 UTC (rev 16143)
@@ -47,6 +47,7 @@
 	TestFaultCohesiveKinSrcsHex8.cc \
 	TestFaultCohesiveDynL.cc \
 	TestFaultCohesiveDynLTri3.cc \
+	TestFaultCohesiveDynLQuad4.cc \
 	test_faults.cc
 
 
@@ -75,7 +76,8 @@
 	TestFaultCohesiveKinSrcsTet4.hh \
 	TestFaultCohesiveKinSrcsHex8.hh \
 	TestFaultCohesiveDynL.hh \
-	TestFaultCohesiveDynLTri3.hh
+	TestFaultCohesiveDynLTri3.hh \
+	TestFaultCohesiveDynLQuad4.hh
 
 # Source files associated with testing data
 testfaults_SOURCES += \
@@ -134,7 +136,8 @@
 	data/CohesiveKinSrcsDataTet4.cc \
 	data/CohesiveKinSrcsDataHex8.cc \
 	data/CohesiveDynLData.cc \
-	data/CohesiveDynLDataTri3.cc
+	data/CohesiveDynLDataTri3.cc \
+	data/CohesiveDynLDataQuad4.cc
 
 noinst_HEADERS += \
 	data/CohesiveData.hh \
@@ -192,7 +195,8 @@
 	data/CohesiveKinSrcsDataTet4.hh \
 	data/CohesiveKinSrcsDataHex8.hh \
 	data/CohesiveDynLData.hh \
-	data/CohesiveDynLDataTri3.hh
+	data/CohesiveDynLDataTri3.hh \
+	data/CohesiveDynLDataQuad4.hh
 
 AM_CPPFLAGS = \
 	$(PYTHON_EGG_CPPFLAGS) -I$(PYTHON_INCDIR) \

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.cc	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.cc	2010-01-18 22:16:36 UTC (rev 16143)
@@ -0,0 +1,42 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestFaultCohesiveDynLQuad4.hh" // Implementation of class methods
+
+#include "data/CohesiveDynLDataQuad4.hh" // USES CohesiveDynLDataQuad4
+
+#include "pylith/topology/SubMesh.hh" // USES SubMesh
+#include "pylith/feassemble/Quadrature.hh" // USES Quadrature<SubMesh>
+#include "pylith/feassemble/GeometryLine2D.hh" // USES GeometryLine2D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestFaultCohesiveDynLQuad4 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::faults::TestFaultCohesiveDynLQuad4::setUp(void)
+{ // setUp
+  TestFaultCohesiveDynL::setUp();
+  _data = new CohesiveDynLDataQuad4();
+
+  CPPUNIT_ASSERT(0 != _quadrature);
+  feassemble::GeometryLine2D geometry;
+  _quadrature->refGeometry(&geometry);
+  
+  _flipFault = true;
+} // setUp
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.hh	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDynLQuad4.hh	2010-01-18 22:16:36 UTC (rev 16143)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/faults/TestFaultCohesiveDynLQuad4.hh
+ *
+ * @brief C++ TestFaultCohesiveDynLQuad4 object.
+ *
+ * C++ unit testing for FaultCohesiveDynL for mesh with 2-D quadrilateral cells.
+ */
+
+#if !defined(pylith_faults_testfaultcohesivedynlquad4_hh)
+#define pylith_faults_testfaultcohesivedynlquad4_hh
+
+#include "TestFaultCohesiveDynL.hh" // ISA TestFaultCohesiveDynL
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace faults {
+    class TestFaultCohesiveDynLQuad4;
+  } // bc
+} // pylith
+
+/// C++ unit testing for FaultCohesiveDynL for mesh with 2-D quadrilateral cells.
+class pylith::faults::TestFaultCohesiveDynLQuad4 : public TestFaultCohesiveDynL
+{ // class TestFaultCohesiveDynLQuad4
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestFaultCohesiveDynLQuad4 );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testConstrainSolnSpaceStick );
+  CPPUNIT_TEST( testConstrainSolnSpaceSlip );
+  CPPUNIT_TEST( testConstrainSolnSpaceOpen );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testCalcTractions );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestFaultCohesiveDynLQuad4
+
+#endif // pylith_faults_testfaultcohesivedynlquad4_hh
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.cc	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.cc	2010-01-18 22:16:36 UTC (rev 16143)
@@ -0,0 +1,472 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+
+/* Original mesh
+ *
+ * Cells are 0-1, vertices are 2-7.
+ *
+ *       3 -------- 5 -------- 7
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       2 -------- 4 -------- 6
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-1,10 vertices are 2-9.
+ *
+ *       3 -------- 5 -11-- 9 -------- 7
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       2 -------- 4 -10-- 8 -------- 6
+ */
+
+#include "CohesiveDynLDataQuad4.hh"
+
+const char* pylith::faults::CohesiveDynLDataQuad4::_meshFilename =
+  "data/quad4.mesh";
+
+const int pylith::faults::CohesiveDynLDataQuad4::_spaceDim = 2;
+
+const int pylith::faults::CohesiveDynLDataQuad4::_cellDim = 1;
+
+const int pylith::faults::CohesiveDynLDataQuad4::_numBasis = 2;
+
+const int pylith::faults::CohesiveDynLDataQuad4::_numQuadPts = 1;
+
+const double pylith::faults::CohesiveDynLDataQuad4::_quadPts[] = {
+  0.0,
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_quadWts[] = {
+  2.0,
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_basis[] = {
+  0.5,
+  0.5
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_basisDeriv[] = {
+  -0.5,
+   0.5
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_verticesRef[] = {
+  -1.0, 1.0
+};
+
+const int pylith::faults::CohesiveDynLDataQuad4::_id = 10;
+
+const char* pylith::faults::CohesiveDynLDataQuad4::_label = "fault";
+
+const char* pylith::faults::CohesiveDynLDataQuad4::_initialTractFilename = 
+  "data/quad4_initialtract.spatialdb";
+
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldT[] = {
+  8.1, 9.1,
+  8.2, 9.2,
+  8.3, 9.3, // 4
+  8.4, 9.4, // 5
+  8.5, 9.5,
+  8.6, 9.6,
+  8.7, 9.7, // 8
+  8.9, 9.9, // 9
+  8.8, 9.8, // 10
+  8.0, 9.0, // 11
+};
+
+// :TODO: Make sensible values for Jacobian for DOF on positive and
+// negative sides of the fault. Add semi-random values for other DOF.
+const double pylith::faults::CohesiveDynLDataQuad4::_jacobian[] = {
+  1.0, 0.0, // 2x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0, // 2y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 3x
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 3y
+  0.0, 1.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 4x
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0,-1.0, // 10
+  0.0, 0.0,
+  0.0, 0.0, // 4y
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+ -1.0, 0.0, //  10
+  0.0, 0.0,
+  0.0, 0.0, // 5x
+  0.0, 0.0,
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0,-1.0, //  11
+  0.0, 0.0, // 5y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+ -1.0, 0.0, //  11
+  0.0, 0.0, // 6x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 6y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 7x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 7y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 8x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, 
+  0.0, 0.0,
+  0.0, 0.0, 
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0,+1.0, //  10
+  0.0, 0.0,
+  0.0, 0.0, // 8y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+ +1.0, 0.0, // 10
+  0.0, 0.0,
+  0.0, 0.0, // 9x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 0.0,
+  0.0,+1.0, // 11
+  0.0, 0.0, // 9y
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 1.0,
+  0.0, 0.0,
+ +1.0, 0.0, // 11
+  0.0, 0.0, // 10x
+  0.0, 0.0,
+  0.0,-1.0, //  4
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0,+1.0, //  8
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 10y
+  0.0, 0.0,
+ -1.0, 0.0, //  4
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+ +1.0, 0.0, //  8
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 11x
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0,-1.0, //  5
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0,+1.0, //  9
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0, // 11y
+  0.0, 0.0,
+  0.0, 0.0,
+ -1.0, 0.0, //  5
+  0.0, 0.0,
+  0.0, 0.0,
+  0.0, 0.0,
+ +1.0, 0.0, // 9
+  0.0, 0.0,
+  0.0, 0.0,
+};
+
+// ----------------------------------------------------------------------
+// Computed values
+// ----------------------------------------------------------------------
+
+const double pylith::faults::CohesiveDynLDataQuad4::_orientation[] = {
+  0.0,  -1.0,  -1.0, 0.0,
+  0.0,  -1.0,  -1.0, 0.0
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_area[] = {
+  1.0,
+  1.0,
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_initialTractions[] = {
+  1.0, -2.0,
+  1.1, -2.1,
+};
+
+
+const int pylith::faults::CohesiveDynLDataQuad4::_numConstraintVert = 2;
+const int pylith::faults::CohesiveDynLDataQuad4::_constraintVertices[] = {
+  10, 11
+};
+const int pylith::faults::CohesiveDynLDataQuad4::_constraintCells[] = {
+  13, 13
+};
+
+// ----------------------------------------------------------------------
+// Stick case
+// ----------------------------------------------------------------------
+// Input
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldIncrStick[] = {
+  1.1, 29.1,
+  1.2, 29.2,
+  1.3, 29.3, // 4
+  1.4, 29.4, // 5
+  1.5, 29.5,
+  1.6, 29.6,
+  1.7, 29.7, // 8
+  1.9, 29.9, // 9
+  1.8, -29.8, // 10
+  1.0, -29.0, // 11
+};
+
+// No change in fieldIncr
+// Zero slip
+
+// ----------------------------------------------------------------------
+// Slip case
+// ----------------------------------------------------------------------
+// Input
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldIncrSlip[] = {
+  9.1, 10.1,
+  9.2, 10.2,
+  9.3, 10.3, // 4
+  9.4, 10.4, // 5
+  9.5, 10.5,
+  9.6, 10.6,
+  9.7, 10.7, // 8
+  9.9, 10.9, // 9
+  9.8, -10.8, // 10
+  9.0, -10.0, // 11
+};
+
+// Output
+// :TODO: Update Lagrange multiplier values
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldIncrSlipE[] = {
+  9.1, 10.1,
+  9.2, 10.2,
+  9.3, 10.3, // 4
+  9.4, 10.4, // 5
+  9.5, 10.5,
+  9.6, 10.6,
+  9.7, 10.7, // 8
+  9.9, 10.9, // 9
+  -7.0, -10.8, // 10
+  -6.14, -10.0, // 11
+};
+
+// :TODO: Update slip values based on changes in Lagrange multiplier values
+const double pylith::faults::CohesiveDynLDataQuad4::_slipSlipE[] = {
+  33.6, 0.0,
+  30.28, 0.0,
+};
+
+// ----------------------------------------------------------------------
+// Open case
+// ----------------------------------------------------------------------
+// Input
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldIncrOpen[] = {
+  9.1, 10.1,
+  9.2, 10.2,
+  9.3, 10.3, // 4
+  9.4, 10.4, // 5
+  9.5, 10.5,
+  9.6, 10.6,
+  9.7, 10.7, // 8
+  9.9, 10.9, // 9
+  9.8, 10.8, // 10
+  9.0, 10.0, // 11
+};
+
+// Output
+const double pylith::faults::CohesiveDynLDataQuad4::_fieldIncrOpenE[] = {
+  9.1, 10.1,
+  9.2, 10.2,
+  9.3, 10.3, // 4
+  9.4, 10.4, // 5
+  9.5, 10.5,
+  9.6, 10.6,
+  9.7, 10.7, // 8
+  9.9, 10.9, // 9
+  -8.8, -9.8, // 10
+  -8.0, -9.0, // 11
+};
+
+const double pylith::faults::CohesiveDynLDataQuad4::_slipOpenE[] = {
+  37.2, 41.2,
+  34.0, 38.0,
+};
+
+// ----------------------------------------------------------------------
+pylith::faults::CohesiveDynLDataQuad4::CohesiveDynLDataQuad4(void)
+{ // constructor
+  meshFilename = const_cast<char*>(_meshFilename);
+  spaceDim = _spaceDim;
+  cellDim = _cellDim;
+  numBasis = _numBasis;
+  numQuadPts = _numQuadPts;
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  verticesRef = const_cast<double*>(_verticesRef);
+  id = _id;
+  label = const_cast<char*>(_label);
+  initialTractFilename = const_cast<char*>(_initialTractFilename);
+
+  fieldT = const_cast<double*>(_fieldT);
+  jacobian = const_cast<double*>(_jacobian);
+  orientation = const_cast<double*>(_orientation);
+  area = const_cast<double*>(_area);
+  initialTractions = const_cast<double*>(_initialTractions);
+
+  constraintVertices = const_cast<int*>(_constraintVertices);
+  constraintCells = const_cast<int*>(_constraintCells);
+  numConstraintVert = _numConstraintVert;  
+
+  // Stick
+  fieldIncrStick = const_cast<double*>(_fieldIncrStick);
+
+  // Slip
+  fieldIncrSlip = const_cast<double*>(_fieldIncrSlip);
+  fieldIncrSlipE = const_cast<double*>(_fieldIncrSlipE);
+  slipSlipE = const_cast<double*>(_slipSlipE);
+
+  // Open
+  fieldIncrOpen = const_cast<double*>(_fieldIncrOpen);
+  fieldIncrOpenE = const_cast<double*>(_fieldIncrOpenE);
+  slipOpenE = const_cast<double*>(_slipOpenE);
+} // constructor
+
+pylith::faults::CohesiveDynLDataQuad4::~CohesiveDynLDataQuad4(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.hh	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynLDataQuad4.hh	2010-01-18 22:16:36 UTC (rev 16143)
@@ -0,0 +1,78 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedynldataquad4_hh)
+#define pylith_faults_cohesivedynldataquad4_hh
+
+#include "CohesiveDynLData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDynLDataQuad4;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDynLDataQuad4 : public CohesiveDynLData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDynLDataQuad4(void);
+
+  /// Destructor
+  ~CohesiveDynLDataQuad4(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const char* _meshFilename; ///< Filename of input mesh
+
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const int _numBasis; ///< Number of vertices in cell
+  static const int _numQuadPts; ///< Number of quadrature points
+  static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
+  static const double _quadWts[]; ///< Weights of quadrature points
+  static const double _basis[]; ///< Basis fns at quadrature points
+  static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+  static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+
+  static const int _id; ///< Fault material identifier
+  static const char* _label; ///< Label for fault
+  static const char* _initialTractFilename; ///< Name of db for initial tractions.
+
+  static const double _fieldT[]; ///< Solution field at time t.
+  static const double _fieldIncrStick[]; ///< Solution increment at time t for stick case.
+  static const double _fieldIncrSlip[]; ///< Solution increment at time t for slip case.
+  static const double _fieldIncrOpen[]; ///< Solution increment at time t for opening case.
+  static const double _jacobian[]; ///< Jacobian sparse matrix.
+
+  static const double _orientation[]; ///< Expected values for fault orientation.
+  static const double _area[]; ///< Expected values for fault area.
+  static const double _initialTractions[]; ///< Expected values for initial tractions.
+  static const double _fieldIncrSlipE[]; ///< Expected values for solution increment for slip case.
+  static const double _slipSlipE[]; ///< Expected values for slip for slip case.
+  static const double _fieldIncrOpenE[]; ///< Expected values for solution increment for opening case.
+  static const double _slipOpenE[]; ///< Expected values for slip for opening case.
+  static const int _constraintVertices[]; ///< Expected points for constraint vertices
+  static const int _constraintCells[]; ///< Expected cells for constraint vertices
+  static const int _numConstraintVert; ///< Number of constraint vertices
+
+};
+
+#endif // pylith_faults_cohesivedynldataquad4_hh
+
+
+// End of file

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am	2010-01-18 17:51:54 UTC (rev 16142)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am	2010-01-18 22:16:36 UTC (rev 16143)
@@ -49,6 +49,7 @@
 	quad4e_finalslip.spatialdb \
 	quad4e_sliptime.spatialdb \
 	quad4e_risetime.spatialdb \
+	quad4_initialtract.spatialdb \
 	tet4.mesh \
 	tet4b.mesh \
 	tet4c.mesh \

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/quad4_initialtract.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/quad4_initialtract.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/quad4_initialtract.spatialdb	2010-01-18 22:16:36 UTC (rev 16143)
@@ -0,0 +1,15 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  traction-shear traction-normal
+  value-units =  Pa   Pa
+  num-locs = 2
+  data-dim = 1
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+0.0  -1.0   1.0   -2.0
+0.0  +1.0   1.1   -2.1



More information about the CIG-COMMITS mailing list