[cig-commits] r11639 - in short/3D/PyLith/trunk: libsrc/faults pylith/faults pylith/meshio unittests/libtests/faults unittests/libtests/faults/data
brad at geodynamics.org
brad at geodynamics.org
Sun Mar 30 12:27:52 PDT 2008
Author: brad
Date: 2008-03-30 12:27:52 -0700 (Sun, 30 Mar 2008)
New Revision: 11639
Modified:
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh
short/3D/PyLith/trunk/pylith/faults/FaultCohesiveKin.py
short/3D/PyLith/trunk/pylith/meshio/OutputFaultKin.py
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh
short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
Log:
Fixed calculation of change in tractions. Switched to projecting tractions to vertices (cell field -> vertex field). Added area field as member of FaultCohesiveKin. Added corresponding unit tests.
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveDyn.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -148,7 +148,7 @@
{ // cellField
// Should not reach this point if requested field was found
std::ostringstream msg;
- msg << "Request for unknown vertex field '" << name
+ msg << "Request for unknown cell field '" << name
<< "' for fault '" << label() << ".";
throw std::runtime_error(msg.str());
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -91,6 +91,9 @@
// Compute orientation at vertices in fault mesh.
_calcOrientation(upDir, normalDir);
+ // Compute tributary area for each vertex in fault mesh.
+ _calcArea();
+
_eqsrc->initialize(_faultMesh, cs);
} // initialize
@@ -455,6 +458,11 @@
_bufferVertexScalar = _eqsrc->slipTime();
*fieldType = SCALAR_FIELD;
return _bufferVertexScalar;
+ } else if (0 == strcasecmp("traction_change", name)) {
+ *fieldType = VECTOR_FIELD;
+ const ALE::Obj<real_section_type>& solution = fields->getSolution();
+ _calcTractionsChange(&_bufferVertexVector, solution);
+ return _bufferVertexVector;
} else {
std::ostringstream msg;
@@ -470,40 +478,19 @@
// ----------------------------------------------------------------------
// Get cell field associated with integrator.
const ALE::Obj<pylith::real_section_type>&
-pylith::faults::FaultCohesiveKin::cellField(
- VectorFieldEnum* fieldType,
- const char* name,
- const ALE::Obj<Mesh>& mesh,
- topology::FieldsManager* fields)
+pylith::faults::FaultCohesiveKin::cellField(VectorFieldEnum* fieldType,
+ const char* name,
+ const ALE::Obj<Mesh>& mesh,
+ topology::FieldsManager* fields)
{ // cellField
- assert(!_faultMesh.isNull());
- assert(!_orientation.isNull());
- assert(0 != fields);
- assert(0 != _eqsrc);
-
- const int cohesiveDim = _faultMesh->getDimension();
-
- if (0 == strcasecmp("traction_change", name)) {
- _allocateBufferCellOther();
- *fieldType = OTHER_FIELD;
- const ALE::Obj<real_section_type>& solution = fields->getSolution();
- _calcTractionsChange(&_bufferCellOther, solution);
- return _bufferCellOther;
- } else {
- std::ostringstream msg;
- msg << "Request for unknown cell field '" << name
- << "' for fault '" << label() << "'.";
- throw std::runtime_error(msg.str());
- } // else
-
// Should not reach this point if requested field was found
std::ostringstream msg;
- msg << "Request for unknown vertex field '" << name
- << "' for fault '" << label() << "'.";
+ msg << "Request for unknown cell field '" << name
+ << "' for fault '" << label() << ".";
throw std::runtime_error(msg.str());
// Return generic section to satisfy member function definition.
- return _bufferCellOther;
+ //return _outputCellVector;
} // cellField
// ----------------------------------------------------------------------
@@ -545,7 +532,8 @@
assert(cohesiveDim == _quadrature->cellDim());
assert(spaceDim == _quadrature->spaceDim());
- // Loop over cohesive cells, computing orientation at constraint vertices
+ // Loop over cohesive cells, computing orientation weighted by
+ // jacobian at constraint vertices
const int numBasis = _quadrature->numBasis();
const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
const double_array& verticesRef = cellGeometry.vertices();
@@ -792,6 +780,77 @@
} // _calcConditioning
// ----------------------------------------------------------------------
+void
+pylith::faults::FaultCohesiveKin::_calcArea(void)
+{ // _calcArea
+ assert(!_faultMesh.isNull());
+
+ // Get vertices in fault mesh
+ const ALE::Obj<Mesh::label_sequence>& vertices =
+ _faultMesh->depthStratum(0);
+ const Mesh::label_sequence::iterator verticesEnd = vertices->end();
+ const int numVertices = vertices->size();
+
+ _area = new real_section_type(_faultMesh->comm(),
+ _faultMesh->debug());
+ assert(!_area.isNull());
+ _area->setFiberDimension(vertices, 1);
+ _faultMesh->allocate(_area);
+
+ // Get fault cells (1 dimension lower than top-level cells)
+ const ALE::Obj<Mesh::label_sequence>& cells =
+ _faultMesh->heightStratum(0);
+ assert(!cells.isNull());
+ const Mesh::label_sequence::iterator cellsEnd = cells->end();
+
+ // Get section containing coordinates of vertices
+ const ALE::Obj<real_section_type>& coordinates =
+ _faultMesh->getRealSection("coordinates");
+ assert(!coordinates.isNull());
+
+ // Containers for area information
+ const int cellDim = _quadrature->cellDim();
+ const int numBasis = _quadrature->numBasis();
+ const int numQuadPts = _quadrature->numQuadPts();
+ const int spaceDim = _quadrature->spaceDim();
+ const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
+ const double_array& quadWts = _quadrature->quadWts();
+ assert(quadWts.size() == numQuadPts);
+ const int jacobianSize = (cellDim > 0) ? spaceDim * cellDim : 1;
+ double_array jacobian(jacobianSize);
+ double jacobianDet = 0;
+ double_array cellArea(numBasis);
+ double_array cellVertices(numBasis*spaceDim);
+
+ // Loop over cells in fault mesh, compute area
+ for(Mesh::label_sequence::iterator c_iter = cells->begin();
+ c_iter != cellsEnd;
+ ++c_iter) {
+ _quadrature->computeGeometry(_faultMesh, coordinates, *c_iter);
+ cellArea = 0.0;
+
+ // Get cell geometry information that depends on cell
+ const double_array& basis = _quadrature->basis();
+ const double_array& jacobianDet = _quadrature->jacobianDet();
+
+ // Compute action for traction bc terms
+ for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
+ const double wt = quadWts[iQuad] * jacobianDet[iQuad];
+ for (int iBasis=0; iBasis < numBasis; ++iBasis) {
+ const double dArea = wt*basis[iQuad*numBasis+iBasis];
+ cellArea[iBasis] += dArea;
+ } // for
+ } // for
+ _faultMesh->updateAdd(_area, *c_iter, &cellArea[0]);
+
+ PetscLogFlopsNoCheck( numQuadPts*(1+numBasis*2) );
+ } // for
+
+ // Assemble area information
+ ALE::Distribution<Mesh>::completeSection(_faultMesh, _area);
+} // _calcArea
+
+// ----------------------------------------------------------------------
// Compute change in tractions on fault surface using solution.
void
pylith::faults::FaultCohesiveKin::_calcTractionsChange(
@@ -803,37 +862,44 @@
assert(!solution.isNull());
assert(!_faultMesh.isNull());
assert(!_pseudoStiffness.isNull());
- assert(0 != _quadrature);
+ assert(!_area.isNull());
- const ALE::Obj<Mesh::label_sequence>& cells =
- _faultMesh->heightStratum(0);
- const Mesh::label_sequence::iterator cellsEnd = cells->end();
-
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int numQuadPts = _quadrature->numQuadPts();
- const double_array& basis = _quadrature->basis();
+ const ALE::Obj<Mesh::label_sequence>& vertices =
+ _faultMesh->depthStratum(0);
+ assert(!vertices.isNull());
+ const Mesh::label_sequence::iterator verticesEnd = vertices->end();
+ const int numVertices = vertices->size();
- double_array solutionCell(numBasis*spaceDim);
- double_array stiffnessCell(numBasis);
- double_array tractionsCell(numQuadPts*spaceDim);
+ const int fiberDim = solution->getFiberDimension(*vertices->begin());
+ double_array tractionValues(fiberDim);
- int count = 0;
- for (Mesh::label_sequence::iterator c_iter=cells->begin();
- c_iter != cellsEnd;
- ++c_iter, ++count) {
- _faultMesh->restrict(solution, *c_iter,
- &solutionCell[0], solutionCell.size());
- _faultMesh->restrict(_pseudoStiffness, *c_iter,
- &stiffnessCell[0], stiffnessCell.size());
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad)
- for (int iBasis=0; iBasis < numBasis; ++iBasis)
- for (int iDim=0; iDim < spaceDim; ++iDim)
- tractionsCell[iQuad*spaceDim+iDim] = basis[iBasis] *
- solutionCell[iBasis*spaceDim+iDim] * stiffnessCell[iBasis];
- (*tractions)->updatePoint(*c_iter, &tractionsCell[0]);
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter) {
+ assert(fiberDim == solution->getFiberDimension(*v_iter));
+ assert(fiberDim == (*tractions)->getFiberDimension(*v_iter));
+ assert(1 == _pseudoStiffness->getFiberDimension(*v_iter));
+ assert(1 == _area->getFiberDimension(*v_iter));
+
+ const real_section_type::value_type* solutionValues =
+ solution->restrictPoint(*v_iter);
+ assert(0 != solutionValues);
+ const real_section_type::value_type* pseudoStiffValue =
+ _pseudoStiffness->restrictPoint(*v_iter);
+ assert(0 != _pseudoStiffness);
+ const real_section_type::value_type* areaValue =
+ _area->restrictPoint(*v_iter);
+ assert(0 != _area);
+
+ const double scale = pseudoStiffValue[0] / areaValue[0];
+ for (int i=0; i < fiberDim; ++i)
+ tractionValues[i] = solutionValues[i] * scale;
+
+ (*tractions)->updatePoint(*v_iter, &tractionValues[0]);
} // for
+ PetscLogFlopsNoCheck(numVertices * (1 + fiberDim) );
+
//solution->view("SOLUTION");
//(*tractions)->view("TRACTIONS");
} // _calcTractionsChange
@@ -871,24 +937,5 @@
} // if
} // _allocateBufferVertexVector
-// ----------------------------------------------------------------------
-// Allocate vector field for output of cell information.
-void
-pylith::faults::FaultCohesiveKin::_allocateBufferCellOther(void)
-{ // _allocateBufferCellOther
- assert(0 != _quadrature);
- const int numQuadPts = _quadrature->numQuadPts();
- const int spaceDim = _quadrature->spaceDim();
- const int fiberDim = numQuadPts * spaceDim;
- if (_bufferCellOther.isNull()) {
- _bufferCellOther = new real_section_type(_faultMesh->comm(),
- _faultMesh->debug());
- const ALE::Obj<Mesh::label_sequence>& cells =
- _faultMesh->heightStratum(0);
- _bufferCellOther->setFiberDimension(cells, fiberDim);
- _faultMesh->allocate(_bufferCellOther);
- } // if
-} // _allocateBufferCellOther
-
// End of file
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -193,6 +193,9 @@
void _calcConditioning(const spatialdata::geocoords::CoordSys* cs,
spatialdata::spatialdb::SpatialDB* matDB);
+ /// Calculate fault area field.
+ void _calcArea(void);
+
/** Compute change in tractions on fault surface using solution.
*
* @param tractions Field for tractions.
@@ -207,9 +210,6 @@
/// Allocate vector field for output of vertex information.
void _allocateBufferVertexVector(void);
- /// Allocate other field for output of cell information.
- void _allocateBufferCellOther(void);
-
// NOT IMPLEMENTED ////////////////////////////////////////////////////
private :
@@ -229,6 +229,9 @@
/// Jacobian matrix.
ALE::Obj<real_section_type> _pseudoStiffness;
+ /// Field over fault mesh vertices of area associated with each vertex.
+ ALE::Obj<real_section_type> _area;
+
/// Field over the fault mesh vertices of orientation of fault
/// surface.
ALE::Obj<real_section_type> _orientation;
@@ -250,9 +253,6 @@
/// Vector field for vertex information over fault mesh.
ALE::Obj<real_section_type> _bufferVertexVector;
- /// Vector field for cell information over fault mesh.
- ALE::Obj<real_section_type> _bufferCellOther;
-
}; // class FaultCohesiveKin
#include "FaultCohesiveKin.icc" // inline methods
Modified: short/3D/PyLith/trunk/pylith/faults/FaultCohesiveKin.py
===================================================================
--- short/3D/PyLith/trunk/pylith/faults/FaultCohesiveKin.py 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/pylith/faults/FaultCohesiveKin.py 2008-03-30 19:27:52 UTC (rev 11639)
@@ -76,10 +76,10 @@
{'info': ["normal_dir",
"final_slip",
"slip_time"],
- 'data': ["slip"]},
+ 'data': ["slip", "traction_change"]},
'cell': \
{'info': [],
- 'data': ["traction_change"]}}
+ 'data': []}}
return
Modified: short/3D/PyLith/trunk/pylith/meshio/OutputFaultKin.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputFaultKin.py 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputFaultKin.py 2008-03-30 19:27:52 UTC (rev 11639)
@@ -41,8 +41,6 @@
## \b Properties
## @li \b vertex_info_fields Names of vertex info fields to output.
## @li \b vertex_data_fields Names of vertex data fields to output.
- ## @li \b cell_info_fields Names of cell info fields to output.
- ## @li \b cell_data_fields Names of cell data fields to output.
##
## \b Facilities
## @li None
@@ -56,17 +54,9 @@
vertexInfoFields.meta['tip'] = "Names of vertex info fields to output."
vertexDataFields = pyre.inventory.list("vertex_data_fields",
- default=["slip"])
+ default=["slip","traction_change"])
vertexDataFields.meta['tip'] = "Names of vertex data fields to output."
- cellInfoFields = pyre.inventory.list("cell_info_fields", default=[])
- cellInfoFields.meta['tip'] = "Names of cell info fields to output."
-
- cellDataFields = pyre.inventory.list("cell_data_fields",
- default=["traction_change"])
- cellDataFields.meta['tip'] = "Names of cell data fields to output."
-
-
# PUBLIC METHODS /////////////////////////////////////////////////////
def __init__(self, name="outputfaultkin"):
@@ -86,8 +76,6 @@
OutputManager._configure(self)
self.vertexInfoFields = self.inventory.vertexInfoFields
self.vertexDataFields = self.inventory.vertexDataFields
- self.cellInfoFields = self.inventory.cellInfoFields
- self.cellDataFields = self.inventory.cellDataFields
return
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -150,6 +150,22 @@
} // for
} // for
+ // Check area
+ iVertex = 0;
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++iVertex) {
+ const int fiberDim = fault._area->getFiberDimension(*v_iter);
+ CPPUNIT_ASSERT_EQUAL(1, fiberDim);
+ const real_section_type::value_type* vertexArea =
+ fault._area->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != vertexArea);
+
+ const double tolerance = 1.0e-06;
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->area[iVertex], vertexArea[0],
+ tolerance);
+ } // for
+
// Check pairing of constraint vertices with cells
iVertex = 0;
for (Mesh::label_sequence::iterator v_iter=vertices->begin();
@@ -389,6 +405,83 @@
} // testIntegrateJacobian
// ----------------------------------------------------------------------
+// Test integrateJacobian().
+void
+pylith::faults::TestFaultCohesiveKin::testCalcTractionsChange(void)
+{ // testCalcTractionsChange
+ ALE::Obj<Mesh> mesh;
+ FaultCohesiveKin fault;
+ _initialize(&mesh, &fault);
+
+ // Setup fields
+ topology::FieldsManager fields(mesh);
+ fields.addReal("solution");
+ fields.solutionField("solution");
+
+ const int spaceDim = _data->spaceDim;
+ const ALE::Obj<real_section_type>& solution = fields.getReal("solution");
+ { // setup solution
+ CPPUNIT_ASSERT(!solution.isNull());
+ solution->setFiberDimension(mesh->depthStratum(0), spaceDim);
+ mesh->allocate(solution);
+ solution->zero();
+ fields.copyLayout("solution");
+
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ CPPUNIT_ASSERT(!vertices.isNull());
+ const Mesh::label_sequence::iterator verticesEnd = vertices->end();
+ int iVertex = 0;
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++iVertex) {
+ solution->updatePoint(*v_iter, &_data->fieldT[iVertex*spaceDim]);
+ } // for
+ } // setup solution
+
+ ALE::Obj<real_section_type> tractions =
+ new real_section_type(fault._faultMesh->comm(), fault._faultMesh->debug());
+ CPPUNIT_ASSERT(!tractions.isNull());
+ const ALE::Obj<Mesh::label_sequence>& vertices =
+ fault._faultMesh->depthStratum(0);
+ const Mesh::label_sequence::iterator verticesEnd = vertices->end();
+ tractions->setFiberDimension(vertices, spaceDim);
+ fault._faultMesh->allocate(tractions);
+
+ fault._calcTractionsChange(&tractions, solution);
+ tractions->view("TRACTIONS");
+
+ int iVertex = 0;
+ const double tolerance = 1.0e-06;
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++iVertex) {
+ int fiberDim = tractions->getFiberDimension(*v_iter);
+ CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
+ const real_section_type::value_type* vertexTractions =
+ tractions->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != vertexTractions);
+
+ fiberDim = solution->getFiberDimension(*v_iter);
+ CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
+ const real_section_type::value_type* vertexSolution =
+ solution->restrictPoint(*v_iter);
+ CPPUNIT_ASSERT(0 != vertexSolution);
+
+ const double scale = _data->pseudoStiffness / _data->area[iVertex];
+ for (int iDim=0; iDim < spaceDim; ++iDim) {
+ const double tractionE = vertexSolution[iDim] * scale;
+ std::cout << "iVertex: " << iVertex << ", tractionE: " << tractionE << ", traction: " << vertexTractions[iDim] << std::endl;
+ if (tractionE > 1.0)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vertexTractions[iDim]/tractionE,
+ tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(tractionE, vertexTractions[iDim],
+ tolerance);
+ } // for
+ } // for
+} // testCalcTractionsChange
+
+// ----------------------------------------------------------------------
// Initialize FaultCohesiveKin interface condition.
void
pylith::faults::TestFaultCohesiveKin::_initialize(ALE::Obj<ALE::Mesh>* mesh,
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -95,6 +95,9 @@
/// Test integrateJacobian().
void testIntegrateJacobian(void);
+ /// Test _calcTractionsChange().
+ void testCalcTractionsChange(void);
+
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -40,6 +40,7 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testCalcTractionsChange );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -33,6 +33,7 @@
matPropsFilename(0),
fieldT(0),
orientation(0),
+ area(0),
constraintVertices(0),
constraintCells(0),
valsResidual(0),
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -67,6 +67,7 @@
/// @name Calculated values.
//@{
double* orientation; ///< Expected values for fault orientation.
+ double* area; ///< Expected values for fault area.
int* constraintVertices; ///< Expected points for constraint vertices
int* constraintCells; ///< Expected cells for constraint vertices
double* valsResidual; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -136,6 +136,10 @@
0.0, -1.0, 0.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0,
};
+const double pylith::faults::CohesiveKinDataHex8::_area[] = {
+ 1.0, 1.0, 1.0, 1.0
+};
+
const int pylith::faults::CohesiveKinDataHex8::_constraintVertices[] = {
18, 19, 20, 21
};
@@ -1415,6 +1419,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -84,6 +84,10 @@
1.0
};
+const double pylith::faults::CohesiveKinDataLine2::_area[] = {
+ 1.0
+};
+
const int pylith::faults::CohesiveKinDataLine2::_constraintVertices[] = {
6
};
@@ -138,6 +142,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidualIncr = const_cast<double*>(_valsResidualIncr);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -113,6 +113,10 @@
0.0, 1.0, +1.0, 0.0
};
+const double pylith::faults::CohesiveKinDataQuad4::_area[] = {
+ 1.0, 1.0,
+};
+
const int pylith::faults::CohesiveKinDataQuad4::_constraintVertices[] = {
10, 11
};
@@ -372,6 +376,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -138,6 +138,12 @@
0.0, -1.0, -1.0, 0.0,
};
+const double pylith::faults::CohesiveKinDataQuad4e::_area[] = {
+ 1.0,
+ 2.0,
+ 1.0,
+};
+
const int pylith::faults::CohesiveKinDataQuad4e::_constraintVertices[] = {
16, 17, 18
};
@@ -657,6 +663,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -102,6 +102,12 @@
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
};
+const double pylith::faults::CohesiveKinDataTet4::_area[] = {
+ 1.0/3.0,
+ 1.0/3.0,
+ 1.0/3.0,
+};
+
const int pylith::faults::CohesiveKinDataTet4::_constraintVertices[] = {
10, 11, 12
};
@@ -526,6 +532,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -106,6 +106,13 @@
0.0, +1.0, 0.0, 0.0, 0.0, +1.0, +1.0, 0.0, 0.0,
};
+const double pylith::faults::CohesiveKinDataTet4e::_area[] = {
+ 2.0/3.0,
+ 1.0/3.0,
+ 2.0/3.0,
+ 1.0/3.0,
+};
+
const int pylith::faults::CohesiveKinDataTet4e::_constraintVertices[] = {
14, 15, 16, 17
};
@@ -761,6 +768,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -102,6 +102,12 @@
0.0, -1.0, 0.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0,
};
+const double pylith::faults::CohesiveKinDataTet4f::_area[] = {
+ 1.0/3.0,
+ 1.0/3.0,
+ 1.0/3.0,
+};
+
const int pylith::faults::CohesiveKinDataTet4f::_constraintVertices[] = {
10, 11, 12
};
@@ -526,6 +532,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -124,6 +124,11 @@
0.0, -1.0, -1.0, 0.0
};
+const double pylith::faults::CohesiveKinDataTri3::_area[] = {
+ 1.0,
+ 1.0,
+};
+
const int pylith::faults::CohesiveKinDataTri3::_constraintVertices[] = {
8, 9
};
@@ -309,6 +314,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc 2008-03-30 19:27:52 UTC (rev 11639)
@@ -134,6 +134,12 @@
+1.0, 0.0, 0.0, -1.0
};
+const double pylith::faults::CohesiveKinDataTri3d::_area[] = {
+ 2.0,
+ 1.0,
+ 1.0,
+};
+
const int pylith::faults::CohesiveKinDataTri3d::_constraintVertices[] = {
13, 14, 15
};
@@ -485,6 +491,7 @@
matPropsFilename = const_cast<char*>(_matPropsFilename);
fieldT = const_cast<double*>(_fieldT);
orientation = const_cast<double*>(_orientation);
+ area = const_cast<double*>(_area);
constraintVertices = const_cast<int*>(_constraintVertices);
constraintCells = const_cast<int*>(_constraintCells);
valsResidual = const_cast<double*>(_valsResidual);
Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh 2008-03-30 19:25:42 UTC (rev 11638)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh 2008-03-30 19:27:52 UTC (rev 11639)
@@ -60,6 +60,7 @@
static const double _fieldT[]; ///< Solution field at time t.
static const double _orientation[]; ///< Expected values for fault orientation.
+ static const double _area[]; ///< Expected values for fault area.
static const int _constraintVertices[]; ///< Expected points for constraint vertices
static const int _constraintCells[]; ///< Expected cells for constraint vertices
static const double _valsResidual[]; ///< Expected values from residual calculation.
More information about the cig-commits
mailing list