[cig-commits] r13396 - short/3D/PyLith/trunk/unittests/libtests/faults
brad at geodynamics.org
brad at geodynamics.org
Tue Nov 25 11:29:32 PST 2008
Author: brad
Date: 2008-11-25 11:29:32 -0800 (Tue, 25 Nov 2008)
New Revision: 13396
Modified:
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
Log:
Updated unit tests for changes in integrating residual for fault.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2008-11-25 18:26:05 UTC (rev 13395)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2008-11-25 19:29:32 UTC (rev 13396)
@@ -264,9 +264,21 @@
residual->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
- for (int i=0; i < fiberDimE; ++i) {
+ const bool isConstraint = _isConstraintVertex(*v_iter);
+ if (!isConstraint) {
+ const double pseudoStiffness = _data->pseudoStiffness;
+ for (int i=0; i < fiberDimE; ++i) {
+ const int index = iVertex*spaceDim+i;
+ const double valE = valsE[index] * pseudoStiffness;
+ if (valE > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ } // for
+ } else {
const double valE = 0.0; // no contribution
- CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ for (int i=0; i < fiberDimE; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
} // for
} // for
} // Integrate residual with solution (as opposed to solution increment).
@@ -292,9 +304,21 @@
residual->restrictPoint(*v_iter);
CPPUNIT_ASSERT(0 != vals);
- for (int i=0; i < fiberDimE; ++i) {
+ const bool isConstraint = _isConstraintVertex(*v_iter);
+ if (!isConstraint) {
+ const double pseudoStiffness = _data->pseudoStiffness;
+ for (int i=0; i < fiberDimE; ++i) {
+ const int index = iVertex*spaceDim+i;
+ const double valE = valsE[index] * pseudoStiffness;
+ if (valE > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ } // for
+ } else {
const double valE = 0.0; // no contribution
- CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ for (int i=0; i < fiberDimE; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
} // for
} // for
} // Integrate residual with solution increment.
@@ -442,7 +466,7 @@
fault.timeStep(dt);
{ // Integrate residual with solution (as opposed to solution increment).
fault.useSolnIncr(false);
- fault.integrateResidual(residual, t, &fields, mesh, &cs);
+ fault.integrateResidualAssembled(residual, t, &fields, mesh, &cs);
//residual->view("RESIDUAL"); // DEBUGGING
@@ -461,23 +485,28 @@
CPPUNIT_ASSERT(0 != vals);
const bool isConstraint = _isConstraintVertex(*v_iter);
- const double pseudoStiffness =
- (!isConstraint) ? _data->pseudoStiffness : 1.0;
- for (int i=0; i < fiberDimE; ++i) {
- const int index = iVertex*spaceDim+i;
- const double valE = valsE[index] * pseudoStiffness;
- if (valE > tolerance)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
- else
+ if (!isConstraint) {
+ const double valE = 0.0;
+ for (int i=0; i < fiberDimE; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
- } // for
+ } else {
+ const double pseudoStiffness = _data->pseudoStiffness;
+ for (int i=0; i < fiberDimE; ++i) {
+ const int index = iVertex*spaceDim+i;
+ const double valE = valsE[index] * pseudoStiffness;
+ if (valE > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ } // for
+ } // if/else
} // for
} // Integrate residual with solution (as opposed to solution increment).
residual->zero();
{ // Integrate residual with solution increment.
fault.useSolnIncr(true);
- fault.integrateResidual(residual, t, &fields, mesh, &cs);
+ fault.integrateResidualAssembled(residual, t, &fields, mesh, &cs);
//residual->view("RESIDUAL"); // DEBUGGING
@@ -496,16 +525,21 @@
CPPUNIT_ASSERT(0 != vals);
const bool isConstraint = _isConstraintVertex(*v_iter);
- const double pseudoStiffness =
- (!isConstraint) ? _data->pseudoStiffness : 1.0;
- for (int i=0; i < fiberDimE; ++i) {
- const int index = iVertex*spaceDim+i;
- const double valE = valsE[index] * pseudoStiffness;
- if (valE > tolerance)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
- else
+ if (!isConstraint) {
+ const double valE = 0.0;
+ for (int i=0; i < fiberDimE; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
- } // for
+ } else {
+ const double pseudoStiffness = _data->pseudoStiffness;
+ for (int i=0; i < fiberDimE; ++i) {
+ const int index = iVertex*spaceDim+i;
+ const double valE = valsE[index] * pseudoStiffness;
+ if (valE > tolerance)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
+ } // for
+ } // if/else
} // for
} // Integrate residual with solution increment.
} // testIntegrateResidualAssembled
@@ -701,28 +735,8 @@
} // for
CPPUNIT_ASSERT(found);
- // Check _cumSoln
- int fiberDim = fault._cumSoln->getFiberDimension(*v_iter);
- CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
- const real_section_type::value_type* solutionV =
- fault._cumSoln->restrictPoint(*v_iter);
- CPPUNIT_ASSERT(0 != solutionV);
-
- const real_section_type::value_type* solutionE =
- solution->restrictPoint(meshVertex);
- CPPUNIT_ASSERT(0 != solutionE);
-
- for (int iDim=0; iDim < spaceDim; ++iDim) {
- if (solutionE[iDim] > 1.0)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, solutionV[iDim]/solutionE[iDim],
- tolerance);
- else
- CPPUNIT_ASSERT_DOUBLES_EQUAL(solutionE[iDim], solutionV[iDim],
- tolerance);
- } // for
-
// Check _cumSlip
- fiberDim = fault._cumSlip->getFiberDimension(*v_iter);
+ int fiberDim = fault._cumSlip->getFiberDimension(*v_iter);
CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
const real_section_type::value_type* slipV =
fault._cumSlip->restrictPoint(*v_iter);
@@ -788,7 +802,7 @@
fault._faultMesh->allocate(tractions);
const double t = 0;
fault.updateState(t, &fields, mesh);
- fault._calcTractionsChange(&tractions);
+ fault._calcTractionsChange(&tractions, mesh, solution);
int iVertex = 0;
const double tolerance = 1.0e-06;
More information about the CIG-COMMITS
mailing list