[cig-commits] r4674 - in short/3D/PyLith/trunk: libsrc/feassemble
unittests/libtests/feassemble unittests/libtests/feassemble/data
brad at geodynamics.org
brad at geodynamics.org
Sat Sep 30 13:28:53 PDT 2006
Author: brad
Date: 2006-09-30 13:28:50 -0700 (Sat, 30 Sep 2006)
New Revision: 4674
Added:
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh
Modified:
short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureApp.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
Log:
Added tests for quadrature 2-D in 3-D. Fixed a few bugs in Quadrature2Din3D.
Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2Din3D.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -14,6 +14,8 @@
#include "Quadrature2Din3D.hh" // implementation of class methods
+#include <math.h> // USES fabs()
+
#include <assert.h> // USES assert()
#include <stdexcept> // USES internal_error
@@ -89,7 +91,7 @@
// dz/dq = sum[i=0,n-1] (dNi/dq * zi)
for (int iVertex=0; iVertex < _numCorners; ++iVertex)
for (int iRow=0,
- iB=iQuadPt*_numCorners*_spaceDim+iVertex*_cellDim;
+ iB=iQuadPt*_numCorners*_cellDim+iVertex*_cellDim;
iRow < _cellDim;
++iRow) {
const double deriv = _basisDeriv[iB+iRow];
@@ -125,7 +127,7 @@
const double det = sqrt(jj00*jj11 - jj01*jj10);
_checkJacobianDet(det);
_jacobianDet[iQuadPt] = det;
-
+
// Compute inverse of Jacobian at quadrature point
const double d01 =
_jacobian[i00]*_jacobian[i11] - _jacobian[i10]*_jacobian[i01];
@@ -133,21 +135,22 @@
_jacobian[i01]*_jacobian[i12] - _jacobian[i11]*_jacobian[i02];
const double d02 =
_jacobian[i00]*_jacobian[i12] - _jacobian[i10]*_jacobian[i02];
- if (d01 > _minJacobian) {
+ if (fabs(d01) > _minJacobian) {
// Jinv00 = 1/d01 * J11
+ // Jinv01 = 1/d01 * -J01
// Jinv10 = 1/d01 * -J10
- // Jinv01 = 1/d01 * -J01
// Jinv11 = 1/d01 * J00
_jacobianInv[iJ+0] = _jacobian[i11] / d01; // Jinv00
- _jacobianInv[iJ+1] = -_jacobian[i10] / d01; // Jinv10
- _jacobianInv[iJ+2] = -_jacobian[i01] / d01; // Jinv01
+ _jacobianInv[iJ+1] = -_jacobian[i01] / d01; // Jinv01
+ _jacobianInv[iJ+2] = -_jacobian[i10] / d01; // Jinv10
_jacobianInv[iJ+3] = _jacobian[i00] / d01; // Jinv11
- if (d12 > _minJacobian) {
+ if (fabs(d12) > _minJacobian) {
// Jinv20 = 1/d12 -J11
// Jinv21 = 1/d12 J01
_jacobianInv[iJ+4] = -_jacobian[i11] / d12; // Jinv20
_jacobianInv[iJ+5] = _jacobian[i01] / d12; // Jinv21
- } else if (d02 > _minJacobian) {
+
+ } else if (fabs(d02) > _minJacobian) {
// Jinv20 = 1/d02 -J10
// Jinv21 = 1/d02 J00
_jacobianInv[iJ+4] = -_jacobian[i10] / d02; // Jinv20
@@ -156,7 +159,7 @@
_jacobianInv[iJ+4] = 0.0; // Jinv20
_jacobianInv[iJ+5] = 0.0; // Jinv21
} // if/else
- } else if (d02 > _minJacobian) {
+ } else if (fabs(d02) > _minJacobian) {
// Jinv00 = 1/d02 * J12
// Jinv01 = 1/d02 * -J02
// Jinv20 = 1/d02 * -J10
@@ -165,7 +168,7 @@
_jacobianInv[iJ+1] = -_jacobian[i02] / d02; // Jinv01
_jacobianInv[iJ+4] = -_jacobian[i10] / d02; // Jinv20
_jacobianInv[iJ+5] = _jacobian[i00] / d02; // Jinv21
- if (d12 > _minJacobian) {
+ if (fabs(d12) > _minJacobian) {
// Jinv10 = 1/d12 J12
// Jinv11 = 1/d12 -J02
_jacobianInv[iJ+2] = -_jacobian[i12] / d12; // Jinv10
@@ -174,7 +177,7 @@
_jacobianInv[iJ+2] = 0.0; // Jinv10
_jacobianInv[iJ+3] = 0.0; // Jinv11
} // if/else
- } else if (d12 > _minJacobian) {
+ } else if (fabs(d12) > _minJacobian) {
_jacobianInv[iJ+0] = 0.0; // Jinv00
_jacobianInv[iJ+1] = 0.0; // Jinv01
// Jinv10 = 1/d12 J12
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am 2006-09-30 20:28:50 UTC (rev 4674)
@@ -22,6 +22,7 @@
TestQuadrature1D.cc \
TestQuadrature1Din2D.cc \
TestQuadrature2D.cc \
+ TestQuadrature2Din3D.cc \
test_feassemble.cc \
data/QuadratureData.cc \
data/QuadratureData1DLinear.cc \
@@ -31,13 +32,20 @@
data/QuadratureData1Din3DLinear.cc \
data/QuadratureData1Din3DQuadratic.cc \
data/QuadratureData2DLinear.cc \
- data/QuadratureData2DQuadratic.cc
+ data/QuadratureData2DQuadratic.cc \
+ data/QuadratureData2Din3DLinearXYZ.cc \
+ data/QuadratureData2Din3DLinearXY.cc \
+ data/QuadratureData2Din3DLinearYZ.cc \
+ data/QuadratureData2Din3DLinearXZ.cc \
+ data/QuadratureData2Din3DQuadratic.cc
noinst_HEADERS = \
TestQuadrature.hh \
TestQuadrature1D.hh \
TestQuadrature1Din2D.hh \
+ TestQuadrature1Din3D.hh \
TestQuadrature2D.hh \
+ TestQuadrature2Din3D.hh \
data/QuadratureData.hh \
data/QuadratureData1DLinear.hh \
data/QuadratureData1DQuadratic.hh \
@@ -46,7 +54,12 @@
data/QuadratureData1Din3DLinear.hh \
data/QuadratureData1Din3DQuadratic.hh \
data/QuadratureData2DLinear.hh \
- data/QuadratureData2DQuadratic.hh
+ data/QuadratureData2DQuadratic.hh \
+ data/QuadratureData2Din3DLinearXYZ.hh \
+ data/QuadratureData2Din3DLinearXY.hh \
+ data/QuadratureData2Din3DLinearYZ.hh \
+ data/QuadratureData2Din3DLinearXZ.hh \
+ data/QuadratureData2Din3DQuadratic.hh
testfeassemble_LDFLAGS = $(PETSC_LIB)
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,91 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestQuadrature2Din3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/Quadrature2Din3D.hh"
+
+#include "data/QuadratureData2Din3DLinearXYZ.hh"
+#include "data/QuadratureData2Din3DLinearXY.hh"
+#include "data/QuadratureData2Din3DLinearYZ.hh"
+#include "data/QuadratureData2Din3DLinearXZ.hh"
+#include "data/QuadratureData2Din3DQuadratic.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestQuadrature2Din3D );
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestQuadrature2Din3D::testConstructor(void)
+{ // testConstructor
+ Quadrature2Din3D quadrature;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/linear basis fns
+void
+pylith::feassemble::TestQuadrature2Din3D::testLinearXYZ(void)
+{ // testLinearXYZ
+ Quadrature2Din3D q;
+ QuadratureData2Din3DLinearXYZ data;
+
+ _testComputeGeometry(&q, data);
+} // testLinearXYZ
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/linear basis fns
+void
+pylith::feassemble::TestQuadrature2Din3D::testLinearXY(void)
+{ // testLinearXY
+ Quadrature2Din3D q;
+ QuadratureData2Din3DLinearXY data;
+
+ _testComputeGeometry(&q, data);
+} // testLinearXY
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/linear basis fns
+void
+pylith::feassemble::TestQuadrature2Din3D::testLinearYZ(void)
+{ // testLinearYZ
+ Quadrature2Din3D q;
+ QuadratureData2Din3DLinearYZ data;
+
+ _testComputeGeometry(&q, data);
+} // testLinearYZ
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/linear basis fns
+void
+pylith::feassemble::TestQuadrature2Din3D::testLinearXZ(void)
+{ // testLinearXZ
+ Quadrature2Din3D q;
+ QuadratureData2Din3DLinearXZ data;
+
+ _testComputeGeometry(&q, data);
+} // testLinearXZ
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/quadratic basis fns
+void
+pylith::feassemble::TestQuadrature2Din3D::testQuadratic(void)
+{ // testQuadratic
+ Quadrature2Din3D q;
+ QuadratureData2Din3DQuadratic data;
+
+ _testComputeGeometry(&q, data);
+} // testQuadratic
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature2Din3D.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestQuadrature2Din3D.hh
+ *
+ * @brief C++ TestQuadrature2Din3D object
+ *
+ * C++ unit testing for Quadrature2Din3D.
+ */
+
+#if !defined(pylith_feassemble_testquadrature2din3d_hh)
+#define pylith_feassemble_testquadrature2din3d_hh
+
+#include "TestQuadrature.hh"
+
+/// Namespace for spatialdata package
+namespace pylith {
+ namespace feassemble {
+ class TestQuadrature2Din3D;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature2Din3D
+class pylith::feassemble::TestQuadrature2Din3D : public TestQuadrature
+{ // class TestQuadrature2D
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestQuadrature2Din3D );
+ CPPUNIT_TEST( testConstructor );
+ CPPUNIT_TEST( testLinearXYZ );
+ CPPUNIT_TEST( testLinearXY );
+ CPPUNIT_TEST( testLinearYZ );
+ CPPUNIT_TEST( testLinearXZ );
+ CPPUNIT_TEST( testQuadratic );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Test constructor
+ void testConstructor(void);
+
+ /// Test initialize() & computeGeometry() w/linear basis fns
+ void testLinearXYZ(void);
+
+ /// Test initialize() & computeGeometry() w/linear basis fns
+ void testLinearXY(void);
+
+ /// Test initialize() & computeGeometry() w/linear basis fns
+ void testLinearYZ(void);
+
+ /// Test initialize() & computeGeometry() w/linear basis fns
+ void testLinearXZ(void);
+
+ /// Test initialize() & computeGeometry() w/quadratic basis fns
+ void testQuadratic(void);
+
+}; // class TestQuadrature
+
+#endif // pylith_feassemble_testquadrature2din3d_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestQuadrature3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/Quadrature3D.hh"
+
+#include "data/QuadratureData3DLinear.hh"
+#include "data/QuadratureData3DQuadratic.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestQuadrature3D );
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestQuadrature3D::testConstructor(void)
+{ // testConstructor
+ Quadrature3D quadrature;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/linear basis fns
+void
+pylith::feassemble::TestQuadrature3D::testLinear(void)
+{ // testLinear
+ Quadrature3D q;
+ QuadratureData3DLinear data;
+
+ _testComputeGeometry(&q, data);
+} // testLinear
+
+// ----------------------------------------------------------------------
+// Test computeGeometry() w/quadratic basis fns
+void
+pylith::feassemble::TestQuadrature3D::testQuadratic(void)
+{ // testQuadratic
+ Quadrature3D q;
+ QuadratureData3DQuadratic data;
+
+ _testComputeGeometry(&q, data);
+} // testQuadratic
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature3D.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestQuadrature3D.hh
+ *
+ * @brief C++ TestQuadrature3D object
+ *
+ * C++ unit testing for Quadrature3D.
+ */
+
+#if !defined(pylith_feassemble_testquadrature3d_hh)
+#define pylith_feassemble_testquadrature3d_hh
+
+#include "TestQuadrature.hh"
+
+/// Namespace for spatialdata package
+namespace pylith {
+ namespace feassemble {
+ class TestQuadrature3D;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature3D
+class pylith::feassemble::TestQuadrature3D : public TestQuadrature
+{ // class TestQuadrature3D
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestQuadrature3D );
+ CPPUNIT_TEST( testConstructor );
+ CPPUNIT_TEST( testLinear );
+ CPPUNIT_TEST( testQuadratic );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Test constructor
+ void testConstructor(void);
+
+ /// Test initialize() & computeGeometry() w/linear basis fns
+ void testLinear(void);
+
+ /// Test initialize() & computeGeometry() w/quadratic basis fns
+ void testQuadratic(void);
+
+}; // class TestQuadrature
+
+#endif // pylith_feassemble_testquadrature3d_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2Din3D object w/linear basis functions.
+
+from Quadrature2DLinear import *
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# Quadrature2Din3DLinearXY class
+class Quadrature2Din3DLinearXY(Quadrature2DLinear):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2Din3D object w/linear basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2din3dlinear"):
+ """
+ Constructor.
+ """
+ Quadrature2DLinear.__init__(self, name)
+
+ self.numVertices = 3
+ self.spaceDim = 3
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 3
+ self.numQuadPts = 1
+
+ self.vertices = numpy.array( [[ 0.0, 0.0, 0.0],
+ [ 1.0, 0.0, 0.0],
+ [ 0.0, 1.0, 0.0]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2Din3DLinearXY()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2Din3D object w/linear basis functions.
+
+from Quadrature2DLinear import *
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# Quadrature2Din3DLinearXYZ class
+class Quadrature2Din3DLinearXYZ(Quadrature2DLinear):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2Din3D object w/linear basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2din3dlinear"):
+ """
+ Constructor.
+ """
+ Quadrature2DLinear.__init__(self, name)
+
+ self.numVertices = 3
+ self.spaceDim = 3
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 3
+ self.numQuadPts = 1
+
+ self.vertices = numpy.array( [[ 0.5, -2.0, -0.5],
+ [ 3.0, 0.5, 0.0],
+ [-1.0, 2.0, 4.0]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2Din3DLinearXYZ()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2Din3D object w/linear basis functions.
+
+from Quadrature2DLinear import *
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# Quadrature2Din3DLinearXZ class
+class Quadrature2Din3DLinearXZ(Quadrature2DLinear):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2Din3D object w/linear basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2din3dlinear"):
+ """
+ Constructor.
+ """
+ Quadrature2DLinear.__init__(self, name)
+
+ self.numVertices = 3
+ self.spaceDim = 3
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 3
+ self.numQuadPts = 1
+
+ self.vertices = numpy.array( [[ 0.0, 0.0, 0.0],
+ [-1.0, 0.0, 0.0],
+ [ 0.0, 0.0, 1.0]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2Din3DLinearXZ()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2Din3D object w/linear basis functions.
+
+from Quadrature2DLinear import *
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# Quadrature2Din3DLinearYZ class
+class Quadrature2Din3DLinearYZ(Quadrature2DLinear):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2Din3D object w/linear basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2din3dlinear"):
+ """
+ Constructor.
+ """
+ Quadrature2DLinear.__init__(self, name)
+
+ self.numVertices = 3
+ self.spaceDim = 3
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 3
+ self.numQuadPts = 1
+
+ self.vertices = numpy.array( [[ 0.0, 0.0, 0.0],
+ [ 0.0, 1.0, 0.0],
+ [ 0.0, 0.0, 1.0]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2Din3DLinearYZ()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2Din3D object w/quadratic basis functions.
+
+from Quadrature2DQuadratic import *
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# Quadrature2Din3DQuadratic class
+class Quadrature2Din3DQuadratic(Quadrature2DQuadratic):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2Din3D object w/quadratic basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2din3dquadratic"):
+ """
+ Constructor.
+ """
+ Quadrature2DQuadratic.__init__(self, name)
+
+ self.numVertices = 6
+ self.spaceDim = 3
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 6
+ self.numQuadPts = 3
+
+ self.vertices = numpy.array( [[ 2.0, -0.5, -0.5],
+ [ 0.5, 3.0, 0.0],
+ [-0.5, 0.0, 2.0],
+ [ 1.3, 1.2, -0.3],
+ [ 0.1, 1.4, 0.9],
+ [ 0.8, -0.3, 0.7]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2, 3, 4, 5]], dtype=numpy.Int32)
+
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2Din3DQuadratic()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2DLinear.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2D object w/linear basis functions.
+
+from QuadratureApp import QuadratureApp
+
+import numpy
+
+# ----------------------------------------------------------------------
+def N0(p):
+ return 1.0-p[0]-p[1]
+
+def N0p(p):
+ return -1.0
+
+def N0q(p):
+ return -1.0
+
+def N1(p):
+ return p[0]
+
+def N1p(p):
+ return 1.0
+
+def N1q(p):
+ return 0.0
+
+def N2(p):
+ return p[1]
+
+def N2p(p):
+ return 0.0
+
+def N2q(p):
+ return 1.0
+
+# ----------------------------------------------------------------------
+
+# Quadrature2DLinear class
+class Quadrature2DLinear(QuadratureApp):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2D object w/linear basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature1dlinear"):
+ """
+ Constructor.
+ """
+ QuadratureApp.__init__(self, name)
+
+ self.numVertices = 3
+ self.spaceDim = 2
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 3
+ self.numQuadPts = 1
+
+ self.quadPtsRef = numpy.array( [[1.0/3.0, 1.0/3.0]], dtype=numpy.Float64)
+ self.quadWts = numpy.array([0.5], dtype=numpy.Float64)
+ self.vertices = numpy.array( [[0.2, -0.4],
+ [0.3, 0.5],
+ [-1.0, -0.2]], dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _calculateBasis(self):
+ """
+ Calculate basis functions and their derivatives at quadrature points.
+ """
+
+ self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
+ dtype=numpy.Float64)
+ self.basisDeriv = numpy.zeros( (self.numQuadPts,
+ self.numCorners, self.cellDim),
+ dtype=numpy.Float64)
+
+ iQuad = 0
+ for q in self.quadPtsRef:
+ # Basis functions at quadrature points
+ basis = numpy.array([N0(q), N1(q), N2(q)], dtype=numpy.Float64)
+ self.basis[iQuad] = basis.reshape( (self.numCorners,) )
+
+ # Derivatives of basis functions at quadrature points
+ deriv = numpy.array([[N0p(q), N0q(q)],
+ [N1p(q), N1q(q)],
+ [N2p(q), N2q(q)]], dtype=numpy.Float64)
+ self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
+
+ iQuad += 1
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2DLinear()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,160 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/Quadrature2DQuadratic.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ Quadrature2D object w/quadratic basis functions.
+
+from QuadratureApp import QuadratureApp
+
+import numpy
+
+# ----------------------------------------------------------------------
+def N0(p):
+ return (1.0-p[0]-p[1])*(1-2.0*p[0]-2.0*p[1])
+
+def N0p(p):
+ return 4.0*p[0]+4.0*p[1]-3.0
+
+def N0q(p):
+ return 4.0*p[0]+4.0*p[1]-3.0
+
+def N1(p):
+ return p[0]*(2.0*p[0]-1.0)
+
+def N1p(p):
+ return 4.0*p[0]-1.0
+
+def N1q(p):
+ return 0.0
+
+def N2(p):
+ return p[1]*(2.0*p[1]-1.0)
+
+def N2p(p):
+ return 0.0
+
+def N2q(p):
+ return 4.0*p[1]-1.0
+
+def N3(p):
+ return 4.0*p[0]*(1.0-p[0]-p[1])
+
+def N3p(p):
+ return -8.0*p[0]-4.0*p[1]+4.0
+
+def N3q(p):
+ return -4.0*p[0]
+
+def N4(p):
+ return 4.0*p[0]*p[1]
+
+def N4p(p):
+ return 4.0*p[1]
+
+def N4q(p):
+ return 4.0*p[0]
+
+def N5(p):
+ return 4.0*p[1]*(1.0-p[0]-p[1])
+
+def N5p(p):
+ return -4.0*p[1]
+
+def N5q(p):
+ return -8.0*p[1]-4.0*p[0]+4.0
+
+# ----------------------------------------------------------------------
+
+# Quadrature2DQuadratic class
+class Quadrature2DQuadratic(QuadratureApp):
+ """
+ Python application for generating C++ data files for testing C++
+ Quadrature2D object w/quadratic basis functions.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature2dquadratic"):
+ """
+ Constructor.
+ """
+ QuadratureApp.__init__(self, name)
+
+ self.numVertices = 6
+ self.spaceDim = 2
+ self.numCells = 1
+ self.cellDim = 2
+ self.numCorners = 6
+ self.numQuadPts = 3
+
+ self.quadPtsRef = numpy.array( [[2.0/3.0, 1.0/6.0],
+ [1.0/6.0, 2.0/3.0],
+ [1.0/6.0, 1.0/6.0]],
+ dtype=numpy.Float64)
+ self.quadWts = numpy.array([1.0/6.0, 1.0/6.0, 1.0/6.0],
+ dtype=numpy.Float64)
+ self.vertices = numpy.array( [[-1.0, -1.0],
+ [+1.0, +0.2],
+ [-1.5, +0.5],
+ [+0.0, -0.6],
+ [+0.25, +0.35],
+ [-1.25, -0.25]],
+ dtype=numpy.Float64)
+ self.cells = numpy.array( [[0, 1, 2, 3, 4, 5]], dtype=numpy.Int32)
+
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _calculateBasis(self):
+ """
+ Calculate basis functions and their derivatives at quadrature points.
+ """
+
+ self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
+ dtype=numpy.Float64)
+ self.basisDeriv = numpy.zeros( (self.numQuadPts,
+ self.numCorners, self.cellDim),
+ dtype=numpy.Float64)
+
+ iQuad = 0
+ for q in self.quadPtsRef:
+ # Basis functions at quadrature points
+ basis = numpy.array([N0(q), N1(q), N2(q), N3(q), N4(q), N5(q)],
+ dtype=numpy.Float64)
+ self.basis[iQuad] = basis.reshape( (self.numCorners,) )
+
+ # Derivatives of basis functions at quadrature points
+ deriv = numpy.array([[N0p(q), N0q(q)],
+ [N1p(q), N1q(q)],
+ [N2p(q), N2q(q)],
+ [N3p(q), N3q(q)],
+ [N4p(q), N4q(q)],
+ [N5p(q), N5q(q)]],
+ dtype=numpy.Float64)
+ self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
+
+ iQuad += 1
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = Quadrature2DQuadratic()
+ app.run()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureApp.py 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureApp.py 2006-09-30 20:28:50 UTC (rev 4674)
@@ -130,8 +130,53 @@
if 1 == self.cellDim:
self.jacobianInv[iQuad] = 1.0 / jacobian
elif 2 == self.cellDim:
- error
-
+ minJacobian = 1.0e-06
+ jj01 = jacobian[:,[0,1]]
+ jj12 = jacobian[:,[1,2]]
+ jj02 = jacobian[:,[0,2]]
+ det01 = numpy.linalg.det(jj01)
+ det12 = numpy.linalg.det(jj12)
+ det02 = numpy.linalg.det(jj02)
+ if abs(det01) > minJacobian:
+ ij01 = numpy.linalg.inv(jj01)
+ if abs(det12) > minJacobian:
+ ij12 = numpy.linalg.inv(jj12)
+ self.jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
+ [ij01[1,0], ij01[1,1]],
+ [ij12[1,0], ij12[1,1]] ],
+ dtype=numpy.Float64)
+ elif abs(det02) > minJacobian:
+ ij02 = numpy.linalg.inv(jj02)
+ self.jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
+ [ij01[1,0], ij01[1,1]],
+ [ij02[1,0], ij02[1,1]] ],
+ dtype=numpy.Float64)
+ else:
+ self.jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
+ [ij01[1,0], ij01[1,1]],
+ [ 0.0, 0.0] ],
+ dtype=numpy.Float64)
+ elif abs(det02) > minJacobian:
+ ij02 = numpy.linalg.inv(jj02)
+ if abs(det12) > minJacobian:
+ ij12 = numpy.linalg.inv(jj12)
+ self.jacobianInv[iQuad] = numpy.array([ [ij02[0,0], ij02[0,1]],
+ [ij12[0,0], ij12[0,1]],
+ [ij02[1,0], ij02[1,1]] ],
+ dtype=numpy.Float64)
+ else:
+ self.jacobianInv[iQuad] = numpy.array([ [ij02[0,0], ij02[0,1]],
+ [ 0.0, 0.0],
+ [ij02[1,0], ij02[1,1]] ],
+ dtype=numpy.Float64)
+ elif abs(det12) > minJacobian:
+ ij12 = numpy.linalg.inv(jj12)
+ self.jacobianInv[iQuad] = numpy.array([ [ 0.0, 0.0],
+ [ij12[0,0], ij12[0,1]],
+ [ij12[1,0], ij12[1,1]] ],
+ dtype=numpy.Float64)
+ else:
+ raise ValueError("Could not find inverse of Jacobian.")
iQuad += 1
# Quadrature points in cell
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#include "QuadratureData2Din3DLinearXY.hh"
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_numVertices = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_spaceDim = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_numCells = 1;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_cellDim = 2;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_numCorners = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_numQuadPts = 1;
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_vertices[] = {
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+};
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXY::_cells[] = {
+ 0, 1, 2,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPtsRef[] = {
+ 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadWts[] = {
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_basis[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01,};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_quadPts[] = {
+ 3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobian[] = {
+ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianDet[] = {
+ 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXY::_jacobianInv[] = {
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00,
+};
+
+pylith::feassemble::QuadratureData2Din3DLinearXY::QuadratureData2Din3DLinearXY(void)
+{ // constructor
+ numVertices = _numVertices;
+ spaceDim = _spaceDim;
+ numCells = _numCells;
+ cellDim = _cellDim;
+ numCorners = _numCorners;
+ numQuadPts = _numQuadPts;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPtsRef = const_cast<double*>(_quadPtsRef);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ quadPts = const_cast<double*>(_quadPts);
+ jacobian = const_cast<double*>(_jacobian);
+ jacobianDet = const_cast<double*>(_jacobianDet);
+ jacobianInv = const_cast<double*>(_jacobianInv);
+} // constructor
+
+pylith::feassemble::QuadratureData2Din3DLinearXY::~QuadratureData2Din3DLinearXY(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#if !defined(pylith_feassemble_quadraturedata2din3dlinearxy_hh)
+#define pylith_feassemble_quadraturedata2din3dlinearxy_hh
+
+#include "QuadratureData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class QuadratureData2Din3DLinearXY;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::QuadratureData2Din3DLinearXY : public QuadratureData
+{
+
+public:
+
+ /// Constructor
+ QuadratureData2Din3DLinearXY(void);
+
+ /// Destructor
+ ~QuadratureData2Din3DLinearXY(void);
+
+private:
+
+ static const int _numVertices;
+
+ static const int _spaceDim;
+
+ static const int _numCells;
+
+ static const int _cellDim;
+
+ static const int _numCorners;
+
+ static const int _numQuadPts;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPtsRef[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _quadPts[];
+
+ static const double _jacobian[];
+
+ static const double _jacobianDet[];
+
+ static const double _jacobianInv[];
+
+};
+
+#endif // pylith_feassemble_quadraturedata2din3dlinearxy_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#include "QuadratureData2Din3DLinearXYZ.hh"
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_numVertices = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_spaceDim = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_numCells = 1;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_cellDim = 2;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_numCorners = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_numQuadPts = 1;
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_vertices[] = {
+ 5.00000000e-01, -2.00000000e+00, -5.00000000e-01,
+ 3.00000000e+00, 5.00000000e-01, 0.00000000e+00,
+ -1.00000000e+00, 2.00000000e+00, 4.00000000e+00,
+};
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXYZ::_cells[] = {
+ 0, 1, 2,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPtsRef[] = {
+ 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadWts[] = {
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basis[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01,};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_quadPts[] = {
+ 8.33333333e-01, 1.66666667e-01, 1.16666667e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobian[] = {
+ 2.50000000e+00, 2.50000000e+00, 5.00000000e-01,
+ -1.50000000e+00, 4.00000000e+00, 4.50000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianDet[] = {
+ 2.04603275e+01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXYZ::_jacobianInv[] = {
+ 2.90909091e-01, -1.81818182e-01,
+ 1.09090909e-01, 1.81818182e-01,
+ -4.32432432e-01, 2.70270270e-01,
+};
+
+pylith::feassemble::QuadratureData2Din3DLinearXYZ::QuadratureData2Din3DLinearXYZ(void)
+{ // constructor
+ numVertices = _numVertices;
+ spaceDim = _spaceDim;
+ numCells = _numCells;
+ cellDim = _cellDim;
+ numCorners = _numCorners;
+ numQuadPts = _numQuadPts;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPtsRef = const_cast<double*>(_quadPtsRef);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ quadPts = const_cast<double*>(_quadPts);
+ jacobian = const_cast<double*>(_jacobian);
+ jacobianDet = const_cast<double*>(_jacobianDet);
+ jacobianInv = const_cast<double*>(_jacobianInv);
+} // constructor
+
+pylith::feassemble::QuadratureData2Din3DLinearXYZ::~QuadratureData2Din3DLinearXYZ(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#if !defined(pylith_feassemble_quadraturedata2din3dlinearxyz_hh)
+#define pylith_feassemble_quadraturedata2din3dlinearxyz_hh
+
+#include "QuadratureData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class QuadratureData2Din3DLinearXYZ;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::QuadratureData2Din3DLinearXYZ : public QuadratureData
+{
+
+public:
+
+ /// Constructor
+ QuadratureData2Din3DLinearXYZ(void);
+
+ /// Destructor
+ ~QuadratureData2Din3DLinearXYZ(void);
+
+private:
+
+ static const int _numVertices;
+
+ static const int _spaceDim;
+
+ static const int _numCells;
+
+ static const int _cellDim;
+
+ static const int _numCorners;
+
+ static const int _numQuadPts;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPtsRef[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _quadPts[];
+
+ static const double _jacobian[];
+
+ static const double _jacobianDet[];
+
+ static const double _jacobianInv[];
+
+};
+
+#endif // pylith_feassemble_quadraturedata2din3dlinearxyz_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#include "QuadratureData2Din3DLinearXZ.hh"
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_numVertices = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_spaceDim = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_numCells = 1;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_cellDim = 2;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_numCorners = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_numQuadPts = 1;
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_vertices[] = {
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ -1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
+};
+
+const int pylith::feassemble::QuadratureData2Din3DLinearXZ::_cells[] = {
+ 0, 1, 2,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPtsRef[] = {
+ 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadWts[] = {
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_basis[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01,};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_quadPts[] = {
+ -3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobian[] = {
+ -1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianDet[] = {
+ 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearXZ::_jacobianInv[] = {
+ -1.00000000e+00, -0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+pylith::feassemble::QuadratureData2Din3DLinearXZ::QuadratureData2Din3DLinearXZ(void)
+{ // constructor
+ numVertices = _numVertices;
+ spaceDim = _spaceDim;
+ numCells = _numCells;
+ cellDim = _cellDim;
+ numCorners = _numCorners;
+ numQuadPts = _numQuadPts;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPtsRef = const_cast<double*>(_quadPtsRef);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ quadPts = const_cast<double*>(_quadPts);
+ jacobian = const_cast<double*>(_jacobian);
+ jacobianDet = const_cast<double*>(_jacobianDet);
+ jacobianInv = const_cast<double*>(_jacobianInv);
+} // constructor
+
+pylith::feassemble::QuadratureData2Din3DLinearXZ::~QuadratureData2Din3DLinearXZ(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#if !defined(pylith_feassemble_quadraturedata2din3dlinearxz_hh)
+#define pylith_feassemble_quadraturedata2din3dlinearxz_hh
+
+#include "QuadratureData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class QuadratureData2Din3DLinearXZ;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::QuadratureData2Din3DLinearXZ : public QuadratureData
+{
+
+public:
+
+ /// Constructor
+ QuadratureData2Din3DLinearXZ(void);
+
+ /// Destructor
+ ~QuadratureData2Din3DLinearXZ(void);
+
+private:
+
+ static const int _numVertices;
+
+ static const int _spaceDim;
+
+ static const int _numCells;
+
+ static const int _cellDim;
+
+ static const int _numCorners;
+
+ static const int _numQuadPts;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPtsRef[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _quadPts[];
+
+ static const double _jacobian[];
+
+ static const double _jacobianDet[];
+
+ static const double _jacobianInv[];
+
+};
+
+#endif // pylith_feassemble_quadraturedata2din3dlinearxz_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#include "QuadratureData2Din3DLinearYZ.hh"
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_numVertices = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_spaceDim = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_numCells = 1;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_cellDim = 2;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_numCorners = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_numQuadPts = 1;
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_vertices[] = {
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
+};
+
+const int pylith::feassemble::QuadratureData2Din3DLinearYZ::_cells[] = {
+ 0, 1, 2,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPtsRef[] = {
+ 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadWts[] = {
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_basis[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01,};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_quadPts[] = {
+ 0.00000000e+00, 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobian[] = {
+ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianDet[] = {
+ 1.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DLinearYZ::_jacobianInv[] = {
+ 0.00000000e+00, 0.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+pylith::feassemble::QuadratureData2Din3DLinearYZ::QuadratureData2Din3DLinearYZ(void)
+{ // constructor
+ numVertices = _numVertices;
+ spaceDim = _spaceDim;
+ numCells = _numCells;
+ cellDim = _cellDim;
+ numCorners = _numCorners;
+ numQuadPts = _numQuadPts;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPtsRef = const_cast<double*>(_quadPtsRef);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ quadPts = const_cast<double*>(_quadPts);
+ jacobian = const_cast<double*>(_jacobian);
+ jacobianDet = const_cast<double*>(_jacobianDet);
+ jacobianInv = const_cast<double*>(_jacobianInv);
+} // constructor
+
+pylith::feassemble::QuadratureData2Din3DLinearYZ::~QuadratureData2Din3DLinearYZ(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dlinear.
+
+#if !defined(pylith_feassemble_quadraturedata2din3dlinearyz_hh)
+#define pylith_feassemble_quadraturedata2din3dlinearyz_hh
+
+#include "QuadratureData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class QuadratureData2Din3DLinearYZ;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::QuadratureData2Din3DLinearYZ : public QuadratureData
+{
+
+public:
+
+ /// Constructor
+ QuadratureData2Din3DLinearYZ(void);
+
+ /// Destructor
+ ~QuadratureData2Din3DLinearYZ(void);
+
+private:
+
+ static const int _numVertices;
+
+ static const int _spaceDim;
+
+ static const int _numCells;
+
+ static const int _cellDim;
+
+ static const int _numCorners;
+
+ static const int _numQuadPts;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPtsRef[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _quadPts[];
+
+ static const double _jacobian[];
+
+ static const double _jacobianDet[];
+
+ static const double _jacobianInv[];
+
+};
+
+#endif // pylith_feassemble_quadraturedata2din3dlinearyz_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,141 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dquadratic.
+
+#include "QuadratureData2Din3DQuadratic.hh"
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_numVertices = 6;
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_spaceDim = 3;
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_numCells = 1;
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_cellDim = 2;
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_numCorners = 6;
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_numQuadPts = 3;
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_vertices[] = {
+ 2.00000000e+00, -5.00000000e-01, -5.00000000e-01,
+ 5.00000000e-01, 3.00000000e+00, 0.00000000e+00,
+ -5.00000000e-01, 0.00000000e+00, 2.00000000e+00,
+ 1.30000000e+00, 1.20000000e+00, -3.00000000e-01,
+ 1.00000000e-01, 1.40000000e+00, 9.00000000e-01,
+ 8.00000000e-01, -3.00000000e-01, 7.00000000e-01,
+};
+
+const int pylith::feassemble::QuadratureData2Din3DQuadratic::_cells[] = {
+ 0, 1, 2, 3, 4, 5,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPtsRef[] = {
+ 6.66666667e-01, 1.66666667e-01,
+ 1.66666667e-01, 6.66666667e-01,
+ 1.66666667e-01, 1.66666667e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadWts[] = {
+ 1.66666667e-01, 1.66666667e-01, 1.66666667e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_basis[] = {
+ -1.11111111e-01, 2.22222222e-01,
+ -1.11111111e-01, 4.44444444e-01,
+ 4.44444444e-01, 1.11111111e-01,
+ -1.11111111e-01, -1.11111111e-01,
+ 2.22222222e-01, 1.11111111e-01,
+ 4.44444444e-01, 4.44444444e-01,
+ 2.22222222e-01, -1.11111111e-01,
+ -1.11111111e-01, 4.44444444e-01,
+ 1.11111111e-01, 4.44444444e-01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_basisDeriv[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 1.66666667e+00, 0.00000000e+00,
+ 0.00000000e+00, -3.33333333e-01,
+ -2.00000000e+00, -2.66666667e+00,
+ 6.66666667e-01, 2.66666667e+00,
+ -6.66666667e-01, 0.00000000e+00,
+ 3.33333333e-01, 3.33333333e-01,
+ -3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, 1.66666667e+00,
+ 0.00000000e+00, -6.66666667e-01,
+ 2.66666667e+00, 6.66666667e-01,
+ -2.66666667e+00, -2.00000000e+00,
+ -1.66666667e+00, -1.66666667e+00,
+ -3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, -3.33333333e-01,
+ 2.00000000e+00, -6.66666667e-01,
+ 6.66666667e-01, 6.66666667e-01,
+ -6.66666667e-01, 2.00000000e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_quadPts[] = {
+ 6.55555556e-01, 1.84444444e+00, 1.77777778e-01,
+ 1.55555556e-01, 3.44444444e-01, 1.17777778e+00,
+ 1.38888889e+00, 1.11111111e-01, -5.55555556e-02,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobian[] = {
+ -1.56666667e+00, 3.56666667e+00, 5.66666667e-01,
+ -2.36666667e+00, 3.66666667e-01, 2.36666667e+00,
+ -1.36666667e+00, 3.36666667e+00, 3.66666667e-01,
+ -2.56666667e+00, 5.66666667e-01, 2.56666667e+00,
+ -1.36666667e+00, 3.36666667e+00, 3.66666667e-01,
+ -2.36666667e+00, 3.66666667e-01, 2.36666667e+00,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianDet[] = {
+ 1.16307065e+01, 1.18149623e+01, 1.10776050e+01,
+};
+
+const double pylith::feassemble::QuadratureData2Din3DQuadratic::_jacobianInv[] = {
+ 4.66101695e-02, -4.53389831e-01,
+ 3.00847458e-01, -1.99152542e-01,
+ -4.45344130e-02, 4.33198381e-01,
+ 7.20338983e-02, -4.27966102e-01,
+ 3.26271186e-01, -1.73728814e-01,
+ -6.71936759e-02, 3.99209486e-01,
+ 4.91071429e-02, -4.50892857e-01,
+ 3.16964286e-01, -1.83035714e-01,
+ -4.68085106e-02, 4.29787234e-01,
+};
+
+pylith::feassemble::QuadratureData2Din3DQuadratic::QuadratureData2Din3DQuadratic(void)
+{ // constructor
+ numVertices = _numVertices;
+ spaceDim = _spaceDim;
+ numCells = _numCells;
+ cellDim = _cellDim;
+ numCorners = _numCorners;
+ numQuadPts = _numQuadPts;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPtsRef = const_cast<double*>(_quadPtsRef);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ quadPts = const_cast<double*>(_quadPts);
+ jacobian = const_cast<double*>(_jacobian);
+ jacobianDet = const_cast<double*>(_jacobianDet);
+ jacobianInv = const_cast<double*>(_jacobianInv);
+} // constructor
+
+pylith::feassemble::QuadratureData2Din3DQuadratic::~QuadratureData2Din3DQuadratic(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application quadrature2din3dquadratic.
+
+#if !defined(pylith_feassemble_quadraturedata2din3dquadratic_hh)
+#define pylith_feassemble_quadraturedata2din3dquadratic_hh
+
+#include "QuadratureData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class QuadratureData2Din3DQuadratic;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::QuadratureData2Din3DQuadratic : public QuadratureData
+{
+
+public:
+
+ /// Constructor
+ QuadratureData2Din3DQuadratic(void);
+
+ /// Destructor
+ ~QuadratureData2Din3DQuadratic(void);
+
+private:
+
+ static const int _numVertices;
+
+ static const int _spaceDim;
+
+ static const int _numCells;
+
+ static const int _cellDim;
+
+ static const int _numCorners;
+
+ static const int _numQuadPts;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPtsRef[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _quadPts[];
+
+ static const double _jacobian[];
+
+ static const double _jacobianDet[];
+
+ static const double _jacobianInv[];
+
+};
+
+#endif // pylith_feassemble_quadraturedata2din3dquadratic_hh
+
+// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2006-09-30 02:51:19 UTC (rev 4673)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2006-09-30 20:28:50 UTC (rev 4674)
@@ -54,4 +54,29 @@
--data.object=QuadratureData2DQuadratic \
--data.parent=QuadratureData
+python Quadrature2Din3DLinearXYZ.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=QuadratureData2Din3DLinearXYZ \
+ --data.parent=QuadratureData
+
+python Quadrature2Din3DLinearXY.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=QuadratureData2Din3DLinearXY \
+ --data.parent=QuadratureData
+
+python Quadrature2Din3DLinearYZ.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=QuadratureData2Din3DLinearYZ \
+ --data.parent=QuadratureData
+
+python Quadrature2Din3DLinearXZ.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=QuadratureData2Din3DLinearXZ \
+ --data.parent=QuadratureData
+
+python Quadrature2Din3DQuadratic.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=QuadratureData2Din3DQuadratic \
+ --data.parent=QuadratureData
+
# End of file
More information about the cig-commits
mailing list