[cig-commits] r7640 - short/3D/PyLith/trunk/libsrc/feassemble

brad at geodynamics.org brad at geodynamics.org
Tue Jul 10 17:35:54 PDT 2007


Author: brad
Date: 2007-07-10 17:35:53 -0700 (Tue, 10 Jul 2007)
New Revision: 7640

Modified:
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature3D.cc
Log:
Added cell label to error message for small Jacobian determinants.

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -247,12 +247,14 @@
 // ----------------------------------------------------------------------
 // Check determinant of Jacobian against minimum allowable value
 void
-pylith::feassemble::Quadrature::_checkJacobianDet(const double det) const
+pylith::feassemble::Quadrature::_checkJacobianDet(const double det,
+					   const Mesh::point_type& cell) const
 { // _checkJacobianDet
   if (det < _minJacobian) {
     std::ostringstream msg;
-    msg << "Determinant of Jacobian (" << det << ") is below minimum\n"
-	<< "permissible value (" << _minJacobian << ")!\n";
+    msg << "Determinant of Jacobian (" << det << ") for cell " << cell
+	<< " is smaller than minimum permissible value (" << _minJacobian
+	<< ")!\n";
     throw std::runtime_error(msg.str());
   } // if
 } // _checkJacobianDet

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh	2007-07-11 00:35:53 UTC (rev 7640)
@@ -231,8 +231,13 @@
    */
   Quadrature(const Quadrature& q);
 
-  /// Check determinant of Jacobian against minimum allowable value
-  void _checkJacobianDet(const double det) const;
+  /* Check determinant of Jacobian against minimum allowable value.
+   *
+   * @param det Value of determinant of Jacobian
+   * @param cell Finite-element cell
+   */
+  void _checkJacobianDet(const double det,
+			 const Mesh::point_type& cell) const;
 
   /// Set entries in geometry arrays to zero.
   void _resetGeometry(void);

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -73,7 +73,7 @@
     // Compute determinant of Jacobian at quadrature point
     // |J| = j00
     const double det = _jacobian[iQuadPt];
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = _jacobian[iQuadPt];
     
     // Compute inverse of Jacobian at quadrature point

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din2D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din2D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -85,7 +85,7 @@
       det += _jacobian[iQuadPt*_spaceDim+iDim] * 
 	_jacobian[iQuadPt*_spaceDim+iDim];
     det = sqrt(det);
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = det;
 
     // Compute inverse of Jacobian at quadrature point

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din3D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature1Din3D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -88,7 +88,7 @@
       det += _jacobian[iQuadPt*_spaceDim+iDim] * 
 	_jacobian[iQuadPt*_spaceDim+iDim];
     det = sqrt(det);
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = det;
 
     // Compute inverse of Jacobian at quadrature point

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -92,7 +92,7 @@
     const double det = 
       _jacobian[i00]*_jacobian[i11] - 
       _jacobian[i01]*_jacobian[i10];
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = det;
 
     // Compute inverse of Jacobian at quadrature point

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -113,7 +113,7 @@
       _jacobian[i11]*_jacobian[i11] +
       _jacobian[i21]*_jacobian[i21];
     const double det = sqrt(jj00*jj11 - jj01*jj10);
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = det;
     
     // Compute inverse of Jacobian at quadrature point

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature3D.cc	2007-07-10 22:03:13 UTC (rev 7639)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature3D.cc	2007-07-11 00:35:53 UTC (rev 7640)
@@ -110,7 +110,7 @@
 		      _jacobian[i12]*_jacobian[i20]) +
       _jacobian[i02]*(_jacobian[i10]*_jacobian[i21] -
 		      _jacobian[i11]*_jacobian[i20]);
-    _checkJacobianDet(det);
+    _checkJacobianDet(det, cell);
     _jacobianDet[iQuadPt] = det;
     
     // Compute inverse of Jacobian at quadrature point



More information about the cig-commits mailing list