[cig-commits] r22173 - in short/3D/PyLith/branches/v1.7-trunk: . libsrc/pylith/faults libsrc/pylith/feassemble libsrc/pylith/meshio
brad at geodynamics.org
brad at geodynamics.org
Tue Jun 4 19:53:45 PDT 2013
Author: brad
Date: 2013-06-04 19:53:45 -0700 (Tue, 04 Jun 2013)
New Revision: 22173
Modified:
short/3D/PyLith/branches/v1.7-trunk/configure.ac
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/QuadratureEngine.cc
short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/meshio/DataWriter.cc
Log:
Merge from stable.
Modified: short/3D/PyLith/branches/v1.7-trunk/configure.ac
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/configure.ac 2013-06-01 00:22:16 UTC (rev 22172)
+++ short/3D/PyLith/branches/v1.7-trunk/configure.ac 2013-06-05 02:53:45 UTC (rev 22173)
@@ -150,7 +150,7 @@
#CIT_CHECK_LIB_MPI
# PETSC
-CIT_PATH_PETSC([3.3.0])
+CIT_PATH_PETSC([3.4.0])
CIT_HEADER_PETSC
CIT_CHECK_LIB_PETSC
CIT_CHECK_LIB_PETSC_SIEVE
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc 2013-06-01 00:22:16 UTC (rev 22172)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/faults/FaultCohesiveImpulses.cc 2013-06-05 02:53:45 UTC (rev 22173)
@@ -318,6 +318,10 @@
const ALE::Obj<SieveSubMesh>& faultSieveMesh = _faultMesh->sieveMesh();
assert(!faultSieveMesh.isNull());
+ assert(!faultSieveMesh.isNull());
+ const ALE::Obj<SieveMesh::numbering_type>& globalNumbering = faultSieveMesh->getFactory()->getNumbering(faultSieveMesh, 0);
+ assert(!globalNumbering.isNull());
+
scalar_array coordsVertex(spaceDim);
const ALE::Obj<RealSection>& coordsSection = faultSieveMesh->getRealSection("coordinates");
assert(!coordsSection.isNull());
@@ -331,8 +335,14 @@
int count = 0;
const int numVertices = _cohesiveVertices.size();
for (int iVertex=0; iVertex < numVertices; ++iVertex) {
+ const int v_lagrange = _cohesiveVertices[iVertex].lagrange;
const int v_fault = _cohesiveVertices[iVertex].fault;
+ // Only create impulses on local vertices
+ if (!globalNumbering->isLocal(v_fault)) {
+ continue;
+ } // if
+
coordsSection->restrictPoint(v_fault, &coordsVertex[0], coordsVertex.size());
_normalizer->dimensionalize(&coordsVertex[0], coordsVertex.size(), lengthScale);
@@ -367,6 +377,9 @@
//amplitude.view("IMPULSE AMPLITUDE"); // DEBUGGING
+ // Deallocate factory.
+ faultSieveMesh->getFactory()->clear();
+
_setupImpulseOrder(pointOrder);
} // _setupImpulses
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/QuadratureEngine.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/QuadratureEngine.cc 2013-06-01 00:22:16 UTC (rev 22172)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/QuadratureEngine.cc 2013-06-05 02:53:45 UTC (rev 22173)
@@ -107,7 +107,10 @@
std::ostringstream msg;
msg << "Determinant of Jacobian (" << det << ") for cell " << cell
<< " is smaller than minimum permissible value (" << minJacobian
- << ")!\n";
+ << ")!\n"
+ << "The two most likely causes of this are highly distorted cells "
+ << "and nondimensionalization with a length scale that is much larger "
+ << "than the dimensions of the cells.\n";
throw std::runtime_error(msg.str());
} // if
} // _checkJacobianDet
Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/meshio/DataWriter.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/meshio/DataWriter.cc 2013-06-01 00:22:16 UTC (rev 22172)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/meshio/DataWriter.cc 2013-06-05 02:53:45 UTC (rev 22173)
@@ -74,7 +74,7 @@
const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh = mesh.sieveMesh();
assert(!sieveMesh.isNull());
- ostringstream s;
+ std::ostringstream s;
s << "output_"
<< sieveMesh->getName();
if (label)
More information about the CIG-COMMITS
mailing list