[cig-commits] r16397 - in short/3D/PyLith/trunk/unittests/libtests/faults: . data
brad at geodynamics.org
brad at geodynamics.org
Tue Mar 9 16:05:14 PST 2010
Author: brad
Date: 2010-03-09 16:05:12 -0800 (Tue, 09 Mar 2010)
New Revision: 16397
Modified:
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/cohesivedyn.py
Log:
Updated unit tests for imposing initial fault tractions via integrateResidualAssembled(). Removes initial tractions from influencing unit tests because they affect Lagrange multiplier values, which are imposed in tests.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveDyn.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -187,27 +187,28 @@
tolerance);
} // for
- // Initial tractions
+ // Initial forces/tractions
if (0 != fault._dbInitialTract) {
- //fault._fields->get("initial traction").view("INITIAL TRACTIONS"); // DEBUGGING
- const ALE::Obj<RealSection>& tractionSection = fault._fields->get(
- "initial traction").section();
- CPPUNIT_ASSERT(!tractionSection.isNull());
+ fault._fields->get("initial forces").view("INITIAL FORCES"); // DEBUGGING
+ const ALE::Obj<RealSection>& forcesInitialSection =
+ fault._fields->get("initial forces").section();
+ CPPUNIT_ASSERT(!forcesInitialSection.isNull());
const int spaceDim = _data->spaceDim;
iVertex = 0;
for (SieveSubMesh::label_sequence::iterator v_iter = verticesBegin;
v_iter != verticesEnd;
++v_iter, ++iVertex) {
- const int fiberDim = tractionSection->getFiberDimension(*v_iter);
+ const int fiberDim = forcesInitialSection->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const double* tractionVertex = tractionSection->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != tractionVertex);
+ const double* forcesInitialVertex =
+ forcesInitialSection->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != forcesInitialVertex);
const double tolerance = 1.0e-06;
for (int i = 0; i < spaceDim; ++i) {
const int index = iVertex * spaceDim + i;
- CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->initialTractions[index],
- tractionVertex[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->forcesInitial[index],
+ forcesInitialVertex[i], tolerance);
} // for
} // for
} // if
@@ -645,7 +646,6 @@
SieveMesh::point_type meshVertex = -1;
bool found = false;
- // Test with dbInitialTract
for (SieveMesh::renumbering_type::const_iterator r_iter = renumberingBegin;
r_iter != renumberingEnd;
++r_iter) {
@@ -668,20 +668,15 @@
const double scale = 1.0 / _data->area[iVertex];
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const double tractionE =
- _data->initialTractions[iVertex*spaceDim+iDim] +
- dispVertex[iDim] * scale;
+ const double tractionE = dispVertex[iDim] * scale;
if (tractionE != 0.0)
CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, tractionsVertex[iDim]/tractionE,
- tolerance);
+ tolerance);
else
CPPUNIT_ASSERT_DOUBLES_EQUAL(tractionE, tractionsVertex[iDim],
tolerance);
} // for
} // for
-
- // Test without dbInitialTract
- // :TODO: STUFF GOES HERE (Brad)
} // testCalcTractions
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -34,7 +34,7 @@
fieldIncrOpen(0),
jacobian(0),
orientation(0),
- initialTractions(0),
+ forcesInitial(0),
area(0),
fieldIncrSlipE(0),
slipSlipE(0),
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynData.hh 2010-03-10 00:05:12 UTC (rev 16397)
@@ -69,7 +69,7 @@
//@{
double* orientation; ///< Expected values for fault orientation.
double* area; ///< Expected values for fault area.
- double* initialTractions; ///< Expected values for initial tractions.
+ double* forcesInitial; ///< Expected values for initial forces.
double* fieldIncrSlipE; ///< Expected values for solution increment for slipping case.
double* slipSlipE; ///< Expected values for slip for slipping case.
double* fieldIncrOpenE; ///< Expected values for solution increment for opening case.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -1339,11 +1339,11 @@
1.0, 1.0, 1.0, 1.0
};
-const double pylith::faults::CohesiveDynDataHex8::_initialTractions[] = {
- 1.063397471, 2.063397471, -3.063397471,
- 1.121132498, 2.121132498, -3.121132498,
- 1.178867525, 2.178867525, -3.178867525,
- 1.236602552, 2.236602552, -3.236602552
+const double pylith::faults::CohesiveDynDataHex8::_forcesInitial[] = {
+ 3.063397471, -1.063397471, -2.063397471,
+ 3.121132498, -1.121132498, -2.121132498,
+ 3.178867525, -1.178867525, -2.178867525,
+ 3.236602552, -1.236602552, -2.236602552,
};
@@ -1372,10 +1372,10 @@
1.5, 3.5, 29.5, // 15
1.7, 3.7, 29.7, // 16
1.9, 3.9, 29.9, // 17
- 1.4, 3.4, -29.4, // 18
- 1.6, 3.6, -29.6, // 19
- 1.8, 3.8, -29.8, // 20
- 1.0, 3.0, -29.0, // 21
+ 1.4, 3.4, -89.4, // 18
+ 1.6, 3.6, -89.6, // 19
+ 1.8, 3.8, -89.8, // 20
+ 1.0, 3.0, -89.0, // 21
};
// No change in fieldIncr
@@ -1426,17 +1426,17 @@
6.5, 8.5, 10.5, // 15
6.7, 8.7, 10.7, // 16
6.9, 8.9, 10.9, // 17
- -3.94113616, -5.44660605, -10.4, // 18
- -4.11249353, -5.62478649, -10.6, // 19
- -4.28408279, -5.80283922, -10.8, // 20
- -3.49677632, -4.95014952, -10.0, // 21
+ -5.04097437, -6.91927077, -10.4, // 18
+ -5.23905396, -7.12071099, -10.6, // 19
+ -5.4372421, -7.32208086, -10.8, // 20
+ -4.6451818, -6.516157, -10.0, // 21
};
const double pylith::faults::CohesiveDynDataHex8::_slipSlipE[] = {
- 20.68227232, 27.69321209, 0.0,
- 21.42498706, 28.44957298, 0.0,
- 22.16816557, 29.20567845, 0.0,
- 18.99355263, 25.90029904, 0.0,
+ 22.88194874, 30.63854153, 0.0,
+ 23.67810791, 31.44142198, 0.0,
+ 24.4744842, 32.24416172, 0.0,
+ 21.2903636, 29.032314, 0.0,
};
// ----------------------------------------------------------------------
@@ -1518,7 +1518,7 @@
jacobian = const_cast<double*>(_jacobian);
orientation = const_cast<double*>(_orientation);
area = const_cast<double*>(_area);
- initialTractions = const_cast<double*>(_initialTractions);
+ forcesInitial = const_cast<double*>(_forcesInitial);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataHex8.hh 2010-03-10 00:05:12 UTC (rev 16397)
@@ -61,7 +61,7 @@
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 _forcesInitial[]; ///< Expected values for initial forces.
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.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -316,9 +316,9 @@
1.0,
};
-const double pylith::faults::CohesiveDynDataQuad4::_initialTractions[] = {
- 1.05, -2.05,
- 1.05, -2.05,
+const double pylith::faults::CohesiveDynDataQuad4::_forcesInitial[] = {
+ 2.05, -1.05,
+ 2.05, -1.05,
};
@@ -375,14 +375,14 @@
9.6, 10.6,
9.7, 10.7, // 8
9.9, 10.9, // 9
- -8.8+3.05*0.6, -10.8, // 10
- -8.0+3.05*0.6, -10.0, // 11
+ -8.8+1.0*0.6, -10.8, // 10
+ -8.0+1.0*0.6, -10.0, // 11
};
// :TODO: Update slip values based on changes in Lagrange multiplier values
const double pylith::faults::CohesiveDynDataQuad4::_slipSlipE[] = {
- 33.54, 0.0,
- 30.34, 0.0,
+ 36.0, 0.0,
+ 32.8, 0.0,
};
// ----------------------------------------------------------------------
@@ -442,7 +442,7 @@
jacobian = const_cast<double*>(_jacobian);
orientation = const_cast<double*>(_orientation);
area = const_cast<double*>(_area);
- initialTractions = const_cast<double*>(_initialTractions);
+ forcesInitial = const_cast<double*>(_forcesInitial);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh 2010-03-10 00:05:12 UTC (rev 16397)
@@ -61,7 +61,7 @@
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 _forcesInitial[]; ///< Expected values for initial forces.
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.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -470,10 +470,10 @@
1.0/3.0,
};
-const double pylith::faults::CohesiveDynDataTet4::_initialTractions[] = {
- 1.1, 2.1, -3.1,
- 1.1, 2.1, -3.1,
- 1.1, 2.1, -3.1,
+const double pylith::faults::CohesiveDynDataTet4::_forcesInitial[] = {
+ 3.1/3.0, -1.1/3.0, -2.1/3.0,
+ 3.1/3.0, -1.1/3.0, -2.1/3.0,
+ 3.1/3.0, -1.1/3.0, -2.1/3.0,
};
@@ -531,15 +531,15 @@
8.6, 9.6, 10.6, // 7
8.8, 9.8, 10.8, // 8
8.0, 9.0, 10.0, // 9
- -6.88824796, -7.78925381, -10.7, // 10
- -7.0870762, -7.99029956, -10.9, // 11
- -6.29211869, -7.18581852, -10.1, // 12
+ -7.30077769, -8.25209204, -10.7, // 10
+ -7.50020141, -8.45260634, -10.9, // 11
+ -6.70268132, -7.65040255, -10.1, // 12
};
const double pylith::faults::CohesiveDynDataTet4::_slipSlipE[] = {
- 31.17649592, 34.97850762, 0.0,
- 31.9741524, 35.78059911, 0.0,
- 28.78423738, 32.57163703, 0.0,
+ 32.00155537, 35.90418407, 0.0,
+ 32.80040282, 36.70521268, 0.0,
+ 29.60536264, 33.5008051, 0.0,
};
// ----------------------------------------------------------------------
@@ -602,7 +602,7 @@
jacobian = const_cast<double*>(_jacobian);
orientation = const_cast<double*>(_orientation);
area = const_cast<double*>(_area);
- initialTractions = const_cast<double*>(_initialTractions);
+ forcesInitial = const_cast<double*>(_forcesInitial);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTet4.hh 2010-03-10 00:05:12 UTC (rev 16397)
@@ -61,7 +61,7 @@
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 _forcesInitial[]; ///< Expected values for initial forces.
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.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.cc 2010-03-10 00:05:12 UTC (rev 16397)
@@ -246,9 +246,9 @@
1.0,
};
-const double pylith::faults::CohesiveDynDataTri3::_initialTractions[] = {
- 1.05, -2.05,
- 1.05, -2.05,
+const double pylith::faults::CohesiveDynDataTri3::_forcesInitial[] = {
+ 2.05, -1.05,
+ 2.05, -1.05,
};
@@ -291,7 +291,6 @@
};
// Output
-// :TODO: Update Lagrange multiplier values
const double pylith::faults::CohesiveDynDataTri3::_fieldIncrSlipE[] = {
9.1, 10.1,
9.2, 10.2, // 3
@@ -299,14 +298,13 @@
9.4, 10.4,
9.5, 10.5, // 6
9.7, 10.7, // 7
- -8.6+3.05*0.6, -10.6, // 8
- -8.8+3.05*0.6, -10.8, // 9
+ -8.6+1.0*0.6, -10.6, // 8
+ -8.8+1.0*0.6, -10.8, // 9
};
-// :TODO: Update slip values based on changes in Lagrange multiplier values
const double pylith::faults::CohesiveDynDataTri3::_slipSlipE[] = {
- 32.74, 0.0,
- 33.54, 0.0,
+ 35.2, 0.0,
+ 36.0, 0.0,
};
// ----------------------------------------------------------------------
@@ -362,7 +360,7 @@
jacobian = const_cast<double*>(_jacobian);
orientation = const_cast<double*>(_orientation);
area = const_cast<double*>(_area);
- initialTractions = const_cast<double*>(_initialTractions);
+ forcesInitial = const_cast<double*>(_forcesInitial);
constraintVertices = const_cast<int*>(_constraintVertices);
numConstraintVert = _numConstraintVert;
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDynDataTri3.hh 2010-03-10 00:05:12 UTC (rev 16397)
@@ -61,7 +61,7 @@
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 _forcesInitial[]; ///< Expected values for initial forces.
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.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/cohesivedyn.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/cohesivedyn.py 2010-03-10 00:03:42 UTC (rev 16396)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/cohesivedyn.py 2010-03-10 00:05:12 UTC (rev 16397)
@@ -4,7 +4,56 @@
import numpy
# ----------------------------------------------------------------------
-if dim == "3d":
+if dim == "2d":
+ if cell == "tri3":
+
+ fieldT = numpy.array([[8.6, 9.6],
+ [8.8, 9.8]])
+ fieldIncr = numpy.array([[9.6, -10.6],
+ [9.8, -10.8]])
+ area = numpy.array([1.0, 1.0])
+
+
+ elif cell == "quad4":
+ fieldT = numpy.array([[8.8, 9.8],
+ [8.0, 9.0]])
+ fieldIncr = numpy.array([[9.8, -10.8],
+ [9.0, -10.0]])
+ area = numpy.array([1.0, 1.0])
+
+
+ # ------------------------------------------------------------------
+ fieldTpdt = fieldT + fieldIncr
+
+ tractionShear = fieldTpdt[:,0] / area
+ tractionNormal = fieldTpdt[:,1] / area
+
+ print "tractionShear",tractionShear
+ print "tractionNormal",tractionNormal
+
+ friction = -0.6 * tractionNormal;
+
+ print "friction",friction
+
+ lagrangeTpdt0 = friction * fieldTpdt[:,0] / tractionShear
+
+ lagrangeIncr0 = lagrangeTpdt0 - fieldT[:,0]
+
+ print "lagrangeIncr0",lagrangeIncr0
+
+ dlagrange0 = (tractionShear - friction) * fieldTpdt[:,0] / tractionShear
+
+ print "dlagrange0",dlagrange0
+
+ slipVertex0 = 2 * dlagrange0
+
+ print "slipVertex0",slipVertex0
+
+ print "fieldIncr",numpy.array([lagrangeIncr0]).transpose()
+ print "slip",numpy.array([slipVertex0]).transpose()
+
+# ----------------------------------------------------------------------
+elif dim == "3d":
if cell == "tet4":
fieldT = numpy.array([[7.7, 8.7, 9.7],
@@ -13,9 +62,6 @@
fieldIncr = numpy.array([[8.7, 9.7, -10.7],
[8.9, 9.9, -10.9],
[8.1, 9.1, -10.1]])
- initialTract = numpy.array([[1.1, 2.1, -3.1],
- [1.1, 2.1, -3.1],
- [1.1, 2.1, -3.1]])
area = numpy.array([1.0/3.0, 1.0/3.0, 1.0/3.0])
@@ -28,47 +74,14 @@
[6.6, 8.6, -10.6],
[6.8, 8.8, -10.8],
[6.0, 8.0, -10.0]])
- initialTract = numpy.array([[1.063397471, 2.063397471, -3.063397471],
- [1.121132498, 2.121132498, -3.121132498],
- [1.178867525, 2.178867525, -3.178867525],
- [1.236602552, 2.236602552, -3.236602552]])
area = numpy.array([1.0, 1.0, 1.0, 1.0])
- tp = numpy.array([9.4, 9.6, 9.8, 9])
- tdt = numpy.array([-10.4, -10.6, -10.8, -10])
- it = numpy.array([-3.0634, -3.12113, -3.17887, -3.2366])
-
- tps1 = numpy.array([5.4, 5.6, 5.8, 5])
- tps2 = numpy.array([7.4, 7.6, 7.8, 7])
- tdts1 = numpy.array([6.4, 6.6, 6.8, 6])
- tdts2 = numpy.array([8.4, 8.6, 8.8, 8])
- its1 = numpy.array([1.0634, 1.12113, 1.17887, 1.2366])
- its2 = numpy.array([2.0634, 2.12113, 2.17887, 2.2366])
-
- tpdts1 = tps1 + tdts1
- tpdts2 = tps2 + tdts2
-
- ts = (tpdts1**2 + tpdts2**2)**0.5
- nt = tp + tdt + it
-
- friction = -0.6 * nt
-
- dL0 = (ts - friction) * tpdts1 / ts;
- dL1 = (ts - friction) * tpdts2 / ts;
-
- slipVertex0 = 2 * dL0;
- slipVertex1 = 2 * dL1;
-
- tpdts1 = friction * tpdts1 / ts
- tpdts2 = friction * tpdts2 / ts
-
-
# ------------------------------------------------------------------
fieldTpdt = fieldT + fieldIncr
tractionShear = (fieldTpdt[:,0]**2 + fieldTpdt[:,1]**2)**0.5 / area
- tractionNormal = initialTract[:,2] + fieldTpdt[:,2] / area
+ tractionNormal = fieldTpdt[:,2] / area
print "tractionShear",tractionShear
print "tractionNormal",tractionNormal
More information about the CIG-COMMITS
mailing list