[cig-commits] r7094 - in short/3D/PyLith/trunk: . libsrc libsrc/faults libsrc/feassemble libsrc/topology modulesrc/feassemble pylith pylith/feassemble pylith/feassemble/geometry pylith/feassemble/quadrature unittests/libtests/faults unittests/libtests/feassemble unittests/libtests/feassemble/data unittests/libtests/topology unittests/libtests/topology/data unittests/pytests/feassemble

brad at geodynamics.org brad at geodynamics.org
Thu Jun 7 16:37:29 PDT 2007


Author: brad
Date: 2007-06-07 16:37:26 -0700 (Thu, 07 Jun 2007)
New Revision: 7094

Added:
   short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.cc
   short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.hh
   short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.icc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.hh
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.cc
   short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.hh
   short/3D/PyLith/trunk/pylith/feassemble/geometry/
   short/3D/PyLith/trunk/pylith/feassemble/geometry/CellGeometry.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryHex3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine1D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine2D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint1D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint2D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad2D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTet3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri2D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri3D.py
   short/3D/PyLith/trunk/pylith/feassemble/geometry/__init__.py
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.hh
   short/3D/PyLith/trunk/unittests/pytests/feassemble/TestCellGeometry.py
Removed:
   short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc
   short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh
   short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc
   short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh
   short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc
   short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc
   short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh
Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/libsrc/Makefile.am
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Makefile.am
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
   short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh
   short/3D/PyLith/trunk/libsrc/topology/Makefile.am
   short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
   short/3D/PyLith/trunk/pylith/Makefile.am
   short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py
   short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py
   short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py
   short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py
   short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/faults/TestBruneSlipFn.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestEqKinSrc.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature.hh
   short/3D/PyLith/trunk/unittests/libtests/topology/Makefile.am
   short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATLagrange.py
   short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATSimplex.py
   short/3D/PyLith/trunk/unittests/pytests/feassemble/TestQuadrature.py
   short/3D/PyLith/trunk/unittests/pytests/feassemble/testfeassemble.py
Log:
Added C++ CellGeometry to C++ Quadrature object and Python CellGeometry to Python ReferenceCell. Added necessary bindings for CellGeometry. Updated C++ and Python unit tests accordingly. Cleaned up some C++ unit test code (moved tearDown to parent class).

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/TODO	2007-06-07 23:37:26 UTC (rev 7094)
@@ -28,15 +28,12 @@
 
      i. FaultCohesiveKin
        (1) C++ unit tests
-         constructor
-         eqsrc()
          initialize()
          integrateResidual()
          integrateJacobian()
          setConstraintSizes()
          setConstraints()
          setField()
-         _useLagrangeConstraint()
        (2) Python unit tests
          initialize()
          adjustTopology()

Modified: short/3D/PyLith/trunk/libsrc/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/libsrc/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -32,10 +32,23 @@
 	faults/FaultCohesiveKin.cc \
 	faults/FaultCohesiveDyn.cc \
 	faults/SlipTimeFn.cc \
+	feassemble/CellGeometry.cc \
 	feassemble/Constraint.cc \
 	feassemble/Elasticity.cc \
 	feassemble/ElasticityExplicit.cc \
 	feassemble/ElasticityImplicit.cc \
+	feassemble/GeometryPoint1D.cc \
+	feassemble/GeometryPoint2D.cc \
+	feassemble/GeometryPoint3D.cc \
+	feassemble/GeometryLine1D.cc \
+	feassemble/GeometryLine2D.cc \
+	feassemble/GeometryLine3D.cc \
+	feassemble/GeometryTri2D.cc \
+	feassemble/GeometryTri3D.cc \
+	feassemble/GeometryTet3D.cc \
+	feassemble/GeometryQuad2D.cc \
+	feassemble/GeometryQuad3D.cc \
+	feassemble/GeometryHex3D.cc \
 	feassemble/Integrator.cc \
 	feassemble/Quadrature.cc \
 	feassemble/Quadrature1D.cc \
@@ -64,20 +77,7 @@
 	meshio/PsetFileBinary.cc \
 	meshio/SolutionIO.cc \
 	meshio/SolutionIOVTK.cc \
-	topology/CellGeometry.cc \
-	topology/FieldsManager.cc \
-	topology/GeometryPoint1D.cc \
-	topology/GeometryPoint2D.cc \
-	topology/GeometryPoint3D.cc \
-	topology/GeometryLine1D.cc \
-	topology/GeometryLine2D.cc \
-	topology/GeometryLine3D.cc \
-	topology/GeometryTri2D.cc \
-	topology/GeometryTri3D.cc \
-	topology/GeometryTet3D.cc \
-	topology/GeometryQuad2D.cc \
-	topology/GeometryQuad3D.cc \
-	topology/GeometryHex3D.cc
+	topology/FieldsManager.cc
 
 if ENABLE_CUBIT
   libpylith_la_SOURCES += \

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -56,15 +56,15 @@
 					     const double_array& upDir)
 { // initialize
   assert(0 != _quadrature);
+  assert(0 != _eqsrc);
   assert(0 != _faultMesh);
-  assert(0 != _eqsrc);
   assert(!_faultMesh->isNull());
   
   if (3 != upDir.size())
     throw std::runtime_error("Up direction for fault orientation must be "
 			     "a vector with 3 components.");
 
-  // Allocate section for orientation at all fault vertices
+  // Allocate section for orientation at vertices in fault mesh
   ALE::Obj<real_section_type> orientation = 
     new real_section_type((*_faultMesh)->comm(), (*_faultMesh)->debug());
   assert(!orientation.isNull());

Copied: short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,44 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "CellGeometry.hh" // implementation of class methods
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::CellGeometry::CellGeometry(const int cellDim,
+					     const int spaceDim,
+					     const int numCorners) :
+  _cellDim(cellDim),
+  _spaceDim(spaceDim),
+  _numCorners(numCorners)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::CellGeometry::~CellGeometry(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::CellGeometry::CellGeometry(const CellGeometry& g) :
+  _cellDim(g._cellDim),
+  _spaceDim(g._spaceDim),
+  _numCorners(g._numCorners)
+{ // copy constructor
+} // copy constructor
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,123 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/CellGeometry.hh
+ *
+ * @brief C++ abstract base class for cell geometry calculations.
+ */
+
+#if !defined(pylith_feassemble_cellgeometry_hh)
+#define pylith_feassemble_cellgeometry_hh
+
+#include "pylith/utils/arrayfwd.hh" // USES double_array
+
+namespace pylith {
+  namespace feassemble {
+    class CellGeometry;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::CellGeometry
+{ // CellGeometry
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /** Default constructor.
+   *
+   * @param cellDim Dimension of cell.
+   * @param spaceDim Dimension of coordinate space.
+   * @param numCorners Number of corners in cell.
+   */
+  CellGeometry(const int cellDim,
+	       const int spaceDim,
+	       const int numCorners);
+
+  /// Default destructor.
+  virtual
+  ~CellGeometry(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  virtual
+  CellGeometry* clone(void) const = 0;
+
+  /** Get dimension of cell.
+   *
+   * @returns Spatial dimension of cell.
+   */
+  int cellDim(void) const;
+
+  /** Get dimension of coordinate space.
+   *
+   * @returns Dimension of coordinate space.
+   */
+  int spaceDim(void) const;
+
+  /** Get number of vertices in cell.
+   *
+   * @returns Number of vertices in cell.
+   */
+  int numCorners(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  virtual
+  CellGeometry* geometryLowerDim(void) const = 0;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  virtual
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const = 0;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  CellGeometry(const CellGeometry& g);
+
+// NOT IMPLEMENTED //////////////////////////////////////////////////////
+private :
+
+  /// Not implemented
+  const CellGeometry& operator=(const CellGeometry& );
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private :
+
+  int _cellDim; ///< Dimension of cell.
+  int _spaceDim; ///< Dimension of coordinate space.
+  int _numCorners; ///< Number of corners in cell.
+  
+}; // CellGeometry
+
+#include "CellGeometry.icc" // inline methods
+
+#endif // pylith_feassemble_cellgeometry_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.icc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/CellGeometry.icc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,41 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_feassemble_cellgeometry_hh)
+#error "CellGeometry.icc must be included only from CellGeometry.hh"
+#else
+
+// Get dimension of cell.
+inline
+int
+pylith::feassemble::CellGeometry::cellDim(void) const {
+  return _cellDim;
+} // cellDim
+
+// Get dimension of coordinate space.
+inline
+int
+pylith::feassemble::CellGeometry::spaceDim(void) const {
+  return _spaceDim;
+} // spaceDim
+
+// Get number of corners in cell.
+inline
+int
+pylith::feassemble::CellGeometry::numCorners(void) const {
+  return _numCorners;
+} // numCorners
+
+
+#endif
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,134 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryHex3D.hh" // implementation of class methods
+
+#include "GeometryQuad3D.hh" // USES GeometryQuad3D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryHex3D::GeometryHex3D(void) :
+  CellGeometry(3, 3, 8)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryHex3D::~GeometryHex3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryHex3D::clone(void) const
+{ // clone
+  return new GeometryHex3D();
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryHex3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryQuad3D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryHex3D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(cellDim() == location.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+  const double z0 = vertices[2];
+
+  const double x1 = vertices[3];
+  const double y1 = vertices[4];
+  const double z1 = vertices[5];
+
+  const double x2 = vertices[6];
+  const double y2 = vertices[7];
+  const double z2 = vertices[8];
+
+  const double x3 = vertices[9];
+  const double y3 = vertices[10];
+  const double z3 = vertices[11];
+
+  const double x4 = vertices[12];
+  const double y4 = vertices[13];
+  const double z4 = vertices[14];
+
+  const double x5 = vertices[15];
+  const double y5 = vertices[16];
+  const double z5 = vertices[17];
+
+  const double x6 = vertices[18];
+  const double y6 = vertices[19];
+  const double z6 = vertices[20];
+
+  const double x7 = vertices[21];
+  const double y7 = vertices[22];
+  const double z7 = vertices[23];
+
+  const double x = location[0];
+  const double y = location[1];
+  const double z = location[2];
+  assert(0 <= x && x <= 1.0);
+  assert(0 <= y && y <= 1.0);
+  assert(0 <= z && z <= 1.0);
+
+  const double f_xy = x2 - x1 - x3 + x0;
+  const double g_xy = y2 - y1 - y3 + y0;
+  const double h_xy = z2 - z1 - z3 + z0;
+
+  const double f_yz = x7 - x3 - x4 + x0;
+  const double g_yz = y7 - y3 - y4 + y0;
+  const double h_yz = z7 - z3 - z4 + z0;
+
+  const double f_xz = x5 - x1 - x4 + x0;
+  const double g_xz = y5 - y1 - y4 + y0;
+  const double h_xz = z5 - z1 - z4 + z0;
+
+  const double f_xyz = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
+  const double g_xyz = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
+  const double h_xyz = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
+
+  (*jacobian)[0] = x1 - x0 + f_xy*y + f_xz*z + f_xyz*y*z;
+  (*jacobian)[1] = x3 - x0 + f_xy*x + f_yz*z + f_xyz*x*z;
+  (*jacobian)[2] = x4 - x0 + f_yz*y + f_xz*x + f_xyz*x*y;
+
+  (*jacobian)[3] = y1 - y0 + g_xy*y + g_xz*z + g_xyz*y*z;
+  (*jacobian)[4] = y3 - y0 + g_xy*x + g_yz*z + g_xyz*x*z;
+  (*jacobian)[5] = y4 - y0 + g_yz*y + g_xz*x + g_xyz*x*y;
+
+  (*jacobian)[6] = z1 - z0 + h_xy*y + h_xz*z + h_xyz*y*z;
+  (*jacobian)[7] = z3 - z0 + h_xy*x + h_yz*z + h_xyz*x*z;
+  (*jacobian)[8] = z4 - z0 + h_yz*y + h_xz*x + h_xyz*x*y;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryHex3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 3-D
+ * hexahedral cell.
+ */
+
+#if !defined(pylith_feassemble_geometryhex3d_hh)
+#define pylith_feassemble_geometryhex3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryHex3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryHex3D : public CellGeometry
+{ // GeometryHex3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryHex3D(void);
+
+  /// Default destructor.
+  ~GeometryHex3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+}; // GeometryHex3D
+
+#endif // pylith_feassemble_geometryhex3d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryLine1D.hh" // implementation of class methods
+
+#include "GeometryPoint1D.hh" // USES GeometryPoint
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryLine1D::GeometryLine1D(void) :
+  CellGeometry(1, 1, 2)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryLine1D::~GeometryLine1D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine1D::clone(void) const
+{ // clone
+  return new GeometryLine1D();
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine1D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryPoint1D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryLine1D::jacobian(double_array* jacobian,
+					   const double_array& vertices,
+					   const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+
+  const double x0 = vertices[0];
+  const double x1 = vertices[1];
+
+  (*jacobian)[0] = x1 - x0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryLine1D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 1-D
+ * line cell.
+ */
+
+#if !defined(pylith_feassemble_geometryline1d_hh)
+#define pylith_feassemble_geometryline1d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryLine1D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryLine1D : public CellGeometry
+{ // GeometryLine1D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryLine1D(void);
+
+  /// Default destructor.
+  ~GeometryLine1D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+}; // GeometryLine1D
+
+#endif // pylith_feassemble_geometryline1d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,75 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryLine2D.hh" // implementation of class methods
+
+#include "GeometryPoint2D.hh" // USES GeometryPoint
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryLine2D::GeometryLine2D(void) :
+  CellGeometry(1, 2, 2)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryLine2D::~GeometryLine2D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine2D::clone(void) const
+{ // clone
+  return new GeometryLine2D();
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine2D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryPoint2D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryLine2D::jacobian(double_array* jacobian,
+					   const double_array& vertices,
+					   const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+
+  const double x1 = vertices[2];
+  const double y1 = vertices[3];
+
+  (*jacobian)[0] = x1 - x0;
+  (*jacobian)[1] = y1 - y0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryLine2D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 1-D
+ * line cell in 2-D space.
+ */
+
+#if !defined(pylith_feassemble_geometryline2d_hh)
+#define pylith_feassemble_geometryline2d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryLine2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryLine2D : public CellGeometry
+{ // GeometryLine2D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryLine2D(void);
+
+  /// Default destructor.
+  ~GeometryLine2D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+}; // GeometryLine2D
+
+#endif // pylith_feassemble_geometryline2d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,78 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryLine3D.hh" // implementation of class methods
+
+#include "GeometryPoint3D.hh" // USES GeometryPoint3D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryLine3D::GeometryLine3D(void) :
+  CellGeometry(1, 3, 2)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryLine3D::~GeometryLine3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine3D::clone(void) const
+{ // clone
+  return new GeometryLine3D();
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryLine3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryPoint3D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryLine3D::jacobian(double_array* jacobian,
+					   const double_array& vertices,
+					   const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+  const double z0 = vertices[2];
+
+  const double x1 = vertices[3];
+  const double y1 = vertices[4];
+  const double z1 = vertices[5];
+
+  (*jacobian)[0] = x1 - x0;
+  (*jacobian)[1] = y1 - y0;
+  (*jacobian)[2] = z1 - z0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryLine3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 1-D
+ * line cell.
+ */
+
+#if !defined(pylith_feassemble_geometryline3d_hh)
+#define pylith_feassemble_geometryline3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryLine3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryLine3D : public CellGeometry
+{ // GeometryLine3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryLine3D(void);
+
+  /// Default destructor.
+  ~GeometryLine3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+}; // GeometryLine3D
+
+#endif // pylith_feassemble_geometryline3d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryPoint1D.hh" // implementation of class methods
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryPoint1D::GeometryPoint1D(void) :
+  CellGeometry(0, 1, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryPoint1D::~GeometryPoint1D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryPoint1D::GeometryPoint1D(const GeometryPoint1D& g) :
+  CellGeometry(0, 1, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint1D::clone(void) const
+{ // clone
+  return new GeometryPoint1D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint1D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return 0;
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryPoint1D::jacobian(double_array* jacobian,
+					    const double_array& vertices,
+					    const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(1 == jacobian->size());
+  
+  (*jacobian)[0] = 1.0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryPoint1D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 0-D
+ * point cell.
+ */
+
+#if !defined(pylith_feassemble_geometrypoint1d_hh)
+#define pylith_feassemble_geometrypoint1d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryPoint1D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryPoint1D : public CellGeometry
+{ // GeometryPoint1D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryPoint1D(void);
+
+  /// Default destructor.
+  ~GeometryPoint1D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryPoint1D(const GeometryPoint1D& g);
+
+}; // GeometryPoint1D
+
+#endif // pylith_feassemble_geometrypoint1d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryPoint2D.hh" // implementation of class methods
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryPoint2D::GeometryPoint2D(void) :
+  CellGeometry(0, 2, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryPoint2D::~GeometryPoint2D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryPoint2D::GeometryPoint2D(const GeometryPoint2D& g) :
+  CellGeometry(0, 2, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint2D::clone(void) const
+{ // clone
+  return new GeometryPoint2D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint2D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return 0;
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryPoint2D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(1 == jacobian->size());
+  
+  (*jacobian)[0] = 1.0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryPoint2D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 0-D
+ * point cell.
+ */
+
+#if !defined(pylith_feassemble_geometrypoint2d_hh)
+#define pylith_feassemble_geometrypoint2d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryPoint2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryPoint2D : public CellGeometry
+{ // GeometryPoint2D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryPoint2D(void);
+
+  /// Default destructor.
+  ~GeometryPoint2D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryPoint2D(const GeometryPoint2D& g);
+
+}; // GeometryPoint2D
+
+#endif // pylith_feassemble_geometrypoint2d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryPoint3D.hh" // implementation of class methods
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryPoint3D::GeometryPoint3D(void) :
+  CellGeometry(0, 3, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryPoint3D::~GeometryPoint3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryPoint3D::GeometryPoint3D(const GeometryPoint3D& g) :
+  CellGeometry(0, 3, 1)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint3D::clone(void) const
+{ // clone
+  return new GeometryPoint3D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryPoint3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return 0;
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryPoint3D::jacobian(double_array* jacobian,
+					    const double_array& vertices,
+					    const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(1 == jacobian->size());
+  
+  (*jacobian)[0] = 1.0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryPoint3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 0-D
+ * point cell.
+ */
+
+#if !defined(pylith_feassemble_geometrypoint3d_hh)
+#define pylith_feassemble_geometrypoint3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryPoint3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryPoint3D : public CellGeometry
+{ // GeometryPoint3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryPoint3D(void);
+
+  /// Default destructor.
+  ~GeometryPoint3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryPoint3D(const GeometryPoint3D& g);
+
+}; // GeometryPoint3D
+
+#endif // pylith_feassemble_geometrypoint3d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,99 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryQuad2D.hh" // implementation of class methods
+
+#include "GeometryLine2D.hh" // USES GeometryLine2D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryQuad2D::GeometryQuad2D(void) :
+  CellGeometry(2, 2, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryQuad2D::~GeometryQuad2D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryQuad2D::GeometryQuad2D(const GeometryQuad2D& g) :
+  CellGeometry(2, 2, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryQuad2D::clone(void) const
+{ // clone
+  return new GeometryQuad2D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryQuad2D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryLine2D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryQuad2D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(cellDim() == location.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+  
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+
+  const double x1 = vertices[2];
+  const double y1 = vertices[3];
+
+  const double x2 = vertices[4];
+  const double y2 = vertices[5];
+
+  const double x3 = vertices[6];
+  const double y3 = vertices[7];
+
+  const double x = location[0];
+  const double y = location[1];
+  assert(0 <= x && x <= 1.0);
+  assert(0 <= y && y <= 1.0);
+
+  const double f_xy = x2 - x1 - x3 + x0;
+  const double g_xy = y2 - y1 - y3 + y0;
+
+  (*jacobian)[0] = x1 - x0 + f_xy*y;
+  (*jacobian)[1] = x3 - x0 + f_xy*x;
+  (*jacobian)[2] = y1 - y0 + g_xy*y;
+  (*jacobian)[3] = y3 - y0 + g_xy*x;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryQuad2D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 2-D
+ * quadrilateral cell.
+ */
+
+#if !defined(pylith_feassemble_geometryquad2d_hh)
+#define pylith_feassemble_geometryquad2d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryQuad2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryQuad2D : public CellGeometry
+{ // GeometryQuad2D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryQuad2D(void);
+
+  /// Default destructor.
+  ~GeometryQuad2D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryQuad2D(const GeometryQuad2D& g);
+
+}; // GeometryQuad2D
+
+#endif // pylith_feassemble_geometryquad2d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,108 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryQuad3D.hh" // implementation of class methods
+
+#include "GeometryLine3D.hh" // USES GeometryLine3D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryQuad3D::GeometryQuad3D(void) :
+  CellGeometry(2, 3, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryQuad3D::~GeometryQuad3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryQuad3D::GeometryQuad3D(const GeometryQuad3D& g) :
+  CellGeometry(2, 3, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryQuad3D::clone(void) const
+{ // clone
+  return new GeometryQuad3D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryQuad3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryLine3D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryQuad3D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(cellDim() == location.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+  
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+  const double z0 = vertices[2];
+
+  const double x1 = vertices[3];
+  const double y1 = vertices[4];
+  const double z1 = vertices[5];
+
+  const double x2 = vertices[6];
+  const double y2 = vertices[7];
+  const double z2 = vertices[8];
+
+  const double x3 = vertices[9];
+  const double y3 = vertices[10];
+  const double z3 = vertices[11];
+
+  const double x = location[0];
+  const double y = location[1];
+  assert(0 <= x && x <= 1.0);
+  assert(0 <= y && y <= 1.0);
+
+  const double f_xy = x2 - x1 - x3 + x0;
+  const double g_xy = y2 - y1 - y3 + y0;
+  const double h_xy = z2 - z1 - z3 + z0;
+
+  (*jacobian)[0] = x1 - x0 + f_xy*y;
+  (*jacobian)[1] = x3 - x0 + f_xy*x;
+
+  (*jacobian)[2] = y1 - y0 + g_xy*y;
+  (*jacobian)[3] = y3 - y0 + g_xy*x;
+
+  (*jacobian)[4] = z1 - z0 + h_xy*y;
+  (*jacobian)[5] = z3 - z0 + h_xy*x;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryQuad3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 2-D
+ * quadrilateral cell in 3-D.
+ */
+
+#if !defined(pylith_feassemble_geometryquad3d_hh)
+#define pylith_feassemble_geometryquad3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryQuad3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryQuad3D : public CellGeometry
+{ // GeometryQuad3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryQuad3D(void);
+
+  /// Default destructor.
+  ~GeometryQuad3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryQuad3D(const GeometryQuad3D& g);
+
+}; // GeometryQuad3D
+
+#endif // pylith_feassemble_geometryquad3d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,99 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryTet3D.hh" // implementation of class methods
+
+#include "GeometryTri3D.hh" // USES GeometryTri3D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryTet3D::GeometryTet3D(void) :
+  CellGeometry(3, 3, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryTet3D::~GeometryTet3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryTet3D::GeometryTet3D(const GeometryTet3D& g) :
+  CellGeometry(3, 3, 4)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTet3D::clone(void) const
+{ // clone
+  return new GeometryTet3D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTet3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryTri3D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryTet3D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+  
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+  const double z0 = vertices[2];
+
+  const double x1 = vertices[3];
+  const double y1 = vertices[4];
+  const double z1 = vertices[5];
+
+  const double x2 = vertices[6];
+  const double y2 = vertices[7];
+  const double z2 = vertices[8];
+
+  const double x3 = vertices[9];
+  const double y3 = vertices[10];
+  const double z3 = vertices[11];
+
+  (*jacobian)[0] = x1 - x0;
+  (*jacobian)[1] = x2 - x0;
+  (*jacobian)[2] = x3 - x0;
+  (*jacobian)[3] = y1 - y0;
+  (*jacobian)[4] = y2 - y0;
+  (*jacobian)[5] = y3 - y0;
+  (*jacobian)[6] = z1 - z0;
+  (*jacobian)[7] = z2 - z0;
+  (*jacobian)[8] = z3 - z0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryTet3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 3-D
+ * tetrahedral cell.
+ */
+
+#if !defined(pylith_feassemble_geometrytet3d_hh)
+#define pylith_feassemble_geometrytet3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryTet3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryTet3D : public CellGeometry
+{ // GeometryTet3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryTet3D(void);
+
+  /// Default destructor.
+  ~GeometryTet3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryTet3D(const GeometryTet3D& g);
+
+}; // GeometryTet3D
+
+#endif // pylith_feassemble_geometrytet3d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,87 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryTri2D.hh" // implementation of class methods
+
+#include "GeometryLine2D.hh" // USES GeometryLine2D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryTri2D::GeometryTri2D(void) :
+  CellGeometry(2, 2, 3)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryTri2D::~GeometryTri2D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryTri2D::GeometryTri2D(const GeometryTri2D& g) :
+  CellGeometry(2, 2, 3)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTri2D::clone(void) const
+{ // clone
+  return new GeometryTri2D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTri2D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryLine2D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryTri2D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+  
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+
+  const double x1 = vertices[2];
+  const double y1 = vertices[3];
+
+  const double x2 = vertices[4];
+  const double y2 = vertices[5];
+
+  (*jacobian)[0] = x1 - x0;
+  (*jacobian)[1] = x2 - x0;
+  (*jacobian)[2] = y1 - y0;
+  (*jacobian)[3] = y2 - y0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryTri2D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 2-D
+ * triangular cell.
+ */
+
+#if !defined(pylith_feassemble_geometrytri2d_hh)
+#define pylith_feassemble_geometrytri2d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryTri2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryTri2D : public CellGeometry
+{ // GeometryTri2D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryTri2D(void);
+
+  /// Default destructor.
+  ~GeometryTri2D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryTri2D(const GeometryTri2D& g);
+
+}; // GeometryTri2D
+
+#endif // pylith_feassemble_geometrytri2d_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.cc (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,94 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include <portinfo>
+
+#include "GeometryTri3D.hh" // implementation of class methods
+
+#include "GeometryLine3D.hh" // USES GeometryLine3D
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include <assert.h> // USES assert()
+
+// ----------------------------------------------------------------------
+// Default constructor.
+pylith::feassemble::GeometryTri3D::GeometryTri3D(void) :
+  CellGeometry(2, 3, 3)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Default destructor.
+pylith::feassemble::GeometryTri3D::~GeometryTri3D(void)
+{ // destructor
+} // destructor
+
+// ----------------------------------------------------------------------
+// Copy constructor.
+pylith::feassemble::GeometryTri3D::GeometryTri3D(const GeometryTri3D& g) :
+  CellGeometry(2, 3, 3)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Create a copy of geometry.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTri3D::clone(void) const
+{ // clone
+  return new GeometryTri3D(*this);
+} // clone
+
+// ----------------------------------------------------------------------
+// Get cell geometry for lower dimension cell.
+pylith::feassemble::CellGeometry*
+pylith::feassemble::GeometryTri3D::geometryLowerDim(void) const
+{ // geometryLowerDim
+  return new GeometryLine3D();
+} // geometryLowerDim
+
+// ----------------------------------------------------------------------
+// Compute Jacobian at location in cell.
+void
+pylith::feassemble::GeometryTri3D::jacobian(double_array* jacobian,
+					  const double_array& vertices,
+					  const double_array& location) const
+{ // jacobian
+  assert(0 != jacobian);
+
+  assert(numCorners()*spaceDim() == vertices.size());
+  assert(spaceDim()*cellDim() == jacobian->size());
+  
+  const double x0 = vertices[0];
+  const double y0 = vertices[1];
+  const double z0 = vertices[2];
+
+  const double x1 = vertices[3];
+  const double y1 = vertices[4];
+  const double z1 = vertices[5];
+
+  const double x2 = vertices[6];
+  const double y2 = vertices[7];
+  const double z2 = vertices[8];
+
+  (*jacobian)[0] = x1 - x0;
+  (*jacobian)[1] = x2 - x0;
+
+  (*jacobian)[2] = y1 - y0;
+  (*jacobian)[3] = y2 - y0;
+
+  (*jacobian)[4] = z1 - z0;
+  (*jacobian)[5] = z2 - z0;
+} // jacobian
+
+
+// End of file

Copied: short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.hh (from rev 7088, short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh)
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/libsrc/feassemble/GeometryTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/**
+ * @file pylith/feassemble/GeometryTri3D.hh
+ *
+ * @brief C++ implementation of cell geometry calculations for 2-D
+ * triangular cell.
+ */
+
+#if !defined(pylith_feassemble_geometrytri3d_hh)
+#define pylith_feassemble_geometrytri3d_hh
+
+#include "CellGeometry.hh" // ISA CellGeometry
+
+namespace pylith {
+  namespace feassemble {
+    class GeometryTri3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeometryTri3D : public CellGeometry
+{ // GeometryTri3D
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Default constructor.
+  GeometryTri3D(void);
+
+  /// Default destructor.
+  ~GeometryTri3D(void);
+
+  /** Create a copy of geometry.
+   *
+   * @returns Copy of geometry.
+   */
+  CellGeometry* clone(void) const;
+
+  /** Get cell geometry for lower dimension cell.
+   *
+   * @returns Pointer to cell geometry object corresponding to next
+   * lower dimension, NULL if there is no lower dimension object.
+   */
+  CellGeometry* geometryLowerDim(void) const;
+
+  /** Compute Jacobian at location in cell.
+   *
+   * @param jacobian Jacobian at location.
+   * @param vertices Coordinates of vertices of cell.
+   * @param location Location in reference cell at which to compute Jacobian.
+   */
+  void jacobian(double_array* jacobian,
+		const double_array& vertices,
+		const double_array& location) const;
+
+// PROTECTED ////////////////////////////////////////////////////////////
+protected :
+
+  /** Copy constructor.
+   *
+   * @param g Geometry to copy.
+   */
+  GeometryTri3D(const GeometryTri3D& g);
+
+}; // GeometryTri3D
+
+#endif // pylith_feassemble_geometrytri3d_hh
+
+
+// End of file

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -14,11 +14,25 @@
 include $(top_srcdir)/subpackage.am
 
 subpkginclude_HEADERS = \
+	CellGeometry.hh \
+	CellGeometry.icc \
 	Constraint.hh \
 	ElasticityExplicit.hh \
 	ElasticityImplicit.hh \
 	Integrator.hh \
 	Elasticity.hh \
+	GeometryPoint1D.hh \
+	GeometryPoint2D.hh \
+	GeometryPoint3D.hh \
+	GeometryLine1D.hh \
+	GeometryLine2D.hh \
+	GeometryLine3D.hh \
+	GeometryTri2D.hh \
+	GeometryTri3D.hh \
+	GeometryTet3D.hh \
+	GeometryQuad2D.hh \
+	GeometryQuad3D.hh \
+	GeometryHex3D.hh \
 	Quadrature.hh \
 	Quadrature.icc \
 	Quadrature1D.hh \

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -14,6 +14,8 @@
 
 #include "Quadrature.hh" // implementation of class methods
 
+#include "CellGeometry.hh" // USES CellGeometry
+
 #include <string.h> // USES memcpy()
 #include <assert.h> // USES assert()
 #include <stdexcept> // USES std::runtime_error
@@ -26,7 +28,8 @@
   _cellDim(0),
   _numBasis(0),
   _numQuadPts(0),
-  _spaceDim(0)
+  _spaceDim(0),
+  _geometry(0)
 { // constructor
 } // constructor
 
@@ -34,6 +37,7 @@
 // Destructor
 pylith::feassemble::Quadrature::~Quadrature(void)
 { // destructor
+  delete _geometry; _geometry = 0;
 } // destructor
   
 // ----------------------------------------------------------------------
@@ -52,8 +56,11 @@
   _cellDim(q._cellDim),
   _numBasis(q._numBasis),
   _numQuadPts(q._numQuadPts),
-  _spaceDim(q._spaceDim)
+  _spaceDim(q._spaceDim),
+  _geometry(0)
 { // copy constructor
+  if (0 != q._geometry)
+    _geometry = q._geometry->clone();
 } // copy constructor
 
 // ----------------------------------------------------------------------
@@ -141,6 +148,23 @@
 } // initialize
 
 // ----------------------------------------------------------------------
+// Set geometry associated with reference cell.
+void
+pylith::feassemble::Quadrature::refGeometry(CellGeometry* const geometry)
+{ // refGeometry
+  delete _geometry; _geometry = (0 != geometry) ? geometry->clone() : 0;
+} // refGeometry
+
+// ----------------------------------------------------------------------
+// Get geometry associated with reference cell.
+const pylith::feassemble::CellGeometry&
+pylith::feassemble::Quadrature::refGeometry(void) const
+{ // refGeometry
+  assert(0 != _geometry);
+  return *_geometry;
+} // refGeometry
+
+// ----------------------------------------------------------------------
 // Set entries in geometry arrays to zero.
 void
 pylith::feassemble::Quadrature::_resetGeometry(void)
@@ -164,4 +188,5 @@
   } // if
 } // _checkJacobianDet
 
+
 // End of file 

Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -37,6 +37,8 @@
 namespace pylith {
   namespace feassemble {
     class Quadrature;
+
+    class CellGeometry; // HOLDSA CellGeometry
   } // feassemble
 } // pylith
 
@@ -110,6 +112,18 @@
 		  const int numQuadPts,
 		  const int spaceDim);
 
+  /** Set geometry associated with reference cell.
+   *
+   * @param geometry Geometry of reference cell.
+   */
+  void refGeometry(CellGeometry* const geometry);
+
+  /** Get geometry associated with reference cell.
+   *
+   * @returns Geometry of reference cell.
+   */
+  const CellGeometry& refGeometry(void) const;
+
   /** Set minimum allowable determinant of Jacobian.
    *
    * @param tolerance Minimum allowable value for Jacobian
@@ -329,6 +343,8 @@
   int _numQuadPts; ///< Number of quadrature points
   int _spaceDim; ///< Number of dimensions in coordinates of cell vertices
 
+  CellGeometry* _geometry; ///< Geometry of reference cell
+
 }; // Quadrature
 
 #include "Quadrature.icc" // inline methods

Deleted: short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/CellGeometry.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,34 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "CellGeometry.hh" // implementation of class methods
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::CellGeometry::CellGeometry(const int cellDim,
-					     const int spaceDim,
-					     const int numCorners) :
-  _cellDim(cellDim),
-  _spaceDim(spaceDim),
-  _numCorners(numCorners)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::CellGeometry::~CellGeometry(void)
-{ // destructor
-} // destructor
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/CellGeometry.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,101 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/CellGeometry.hh
- *
- * @brief C++ abstract base class for cell geometry calculations.
- */
-
-#if !defined(pylith_topology_cellgeometry_hh)
-#define pylith_topology_cellgeometry_hh
-
-#include "pylith/utils/arrayfwd.hh" // USES double_array
-
-namespace pylith {
-  namespace topology {
-    class CellGeometry;
-  } // topology
-} // pylith
-
-class pylith::topology::CellGeometry
-{ // CellGeometry
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /** Default constructor.
-   *
-   * @param cellDim Dimension of cell.
-   * @param spaceDim Dimension of coordinate space.
-   * @param numCorners Number of corners in cell.
-   */
-  CellGeometry(const int cellDim,
-	       const int spaceDim,
-	       const int numCorners);
-
-  /// Default destructor.
-  virtual
-  ~CellGeometry(void);
-
-  /** Get dimension of cell.
-   *
-   * @returns Spatial dimension of cell.
-   */
-  int cellDim(void) const;
-
-  /** Get dimension of coordinate space.
-   *
-   * @returns Dimension of coordinate space.
-   */
-  int spaceDim(void) const;
-
-  /** Get number of vertices in cell.
-   *
-   * @returns Number of vertices in cell.
-   */
-  int numCorners(void) const;
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  virtual
-  CellGeometry* geometryLowerDim(void) const = 0;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  virtual
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const = 0;
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private :
-
-  int _cellDim; ///< Dimension of cell.
-  int _spaceDim; ///< Dimension of coordinate space.
-  int _numCorners; ///< Number of corners in cell.
-  
-}; // CellGeometry
-
-#include "CellGeometry.icc" // inline methods
-
-#endif // pylith_topology_cellgeometry_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/CellGeometry.icc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,41 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_topology_cellgeometry_hh)
-#error "CellGeometry.icc must be included only from CellGeometry.hh"
-#else
-
-// Get dimension of cell.
-inline
-int
-pylith::topology::CellGeometry::cellDim(void) const {
-  return _cellDim;
-} // cellDim
-
-// Get dimension of coordinate space.
-inline
-int
-pylith::topology::CellGeometry::spaceDim(void) const {
-  return _spaceDim;
-} // spaceDim
-
-// Get number of corners in cell.
-inline
-int
-pylith::topology::CellGeometry::numCorners(void) const {
-  return _numCorners;
-} // numCorners
-
-
-#endif
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryHex3D.hh" // implementation of class methods
-
-#include "GeometryQuad3D.hh" // USES GeometryQuad3D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryHex3D::GeometryHex3D(void) :
-  CellGeometry(3, 3, 8)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryHex3D::~GeometryHex3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryHex3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryQuad3D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryHex3D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(cellDim() == location.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-  const double z0 = vertices[2];
-
-  const double x1 = vertices[3];
-  const double y1 = vertices[4];
-  const double z1 = vertices[5];
-
-  const double x2 = vertices[6];
-  const double y2 = vertices[7];
-  const double z2 = vertices[8];
-
-  const double x3 = vertices[9];
-  const double y3 = vertices[10];
-  const double z3 = vertices[11];
-
-  const double x4 = vertices[12];
-  const double y4 = vertices[13];
-  const double z4 = vertices[14];
-
-  const double x5 = vertices[15];
-  const double y5 = vertices[16];
-  const double z5 = vertices[17];
-
-  const double x6 = vertices[18];
-  const double y6 = vertices[19];
-  const double z6 = vertices[20];
-
-  const double x7 = vertices[21];
-  const double y7 = vertices[22];
-  const double z7 = vertices[23];
-
-  const double x = location[0];
-  const double y = location[1];
-  const double z = location[2];
-  assert(0 <= x && x <= 1.0);
-  assert(0 <= y && y <= 1.0);
-  assert(0 <= z && z <= 1.0);
-
-  const double f_xy = x2 - x1 - x3 + x0;
-  const double g_xy = y2 - y1 - y3 + y0;
-  const double h_xy = z2 - z1 - z3 + z0;
-
-  const double f_yz = x7 - x3 - x4 + x0;
-  const double g_yz = y7 - y3 - y4 + y0;
-  const double h_yz = z7 - z3 - z4 + z0;
-
-  const double f_xz = x5 - x1 - x4 + x0;
-  const double g_xz = y5 - y1 - y4 + y0;
-  const double h_xz = z5 - z1 - z4 + z0;
-
-  const double f_xyz = x6 - x0 + x1 - x2 + x3 + x4 - x5 - x7;
-  const double g_xyz = y6 - y0 + y1 - y2 + y3 + y4 - y5 - y7;
-  const double h_xyz = z6 - z0 + z1 - z2 + z3 + z4 - z5 - z7;
-
-  (*jacobian)[0] = x1 - x0 + f_xy*y + f_xz*z + f_xyz*y*z;
-  (*jacobian)[1] = x3 - x0 + f_xy*x + f_yz*z + f_xyz*x*z;
-  (*jacobian)[2] = x4 - x0 + f_yz*y + f_xz*x + f_xyz*x*y;
-
-  (*jacobian)[3] = y1 - y0 + g_xy*y + g_xz*z + g_xyz*y*z;
-  (*jacobian)[4] = y3 - y0 + g_xy*x + g_yz*z + g_xyz*x*z;
-  (*jacobian)[5] = y4 - y0 + g_yz*y + g_xz*x + g_xyz*x*y;
-
-  (*jacobian)[6] = z1 - z0 + h_xy*y + h_xz*z + h_xyz*y*z;
-  (*jacobian)[7] = z3 - z0 + h_xy*x + h_yz*z + h_xyz*x*z;
-  (*jacobian)[8] = z4 - z0 + h_yz*y + h_xz*x + h_xyz*x*y;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryHex3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 3-D
- * hexahedral cell.
- */
-
-#if !defined(pylith_topology_geometryhex3d_hh)
-#define pylith_topology_geometryhex3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryHex3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryHex3D : public CellGeometry
-{ // GeometryHex3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryHex3D(void);
-
-  /// Default destructor.
-  ~GeometryHex3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryHex3D
-
-#endif // pylith_topology_geometryhex3d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryLine1D.hh" // implementation of class methods
-
-#include "GeometryPoint1D.hh" // USES GeometryPoint
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryLine1D::GeometryLine1D(void) :
-  CellGeometry(1, 1, 2)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryLine1D::~GeometryLine1D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryLine1D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryPoint1D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryLine1D::jacobian(double_array* jacobian,
-					   const double_array& vertices,
-					   const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-
-  const double x0 = vertices[0];
-  const double x1 = vertices[1];
-
-  (*jacobian)[0] = x1 - x0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryLine1D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 1-D
- * line cell.
- */
-
-#if !defined(pylith_topology_geometryline1d_hh)
-#define pylith_topology_geometryline1d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryLine1D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryLine1D : public CellGeometry
-{ // GeometryLine1D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryLine1D(void);
-
-  /// Default destructor.
-  ~GeometryLine1D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryLine1D
-
-#endif // pylith_topology_geometryline1d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,67 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryLine2D.hh" // implementation of class methods
-
-#include "GeometryPoint2D.hh" // USES GeometryPoint
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryLine2D::GeometryLine2D(void) :
-  CellGeometry(1, 2, 2)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryLine2D::~GeometryLine2D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryLine2D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryPoint2D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryLine2D::jacobian(double_array* jacobian,
-					   const double_array& vertices,
-					   const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-
-  const double x1 = vertices[2];
-  const double y1 = vertices[3];
-
-  (*jacobian)[0] = x1 - x0;
-  (*jacobian)[1] = y1 - y0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryLine2D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 1-D
- * line cell in 2-D space.
- */
-
-#if !defined(pylith_topology_geometryline2d_hh)
-#define pylith_topology_geometryline2d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryLine2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryLine2D : public CellGeometry
-{ // GeometryLine2D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryLine2D(void);
-
-  /// Default destructor.
-  ~GeometryLine2D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryLine2D
-
-#endif // pylith_topology_geometryline2d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryLine3D.hh" // implementation of class methods
-
-#include "GeometryPoint3D.hh" // USES GeometryPoint3D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryLine3D::GeometryLine3D(void) :
-  CellGeometry(1, 3, 2)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryLine3D::~GeometryLine3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryLine3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryPoint3D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryLine3D::jacobian(double_array* jacobian,
-					   const double_array& vertices,
-					   const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-  const double z0 = vertices[2];
-
-  const double x1 = vertices[3];
-  const double y1 = vertices[4];
-  const double z1 = vertices[5];
-
-  (*jacobian)[0] = x1 - x0;
-  (*jacobian)[1] = y1 - y0;
-  (*jacobian)[2] = z1 - z0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryLine3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 1-D
- * line cell.
- */
-
-#if !defined(pylith_topology_geometryline3d_hh)
-#define pylith_topology_geometryline3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryLine3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryLine3D : public CellGeometry
-{ // GeometryLine3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryLine3D(void);
-
-  /// Default destructor.
-  ~GeometryLine3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryLine3D
-
-#endif // pylith_topology_geometryline3d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryPoint1D.hh" // implementation of class methods
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryPoint1D::GeometryPoint1D(void) :
-  CellGeometry(0, 1, 1)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryPoint1D::~GeometryPoint1D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryPoint1D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return 0;
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryPoint1D::jacobian(double_array* jacobian,
-					    const double_array& vertices,
-					    const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(1 == jacobian->size());
-  
-  (*jacobian)[0] = 1.0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryPoint1D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 0-D
- * point cell.
- */
-
-#if !defined(pylith_topology_geometrypoint1d_hh)
-#define pylith_topology_geometrypoint1d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryPoint1D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryPoint1D : public CellGeometry
-{ // GeometryPoint1D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryPoint1D(void);
-
-  /// Default destructor.
-  ~GeometryPoint1D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryPoint1D
-
-#endif // pylith_topology_geometrypoint1d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryPoint2D.hh" // implementation of class methods
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryPoint2D::GeometryPoint2D(void) :
-  CellGeometry(0, 2, 1)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryPoint2D::~GeometryPoint2D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryPoint2D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return 0;
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryPoint2D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(1 == jacobian->size());
-  
-  (*jacobian)[0] = 1.0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryPoint2D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 0-D
- * point cell.
- */
-
-#if !defined(pylith_topology_geometrypoint2d_hh)
-#define pylith_topology_geometrypoint2d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryPoint2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryPoint2D : public CellGeometry
-{ // GeometryPoint2D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryPoint2D(void);
-
-  /// Default destructor.
-  ~GeometryPoint2D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryPoint2D
-
-#endif // pylith_topology_geometrypoint2d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryPoint3D.hh" // implementation of class methods
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryPoint3D::GeometryPoint3D(void) :
-  CellGeometry(0, 3, 1)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryPoint3D::~GeometryPoint3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryPoint3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return 0;
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryPoint3D::jacobian(double_array* jacobian,
-					    const double_array& vertices,
-					    const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(1 == jacobian->size());
-  
-  (*jacobian)[0] = 1.0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryPoint3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 0-D
- * point cell.
- */
-
-#if !defined(pylith_topology_geometrypoint3d_hh)
-#define pylith_topology_geometrypoint3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryPoint3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryPoint3D : public CellGeometry
-{ // GeometryPoint3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryPoint3D(void);
-
-  /// Default destructor.
-  ~GeometryPoint3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryPoint3D
-
-#endif // pylith_topology_geometrypoint3d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryQuad2D.hh" // implementation of class methods
-
-#include "GeometryLine2D.hh" // USES GeometryLine2D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryQuad2D::GeometryQuad2D(void) :
-  CellGeometry(2, 2, 4)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryQuad2D::~GeometryQuad2D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryQuad2D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryLine2D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryQuad2D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(cellDim() == location.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-  
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-
-  const double x1 = vertices[2];
-  const double y1 = vertices[3];
-
-  const double x2 = vertices[4];
-  const double y2 = vertices[5];
-
-  const double x3 = vertices[6];
-  const double y3 = vertices[7];
-
-  const double x = location[0];
-  const double y = location[1];
-  assert(0 <= x && x <= 1.0);
-  assert(0 <= y && y <= 1.0);
-
-  const double f_xy = x2 - x1 - x3 + x0;
-  const double g_xy = y2 - y1 - y3 + y0;
-
-  (*jacobian)[0] = x1 - x0 + f_xy*y;
-  (*jacobian)[1] = x3 - x0 + f_xy*x;
-  (*jacobian)[2] = y1 - y0 + g_xy*y;
-  (*jacobian)[3] = y3 - y0 + g_xy*x;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryQuad2D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 2-D
- * quadrilateral cell.
- */
-
-#if !defined(pylith_topology_geometryquad2d_hh)
-#define pylith_topology_geometryquad2d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryQuad2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryQuad2D : public CellGeometry
-{ // GeometryQuad2D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryQuad2D(void);
-
-  /// Default destructor.
-  ~GeometryQuad2D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryQuad2D
-
-#endif // pylith_topology_geometryquad2d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,93 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryQuad3D.hh" // implementation of class methods
-
-#include "GeometryLine3D.hh" // USES GeometryLine3D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryQuad3D::GeometryQuad3D(void) :
-  CellGeometry(2, 3, 4)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryQuad3D::~GeometryQuad3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryQuad3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryLine3D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryQuad3D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(cellDim() == location.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-  
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-  const double z0 = vertices[2];
-
-  const double x1 = vertices[3];
-  const double y1 = vertices[4];
-  const double z1 = vertices[5];
-
-  const double x2 = vertices[6];
-  const double y2 = vertices[7];
-  const double z2 = vertices[8];
-
-  const double x3 = vertices[9];
-  const double y3 = vertices[10];
-  const double z3 = vertices[11];
-
-  const double x = location[0];
-  const double y = location[1];
-  assert(0 <= x && x <= 1.0);
-  assert(0 <= y && y <= 1.0);
-
-  const double f_xy = x2 - x1 - x3 + x0;
-  const double g_xy = y2 - y1 - y3 + y0;
-  const double h_xy = z2 - z1 - z3 + z0;
-
-  (*jacobian)[0] = x1 - x0 + f_xy*y;
-  (*jacobian)[1] = x3 - x0 + f_xy*x;
-
-  (*jacobian)[2] = y1 - y0 + g_xy*y;
-  (*jacobian)[3] = y3 - y0 + g_xy*x;
-
-  (*jacobian)[4] = z1 - z0 + h_xy*y;
-  (*jacobian)[5] = z3 - z0 + h_xy*x;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryQuad3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 2-D
- * quadrilateral cell in 3-D.
- */
-
-#if !defined(pylith_topology_geometryquad3d_hh)
-#define pylith_topology_geometryquad3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryQuad3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryQuad3D : public CellGeometry
-{ // GeometryQuad3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryQuad3D(void);
-
-  /// Default destructor.
-  ~GeometryQuad3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryQuad3D
-
-#endif // pylith_topology_geometryquad3d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryTet3D.hh" // implementation of class methods
-
-#include "GeometryTri3D.hh" // USES GeometryTri3D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryTet3D::GeometryTet3D(void) :
-  CellGeometry(3, 3, 4)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryTet3D::~GeometryTet3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryTet3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryTri3D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryTet3D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-  
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-  const double z0 = vertices[2];
-
-  const double x1 = vertices[3];
-  const double y1 = vertices[4];
-  const double z1 = vertices[5];
-
-  const double x2 = vertices[6];
-  const double y2 = vertices[7];
-  const double z2 = vertices[8];
-
-  const double x3 = vertices[9];
-  const double y3 = vertices[10];
-  const double z3 = vertices[11];
-
-  (*jacobian)[0] = x1 - x0;
-  (*jacobian)[1] = x2 - x0;
-  (*jacobian)[2] = x3 - x0;
-  (*jacobian)[3] = y1 - y0;
-  (*jacobian)[4] = y2 - y0;
-  (*jacobian)[5] = y3 - y0;
-  (*jacobian)[6] = z1 - z0;
-  (*jacobian)[7] = z2 - z0;
-  (*jacobian)[8] = z3 - z0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryTet3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 3-D
- * tetrahedral cell.
- */
-
-#if !defined(pylith_topology_geometrytet3d_hh)
-#define pylith_topology_geometrytet3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryTet3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryTet3D : public CellGeometry
-{ // GeometryTet3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryTet3D(void);
-
-  /// Default destructor.
-  ~GeometryTet3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryTet3D
-
-#endif // pylith_topology_geometrytet3d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,72 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryTri2D.hh" // implementation of class methods
-
-#include "GeometryLine2D.hh" // USES GeometryLine2D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryTri2D::GeometryTri2D(void) :
-  CellGeometry(2, 2, 3)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryTri2D::~GeometryTri2D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryTri2D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryLine2D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryTri2D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-  
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-
-  const double x1 = vertices[2];
-  const double y1 = vertices[3];
-
-  const double x2 = vertices[4];
-  const double y2 = vertices[5];
-
-  (*jacobian)[0] = x1 - x0;
-  (*jacobian)[1] = x2 - x0;
-  (*jacobian)[2] = y1 - y0;
-  (*jacobian)[3] = y2 - y0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryTri2D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 2-D
- * triangular cell.
- */
-
-#if !defined(pylith_topology_geometrytri2d_hh)
-#define pylith_topology_geometrytri2d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryTri2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryTri2D : public CellGeometry
-{ // GeometryTri2D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryTri2D(void);
-
-  /// Default destructor.
-  ~GeometryTri2D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryTri2D
-
-#endif // pylith_topology_geometrytri2d_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include <portinfo>
-
-#include "GeometryTri3D.hh" // implementation of class methods
-
-#include "GeometryLine3D.hh" // USES GeometryLine3D
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include <assert.h> // USES assert()
-
-// ----------------------------------------------------------------------
-// Default constructor.
-pylith::topology::GeometryTri3D::GeometryTri3D(void) :
-  CellGeometry(2, 3, 3)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Default destructor.
-pylith::topology::GeometryTri3D::~GeometryTri3D(void)
-{ // destructor
-} // destructor
-
-// ----------------------------------------------------------------------
-// Get cell geometry for lower dimension cell.
-pylith::topology::CellGeometry*
-pylith::topology::GeometryTri3D::geometryLowerDim(void) const
-{ // geometryLowerDim
-  return new GeometryLine3D();
-} // geometryLowerDim
-
-// ----------------------------------------------------------------------
-// Compute Jacobian at location in cell.
-void
-pylith::topology::GeometryTri3D::jacobian(double_array* jacobian,
-					  const double_array& vertices,
-					  const double_array& location) const
-{ // jacobian
-  assert(0 != jacobian);
-
-  assert(numCorners()*spaceDim() == vertices.size());
-  assert(spaceDim()*cellDim() == jacobian->size());
-  
-  const double x0 = vertices[0];
-  const double y0 = vertices[1];
-  const double z0 = vertices[2];
-
-  const double x1 = vertices[3];
-  const double y1 = vertices[4];
-  const double z1 = vertices[5];
-
-  const double x2 = vertices[6];
-  const double y2 = vertices[7];
-  const double z2 = vertices[8];
-
-  (*jacobian)[0] = x1 - x0;
-  (*jacobian)[1] = x2 - x0;
-
-  (*jacobian)[2] = y1 - y0;
-  (*jacobian)[3] = y2 - y0;
-
-  (*jacobian)[4] = z1 - z0;
-  (*jacobian)[5] = z2 - z0;
-} // jacobian
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/GeometryTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/**
- * @file pylith/topology/GeometryTri3D.hh
- *
- * @brief C++ implementation of cell geometry calculations for 2-D
- * triangular cell.
- */
-
-#if !defined(pylith_topology_geometrytri3d_hh)
-#define pylith_topology_geometrytri3d_hh
-
-#include "CellGeometry.hh" // ISA CellGeometry
-
-namespace pylith {
-  namespace topology {
-    class GeometryTri3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeometryTri3D : public CellGeometry
-{ // GeometryTri3D
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Default constructor.
-  GeometryTri3D(void);
-
-  /// Default destructor.
-  ~GeometryTri3D(void);
-
-  /** Get cell geometry for lower dimension cell.
-   *
-   * @returns Pointer to cell geometry object corresponding to next
-   * lower dimension, NULL if there is no lower dimension object.
-   */
-  CellGeometry* geometryLowerDim(void) const;
-
-  /** Compute Jacobian at location in cell.
-   *
-   * @param jacobian Jacobian at location.
-   * @param vertices Coordinates of vertices of cell.
-   * @param location Location in reference cell at which to compute Jacobian.
-   */
-  void jacobian(double_array* jacobian,
-		const double_array& vertices,
-		const double_array& location) const;
-
-}; // GeometryTri3D
-
-#endif // pylith_topology_geometrytri3d_hh
-
-
-// End of file

Modified: short/3D/PyLith/trunk/libsrc/topology/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/libsrc/topology/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -14,21 +14,7 @@
 include $(top_srcdir)/subpackage.am
 
 subpkginclude_HEADERS = \
-	CellGeometry.hh \
-	CellGeometry.icc \
-	FieldsManager.hh \
-	GeometryPoint1D.hh \
-	GeometryPoint2D.hh \
-	GeometryPoint3D.hh \
-	GeometryLine1D.hh \
-	GeometryLine2D.hh \
-	GeometryLine3D.hh \
-	GeometryTri2D.hh \
-	GeometryTri3D.hh \
-	GeometryTet3D.hh \
-	GeometryQuad2D.hh \
-	GeometryQuad3D.hh \
-	GeometryHex3D.hh
+	FieldsManager.hh
 
 noinst_HEADERS =
 

Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src	2007-06-07 23:37:26 UTC (rev 7094)
@@ -11,6 +11,20 @@
 #
 
 #header{
+#include "pylith/feassemble/CellGeometry.hh"
+#include "pylith/feassemble/GeometryPoint1D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+#include "pylith/feassemble/GeometryPoint3D.hh"
+#include "pylith/feassemble/GeometryLine1D.hh"
+#include "pylith/feassemble/GeometryLine2D.hh"
+#include "pylith/feassemble/GeometryLine3D.hh"
+#include "pylith/feassemble/GeometryTri2D.hh"
+#include "pylith/feassemble/GeometryTri3D.hh"
+#include "pylith/feassemble/GeometryQuad2D.hh"
+#include "pylith/feassemble/GeometryQuad3D.hh"
+#include "pylith/feassemble/GeometryTet3D.hh"
+#include "pylith/feassemble/GeometryHex3D.hh"
+
 #include "pylith/feassemble/Quadrature.hh"
 #include "pylith/feassemble/Quadrature1D.hh"
 #include "pylith/feassemble/Quadrature1Din2D.hh"
@@ -46,6 +60,19 @@
     void* malloc(size_t size)
     void free(void* mem)
 
+cdef void CellGeometry_destructor(void* obj):
+  """
+  Destroy CellGeometry object.
+  """
+  # create shim for destructor
+  #embed{ void CellGeometry_destructor_cpp(void* objVptr)
+  pylith::feassemble::CellGeometry* pQ =
+    (pylith::feassemble::CellGeometry*) objVptr;
+  delete pQ;
+  #}embed
+  CellGeometry_destructor_cpp(obj)
+  return
+
 cdef void Quadrature_destructor(void* obj):
   """
   Destroy Quadrature object.
@@ -88,6 +115,352 @@
 
 
 # ----------------------------------------------------------------------
+cdef class CellGeometry:
+
+  cdef void* thisptr # Pointer to C++ object
+  cdef readonly object handle # PyCObject holding pointer to C++ object
+  cdef readonly object name # Identifier for object base type
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    self.handle = None
+    self.thisptr = NULL
+    self.name = "pylith_feassemble_CellGeometry"
+    return
+
+
+  def _createHandle(self):
+    """Wrap pointer to C++ object in PyCObject."""
+    return PyCObject_FromVoidPtr(self.thisptr, CellGeometry_destructor)
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryPoint1D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryPoint1D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryPoint1D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryPoint1D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryPoint2D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryPoint2D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryPoint2D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryPoint2D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryPoint3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryPoint3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryPoint3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryPoint3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryLine1D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryLine1D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryLine1D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryLine1D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryLine2D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryLine2D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryLine2D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryLine2D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryLine3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryLine3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryLine3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryLine3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryTri2D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryTri2D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryTri2D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryTri2D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryTri3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryTri3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryTri3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryTri3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryQuad2D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryQuad2D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryQuad2D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryQuad2D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryQuad3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryQuad3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryQuad3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryQuad3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryTet3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryTet3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryTet3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryTet3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
+cdef class GeometryHex3D(CellGeometry):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* GeometryHex3D_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::feassemble::GeometryHex3D);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    CellGeometry.__init__(self)
+    self.thisptr = GeometryHex3D_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+# ----------------------------------------------------------------------
 cdef class Quadrature:
 
   cdef void* thisptr # Pointer to C++ object
@@ -266,6 +639,34 @@
       return Quadrature_minJacobian_get(self.thisptr)
 
 
+  property refGeometry:
+    def __set__(self, value):
+      """
+      Set geometry associated with reference cell.
+      """
+      # create shim for method 'refGeometry'
+      #embed{ void Quadrature_refGeometry_set(void* objVptr, void* geomVptr)
+      try {
+        assert(0 != objVptr);
+        assert(0 != geomVptr);
+        pylith::feassemble::CellGeometry* geom =
+          (pylith::feassemble::CellGeometry*) geomVptr;
+        ((pylith::feassemble::Quadrature*) objVptr)->refGeometry(geom);
+      } catch (const std::exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.what()));
+      } catch (...) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "Caught unknown C++ exception.");
+      } // try/catch
+      #}embed
+      if not value.name == "pylith_feassemble_CellGeometry":
+        raise TypeError, \
+              "Argument must be extension module type " \
+              "'pylith::feassemble::CellGeometry'."
+      Quadrature_refGeometry_set(self.thisptr, ptrFromHandle(value))
+
+
 # ----------------------------------------------------------------------
 cdef class Quadrature1D(Quadrature):
 

Modified: short/3D/PyLith/trunk/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/pylith/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -34,6 +34,7 @@
 	feassemble/Integrator.py \
 	feassemble/IntegratorElasticity.py \
 	feassemble/ReferenceCell.py \
+	feassemble/quadrature/__init__.py \
 	feassemble/quadrature/Quadrature.py \
 	feassemble/quadrature/Quadrature1D.py \
 	feassemble/quadrature/Quadrature1Din2D.py \
@@ -41,7 +42,20 @@
 	feassemble/quadrature/Quadrature2D.py \
 	feassemble/quadrature/Quadrature2Din3D.py \
 	feassemble/quadrature/Quadrature3D.py \
-	feassemble/quadrature/__init__.py \
+	feassemble/geometry/__init__.py \
+	feassemble/geometry/CellGeometry.py \
+	feassemble/geometry/GeometryPoint1D.py \
+	feassemble/geometry/GeometryPoint2D.py \
+	feassemble/geometry/GeometryPoint3D.py \
+	feassemble/geometry/GeometryLine1D.py \
+	feassemble/geometry/GeometryLine2D.py \
+	feassemble/geometry/GeometryLine3D.py \
+	feassemble/geometry/GeometryTri2D.py \
+	feassemble/geometry/GeometryTri3D.py \
+	feassemble/geometry/GeometryQuad2D.py \
+	feassemble/geometry/GeometryQuad3D.py \
+	feassemble/geometry/GeometryTet3D.py \
+	feassemble/geometry/GeometryHex3D.py \
 	materials/__init__.py \
 	materials/ElasticMaterial.py \
 	materials/ElasticIsotropic3D.py \

Modified: short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -77,100 +77,114 @@
     return
 
 
-  def initialize(self):
+  def initialize(self, spaceDim):
     """
     Initialize reference finite-element cell from a tensor product of
     1-D Lagrange elements.
     """
-    quadrature = self._setupQuadrature()
-    element    = self._setupElement()
-    dim        = self.cellDim
+    self._setupGeometry(spaceDim)
+
+    if  self.cellDim > 0:
+      quadrature = self._setupQuadrature()
+      element    = self._setupElement()
+      dim        = self.cellDim
     
-    # Get coordinates of vertices (dual basis)
-    vertices = numpy.array(self._setupVertices(element))
+      # Get coordinates of vertices (dual basis)
+      vertices = numpy.array(self._setupVertices(element))
 
-    # Evaluate basis functions at quadrature points
-    quadpts     = numpy.array(quadrature.get_points())
-    quadwts     = numpy.array(quadrature.get_weights())
-    numQuadPts  = len(quadpts)
-    basis       = numpy.array(element.function_space().tabulate(quadrature.get_points())).transpose()
-    numBasisFns = len(element.function_space())
+      # Evaluate basis functions at quadrature points
+      quadpts = numpy.array(quadrature.get_points())
+      quadwts = numpy.array(quadrature.get_weights())
+      numQuadPts = len(quadpts)
+      basis = numpy.array(element.function_space().tabulate(quadrature.get_points())).transpose()
+      numBasisFns = len(element.function_space())
 
-    # Evaluate derivatives of basis functions at quadrature points
-    basisDeriv = numpy.array([element.function_space().deriv_all(d).tabulate(quadrature.get_points()) \
-                              for d in range(1)]).transpose()
+      # Evaluate derivatives of basis functions at quadrature points
+      basisDeriv = numpy.array([element.function_space().deriv_all(d).tabulate(quadrature.get_points()) \
+                                for d in range(1)]).transpose()
 
-    self.numQuadPts = numQuadPts**dim
-    self.numCorners = numBasisFns**dim
+      self.numQuadPts = numQuadPts**dim
+      self.numCorners = numBasisFns**dim
 
-    if dim == 1:
-      self.vertices = numpy.array(vertices)
-      self.quadPts = quadpts
-      self.quadWts = quadwts
-      self.basis = basis
-      self.basisDeriv = basisDeriv
-    else:
-      if dim == 2:
-        self.vertices = numpy.zeros((numBasisFns, numBasisFns, dim))
-        for q in range(numBasisFns):
-          for r in range(numBasisFns):
-            self.vertices[q][r][0] = vertices[r]
-            self.vertices[q][r][1] = vertices[q]
+      if dim == 1:
+        self.vertices = numpy.array(vertices)
+        self.quadPts = quadpts
+        self.quadWts = quadwts
+        self.basis = basis
+        self.basisDeriv = basisDeriv
+      else:
+        if dim == 2:
+          self.vertices = numpy.zeros((numBasisFns, numBasisFns, dim))
+          for q in range(numBasisFns):
+            for r in range(numBasisFns):
+              self.vertices[q][r][0] = vertices[r]
+              self.vertices[q][r][1] = vertices[q]
         
-        self.quadPts = numpy.zeros((numQuadPts, numQuadPts, dim))
-        self.quadWts = numpy.zeros((numQuadPts, numQuadPts))
-        self.basis = numpy.zeros((numQuadPts, numQuadPts,
-                                       numBasisFns, numBasisFns))
-        self.basisDeriv = numpy.zeros((numQuadPts, numQuadPts,
-                                       numBasisFns, numBasisFns, dim))
-        for q in range(numQuadPts):
-          for r in range(numQuadPts):
-            self.quadPts[q][r][0] = quadpts[r]
-            self.quadPts[q][r][1] = quadpts[q]
-            self.quadWts[q][r] = quadwts[r]*quadwts[q]
-            for f in range(numBasisFns):
-              for g in range(numBasisFns):
-                self.basis[q][r][f][g] = basis[r][g]*basis[q][f]
-                self.basisDeriv[q][r][f][g][0] = basisDeriv[r][g][0]*basis[q][f]
-                self.basisDeriv[q][r][f][g][1] = basis[r][g]*basisDeriv[q][f][0]
-      elif dim == 3:
-        self.vertices = numpy.zeros((numBasisFns, numBasisFns, numBasisFns,
-                                     dim))
-        for q in range(numBasisFns):
-          for r in range(numBasisFns):
-            for s in range(numBasisFns):
-              self.vertices[q][r][s][0] = vertices[s]
-              self.vertices[q][r][s][1] = vertices[r]
-              self.vertices[q][r][s][2] = vertices[q]
-
-        self.quadPts    = numpy.zeros((numQuadPts, numQuadPts,
-                                       numQuadPts, dim))
-        self.quadWts    = numpy.zeros((numQuadPts, numQuadPts, numQuadPts))
-        self.basis      = numpy.zeros((numQuadPts, numQuadPts, numQuadPts,
-                                       numBasisFns, numBasisFns, numBasisFns))
-        self.basisDeriv = numpy.zeros((numQuadPts, numQuadPts, numQuadPts,
-                                       numBasisFns, numBasisFns, numBasisFns,
-                                       dim))
-        for q in range(numQuadPts):
-          for r in range(numQuadPts):
-            for s in range(numQuadPts):
-              self.quadPts[q][r][s][0] = quadpts[s]
-              self.quadPts[q][r][s][1] = quadpts[r]
-              self.quadPts[q][r][s][2] = quadpts[q]
-              self.quadWts[q][r][s]    = quadwts[s]*quadwts[r]*quadwts[q]
+          self.quadPts = numpy.zeros((numQuadPts, numQuadPts, dim))
+          self.quadWts = numpy.zeros((numQuadPts, numQuadPts))
+          self.basis = numpy.zeros((numQuadPts, numQuadPts,
+                                         numBasisFns, numBasisFns))
+          self.basisDeriv = numpy.zeros((numQuadPts, numQuadPts,
+                                         numBasisFns, numBasisFns, dim))
+          for q in range(numQuadPts):
+            for r in range(numQuadPts):
+              self.quadPts[q][r][0] = quadpts[r]
+              self.quadPts[q][r][1] = quadpts[q]
+              self.quadWts[q][r] = quadwts[r]*quadwts[q]
               for f in range(numBasisFns):
                 for g in range(numBasisFns):
-                  for h in range(numBasisFns):
-                    self.basis[q][r][s][f][g][h] = basis[s][h]*basis[r][g]*basis[q][f]
-                    self.basisDeriv[q][r][s][f][g][h][0] = basisDeriv[s][h][0]*basis[r][g]*basis[q][f]
-                    self.basisDeriv[q][r][s][f][g][h][1] = basis[s][h]*basisDeriv[r][g][0]*basis[q][f]
-                    self.basisDeriv[q][r][s][f][g][h][2] = basis[s][h]*basis[r][g]*basisDeriv[q][f][0]
-      self.vertices = numpy.reshape(self.vertices, (self.numCorners, dim))
-      self.quadPts = numpy.reshape(self.quadPts, (self.numQuadPts, dim))
-      self.quadWts = numpy.reshape(self.quadWts, (self.numQuadPts))
-      self.basis = numpy.reshape(self.basis, (self.numQuadPts, self.numCorners))
-      self.basisDeriv = numpy.reshape(self.basisDeriv, (self.numQuadPts, self.numCorners, dim))
+                  self.basis[q][r][f][g] = basis[r][g]*basis[q][f]
+                  self.basisDeriv[q][r][f][g][0] = basisDeriv[r][g][0]*basis[q][f]
+                  self.basisDeriv[q][r][f][g][1] = basis[r][g]*basisDeriv[q][f][0]
+        elif dim == 3:
+          self.vertices = numpy.zeros((numBasisFns, numBasisFns, numBasisFns,
+                                       dim))
+          for q in range(numBasisFns):
+            for r in range(numBasisFns):
+              for s in range(numBasisFns):
+                self.vertices[q][r][s][0] = vertices[s]
+                self.vertices[q][r][s][1] = vertices[r]
+                self.vertices[q][r][s][2] = vertices[q]
 
+          self.quadPts    = numpy.zeros((numQuadPts, numQuadPts,
+                                         numQuadPts, dim))
+          self.quadWts    = numpy.zeros((numQuadPts, numQuadPts, numQuadPts))
+          self.basis      = numpy.zeros((numQuadPts, numQuadPts, numQuadPts,
+                                         numBasisFns, numBasisFns, numBasisFns))
+          self.basisDeriv = numpy.zeros((numQuadPts, numQuadPts, numQuadPts,
+                                         numBasisFns, numBasisFns, numBasisFns,
+                                         dim))
+          for q in range(numQuadPts):
+            for r in range(numQuadPts):
+              for s in range(numQuadPts):
+                self.quadPts[q][r][s][0] = quadpts[s]
+                self.quadPts[q][r][s][1] = quadpts[r]
+                self.quadPts[q][r][s][2] = quadpts[q]
+                self.quadWts[q][r][s]    = quadwts[s]*quadwts[r]*quadwts[q]
+                for f in range(numBasisFns):
+                  for g in range(numBasisFns):
+                    for h in range(numBasisFns):
+                      self.basis[q][r][s][f][g][h] = basis[s][h]*basis[r][g]*basis[q][f]
+                      self.basisDeriv[q][r][s][f][g][h][0] = basisDeriv[s][h][0]*basis[r][g]*basis[q][f]
+                      self.basisDeriv[q][r][s][f][g][h][1] = basis[s][h]*basisDeriv[r][g][0]*basis[q][f]
+                      self.basisDeriv[q][r][s][f][g][h][2] = basis[s][h]*basis[r][g]*basisDeriv[q][f][0]
+        self.vertices = numpy.reshape(self.vertices, (self.numCorners, dim))
+        self.quadPts = numpy.reshape(self.quadPts, (self.numQuadPts, dim))
+        self.quadWts = numpy.reshape(self.quadWts, (self.numQuadPts))
+        self.basis = numpy.reshape(self.basis, (self.numQuadPts, self.numCorners))
+        self.basisDeriv = numpy.reshape(self.basisDeriv, (self.numQuadPts, self.numCorners, dim))
+    else:
+      # Need 0-D quadrature for boundary conditions of 1-D meshes
+      self.cellDim = 0
+      self.numCorners = 1
+      self.numQuadPts = 1
+      self.basis = numpy.array([1.0])
+      self.basisDeriv = numpy.array([1.0])
+      self.quadPts = numpy.array([0.0])
+      self.quadWts = numpy.array([1.0])
+
+    self._info.line("Cell geometry: ")
+    self._info.line(self.geometry)
     self._info.line("Vertices: ")
     self._info.line(self.vertices)
     self._info.line("Quad pts:")
@@ -203,6 +217,48 @@
     return
 
 
+  def _setupGeometry(self, spaceDim):
+    """
+    Setup reference cell geometry object.
+    """
+    self.geometry = None
+    if 3 == self.cellDim:
+      if 3 == spaceDim:
+        from geometry.GeometryHex3D import GeometryHex3D
+        self.geometry = GeometryHex3D()
+    elif 2 == self.cellDim:
+      if 2 == spaceDim:
+        from geometry.GeometryQuad2D import GeometryQuad2D
+        self.geometry = GeometryQuad2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryQuad3D import GeometryQuad3D
+        self.geometry = GeometryQuad3D()
+    elif 1 == self.cellDim:
+      if 1 == spaceDim:
+        from geometry.GeometryLine1D import GeometryLine1D
+        self.geometry = GeometryLine1D()
+      elif 2 == spaceDim:
+        from geometry.GeometryLine2D import GeometryLine2D
+        self.geometry = GeometryLine2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryLine3D import GeometryLine3D
+        self.geometry = GeometryLine3D()
+    elif 0 == self.cellDim:
+      if 1 == spaceDim:
+        from geometry.GeometryPoint1D import GeometryPoint1D
+        self.geometry = GeometryPoint1D()
+      elif 2 == spaceDim:
+        from geometry.GeometryPoint2D import GeometryPoint2D
+        self.geometry = GeometryPoint2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryPoint3D import GeometryPoint3D
+        self.geometry = GeometryPoint3D()
+    if None == self.geometry:
+      raise ValueError("Could not set shape of cell for '%s' in spatial " \
+                       "dimension '%s'." % (self.name, spaceDim))
+    return
+  
+
   def _setupQuadrature(self):
     """
     Setup quadrature rule for reference cell.

Modified: short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -25,10 +25,11 @@
   name = shape.lower()
   if not ("tetrahedron" == name or 
           "triangle" == name or 
-          "line" == name):
+          "line" == name or
+          "point" == name):
     raise ValueError("Unknown shape '%s' for reference finite-element " \
                      "cell.\n" \
-                     "Known shapes: 'tetrahedron', 'triangle', 'line'" % \
+                     "Known shapes: 'tetrahedron', 'triangle', 'line', 'point'" % \
                      name)
   return name
 
@@ -80,41 +81,55 @@
     return
 
 
-  def initialize(self):
+  def initialize(self, spaceDim):
     """
     Initialize reference finite-element cell.
     """
-    quadrature = self._setupQuadrature()
-    basisFns = self._setupBasisFns()
+    self._setupGeometry(spaceDim)
 
-    # Get coordinates of vertices (dual basis)
-    self.vertices = numpy.array(self._setupVertices(), dtype=numpy.float64)
+    if "point" != self.shape.lower():
+      quadrature = self._setupQuadrature()
+      basisFns = self._setupBasisFns()
 
-    # Evaluate basis functions at quadrature points
-    quadpts = quadrature.get_points()
-    basis = numpy.array(basisFns.tabulate(quadpts)).transpose()
-    self.basis = numpy.reshape(basis.flatten(), basis.shape)
+      # Get coordinates of vertices (dual basis)
+      self.vertices = numpy.array(self._setupVertices(), dtype=numpy.float64)
 
-    # Evaluate derivatives of basis functions at quadrature points
-    import FIAT.shapes
-    dim = FIAT.shapes.dimension(basisFns.base.shape)
-    basisDeriv = numpy.array([basisFns.deriv_all(d).tabulate(quadpts) \
-                              for d in range(dim)]).transpose()
-    self.basisDeriv = numpy.reshape(basisDeriv.flatten(), basisDeriv.shape)
+      # Evaluate basis functions at quadrature points
+      quadpts = quadrature.get_points()
+      basis = numpy.array(basisFns.tabulate(quadpts)).transpose()
+      self.basis = numpy.reshape(basis.flatten(), basis.shape)
 
-    self.quadPts = numpy.array(quadrature.get_points())
-    self.quadWts = numpy.array(quadrature.get_weights())
+      # Evaluate derivatives of basis functions at quadrature points
+      import FIAT.shapes
+      dim = FIAT.shapes.dimension(basisFns.base.shape)
+      basisDeriv = numpy.array([basisFns.deriv_all(d).tabulate(quadpts) \
+                                for d in range(dim)]).transpose()
+      self.basisDeriv = numpy.reshape(basisDeriv.flatten(), basisDeriv.shape)
 
-    self.cellDim = dim
-    self.numCorners = len(basisFns)
-    self.numQuadPts = len(quadrature.get_weights())
+      self.quadPts = numpy.array(quadrature.get_points())
+      self.quadWts = numpy.array(quadrature.get_weights())
 
+      self.cellDim = dim
+      self.numCorners = len(basisFns)
+      self.numQuadPts = len(quadrature.get_weights())
+    else:
+      # Need 0-D quadrature for boundary conditions of 1-D meshes
+      self.cellDim = 0
+      self.numCorners = 1
+      self.numQuadPts = 1
+      self.basis = numpy.array([1.0])
+      self.basisDeriv = numpy.array([1.0])
+      self.quadPts = numpy.array([0.0])
+      self.quadWts = numpy.array([1.0])
+
+    self._info.line("Cell geometry: ")
+    self._info.line(self.geometry)
     self._info.line("Vertices: ")
     self._info.line(self.vertices)
     self._info.line("Quad pts:")
-    self._info.line(quadrature.get_points())
+    self._info.line(self.quadPts)
     self._info.line("Quad wts:")
-    self._info.line(quadrature.get_weights())
+    self._info.line(self.quadWts)
     self._info.line("Basis fns @ quad pts ):")
     self._info.line(self.basis)
     self._info.line("Basis fn derivatives @ quad pts:")
@@ -138,10 +153,54 @@
     return
 
 
+  def _setupGeometry(self, spaceDim):
+    """
+    Setup reference cell geometry object.
+    """
+    self.geometry = None
+    name = self.shape.lower()
+    if "tetrahedron" == name:
+      if 3 == spaceDim:
+        from geometry.GeometryTet3D import GeometryTet3D
+        self.geometry = GeometryTet3D()
+    elif "triangle" == name:
+      if 2 == spaceDim:
+        from geometry.GeometryTri2D import GeometryTri2D
+        self.geometry = GeometryTri2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryTri3D import GeometryTri3D
+        self.geometry = GeometryTri3D()
+    elif "line" == name:
+      if 1 == spaceDim:
+        from geometry.GeometryLine1D import GeometryLine1D
+        self.geometry = GeometryLine1D()
+      elif 2 == spaceDim:
+        from geometry.GeometryLine2D import GeometryLine2D
+        self.geometry = GeometryLine2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryLine3D import GeometryLine3D
+        self.geometry = GeometryLine3D()
+    elif "point" == name:
+      if 1 == spaceDim:
+        from geometry.GeometryPoint1D import GeometryPoint1D
+        self.geometry = GeometryPoint1D()
+      elif 2 == spaceDim:
+        from geometry.GeometryPoint2D import GeometryPoint2D
+        self.geometry = GeometryPoint2D()
+      elif 3 == spaceDim:
+        from geometry.GeometryPoint3D import GeometryPoint3D
+        self.geometry = GeometryPoint3D()
+    if None == self.geometry:
+      raise ValueError("Could not set shape of cell for '%s' in spatial " \
+                       "dimension '%s'." % (self.name, spaceDim))
+    return
+  
+
   def _setupQuadrature(self):
     """
     Setup quadrature rule for reference cell.
     """
+    
     import FIAT.quadrature
     return FIAT.quadrature.make_quadrature_by_degree(self._getShape(),
                                                      self.order)
@@ -175,6 +234,8 @@
       shape = FIAT.shapes.TRIANGLE
     elif "line" == name:
       shape = FIAT.shapes.LINE
+    elif "point" == name:
+      shape = None
     else:
       raise ValueError("Unknown shape '%s' for reference finite-element " \
                        "cell.\n" \

Modified: short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,6 +36,8 @@
     """
     Component.__init__(self, name, facility="reference_cell")
 
+    self.geometry = None # Geometry of reference cell
+
     self.basisVert = None # numpy array w/basis fns at vertices
     self.basisDerivVert = None # numpy array w/basis fn derivs at vertices
     self.basisQuad = None # numpy array w/basis fns at quad pts
@@ -50,7 +52,7 @@
     return
 
 
-  def initialize(self):
+  def initialize(self, spaceDim):
     """
     Initialize reference finite-element cell.
     """

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/CellGeometry.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/CellGeometry.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/CellGeometry.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/CellGeometry.py
+##
+## @brief Python abstract base class for geometry of a finite-element cell.
+
+# ----------------------------------------------------------------------
+# CellGeometry class
+class CellGeometry(object):
+  """
+  Python abstract base class for geometry of a finite-element cell.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    self.cppHandle = None
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryHex3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryHex3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryHex3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryHex3D.py
+##
+## @brief Python object for geometry of a 3-D hexahedral
+## finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryHex3D class
+class GeometryHex3D(object):
+  """
+  Python object for geometry of a 3-D hexahedral finite-element cell
+  in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryHex3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine1D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine1D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine1D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryLine1D.py
+##
+## @brief Python object for geometry of a 1-D line finite-element cell
+## in 1-D.
+
+# ----------------------------------------------------------------------
+# GeometryLine1D class
+class GeometryLine1D(object):
+  """
+  Python object for geometry of a 1-D line finite-element cell in 1-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryLine1D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryLine2D.py
+##
+## @brief Python object for geometry of a 1-D line finite-element cell
+## in 2-D.
+
+# ----------------------------------------------------------------------
+# GeometryLine2D class
+class GeometryLine2D(object):
+  """
+  Python object for geometry of a 1-D line finite-element cell in 2-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryLine2D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryLine3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryLine3D.py
+##
+## @brief Python object for geometry of a 1-D line finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryLine3D class
+class GeometryLine3D(object):
+  """
+  Python object for geometry of a 1-D finite-element cell in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryLine3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint1D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint1D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint1D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryPoint1D.py
+##
+## @brief Python object for geometry of a 0-D finite-element cell in 1-D.
+
+# ----------------------------------------------------------------------
+# GeometryPoint1D class
+class GeometryPoint1D(object):
+  """
+  Python object for geometry of a 0-D finite-element cell in 1-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryPoint1D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryPoint2D.py
+##
+## @brief Python object for geometry of a 0-D finite-element cell in 2-D.
+
+# ----------------------------------------------------------------------
+# GeometryPoint2D class
+class GeometryPoint2D(object):
+  """
+  Python object for geometry of a 0-D finite-element cell in 2-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryPoint2D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryPoint3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryPoint3D.py
+##
+## @brief Python object for geometry of a 0-D finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryPoint3D class
+class GeometryPoint3D(object):
+  """
+  Python object for geometry of a 0-D finite-element cell in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryPoint3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryQuad2D.py
+##
+## @brief Python object for geometry of a 2-D quadrilateral
+## finite-element cell in 2-D.
+
+# ----------------------------------------------------------------------
+# GeometryQuad2D class
+class GeometryQuad2D(object):
+  """
+  Python object for geometry of a 2-D quadrilateral finite-element
+  cell in 2-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryQuad2D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryQuad3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryQuad3D.py
+##
+## @brief Python object for geometry of a 2-D quadrilateral
+## finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryQuad3D class
+class GeometryQuad3D(object):
+  """
+  Python object for geometry of a 2-D quadrilateral finite-element
+  cell in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryQuad3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTet3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTet3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTet3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryTet3D.py
+##
+## @brief Python object for geometry of a 3-D tetrahedral
+## finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryTet3D class
+class GeometryTet3D(object):
+  """
+  Python object for geometry of a 3-D tetrahedral finite-element cell
+  in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryTet3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryTri2D.py
+##
+## @brief Python object for geometry of a 2-D triangular
+## finite-element cell in 2-D.
+
+# ----------------------------------------------------------------------
+# GeometryTri2D class
+class GeometryTri2D(object):
+  """
+  Python object for geometry of a 2-D triangular finite-element cell
+  in 2-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryTri2D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/GeometryTri3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/GeometryTri3D.py
+##
+## @brief Python object for geometry of a 2-D triangular
+## finite-element cell in 3-D.
+
+# ----------------------------------------------------------------------
+# GeometryTri3D class
+class GeometryTri3D(object):
+  """
+  Python object for geometry of a 2-D triangular finite-element cell
+  in 3-D.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self):
+    """
+    Constructor.
+    """
+    import pylith.feassemble.feassemble as bindings
+    self.cppHandle = bindings.GeometryTri3D()
+    return
+
+
+# End of file 

Added: short/3D/PyLith/trunk/pylith/feassemble/geometry/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/geometry/__init__.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/geometry/__init__.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/geometry/__init__.py
+##
+## @brief Python PyLith finite-element assembler geometry module
+## initialization
+
+__all__ = ['CellGeometry',
+           'GeometryPoint1D',
+           'GeometryPoint2D',
+           'GeometryPoint3D',
+           'GeometryLine1D',
+           'GeometryLine2D',
+           'GeometryLine3D',
+           'GeometryTri2D',
+           'GeometryTri3D',
+           'GeometryQuad2D',
+           'GeometryQuad3D',
+           'GeometryTet3D',
+           'GeometryHex3D']
+
+
+# End of file

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature.py
+## @file pylith/feassemble/quadrature/Qudrature.py
 ##
 ## @brief Python abstract base class for integrating over
 ## finite-elements using quadrature.
@@ -77,21 +77,22 @@
     self.cppHandle.minJacobian = self.minJacobian
 
     self._info.log("Initializing reference cell.")
-    c = self.cell
-    c.initialize()
+    cell = self.cell
+    cell.initialize(self.spaceDim)
 
-    if c.cellDim != self.cellDim:
+    if cell.cellDim != self.cellDim:
       raise TypeError("Dimension of reference cell '%d' does not match "
                       "dimension of quadrature implementation '%d'." % \
-                      (c.cellDim, self.cellDim))
+                      (cell.cellDim, self.cellDim))
 
 
     self._info.log("Initializing C++ quadrature.")
-    self.cppHandle.initialize(c.vertices,
-                              c.basis, c.basisDeriv,
-                              c.quadPts, c.quadWts,
-                              c.cellDim, c.numCorners, c.numQuadPts,
+    self.cppHandle.initialize(cell.vertices,
+                              cell.basis, cell.basisDeriv,
+                              cell.quadPts, cell.quadWts,
+                              cell.cellDim, cell.numCorners, cell.numQuadPts,
                               self.spaceDim)
+    self.cppHandle.refGeometry = cell.geometry.cppHandle
     return
 
 

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature1D.py
+## @file pylith/feassemble/quadrature/Qudrature1D.py
 ##
 ## @brief Python object implementing 1-D integration in 1-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature1Din2D.py
+## @file pylith/feassemble/quadrature/Qudrature1Din2D.py
 ##
 ## @brief Python object implementing 1-D integration in 2-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature1Din3D.py
+## @file pylith/feassemble/quadrature/Qudrature1Din3D.py
 ##
 ## @brief Python object implementing 1-D integration in 3-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature2D.py
+## @file pylith/feassemble/quadrature/Qudrature2D.py
 ##
 ## @brief Python object implementing 2-D integration in 2-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature2Din3D.py
+## @file pylith/feassemble/quadrature/Qudrature2Din3D.py
 ##
 ## @brief Python object implementing 2-D integration in 3-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file pylith/feassemble/Qudrature3D.py
+## @file pylith/feassemble/quadrature/Qudrature3D.py
 ##
 ## @brief Python object implementing 3-D integration in 3-D space
 ## using numerical quadrature.

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -26,6 +26,7 @@
 	TestFault.cc \
 	TestFaultCohesive.cc \
 	TestFaultCohesiveKin.cc \
+	TestFaultCohesiveKinLine2.cc \
 	test_faults.cc
 
 noinst_HEADERS = \
@@ -33,7 +34,8 @@
 	TestEqKinSrc.hh \
 	TestFault.hh \
 	TestFaultCohesive.hh \
-	TestFaultCohesiveKin.hh
+	TestFaultCohesiveKin.hh \
+	TestFaultCohesiveKinLine2.hh
 
 # Source files associated with testing data
 testfaults_SOURCES += \

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestBruneSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestBruneSlipFn.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestBruneSlipFn.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -24,7 +24,6 @@
 #include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
 #include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
 
-#include <stdexcept> // TEMPORARY
 // ----------------------------------------------------------------------
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestBruneSlipFn );
 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestEqKinSrc.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestEqKinSrc.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestEqKinSrc.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -25,7 +25,6 @@
 #include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
 #include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
 
-#include <stdexcept> // TEMPORARY
 // ----------------------------------------------------------------------
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestEqKinSrc );
 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -16,8 +16,96 @@
 
 #include "pylith/faults/FaultCohesiveKin.hh" // USES FaultCohesiveKin
 
+#include "pylith/faults/EqKinSrc.hh" // USES EqKinSrc
+
+#include <stdexcept> // TEMPORARY
 // ----------------------------------------------------------------------
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestFaultCohesiveKin );
 
+// ----------------------------------------------------------------------
+// Test constructor.
+void
+pylith::faults::TestFaultCohesiveKin::testConstructor(void)
+{ // testConstructor
+  FaultCohesiveKin fault;
+} // testConstructor
 
+// ----------------------------------------------------------------------
+// Test eqsrc().
+void
+pylith::faults::TestFaultCohesiveKin::testEqsrc(void)
+{ // testEqsrc
+  FaultCohesiveKin fault;
+
+  EqKinSrc eqsrc;
+  fault.eqsrc(&eqsrc);
+  CPPUNIT_ASSERT(&eqsrc == fault._eqsrc);
+} // testEqsrc
+
+// ----------------------------------------------------------------------
+// Test useLagrangeConstraints().
+void
+pylith::faults::TestFaultCohesiveKin::testUseLagrangeConstraints(void)
+{ // testUseLagrangeConstraints
+  FaultCohesiveKin fault;
+  CPPUNIT_ASSERT_EQUAL(true, fault._useLagrangeConstraints());
+} // testUseLagrangeConstraints
+
+// ----------------------------------------------------------------------
+// Test initialize().
+void
+pylith::faults::TestFaultCohesiveKin::testInitialize(void)
+{ // testInitialize
+  throw std::logic_error("Unit test not implemented.");
+} // testInitialize
+
+// ----------------------------------------------------------------------
+// Test integrateResidual().
+void
+pylith::faults::TestFaultCohesiveKin::testIntegrateResidual(void)
+{ // testIntegrateResidual
+  throw std::logic_error("Unit test not implemented.");
+} // testIntegrateResidual
+
+// ----------------------------------------------------------------------
+// Test integrateJacobian().
+void
+pylith::faults::TestFaultCohesiveKin::testIntegrateJacobian(void)
+{ // testIntegrateJacobian
+  throw std::logic_error("Unit test not implemented.");
+} // testIntegrateJacobian
+
+// ----------------------------------------------------------------------
+// Test setConstraintSizes().
+void
+pylith::faults::TestFaultCohesiveKin::testSetConstraintSizes(void)
+{ // testSetConstraintSizes
+  throw std::logic_error("Unit test not implemented.");
+} // testSetConstraintSizes
+
+// ----------------------------------------------------------------------
+// Test setConstraints().
+void
+pylith::faults::TestFaultCohesiveKin::testSetConstraints(void)
+{ // testSetConstraints
+  throw std::logic_error("Unit test not implemented.");
+} // testSetConstraints
+
+// ----------------------------------------------------------------------
+// Test setField().
+void
+pylith::faults::TestFaultCohesiveKin::testSetField(void)
+{ // testSetField
+  throw std::logic_error("Unit test not implemented.");
+} // testSetField
+
+// ----------------------------------------------------------------------
+// Initialize FaultCohesiveKin interface condition.
+void
+pylith::faults::TestFaultCohesiveKin::_initialize(ALE::Obj<ALE::Mesh>* mesh,
+					FaultCohesiveKin* const fault) const
+{ // _initialize
+} // _initialize
+
+
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -21,26 +21,79 @@
 #if !defined(pylith_faults_testfaultcohesivekin_hh)
 #define pylith_faults_testfaultcohesivekin_hh
 
-#include "TestFaultCohesive.hh"
+#include <cppunit/extensions/HelperMacros.h>
 
+#include "pylith/utils/sievefwd.hh" // USES PETSc Mesh
+
 /// Namespace for pylith package
 namespace pylith {
   namespace faults {
     class TestFaultCohesiveKin;
+
+    class FaultCohesiveKin; // USES FaultCohesiveKin
+    class FaultCohesiveKinData; // HOLDSA FaultCohesiveKinData
   } // faults
 } // pylith
 
 /// C++ unit testing for FaultCohesiveKin
-class pylith::faults::TestFaultCohesiveKin : public TestFaultCohesive
+class pylith::faults::TestFaultCohesiveKin : public CppUnit::TestFixture
 { // class TestFaultCohesiveKin
 
   // CPPUNIT TEST SUITE /////////////////////////////////////////////////
   CPPUNIT_TEST_SUITE( TestFaultCohesiveKin );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testEqsrc );
+  CPPUNIT_TEST( testUseLagrangeConstraints );
+
   CPPUNIT_TEST_SUITE_END();
 
+  // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+  FaultCohesiveKinData* _data; ///< Data for testing
+
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test eqsrc().
+  void testEqsrc(void);
+
+  /// Test useLagrangeConstraints().
+  void testUseLagrangeConstraints(void);
+
+  /// Test initialize().
+  void testInitialize(void);
+
+  /// Test integrateResidual().
+  void testIntegrateResidual(void);
+
+  /// Test integrateJacobian().
+  void testIntegrateJacobian(void);
+
+  /// Test setConstraintSizes().
+  void testSetConstraintSizes(void);
+
+  /// Test setConstraints().
+  void testSetConstraints(void);
+
+  /// Test setField().
+  void testSetField(void);
+
+  // PRIVATE METHODS ////////////////////////////////////////////////////
+private :
+
+  /** Initialize FaultCohesiveKin interface condition.
+   *
+   * @param mesh PETSc mesh to initialize
+   * @param fault Cohesive fault interface condition to initialize.
+   */
+  void _initialize(ALE::Obj<ALE::Mesh>* mesh,
+		   FaultCohesiveKin* const fault) const;
+
 }; // class TestFaultCohesiveKin
 
 #endif // pylith_faults_testfaultcohesivekin_hh

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestFaultCohesiveKinLine2.hh" // Implementation of class methods
+
+//#include "data/FaultCohesiveKinDataLine2.hh" // USES DirichletDataLine2
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestFaultCohesiveKinLine2 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::faults::TestFaultCohesiveKinLine2::setUp(void)
+{ // setUp
+  //_data = new FaultCohesiveKinDataLine2();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::faults::TestFaultCohesiveKinLine2::tearDown(void)
+{ // tearDown
+  //delete _data;
+} // tearDown
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
+ *
+ * @brief C++ TestFaultCohesiveKinLine2 object.
+ *
+ * C++ unit testing for FaultCohesiveKin for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_faults_testfaultcohesivekinline2_hh)
+#define pylith_faults_testfaultcohesivekinline2_hh
+
+#include "TestFaultCohesiveKin.hh" // ISA TestFaultCohesiveKin
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace faults {
+    class TestFaultCohesiveKinLine2;
+  } // bc
+} // pylith
+
+/// C++ unit testing for FaultCohesiveKin for mesh with 1-D line cells.
+class pylith::faults::TestFaultCohesiveKinLine2 : public TestFaultCohesiveKin
+{ // class TestFaultCohesiveKinLine2
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestFaultCohesiveKinLine2 );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testSetConstraintSizes );
+  CPPUNIT_TEST( testSetConstraints );
+  CPPUNIT_TEST( testSetField );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+  /// Tear down testing data.
+  void tearDown(void);
+
+}; // class TestFaultCohesiveKinLine2
+
+#endif // pylith_faults_testfaultcohesiveline2_hh
+
+
+// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -21,6 +21,7 @@
 
 # Primary source files
 testfeassemble_SOURCES = \
+	TestCellGeometry.cc \
 	TestElasticity.cc \
 	TestElasticityExplicit.cc \
 	TestElasticityExplicit1DLinear.cc \
@@ -36,6 +37,18 @@
 	TestElasticityImplicit2DQuadratic.cc \
 	TestElasticityImplicit3DLinear.cc \
 	TestElasticityImplicit3DQuadratic.cc \
+	TestGeometryPoint1D.cc \
+	TestGeometryPoint2D.cc \
+	TestGeometryPoint3D.cc \
+	TestGeometryLine1D.cc \
+	TestGeometryLine2D.cc \
+	TestGeometryLine3D.cc \
+	TestGeometryTri2D.cc \
+	TestGeometryTri3D.cc \
+	TestGeometryQuad2D.cc \
+	TestGeometryQuad3D.cc \
+	TestGeometryTet3D.cc \
+	TestGeometryHex3D.cc \
 	TestIntegrator.cc \
 	TestQuadrature.cc \
 	TestQuadrature1D.cc \
@@ -46,6 +59,7 @@
 	test_feassemble.cc
 
 noinst_HEADERS = \
+	TestCellGeometry.hh \
 	TestElasticity.hh \
 	TestElasticityExplicit.hh \
 	TestElasticityExplicit1DLinear.hh \
@@ -61,6 +75,18 @@
 	TestElasticityImplicit2DQuadratic.hh \
 	TestElasticityImplicit3DLinear.hh \
 	TestElasticityImplicit3DQuadratic.hh \
+	TestGeometryPoint1D.hh \
+	TestGeometryPoint2D.hh \
+	TestGeometryPoint3D.hh \
+	TestGeometryLine1D.hh \
+	TestGeometryLine2D.hh \
+	TestGeometryLine3D.hh \
+	TestGeometryTri2D.hh \
+	TestGeometryTri3D.hh \
+	TestGeometryQuad2D.hh \
+	TestGeometryQuad3D.hh \
+	TestGeometryTet3D.hh \
+	TestGeometryHex3D.hh \
 	TestIntegrator.hh \
 	TestQuadrature.hh \
 	TestQuadrature1D.hh \
@@ -71,6 +97,19 @@
 
 # Source files associated with testing data
 testfeassemble_SOURCES += \
+	data/CellGeomData.cc \
+	data/GeomDataPoint1D.cc \
+	data/GeomDataPoint2D.cc \
+	data/GeomDataPoint3D.cc \
+	data/GeomDataLine1D.cc \
+	data/GeomDataLine2D.cc \
+	data/GeomDataLine3D.cc \
+	data/GeomDataTri2D.cc \
+	data/GeomDataTri3D.cc \
+	data/GeomDataQuad2D.cc \
+	data/GeomDataQuad3D.cc \
+	data/GeomDataTet3D.cc \
+	data/GeomDataHex3D.cc \
 	data/IntegratorData.cc \
 	data/ElasticityExplicitData1DLinear.cc \
 	data/ElasticityExplicitData1DQuadratic.cc \
@@ -102,6 +141,19 @@
 	data/QuadratureData3DQuadratic.cc
 
 noinst_HEADERS += \
+	data/CellGeomData.hh \
+	data/GeomDataPoint1D.hh \
+	data/GeomDataPoint2D.hh \
+	data/GeomDataPoint3D.hh \
+	data/GeomDataLine1D.hh \
+	data/GeomDataLine2D.hh \
+	data/GeomDataLine3D.hh \
+	data/GeomDataTri2D.hh \
+	data/GeomDataTri3D.hh \
+	data/GeomDataQuad2D.hh \
+	data/GeomDataQuad3D.hh \
+	data/GeomDataTet3D.hh \
+	data/GeomDataHex3D.hh \
 	data/IntegratorData.hh \
 	data/ElasticityExplicitData1DLinear.hh \
 	data/ElasticityExplicitData1DQuadratic.hh \

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,121 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestCellGeometry.hh" // Implementation of class methods
+
+#include "pylith/feassemble/CellGeometry.hh" // USES CellGeometry
+#include "pylith/utils/array.hh" // USES double_array
+
+#include "data/CellGeomData.hh" // USES CellGeomData
+
+// ----------------------------------------------------------------------
+// Setup data.
+void 
+pylith::feassemble::TestCellGeometry::setUp(void)
+{ // setUp
+  _object = 0;
+  _data = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down test data.
+void
+pylith::feassemble::TestCellGeometry::tearDown(void)
+{ // tearDown
+  delete _object; _object = 0;
+  delete _data; _data = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
+// Test clone()
+void
+pylith::feassemble::TestCellGeometry::testClone(void)
+{ // testClone
+  CellGeometry* copy = _object->clone();
+  CPPUNIT_ASSERT_EQUAL(_object->cellDim(), copy->cellDim());
+  CPPUNIT_ASSERT_EQUAL(_object->spaceDim(), copy->spaceDim());
+  CPPUNIT_ASSERT_EQUAL(_object->numCorners(), copy->numCorners());
+  delete copy; copy = 0;
+} // testClone
+
+// ----------------------------------------------------------------------
+// Test cellDim().
+void
+pylith::feassemble::TestCellGeometry::testCellDim(void)
+{ // testCellDim
+  CPPUNIT_ASSERT(0 != _object);
+  CPPUNIT_ASSERT(0 != _data);
+  CPPUNIT_ASSERT_EQUAL(_data->cellDim, _object->cellDim());
+} // testCellDim
+
+// ----------------------------------------------------------------------
+// Test spaceDim().
+void
+pylith::feassemble::TestCellGeometry::testSpaceDim(void)
+{ // _testSpaceDim
+  CPPUNIT_ASSERT(0 != _object);
+  CPPUNIT_ASSERT(0 != _data);
+  CPPUNIT_ASSERT_EQUAL(_data->spaceDim, _object->spaceDim());
+} // _testSpaceDim
+
+// ----------------------------------------------------------------------
+// Test numCorners().
+void
+pylith::feassemble::TestCellGeometry::testNumCorners(void)
+{ // testNumCorners
+  CPPUNIT_ASSERT(0 != _object);
+  CPPUNIT_ASSERT(0 != _data);
+  CPPUNIT_ASSERT_EQUAL(_data->numCorners, _object->numCorners());
+} // testNumConers
+
+// ----------------------------------------------------------------------
+// Test jacobian().
+void
+pylith::feassemble::TestCellGeometry::testJacobian(void)
+{ // testJacobian
+  CPPUNIT_ASSERT(0 != _object);
+  CPPUNIT_ASSERT(0 != _data);
+
+  const int cellDim = _data->cellDim;
+  const int spaceDim = _data->spaceDim;
+  const int numCorners = _data->numCorners;
+
+  const int numLocs = _data->numLocs;
+
+  CPPUNIT_ASSERT_EQUAL(cellDim, _object->cellDim());
+  CPPUNIT_ASSERT_EQUAL(spaceDim, _object->spaceDim());
+  CPPUNIT_ASSERT_EQUAL(numCorners, _object->numCorners());
+
+  double_array jacobian(cellDim*spaceDim);
+  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
+    double_array vertices(_data->vertices, numCorners*spaceDim);
+    double_array location(&_data->locations[iLoc*cellDim], cellDim);
+
+    _object->jacobian(&jacobian, vertices, location);
+
+    const int size = jacobian.size();
+    const int index = iLoc*cellDim*spaceDim;
+    const double tolerance = 1.0e-06;
+    for (int i=0; i < size; ++i)
+      if (_data->jacobian[index+i] < 1.0)
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->jacobian[index+i], jacobian[i],
+				     tolerance);
+      else
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, jacobian[i]/_data->jacobian[index+i],
+				     tolerance);
+  } // for
+} // testJacobian
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestCellGeometry.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,74 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestCellGeometry.hh
+ *
+ * @brief C++ TestCellGeometry object
+ *
+ * C++ unit testing for CellGeometry.
+ */
+
+#if !defined(pylith_feassemble_testcellgeometry_hh)
+#define pylith_feassemble_testcellgeometry_hh
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestCellGeometry;
+
+    class CellGeometry;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for TestCellGeometry
+class pylith::feassemble::TestCellGeometry : public CppUnit::TestFixture
+{ // class TestCellGeometry
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Tear down data.
+  void tearDown(void);
+
+  /// Test clone().
+  void testClone(void);
+
+  /// Test cellDim().
+  void testCellDim(void);
+
+  /// Test spaceDim().
+  void testSpaceDim(void);
+
+  /// Test numCorners().
+  void testNumCorners(void);
+
+  /// Test jacobian().
+  void testJacobian(void);
+
+// PROTECTED MEMBERS ////////////////////////////////////////////////////
+protected :
+
+  CellGeometry* _object; ///< Test subject.
+  CellGeomData* _data; ///< Test data.
+
+}; // class TestCellGeometry
+
+#endif // pylith_feassemble_testcellgeometry_hh
+
+// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -31,6 +31,26 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityExplicit );
 
 // ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityExplicit::setUp(void)
+{ // setUp
+  _data = 0;
+  _quadrature = 0;
+  _material = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityExplicit::tearDown(void)
+{ // tearDown
+  delete _data; _data = 0;
+  delete _quadrature; _quadrature = 0;
+  delete _material; _material = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
 // Test constructor.
 void
 pylith::feassemble::TestElasticityExplicit::testConstructor(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -62,6 +62,12 @@
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
+  /// Setup testing data.
+  void setUp(void);
+
+  /// Tear down testing data.
+  void tearDown(void);
+
   /// Test constructor.
   void testConstructor(void);
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit1DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit1DLinear
 
 #endif // pylith_feassemble_testelasticityexplicit1dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit1DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit1DQuadratic
 
 #endif // pylith_feassemble_testelasticityexplicit1dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit2DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit2DLinear
 
 #endif // pylith_feassemble_testelasticityexplicit2dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit2DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit2DQuadratic
 
 #endif // pylith_feassemble_testelasticityexplicit2dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit3DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit3DLinear
 
 #endif // pylith_feassemble_testelasticityexplicit3dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityExplicit3DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityExplicit3DQuadratic
 
 #endif // pylith_feassemble_testelasticityexplicit3dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -31,6 +31,26 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit );
 
 // ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit::setUp(void)
+{ // setUp
+  _data = 0;
+  _quadrature = 0;
+  _material = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit::tearDown(void)
+{ // tearDown
+  delete _data; _data = 0;
+  delete _quadrature; _quadrature = 0;
+  delete _material; _material = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
 // Test constructor.
 void
 pylith::feassemble::TestElasticityImplicit::testConstructor(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -62,6 +62,12 @@
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
+  /// Setup testing data.
+  void setUp(void);
+
+  /// Tear down testing data.
+  void tearDown(void);
+
   /// Test constructor.
   void testConstructor(void);
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit1DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit1DLinear
 
 #endif // pylith_feassemble_testelasticityimplicit1dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit1DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit1DQuadratic
 
 #endif // pylith_feassemble_testelasticityimplicit1dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit2DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit2DLinear
 
 #endif // pylith_feassemble_testelasticityimplicit2dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit2DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit2DQuadratic
 
 #endif // pylith_feassemble_testelasticityimplicit2dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit3DLinear::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit3DLinear
 
 #endif // pylith_feassemble_testelasticityimplicit3dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -36,15 +36,5 @@
 		       std::string(_data->matType));
 } // setUp
 
-// ----------------------------------------------------------------------
-// Tear down testing data.
-void
-pylith::feassemble::TestElasticityImplicit3DQuadratic::tearDown(void)
-{ // tearDown
-  delete _data;
-  delete _quadrature;
-  delete _material;
-} // tearDown
 
-
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -50,9 +50,6 @@
   /// Setup testing data.
   void setUp(void);
 
-  /// Tear down testing data.
-  void tearDown(void);
-
 }; // class TestElasticityImplicit3DQuadratic
 
 #endif // pylith_feassemble_testelasticityimplicit3dquadratic_hh

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryHex3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryHex3D.hh"
+#include "pylith/feassemble/GeometryQuad3D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataHex3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryHex3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryHex3D::setUp(void)
+{ // setUp
+  _object = new GeometryHex3D();
+  _data = new GeomDataHex3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryHex3D::testConstructor(void)
+{ // testConstructor
+  GeometryHex3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryHex3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryHex3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryQuad3D* geometryPt = dynamic_cast<GeometryQuad3D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryHex3D.hh
+ *
+ * @brief C++ TestGeometryHex3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryhex3d_hh)
+#define pylith_feassemble_testgeometryhex3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryHex3D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryHex3D
+class pylith::feassemble::TestGeometryHex3D : public TestCellGeometry
+{ // class TestGeometryHex3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryHex3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryHex3D
+
+#endif // pylith_feassemble_testgeometryhex3d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryLine1D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryLine1D.hh"
+#include "pylith/feassemble/GeometryPoint1D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataLine1D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryLine1D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryLine1D::setUp(void)
+{ // setUp
+  _object = new GeometryLine1D();
+  _data = new GeomDataLine1D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryLine1D::testConstructor(void)
+{ // testConstructor
+  GeometryLine1D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryLine1D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryLine1D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryPoint1D* geometryPt = dynamic_cast<GeometryPoint1D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryLine1D.hh
+ *
+ * @brief C++ TestGeometryLine1D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryline1d_hh)
+#define pylith_feassemble_testgeometryline1d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryLine1D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryLine1D
+class pylith::feassemble::TestGeometryLine1D : public TestCellGeometry
+{ // class TestGeometryLine1D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryLine1D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryLine1D
+
+#endif // pylith_feassemble_testgeometryline1d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryLine2D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryLine2D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+#include "pylith/feassemble/GeometryPoint1D.hh"
+
+#include "data/GeomDataLine2D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryLine2D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryLine2D::setUp(void)
+{ // setUp
+  _object = new GeometryLine2D();
+  _data = new GeomDataLine2D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryLine2D::testConstructor(void)
+{ // testConstructor
+  GeometryLine2D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryLine2D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryLine2D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryPoint2D* geometryPt = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint1D* geometryPt2 = dynamic_cast<GeometryPoint1D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryLine2D.hh
+ *
+ * @brief C++ TestGeometryLine2D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryline2d_hh)
+#define pylith_feassemble_testgeometryline2d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryLine2D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryLine2D
+class pylith::feassemble::TestGeometryLine2D : public TestCellGeometry
+{ // class TestGeometryLine2D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryLine2D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryLine2D
+
+#endif // pylith_feassemble_testgeometryline2d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryLine3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryLine3D.hh"
+#include "pylith/feassemble/GeometryPoint3D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataLine3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryLine3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryLine3D::setUp(void)
+{ // setUp
+  _object = new GeometryLine3D();
+  _data = new GeomDataLine3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryLine3D::testConstructor(void)
+{ // testConstructor
+  GeometryLine3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryLine3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryLine3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryPoint3D* geometryPt = dynamic_cast<GeometryPoint3D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryLine3D.hh
+ *
+ * @brief C++ TestGeometryLine3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryline3d_hh)
+#define pylith_feassemble_testgeometryline3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryLine3D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryLine3D
+class pylith::feassemble::TestGeometryLine3D : public TestCellGeometry
+{ // class TestGeometryLine3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryLine3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryLine3D
+
+#endif // pylith_feassemble_testgeometryline3d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryPoint1D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryPoint1D.hh"
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include "data/GeomDataPoint1D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryPoint1D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryPoint1D::setUp(void)
+{ // setUp
+  _object = new GeometryPoint1D();
+  _data = new GeomDataPoint1D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryPoint1D::testConstructor(void)
+{ // testConstructor
+  GeometryPoint1D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryPoint1D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryPoint1D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  CPPUNIT_ASSERT(0 == geometryLD);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+// ----------------------------------------------------------------------
+// Test jacobian().
+void
+pylith::feassemble::TestGeometryPoint1D::testJacobian(void)
+{ // testJacobian
+  GeometryPoint1D geometry;
+  GeomDataPoint1D data;
+
+  const int cellDim = data.cellDim;
+  const int spaceDim = data.spaceDim;
+  const int numCorners = data.numCorners;
+
+  const int numLocs = data.numLocs;
+
+  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
+  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
+  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
+
+  double_array jacobian(1);
+  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
+    double_array vertices(data.vertices, numCorners*spaceDim);
+    double_array location(&data.locations[iLoc], 1);
+
+    geometry.jacobian(&jacobian, vertices, location);
+    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
+  } //for
+} // testJacobian
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryPoint1D.hh
+ *
+ * @brief C++ TestGeometryPoint1D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrypoint1d_hh)
+#define pylith_feassemble_testgeometrypoint1d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryPoint1D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryPoint1D
+class pylith::feassemble::TestGeometryPoint1D : public TestCellGeometry
+{ // class TestGeometryPoint1D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryPoint1D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+  /// Test jacobian().
+  void testJacobian(void);
+
+}; // class TestGeometryPoint1D
+
+#endif // pylith_feassemble_testgeometrypoint1d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryPoint2D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include "data/GeomDataPoint2D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryPoint2D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryPoint2D::setUp(void)
+{ // setUp
+  _object = new GeometryPoint2D();
+  _data = new GeomDataPoint2D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryPoint2D::testConstructor(void)
+{ // testConstructor
+  GeometryPoint2D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryPoint2D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryPoint2D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  CPPUNIT_ASSERT(0 == geometryLD);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+// ----------------------------------------------------------------------
+// Test jacobian().
+void
+pylith::feassemble::TestGeometryPoint2D::testJacobian(void)
+{ // testJacobian
+  GeometryPoint2D geometry;
+  GeomDataPoint2D data;
+
+  const int cellDim = data.cellDim;
+  const int spaceDim = data.spaceDim;
+  const int numCorners = data.numCorners;
+
+  const int numLocs = data.numLocs;
+
+  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
+  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
+  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
+
+  double_array jacobian(1);
+  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
+    double_array vertices(data.vertices, numCorners*spaceDim);
+    double_array location(&data.locations[iLoc], 1);
+
+    geometry.jacobian(&jacobian, vertices, location);
+    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
+  } //for
+} // testJacobian
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryPoint2D.hh
+ *
+ * @brief C++ TestGeometryPoint2D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrypoint2d_hh)
+#define pylith_feassemble_testgeometrypoint2d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryPoint2D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for GeometryPoint2D
+class pylith::feassemble::TestGeometryPoint2D : public TestCellGeometry
+{ // class TestGeometryPoint2D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryPoint2D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+  /// Test jacobian().
+  void testJacobian(void);
+
+}; // class TestGeometryPoint2D
+
+#endif // pylith_feassemble_testgeometrypoint2d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryPoint3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryPoint3D.hh"
+
+#include "pylith/utils/array.hh" // USES double_array
+
+#include "data/GeomDataPoint3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryPoint3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryPoint3D::setUp(void)
+{ // setUp
+  _object = new GeometryPoint3D();
+  _data = new GeomDataPoint3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryPoint3D::testConstructor(void)
+{ // testConstructor
+  GeometryPoint3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryPoint3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryPoint3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  CPPUNIT_ASSERT(0 == geometryLD);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+// ----------------------------------------------------------------------
+// Test jacobian().
+void
+pylith::feassemble::TestGeometryPoint3D::testJacobian(void)
+{ // testJacobian
+  GeometryPoint3D geometry;
+  GeomDataPoint3D data;
+
+  const int cellDim = data.cellDim;
+  const int spaceDim = data.spaceDim;
+  const int numCorners = data.numCorners;
+
+  const int numLocs = data.numLocs;
+
+  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
+  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
+  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
+
+  double_array jacobian(1);
+  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
+    double_array vertices(data.vertices, numCorners*spaceDim);
+    double_array location(&data.locations[iLoc], 1);
+
+    geometry.jacobian(&jacobian, vertices, location);
+    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
+  } //for
+} // testJacobian
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryPoint3D.hh
+ *
+ * @brief C++ TestGeometryPoint3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrypoint3d_hh)
+#define pylith_feassemble_testgeometrypoint3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryPoint3D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature3D
+class pylith::feassemble::TestGeometryPoint3D : public TestCellGeometry
+{ // class TestGeometryPoint3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryPoint3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+  /// Test jacobian().
+  void testJacobian(void);
+
+}; // class TestGeometryPoint3D
+
+#endif // pylith_feassemble_testgeometrypoint3d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryQuad2D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryQuad2D.hh"
+#include "pylith/feassemble/GeometryLine2D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataQuad2D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryQuad2D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryQuad2D::setUp(void)
+{ // setUp
+  _object = new GeometryQuad2D();
+  _data = new GeomDataQuad2D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryQuad2D::testConstructor(void)
+{ // testConstructor
+  GeometryQuad2D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryQuad2D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryQuad2D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryLine2D* geometryPt = dynamic_cast<GeometryLine2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryQuad2D.hh
+ *
+ * @brief C++ TestGeometryQuad2D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryquad2d_hh)
+#define pylith_feassemble_testgeometryquad2d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryQuad2D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature2D
+class pylith::feassemble::TestGeometryQuad2D : public TestCellGeometry
+{ // class TestGeometryQuad2D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryQuad2D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryQuad2D
+
+#endif // pylith_feassemble_testgeometryquad2d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryQuad3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryQuad3D.hh"
+#include "pylith/feassemble/GeometryLine3D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataQuad3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryQuad3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryQuad3D::setUp(void)
+{ // setUp
+  _object = new GeometryQuad3D();
+  _data = new GeomDataQuad3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryQuad3D::testConstructor(void)
+{ // testConstructor
+  GeometryQuad3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryQuad3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryQuad3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryLine3D* geometryPt = dynamic_cast<GeometryLine3D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryQuad3D.hh
+ *
+ * @brief C++ TestGeometryQuad3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometryquad3d_hh)
+#define pylith_feassemble_testgeometryquad3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryQuad3D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature3D
+class pylith::feassemble::TestGeometryQuad3D : public TestCellGeometry
+{ // class TestGeometryQuad3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryQuad3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryQuad3D
+
+#endif // pylith_feassemble_testgeometryquad3d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryTet3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryTet3D.hh"
+#include "pylith/feassemble/GeometryTri3D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataTet3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryTet3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryTet3D::setUp(void)
+{ // setUp
+  _object = new GeometryTet3D();
+  _data = new GeomDataTet3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryTet3D::testConstructor(void)
+{ // testConstructor
+  GeometryTet3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryTet3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryTet3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryTri3D* geometryPt = dynamic_cast<GeometryTri3D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryTet3D.hh
+ *
+ * @brief C++ TestGeometryTet3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrytet3d_hh)
+#define pylith_feassemble_testgeometrytet3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryTet3D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature3D
+class pylith::feassemble::TestGeometryTet3D : public TestCellGeometry
+{ // class TestGeometryTet3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryTet3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryTet3D
+
+#endif // pylith_feassemble_testgeometrytet3d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryTri2D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryTri2D.hh"
+#include "pylith/feassemble/GeometryLine2D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataTri2D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryTri2D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryTri2D::setUp(void)
+{ // setUp
+  _object = new GeometryTri2D();
+  _data = new GeomDataTri2D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryTri2D::testConstructor(void)
+{ // testConstructor
+  GeometryTri2D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryTri2D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryTri2D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryLine2D* geometryPt = dynamic_cast<GeometryLine2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryTri2D.hh
+ *
+ * @brief C++ TestGeometryTri2D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrytri2d_hh)
+#define pylith_feassemble_testgeometrytri2d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryTri2D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature2D
+class pylith::feassemble::TestGeometryTri2D : public TestCellGeometry
+{ // class TestGeometryTri2D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryTri2D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryTri2D
+
+#endif // pylith_feassemble_testgeometrytri2d_hh
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestGeometryTri3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/GeometryTri3D.hh"
+#include "pylith/feassemble/GeometryLine3D.hh"
+#include "pylith/feassemble/GeometryPoint2D.hh"
+
+#include "data/GeomDataTri3D.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestGeometryTri3D );
+
+// ----------------------------------------------------------------------
+// Setup test data.
+void
+pylith::feassemble::TestGeometryTri3D::setUp(void)
+{ // setUp
+  _object = new GeometryTri3D();
+  _data = new GeomDataTri3D();
+} // setUp
+
+// ----------------------------------------------------------------------
+// Test constructor
+void
+pylith::feassemble::TestGeometryTri3D::testConstructor(void)
+{ // testConstructor
+  GeometryTri3D geometry;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test geometryLowerDim().
+void
+pylith::feassemble::TestGeometryTri3D::testGeomLowerDim(void)
+{ // testGeomLowerDim
+  GeometryTri3D geometry;
+  CellGeometry* geometryLD = geometry.geometryLowerDim();
+  GeometryLine3D* geometryPt = dynamic_cast<GeometryLine3D*>(geometryLD);
+  CPPUNIT_ASSERT(0 != geometryPt);
+  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
+  CPPUNIT_ASSERT(0 == geometryPt2);
+  delete geometryLD; geometryLD = 0;
+} // testGeomLowerDim
+
+
+// End of file 

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestGeometryTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestGeometryTri3D.hh
+ *
+ * @brief C++ TestGeometryTri3D object
+ *
+ * C++ unit testing for TopologyAscii.
+ */
+
+#if !defined(pylith_feassemble_testgeometrytri3d_hh)
+#define pylith_feassemble_testgeometrytri3d_hh
+
+#include "TestCellGeometry.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestGeometryTri3D;
+    class CellGeomData;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for Quadrature3D
+class pylith::feassemble::TestGeometryTri3D : public TestCellGeometry
+{ // class TestGeometryTri3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestGeometryTri3D );
+
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST( testGeomLowerDim );
+
+  CPPUNIT_TEST( testCellDim );
+  CPPUNIT_TEST( testSpaceDim );
+  CPPUNIT_TEST( testNumCorners );
+  CPPUNIT_TEST( testJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup data.
+  void setUp(void);
+
+  /// Test constructor.
+  void testConstructor(void);
+
+  /// Test geometryLowerDim().
+  void testGeomLowerDim(void);
+
+}; // class TestGeometryTri3D
+
+#endif // pylith_feassemble_testgeometrytri3d_hh
+
+// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestQuadrature.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -38,6 +38,7 @@
 
   // CPPUNIT TEST SUITE /////////////////////////////////////////////////
   CPPUNIT_TEST_SUITE( TestQuadrature );
+
   CPPUNIT_TEST( testClone );
   CPPUNIT_TEST( testMinJacobian );
   CPPUNIT_TEST( testInitialize );

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,35 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "CellGeomData.hh"
+
+// ----------------------------------------------------------------------
+// Constructor
+pylith::feassemble::CellGeomData::CellGeomData(void) :
+  cellDim(0),
+  spaceDim(0),
+  numCorners(0),
+  numLocs(0),
+  vertices(0),
+  locations(0),
+  jacobian(0)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Destructor
+pylith::feassemble::CellGeomData::~CellGeomData(void)
+{ // destructor
+} // destructor
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/CellGeomData.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,52 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_feassemble_cellgeomdata_hh)
+#define pylith_feassemble_cellgeomdata_hh
+
+namespace pylith {
+  namespace feassemble {
+     class CellGeomData;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+  
+  /// Constructor
+  CellGeomData(void);
+
+  /// Destructor
+  ~CellGeomData(void);
+
+// PUBLIC MEMBERS ///////////////////////////////////////////////////////
+public:
+
+  int cellDim; ///< Number of dimensions associated with cell
+  int spaceDim; ///< Number of dimensions in vertex coordinates
+  int numCorners; ///< Number of vertices in cell
+
+  int numLocs; ///< Number of locations
+
+  double* vertices; ///< Coordinates of vertices of cell
+  double* locations; ///< Locations where Jacobian is computed
+  double* jacobian; ///< Jacobian at locations
+
+};
+
+#endif // pylith_feassemble_cellgeomdata_hh
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataHex3D.hh"
+
+const int pylith::feassemble::GeomDataHex3D::_cellDim = 3;
+
+const int pylith::feassemble::GeomDataHex3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataHex3D::_numCorners = 8;
+
+const int pylith::feassemble::GeomDataHex3D::_numLocs = 9;
+
+const double pylith::feassemble::GeomDataHex3D::_vertices[] = {
+  -1.3, -1.4, -0.8,
+  1.2, -1.5, -0.9,
+  1.4, 0.7, -1.2,
+  -1.6, 0.4, -0.5,
+  -1.7, -0.8, 1.8,
+  2.1, -1.7, 0.6,
+  2.3, 0.2, 1.9, 
+  -1.8, 0.3, 2.2
+};
+
+const double pylith::feassemble::GeomDataHex3D::_locations[] = {
+  0.0, 0.0, 0.0,
+  1.0, 0.0, 0.0,
+  0.0, 1.0, 0.0,
+  1.0, 1.0, 0.0,
+  0.0, 0.0, 1.0,
+  1.0, 0.0, 1.0,
+  0.0, 1.0, 1.0,
+  1.0, 1.0, 1.0,
+  0.2, 0.8, 0.7
+};
+
+const double pylith::feassemble::GeomDataHex3D::_jacobian[] = {
+  2.5, -0.3, -0.4, -0.1, 1.8, 0.6, -0.1, 0.3, 2.6,
+  2.5, 0.2, 0.9, -0.1, 2.2, -0.2, -0.1, -0.3, 1.5,
+  3.0, -0.3, -0.2, 0.3, 1.8, -0.1, -0.7, 0.3, 2.7,
+  3.0, 0.2, 0.9, 0.3, 2.2, -0.5, -0.7, -0.3, 3.1,
+  3.8, -0.1, -0.4, -0.9, 1.1, 0.6, -1.2, 0.4, 2.6,
+  3.8, 0.2, 0.9, -0.9, 1.9, -0.2, -1.2, 1.3, 1.5,
+  4.1, -0.1, -0.2, -0.1, 1.1, -0.1, -0.3, 0.4, 2.7,
+  4.1, 0.2, 0.9, -0.1, 1.9, -0.5, -0.3, 1.3, 3.1,
+  3.698, -0.088, -0.012, -0.116, 1.446, -0.056, -0.51, 0.46, 2.7
+};
+
+pylith::feassemble::GeomDataHex3D::GeomDataHex3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataHex3D::~GeomDataHex3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatahex3d_hh)
+#define pylith_meshio_geomdatahex3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataHex3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataHex3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataHex3D(void);
+
+  /// Destructor
+  ~GeomDataHex3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatahex3d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataLine1D.hh"
+
+const int pylith::feassemble::GeomDataLine1D::_cellDim = 1;
+
+const int pylith::feassemble::GeomDataLine1D::_spaceDim = 1;
+
+const int pylith::feassemble::GeomDataLine1D::_numCorners = 2;
+
+const int pylith::feassemble::GeomDataLine1D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataLine1D::_vertices[] = {
+  1.2,
+  4.5
+};
+
+const double pylith::feassemble::GeomDataLine1D::_locations[] = {
+  0.345,
+  0.459
+};
+
+const double pylith::feassemble::GeomDataLine1D::_jacobian[] = {
+  3.3,
+  3.3
+};
+
+pylith::feassemble::GeomDataLine1D::GeomDataLine1D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataLine1D::~GeomDataLine1D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdataline1d_hh)
+#define pylith_meshio_geomdataline1d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataLine1D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataLine1D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataLine1D(void);
+
+  /// Destructor
+  ~GeomDataLine1D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdataline1d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataLine2D.hh"
+
+const int pylith::feassemble::GeomDataLine2D::_cellDim = 1;
+
+const int pylith::feassemble::GeomDataLine2D::_spaceDim = 2;
+
+const int pylith::feassemble::GeomDataLine2D::_numCorners = 2;
+
+const int pylith::feassemble::GeomDataLine2D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataLine2D::_vertices[] = {
+  1.2, 2.4,
+  4.5, -1.4
+};
+
+const double pylith::feassemble::GeomDataLine2D::_locations[] = {
+  0.345,
+  0.459
+};
+
+const double pylith::feassemble::GeomDataLine2D::_jacobian[] = {
+  3.3, -3.8,
+  3.3, -3.8
+};
+
+pylith::feassemble::GeomDataLine2D::GeomDataLine2D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataLine2D::~GeomDataLine2D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdataline2d_hh)
+#define pylith_meshio_geomdataline2d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataLine2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataLine2D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataLine2D(void);
+
+  /// Destructor
+  ~GeomDataLine2D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdataline2d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataLine3D.hh"
+
+const int pylith::feassemble::GeomDataLine3D::_cellDim = 1;
+
+const int pylith::feassemble::GeomDataLine3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataLine3D::_numCorners = 2;
+
+const int pylith::feassemble::GeomDataLine3D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataLine3D::_vertices[] = {
+  1.2, 2.3, 2.4,
+  4.5, -1.5, 5.3
+};
+
+const double pylith::feassemble::GeomDataLine3D::_locations[] = {
+  0.345,
+  0.459
+};
+
+const double pylith::feassemble::GeomDataLine3D::_jacobian[] = {
+  3.3, -3.8, 2.9,
+  3.3, -3.8, 2.9
+};
+
+pylith::feassemble::GeomDataLine3D::GeomDataLine3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataLine3D::~GeomDataLine3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdataline3d_hh)
+#define pylith_meshio_geomdataline3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataLine3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataLine3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataLine3D(void);
+
+  /// Destructor
+  ~GeomDataLine3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdataline3d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataPoint1D.hh"
+
+const int pylith::feassemble::GeomDataPoint1D::_cellDim = 0;
+
+const int pylith::feassemble::GeomDataPoint1D::_spaceDim = 1;
+
+const int pylith::feassemble::GeomDataPoint1D::_numCorners = 1;
+
+const int pylith::feassemble::GeomDataPoint1D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataPoint1D::_vertices[] = {
+  1.2,
+  4.5
+};
+
+const double pylith::feassemble::GeomDataPoint1D::_locations[] = {
+  0.0,
+  0.0
+};
+
+const double pylith::feassemble::GeomDataPoint1D::_jacobian[] = {
+  1.0,
+  1.0
+};
+
+pylith::feassemble::GeomDataPoint1D::GeomDataPoint1D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataPoint1D::~GeomDataPoint1D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatapoint1d_hh)
+#define pylith_meshio_geomdatapoint1d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataPoint1D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataPoint1D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataPoint1D(void);
+
+  /// Destructor
+  ~GeomDataPoint1D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatapoint1d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataPoint2D.hh"
+
+const int pylith::feassemble::GeomDataPoint2D::_cellDim = 0;
+
+const int pylith::feassemble::GeomDataPoint2D::_spaceDim = 2;
+
+const int pylith::feassemble::GeomDataPoint2D::_numCorners = 1;
+
+const int pylith::feassemble::GeomDataPoint2D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataPoint2D::_vertices[] = {
+  1.3, 5.4,
+  4.1, 7.5
+};
+
+const double pylith::feassemble::GeomDataPoint2D::_locations[] = {
+  0.0,
+  0.0
+};
+
+const double pylith::feassemble::GeomDataPoint2D::_jacobian[] = {
+  1.0,
+  1.0
+};
+
+pylith::feassemble::GeomDataPoint2D::GeomDataPoint2D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataPoint2D::~GeomDataPoint2D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatapoint2d_hh)
+#define pylith_meshio_geomdatapoint2d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataPoint2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataPoint2D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataPoint2D(void);
+
+  /// Destructor
+  ~GeomDataPoint2D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatapoint2d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataPoint3D.hh"
+
+const int pylith::feassemble::GeomDataPoint3D::_cellDim = 0;
+
+const int pylith::feassemble::GeomDataPoint3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataPoint3D::_numCorners = 1;
+
+const int pylith::feassemble::GeomDataPoint3D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataPoint3D::_vertices[] = {
+  1.22, 4.35, 6.56,
+  4.45, 5.62, 2.55
+};
+
+const double pylith::feassemble::GeomDataPoint3D::_locations[] = {
+  0.0,
+  0.0
+};
+
+const double pylith::feassemble::GeomDataPoint3D::_jacobian[] = {
+  1.0,
+  1.0
+};
+
+pylith::feassemble::GeomDataPoint3D::GeomDataPoint3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataPoint3D::~GeomDataPoint3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatapoint3d_hh)
+#define pylith_meshio_geomdatapoint3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataPoint3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataPoint3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataPoint3D(void);
+
+  /// Destructor
+  ~GeomDataPoint3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatapoint3d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataQuad2D.hh"
+
+const int pylith::feassemble::GeomDataQuad2D::_cellDim = 2;
+
+const int pylith::feassemble::GeomDataQuad2D::_spaceDim = 2;
+
+const int pylith::feassemble::GeomDataQuad2D::_numCorners = 4;
+
+const int pylith::feassemble::GeomDataQuad2D::_numLocs = 5;
+
+const double pylith::feassemble::GeomDataQuad2D::_vertices[] = {
+  0.3, 0.1,
+  0.8, -0.2,
+  0.7, 1.2,
+  -0.1, 1.6
+};
+
+const double pylith::feassemble::GeomDataQuad2D::_locations[] = {
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 1.0,
+  1.0, 1.0,
+  0.4, 0.7
+};
+
+const double pylith::feassemble::GeomDataQuad2D::_jacobian[] = {
+  0.5, -0.4, -0.3, 1.5,
+  0.5, -0.1, -0.3, 1.4,
+  0.8, -0.4, -0.4, 1.5,
+  0.8, -0.1, -0.4, 1.4,
+  0.71, -0.28, -0.37, 1.46
+};
+
+pylith::feassemble::GeomDataQuad2D::GeomDataQuad2D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataQuad2D::~GeomDataQuad2D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdataquad2d_hh)
+#define pylith_meshio_geomdataquad2d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataQuad2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataQuad2D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataQuad2D(void);
+
+  /// Destructor
+  ~GeomDataQuad2D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdataquad2d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataQuad3D.hh"
+
+const int pylith::feassemble::GeomDataQuad3D::_cellDim = 2;
+
+const int pylith::feassemble::GeomDataQuad3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataQuad3D::_numCorners = 4;
+
+const int pylith::feassemble::GeomDataQuad3D::_numLocs = 5;
+
+const double pylith::feassemble::GeomDataQuad3D::_vertices[] = {
+  1.1, -0.9, 0.1,
+  1.0, 0.7, 0.8,
+  -0.4, 0.6, 1.2,
+  -0.3, -1.3, -0.1
+};
+
+const double pylith::feassemble::GeomDataQuad3D::_locations[] = {
+  0.0, 0.0,
+  1.0, 0.0,
+  0.0, 1.0,
+  1.0, 1.0,
+  0.3, 0.8
+};
+
+const double pylith::feassemble::GeomDataQuad3D::_jacobian[] = {
+  -0.1, -1.4, 1.6, -0.4, 0.7, -0.2,
+  -0.1, -1.4, 1.6, -0.1, 0.7, 0.4,
+  -0.1, -1.4, 1.9, -0.4, 1.3, -0.2,
+  -0.1, -1.4, 1.9, -0.1, 1.3, 0.4,
+  -0.1, -1.4, 1.84, -0.31, 1.18, -0.02
+};
+
+pylith::feassemble::GeomDataQuad3D::GeomDataQuad3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataQuad3D::~GeomDataQuad3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdataquad3d_hh)
+#define pylith_meshio_geomdataquad3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataQuad3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataQuad3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataQuad3D(void);
+
+  /// Destructor
+  ~GeomDataQuad3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdataquad3d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataTet3D.hh"
+
+const int pylith::feassemble::GeomDataTet3D::_cellDim = 3;
+
+const int pylith::feassemble::GeomDataTet3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataTet3D::_numCorners = 4;
+
+const int pylith::feassemble::GeomDataTet3D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataTet3D::_vertices[] = {
+  -1.3, -0.8, 0.2,
+  2.1, -0.7, 0.1,
+  -1.0, 2.4, -0.3,
+  -0.1, 0.2, 3.0
+};
+
+const double pylith::feassemble::GeomDataTet3D::_locations[] = {
+  0.345, 0.397, 0.319,
+  0.459, 0.727, 0.693
+};
+
+const double pylith::feassemble::GeomDataTet3D::_jacobian[] = {
+  3.4, 0.3, 1.2, 0.1, 3.2, 1.0, -0.1, -0.5, 2.8,
+  3.4, 0.3, 1.2, 0.1, 3.2, 1.0, -0.1, -0.5, 2.8
+};
+
+pylith::feassemble::GeomDataTet3D::GeomDataTet3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataTet3D::~GeomDataTet3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatatet3d_hh)
+#define pylith_meshio_geomdatatet3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataTet3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataTet3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataTet3D(void);
+
+  /// Destructor
+  ~GeomDataTet3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatatet3d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataTri2D.hh"
+
+const int pylith::feassemble::GeomDataTri2D::_cellDim = 2;
+
+const int pylith::feassemble::GeomDataTri2D::_spaceDim = 2;
+
+const int pylith::feassemble::GeomDataTri2D::_numCorners = 3;
+
+const int pylith::feassemble::GeomDataTri2D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataTri2D::_vertices[] = {
+  1.0,  1.2,
+  3.0,  2.0,
+  1.5,  4.0
+};
+
+const double pylith::feassemble::GeomDataTri2D::_locations[] = {
+  0.345, 0.397,
+  0.459, 0.727
+};
+
+const double pylith::feassemble::GeomDataTri2D::_jacobian[] = {
+  2.0, 0.5, 0.8, 2.8,
+  2.0, 0.5, 0.8, 2.8
+};
+
+pylith::feassemble::GeomDataTri2D::GeomDataTri2D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataTri2D::~GeomDataTri2D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatatri2d_hh)
+#define pylith_meshio_geomdatatri2d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataTri2D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataTri2D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataTri2D(void);
+
+  /// Destructor
+  ~GeomDataTri2D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatatri2d_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.cc (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "GeomDataTri3D.hh"
+
+const int pylith::feassemble::GeomDataTri3D::_cellDim = 2;
+
+const int pylith::feassemble::GeomDataTri3D::_spaceDim = 3;
+
+const int pylith::feassemble::GeomDataTri3D::_numCorners = 3;
+
+const int pylith::feassemble::GeomDataTri3D::_numLocs = 2;
+
+const double pylith::feassemble::GeomDataTri3D::_vertices[] = {
+  1.2, 1.3, -0.4,
+  -0.3, -1.7, 0.1,
+  -0.1, 0.4, 1.4
+};
+
+const double pylith::feassemble::GeomDataTri3D::_locations[] = {
+  0.345, 0.397,
+  0.459, 0.727
+};
+
+const double pylith::feassemble::GeomDataTri3D::_jacobian[] = {
+  -1.5, -1.3, -3.0, -0.9, 0.5, 1.8,
+  -1.5, -1.3, -3.0, -0.9, 0.5, 1.8
+};
+
+pylith::feassemble::GeomDataTri3D::GeomDataTri3D(void)
+{ // constructor
+  cellDim = _cellDim;
+  spaceDim = _spaceDim;
+  numCorners = _numCorners;
+  numLocs = _numLocs;
+  vertices = const_cast<double*>(_vertices);
+  locations = const_cast<double*>(_locations);
+  jacobian = const_cast<double*>(_jacobian);
+} // constructor
+
+pylith::feassemble::GeomDataTri3D::~GeomDataTri3D(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.hh (from rev 7088, short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh	2007-06-07 14:02:13 UTC (rev 7088)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/GeomDataTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_geomdatatri3d_hh)
+#define pylith_meshio_geomdatatri3d_hh
+
+#include "CellGeomData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class GeomDataTri3D;
+  } // feassemble
+} // pylith
+
+class pylith::feassemble::GeomDataTri3D : public CellGeomData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  GeomDataTri3D(void);
+
+  /// Destructor
+  ~GeomDataTri3D(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _cellDim; ///< Number of dimensions associated with cell
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCorners; ///< Number of vertices in cell
+
+  static const int _numLocs; ///< Number of locations for computing Jacobian
+
+  static const double _vertices[]; ///< Coordinates of cell's vertices
+  static const double _locations[]; ///< Locations to compute Jacobian
+  static const double _jacobian[]; ///< Jacobian at locations
+
+};
+
+#endif // pylith_meshio_geomdatatri3d_hh
+
+// End of file

Modified: short/3D/PyLith/trunk/unittests/libtests/topology/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/Makefile.am	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/Makefile.am	2007-06-07 23:37:26 UTC (rev 7094)
@@ -21,68 +21,16 @@
 
 # Primary source files
 testtopology_SOURCES = \
-	TestCellGeometry.cc \
 	TestFieldsManager.cc \
-	TestGeometryPoint1D.cc \
-	TestGeometryPoint2D.cc \
-	TestGeometryPoint3D.cc \
-	TestGeometryLine1D.cc \
-	TestGeometryLine2D.cc \
-	TestGeometryLine3D.cc \
-	TestGeometryTri2D.cc \
-	TestGeometryTri3D.cc \
-	TestGeometryQuad2D.cc \
-	TestGeometryQuad3D.cc \
-	TestGeometryTet3D.cc \
-	TestGeometryHex3D.cc \
 	test_topology.cc
 
 noinst_HEADERS =
-	TestCellGeometry.hh \
-	TestFieldsManager.hh \
-	TestGeometryPoint1D.hh \
-	TestGeometryPoint2D.hh \
-	TestGeometryPoint3D.hh \
-	TestGeometryLine1D.hh \
-	TestGeometryLine2D.hh \
-	TestGeometryLine3D.hh \
-	TestGeometryTri2D.hh \
-	TestGeometryTri3D.hh \
-	TestGeometryQuad2D.hh \
-	TestGeometryQuad3D.hh \
-	TestGeometryTet3D.hh \
-	TestGeometryHex3D.hh
+	TestFieldsManager.hh
 
 # Source files associated with testing data
-testtopology_SOURCES += \
-	data/CellGeomData.cc \
-	data/GeomDataPoint1D.cc \
-	data/GeomDataPoint2D.cc \
-	data/GeomDataPoint3D.cc \
-	data/GeomDataLine1D.cc \
-	data/GeomDataLine2D.cc \
-	data/GeomDataLine3D.cc \
-	data/GeomDataTri2D.cc \
-	data/GeomDataTri3D.cc \
-	data/GeomDataQuad2D.cc \
-	data/GeomDataQuad3D.cc \
-	data/GeomDataTet3D.cc \
-	data/GeomDataHex3D.cc
+testtopology_SOURCES += 
 
 noinst_HEADERS += 
-	data/CellGeomData.hh \
-	data/GeometryDataPoint1D.hh \
-	data/GeometryDataPoint2D.hh \
-	data/GeometryDataPoint3D.hh \
-	data/GeometryDataLine1D.hh \
-	data/GeometryDataLine2D.hh \
-	data/GeometryDataLine3D.hh \
-	data/GeometryDataTri2D.hh \
-	data/GeometryDataTri3D.hh \
-	data/GeometryDataQuad2D.hh \
-	data/GeometryDataQuad3D.hh \
-	data/GeometryDataTet3D.hh \
-	data/GeometryDataHex3D.hh
 
 testtopology_LDFLAGS = $(PETSC_LIB) $(PYTHON_BLDLIBRARY)
 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,86 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestCellGeometry.hh" // Implementation of class methods
-
-#include "pylith/topology/CellGeometry.hh" // USES CellGeometry
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/CellGeomData.hh" // USES CellGeomData
-
-// ----------------------------------------------------------------------
-// Test cellDim().
-void
-pylith::topology::TestCellGeometry::_testCellDim(const CellGeometry& geometry,
-						 const CellGeomData& data)
-{ // _testCellDim
-  CPPUNIT_ASSERT_EQUAL(data.cellDim, geometry.cellDim());
-} // _testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim().
-void
-pylith::topology::TestCellGeometry::_testSpaceDim(const CellGeometry& geometry,
-						  const CellGeomData& data)
-{ // _testSpaceDim
-  CPPUNIT_ASSERT_EQUAL(data.spaceDim, geometry.spaceDim());
-} // _testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners().
-void
-pylith::topology::TestCellGeometry::_testNumCorners(const CellGeometry& geometry,
-						    const CellGeomData& data)
-{ // _testNumCorners
-  CPPUNIT_ASSERT_EQUAL(data.numCorners, geometry.numCorners());
-} // _testNumConers
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestCellGeometry::_testJacobian(const CellGeometry* geometry,
-						  const CellGeomData& data)
-{ // _testJacobian
-  const int cellDim = data.cellDim;
-  const int spaceDim = data.spaceDim;
-  const int numCorners = data.numCorners;
-
-  const int numLocs = data.numLocs;
-
-  CPPUNIT_ASSERT_EQUAL(cellDim, geometry->cellDim());
-  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry->spaceDim());
-  CPPUNIT_ASSERT_EQUAL(numCorners, geometry->numCorners());
-
-  double_array jacobian(cellDim*spaceDim);
-  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
-    double_array vertices(data.vertices, numCorners*spaceDim);
-    double_array location(&data.locations[iLoc*cellDim], cellDim);
-
-    geometry->jacobian(&jacobian, vertices, location);
-
-    const int size = jacobian.size();
-    const int index = iLoc*cellDim*spaceDim;
-    const double tolerance = 1.0e-06;
-    for (int i=0; i < size; ++i)
-      if (data.jacobian[index+i] < 1.0)
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(data.jacobian[index+i], jacobian[i],
-				     tolerance);
-      else
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, jacobian[i]/data.jacobian[index+i],
-				     tolerance);
-  } // for
-} // _testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestCellGeometry.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,81 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestCellGeometry.hh
- *
- * @brief C++ TestCellGeometry object
- *
- * C++ unit testing for CellGeometry.
- */
-
-#if !defined(pylith_topology_testcellgeometry_hh)
-#define pylith_topology_testcellgeometry_hh
-
-#include <cppunit/extensions/HelperMacros.h>
-
-#include "pylith/utils/sievefwd.hh" // USES PETSc Mesh
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestCellGeometry;
-    class CellGeometry;
-
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for TestCellGeometry
-class pylith::topology::TestCellGeometry : public CppUnit::TestFixture
-{ // class TestCellGeometry
-
-// PROTECTED METHODS ////////////////////////////////////////////////////
-protected :
-
-  /** Test cellDim().
-   *
-   * @param geometry CellGeometry object.
-   * @param data Geometry data.
-   */
-  void _testCellDim(const CellGeometry& geometry,
-		    const CellGeomData& data);
-
-  /** Test spaceDim().
-   *
-   * @param geometry CellGeometry object.
-   * @param data Geometry data.
-   */
-  void _testSpaceDim(const CellGeometry& geometry,
-		     const CellGeomData& data);
-
-  /** Test numCorners().
-   *
-   * @param geometry CellGeometry object.
-   * @param data Geometry data.
-   */
-  void _testNumCorners(const CellGeometry& geometry,
-		       const CellGeomData& data);
-
-  /** Test jacobian().
-   *
-   * @param geometry CellGeometry object.
-   * @param data Geometry data.
-   */
-  void _testJacobian(const CellGeometry* geometry,
-		     const CellGeomData& data);
-
-}; // class TestCellGeometry
-
-#endif // pylith_topology_testcellgeometry_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryHex3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryHex3D.hh"
-#include "pylith/topology/GeometryQuad3D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataHex3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryHex3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryHex3D::testConstructor(void)
-{ // testConstructor
-  GeometryHex3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryHex3D::testCellDim(void)
-{ // testCellDim
-  GeometryHex3D geometry;
-  GeomDataHex3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryHex3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryHex3D geometry;
-  GeomDataHex3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryHex3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryHex3D geometry;
-  GeomDataHex3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryHex3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryHex3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryQuad3D* geometryPt = dynamic_cast<GeometryQuad3D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryHex3D::testJacobian(void)
-{ // testJacobian
-  GeometryHex3D geometry;
-  GeomDataHex3D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryHex3D.hh
- *
- * @brief C++ TestGeometryHex3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryhex3d_hh)
-#define pylith_topology_testgeometryhex3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryHex3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryHex3D : public TestCellGeometry
-{ // class TestGeometryHex3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryHex3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryHex3D
-
-#endif // pylith_topology_testgeometryhex3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryLine1D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryLine1D.hh"
-#include "pylith/topology/GeometryPoint1D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataLine1D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryLine1D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryLine1D::testConstructor(void)
-{ // testConstructor
-  GeometryLine1D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryLine1D::testCellDim(void)
-{ // testCellDim
-  GeometryLine1D geometry;
-  GeomDataLine1D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryLine1D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryLine1D geometry;
-  GeomDataLine1D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryLine1D::testNumCorners(void)
-{ // testNumCorners
-  GeometryLine1D geometry;
-  GeomDataLine1D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryLine1D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryLine1D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryPoint1D* geometryPt = dynamic_cast<GeometryPoint1D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryLine1D::testJacobian(void)
-{ // testJacobian
-  GeometryLine1D geometry;
-  GeomDataLine1D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryLine1D.hh
- *
- * @brief C++ TestGeometryLine1D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryline1d_hh)
-#define pylith_topology_testgeometryline1d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryLine1D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature1D
-class pylith::topology::TestGeometryLine1D : public TestCellGeometry
-{ // class TestGeometryLine1D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryLine1D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryLine1D
-
-#endif // pylith_topology_testgeometryline1d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryLine2D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryLine2D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-#include "pylith/topology/GeometryPoint1D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataLine2D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryLine2D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryLine2D::testConstructor(void)
-{ // testConstructor
-  GeometryLine2D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryLine2D::testCellDim(void)
-{ // testCellDim
-  GeometryLine2D geometry;
-  GeomDataLine2D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryLine2D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryLine2D geometry;
-  GeomDataLine2D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryLine2D::testNumCorners(void)
-{ // testNumCorners
-  GeometryLine2D geometry;
-  GeomDataLine2D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryLine2D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryLine2D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryPoint2D* geometryPt = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint1D* geometryPt2 = dynamic_cast<GeometryPoint1D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryLine2D::testJacobian(void)
-{ // testJacobian
-  GeometryLine2D geometry;
-  GeomDataLine2D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryLine2D.hh
- *
- * @brief C++ TestGeometryLine2D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryline2d_hh)
-#define pylith_topology_testgeometryline2d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryLine2D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature2D
-class pylith::topology::TestGeometryLine2D : public TestCellGeometry
-{ // class TestGeometryLine2D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryLine2D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryLine2D
-
-#endif // pylith_topology_testgeometryline2d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryLine3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryLine3D.hh"
-#include "pylith/topology/GeometryPoint3D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataLine3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryLine3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryLine3D::testConstructor(void)
-{ // testConstructor
-  GeometryLine3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryLine3D::testCellDim(void)
-{ // testCellDim
-  GeometryLine3D geometry;
-  GeomDataLine3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryLine3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryLine3D geometry;
-  GeomDataLine3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryLine3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryLine3D geometry;
-  GeomDataLine3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryLine3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryLine3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryPoint3D* geometryPt = dynamic_cast<GeometryPoint3D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryLine3D::testJacobian(void)
-{ // testJacobian
-  GeometryLine3D geometry;
-  GeomDataLine3D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryLine3D.hh
- *
- * @brief C++ TestGeometryLine3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryline3d_hh)
-#define pylith_topology_testgeometryline3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryLine3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryLine3D : public TestCellGeometry
-{ // class TestGeometryLine3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryLine3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryLine3D
-
-#endif // pylith_topology_testgeometryline3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,103 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryPoint1D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryPoint1D.hh"
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataPoint1D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryPoint1D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryPoint1D::testConstructor(void)
-{ // testConstructor
-  GeometryPoint1D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryPoint1D::testCellDim(void)
-{ // testCellDim
-  GeometryPoint1D geometry;
-  GeomDataPoint1D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryPoint1D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryPoint1D geometry;
-  GeomDataPoint1D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryPoint1D::testNumCorners(void)
-{ // testNumCorners
-  GeometryPoint1D geometry;
-  GeomDataPoint1D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryPoint1D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryPoint1D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  CPPUNIT_ASSERT(0 == geometryLD);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryPoint1D::testJacobian(void)
-{ // testJacobian
-  GeometryPoint1D geometry;
-  GeomDataPoint1D data;
-
-  const int cellDim = data.cellDim;
-  const int spaceDim = data.spaceDim;
-  const int numCorners = data.numCorners;
-
-  const int numLocs = data.numLocs;
-
-  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
-  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
-  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
-
-  double_array jacobian(1);
-  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
-    double_array vertices(data.vertices, numCorners*spaceDim);
-    double_array location(&data.locations[iLoc], 1);
-
-    geometry.jacobian(&jacobian, vertices, location);
-    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
-  } //for
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryPoint1D.hh
- *
- * @brief C++ TestGeometryPoint1D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrypoint1d_hh)
-#define pylith_topology_testgeometrypoint1d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryPoint1D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature1D
-class pylith::topology::TestGeometryPoint1D : public TestCellGeometry
-{ // class TestGeometryPoint1D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryPoint1D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryPoint1D
-
-#endif // pylith_topology_testgeometrypoint1d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,103 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryPoint2D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryPoint2D.hh"
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataPoint2D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryPoint2D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryPoint2D::testConstructor(void)
-{ // testConstructor
-  GeometryPoint2D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryPoint2D::testCellDim(void)
-{ // testCellDim
-  GeometryPoint2D geometry;
-  GeomDataPoint2D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryPoint2D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryPoint2D geometry;
-  GeomDataPoint2D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryPoint2D::testNumCorners(void)
-{ // testNumCorners
-  GeometryPoint2D geometry;
-  GeomDataPoint2D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryPoint2D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryPoint2D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  CPPUNIT_ASSERT(0 == geometryLD);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryPoint2D::testJacobian(void)
-{ // testJacobian
-  GeometryPoint2D geometry;
-  GeomDataPoint2D data;
-
-  const int cellDim = data.cellDim;
-  const int spaceDim = data.spaceDim;
-  const int numCorners = data.numCorners;
-
-  const int numLocs = data.numLocs;
-
-  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
-  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
-  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
-
-  double_array jacobian(1);
-  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
-    double_array vertices(data.vertices, numCorners*spaceDim);
-    double_array location(&data.locations[iLoc], 1);
-
-    geometry.jacobian(&jacobian, vertices, location);
-    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
-  } //for
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryPoint2D.hh
- *
- * @brief C++ TestGeometryPoint2D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrypoint2d_hh)
-#define pylith_topology_testgeometrypoint2d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryPoint2D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature2D
-class pylith::topology::TestGeometryPoint2D : public TestCellGeometry
-{ // class TestGeometryPoint2D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryPoint2D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryPoint2D
-
-#endif // pylith_topology_testgeometrypoint2d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,103 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryPoint3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryPoint3D.hh"
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataPoint3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryPoint3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryPoint3D::testConstructor(void)
-{ // testConstructor
-  GeometryPoint3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryPoint3D::testCellDim(void)
-{ // testCellDim
-  GeometryPoint3D geometry;
-  GeomDataPoint3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryPoint3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryPoint3D geometry;
-  GeomDataPoint3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryPoint3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryPoint3D geometry;
-  GeomDataPoint3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryPoint3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryPoint3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  CPPUNIT_ASSERT(0 == geometryLD);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryPoint3D::testJacobian(void)
-{ // testJacobian
-  GeometryPoint3D geometry;
-  GeomDataPoint3D data;
-
-  const int cellDim = data.cellDim;
-  const int spaceDim = data.spaceDim;
-  const int numCorners = data.numCorners;
-
-  const int numLocs = data.numLocs;
-
-  CPPUNIT_ASSERT_EQUAL(cellDim, geometry.cellDim());
-  CPPUNIT_ASSERT_EQUAL(spaceDim, geometry.spaceDim());
-  CPPUNIT_ASSERT_EQUAL(numCorners, geometry.numCorners());
-
-  double_array jacobian(1);
-  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
-    double_array vertices(data.vertices, numCorners*spaceDim);
-    double_array location(&data.locations[iLoc], 1);
-
-    geometry.jacobian(&jacobian, vertices, location);
-    CPPUNIT_ASSERT_EQUAL(1.0, jacobian[0]);
-  } //for
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryPoint3D.hh
- *
- * @brief C++ TestGeometryPoint3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrypoint3d_hh)
-#define pylith_topology_testgeometrypoint3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryPoint3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryPoint3D : public TestCellGeometry
-{ // class TestGeometryPoint3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryPoint3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryPoint3D
-
-#endif // pylith_topology_testgeometrypoint3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryQuad2D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryQuad2D.hh"
-#include "pylith/topology/GeometryLine2D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataQuad2D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryQuad2D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryQuad2D::testConstructor(void)
-{ // testConstructor
-  GeometryQuad2D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryQuad2D::testCellDim(void)
-{ // testCellDim
-  GeometryQuad2D geometry;
-  GeomDataQuad2D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryQuad2D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryQuad2D geometry;
-  GeomDataQuad2D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryQuad2D::testNumCorners(void)
-{ // testNumCorners
-  GeometryQuad2D geometry;
-  GeomDataQuad2D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryQuad2D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryQuad2D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryLine2D* geometryPt = dynamic_cast<GeometryLine2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryQuad2D::testJacobian(void)
-{ // testJacobian
-  GeometryQuad2D geometry;
-  GeomDataQuad2D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryQuad2D.hh
- *
- * @brief C++ TestGeometryQuad2D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryquad2d_hh)
-#define pylith_topology_testgeometryquad2d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryQuad2D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature2D
-class pylith::topology::TestGeometryQuad2D : public TestCellGeometry
-{ // class TestGeometryQuad2D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryQuad2D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryQuad2D
-
-#endif // pylith_topology_testgeometryquad2d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryQuad3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryQuad3D.hh"
-#include "pylith/topology/GeometryLine3D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataQuad3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryQuad3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryQuad3D::testConstructor(void)
-{ // testConstructor
-  GeometryQuad3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryQuad3D::testCellDim(void)
-{ // testCellDim
-  GeometryQuad3D geometry;
-  GeomDataQuad3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryQuad3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryQuad3D geometry;
-  GeomDataQuad3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryQuad3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryQuad3D geometry;
-  GeomDataQuad3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryQuad3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryQuad3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryLine3D* geometryPt = dynamic_cast<GeometryLine3D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryQuad3D::testJacobian(void)
-{ // testJacobian
-  GeometryQuad3D geometry;
-  GeomDataQuad3D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryQuad3D.hh
- *
- * @brief C++ TestGeometryQuad3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometryquad3d_hh)
-#define pylith_topology_testgeometryquad3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryQuad3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryQuad3D : public TestCellGeometry
-{ // class TestGeometryQuad3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryQuad3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryQuad3D
-
-#endif // pylith_topology_testgeometryquad3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryTet3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryTet3D.hh"
-#include "pylith/topology/GeometryTri3D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataTet3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryTet3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryTet3D::testConstructor(void)
-{ // testConstructor
-  GeometryTet3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryTet3D::testCellDim(void)
-{ // testCellDim
-  GeometryTet3D geometry;
-  GeomDataTet3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryTet3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryTet3D geometry;
-  GeomDataTet3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryTet3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryTet3D geometry;
-  GeomDataTet3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryTet3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryTet3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryTri3D* geometryPt = dynamic_cast<GeometryTri3D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryTet3D::testJacobian(void)
-{ // testJacobian
-  GeometryTet3D geometry;
-  GeomDataTet3D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryTet3D.hh
- *
- * @brief C++ TestGeometryTet3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrytet3d_hh)
-#define pylith_topology_testgeometrytet3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryTet3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryTet3D : public TestCellGeometry
-{ // class TestGeometryTet3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryTet3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryTet3D
-
-#endif // pylith_topology_testgeometrytet3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryTri2D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryTri2D.hh"
-#include "pylith/topology/GeometryLine2D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataTri2D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryTri2D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryTri2D::testConstructor(void)
-{ // testConstructor
-  GeometryTri2D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryTri2D::testCellDim(void)
-{ // testCellDim
-  GeometryTri2D geometry;
-  GeomDataTri2D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryTri2D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryTri2D geometry;
-  GeomDataTri2D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryTri2D::testNumCorners(void)
-{ // testNumCorners
-  GeometryTri2D geometry;
-  GeomDataTri2D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryTri2D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryTri2D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryLine2D* geometryPt = dynamic_cast<GeometryLine2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryTri2D::testJacobian(void)
-{ // testJacobian
-  GeometryTri2D geometry;
-  GeomDataTri2D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryTri2D.hh
- *
- * @brief C++ TestGeometryTri2D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrytri2d_hh)
-#define pylith_topology_testgeometrytri2d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryTri2D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature2D
-class pylith::topology::TestGeometryTri2D : public TestCellGeometry
-{ // class TestGeometryTri2D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryTri2D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryTri2D
-
-#endif // pylith_topology_testgeometrytri2d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestGeometryTri3D.hh" // Implementation of class methods
-
-#include "pylith/topology/GeometryTri3D.hh"
-#include "pylith/topology/GeometryLine3D.hh"
-#include "pylith/topology/GeometryPoint2D.hh"
-
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "data/GeomDataTri3D.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::topology::TestGeometryTri3D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::topology::TestGeometryTri3D::testConstructor(void)
-{ // testConstructor
-  GeometryTri3D geometry;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test cellDim()
-void
-pylith::topology::TestGeometryTri3D::testCellDim(void)
-{ // testCellDim
-  GeometryTri3D geometry;
-  GeomDataTri3D data;
-  _testCellDim(geometry, data);
-} // testCellDim
-
-// ----------------------------------------------------------------------
-// Test spaceDim()
-void
-pylith::topology::TestGeometryTri3D::testSpaceDim(void)
-{ // testSpaceDim
-  GeometryTri3D geometry;
-  GeomDataTri3D data;
-  _testSpaceDim(geometry, data);
-} // testSpaceDim
-
-// ----------------------------------------------------------------------
-// Test numCorners()
-void
-pylith::topology::TestGeometryTri3D::testNumCorners(void)
-{ // testNumCorners
-  GeometryTri3D geometry;
-  GeomDataTri3D data;
-  _testNumCorners(geometry, data);
-} // testNumCorners
-
-// ----------------------------------------------------------------------
-// Test geometryLowerDim().
-void
-pylith::topology::TestGeometryTri3D::testGeomLowerDim(void)
-{ // testGeomLowerDim
-  GeometryTri3D geometry;
-  CellGeometry* geometryLD = geometry.geometryLowerDim();
-  GeometryLine3D* geometryPt = dynamic_cast<GeometryLine3D*>(geometryLD);
-  CPPUNIT_ASSERT(0 != geometryPt);
-  GeometryPoint2D* geometryPt2 = dynamic_cast<GeometryPoint2D*>(geometryLD);
-  CPPUNIT_ASSERT(0 == geometryPt2);
-  delete geometryLD; geometryLD = 0;
-} // testGeomLowerDim
-
-// ----------------------------------------------------------------------
-// Test jacobian().
-void
-pylith::topology::TestGeometryTri3D::testJacobian(void)
-{ // testJacobian
-  GeometryTri3D geometry;
-  GeomDataTri3D data;
-
-  _testJacobian(&geometry, data);
-} // testJacobian
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/TestGeometryTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/topology/TestGeometryTri3D.hh
- *
- * @brief C++ TestGeometryTri3D object
- *
- * C++ unit testing for TopologyAscii.
- */
-
-#if !defined(pylith_topology_testgeometrytri3d_hh)
-#define pylith_topology_testgeometrytri3d_hh
-
-#include "TestCellGeometry.hh"
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace topology {
-    class TestGeometryTri3D;
-    class CellGeomData;
-  } // topology
-} // pylith
-
-/// C++ unit testing for Quadrature3D
-class pylith::topology::TestGeometryTri3D : public TestCellGeometry
-{ // class TestGeometryTri3D
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestGeometryTri3D );
-  CPPUNIT_TEST( testConstructor );
-  CPPUNIT_TEST( testCellDim );
-  CPPUNIT_TEST( testSpaceDim );
-  CPPUNIT_TEST( testNumCorners );
-  CPPUNIT_TEST( testGeomLowerDim );
-  CPPUNIT_TEST( testJacobian );
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Test constructor
-  void testConstructor(void);
-
-  /// Test cellDim()
-  void testCellDim(void);
-
-  /// Test spaceDim()
-  void testSpaceDim(void);
-
-  /// Test numCorners()
-  void testNumCorners(void);
-
-  /// Test geometryLowerDim().
-  void testGeomLowerDim(void);
-
-  /// Test jacobian().
-  void testJacobian(void);
-
-}; // class TestGeometryTri3D
-
-#endif // pylith_topology_testgeometrytri3d_hh
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,35 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "CellGeomData.hh"
-
-// ----------------------------------------------------------------------
-// Constructor
-pylith::topology::CellGeomData::CellGeomData(void) :
-  cellDim(0),
-  spaceDim(0),
-  numCorners(0),
-  numLocs(0),
-  vertices(0),
-  locations(0),
-  jacobian(0)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Destructor
-pylith::topology::CellGeomData::~CellGeomData(void)
-{ // destructor
-} // destructor
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/CellGeomData.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,52 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_topology_cellgeomdata_hh)
-#define pylith_topology_cellgeomdata_hh
-
-namespace pylith {
-  namespace topology {
-     class CellGeomData;
-  } // pylith
-} // topology
-
-class pylith::topology::CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-  
-  /// Constructor
-  CellGeomData(void);
-
-  /// Destructor
-  ~CellGeomData(void);
-
-// PUBLIC MEMBERS ///////////////////////////////////////////////////////
-public:
-
-  int cellDim; ///< Number of dimensions associated with cell
-  int spaceDim; ///< Number of dimensions in vertex coordinates
-  int numCorners; ///< Number of vertices in cell
-
-  int numLocs; ///< Number of locations
-
-  double* vertices; ///< Coordinates of vertices of cell
-  double* locations; ///< Locations where Jacobian is computed
-  double* jacobian; ///< Jacobian at locations
-
-};
-
-#endif // pylith_topology_cellgeomdata_hh
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataHex3D.hh"
-
-const int pylith::topology::GeomDataHex3D::_cellDim = 3;
-
-const int pylith::topology::GeomDataHex3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataHex3D::_numCorners = 8;
-
-const int pylith::topology::GeomDataHex3D::_numLocs = 9;
-
-const double pylith::topology::GeomDataHex3D::_vertices[] = {
-  -1.3, -1.4, -0.8,
-  1.2, -1.5, -0.9,
-  1.4, 0.7, -1.2,
-  -1.6, 0.4, -0.5,
-  -1.7, -0.8, 1.8,
-  2.1, -1.7, 0.6,
-  2.3, 0.2, 1.9, 
-  -1.8, 0.3, 2.2
-};
-
-const double pylith::topology::GeomDataHex3D::_locations[] = {
-  0.0, 0.0, 0.0,
-  1.0, 0.0, 0.0,
-  0.0, 1.0, 0.0,
-  1.0, 1.0, 0.0,
-  0.0, 0.0, 1.0,
-  1.0, 0.0, 1.0,
-  0.0, 1.0, 1.0,
-  1.0, 1.0, 1.0,
-  0.2, 0.8, 0.7
-};
-
-const double pylith::topology::GeomDataHex3D::_jacobian[] = {
-  2.5, -0.3, -0.4, -0.1, 1.8, 0.6, -0.1, 0.3, 2.6,
-  2.5, 0.2, 0.9, -0.1, 2.2, -0.2, -0.1, -0.3, 1.5,
-  3.0, -0.3, -0.2, 0.3, 1.8, -0.1, -0.7, 0.3, 2.7,
-  3.0, 0.2, 0.9, 0.3, 2.2, -0.5, -0.7, -0.3, 3.1,
-  3.8, -0.1, -0.4, -0.9, 1.1, 0.6, -1.2, 0.4, 2.6,
-  3.8, 0.2, 0.9, -0.9, 1.9, -0.2, -1.2, 1.3, 1.5,
-  4.1, -0.1, -0.2, -0.1, 1.1, -0.1, -0.3, 0.4, 2.7,
-  4.1, 0.2, 0.9, -0.1, 1.9, -0.5, -0.3, 1.3, 3.1,
-  3.698, -0.088, -0.012, -0.116, 1.446, -0.056, -0.51, 0.46, 2.7
-};
-
-pylith::topology::GeomDataHex3D::GeomDataHex3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataHex3D::~GeomDataHex3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataHex3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatahex3d_hh)
-#define pylith_meshio_geomdatahex3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataHex3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataHex3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataHex3D(void);
-
-  /// Destructor
-  ~GeomDataHex3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatahex3d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataLine1D.hh"
-
-const int pylith::topology::GeomDataLine1D::_cellDim = 1;
-
-const int pylith::topology::GeomDataLine1D::_spaceDim = 1;
-
-const int pylith::topology::GeomDataLine1D::_numCorners = 2;
-
-const int pylith::topology::GeomDataLine1D::_numLocs = 2;
-
-const double pylith::topology::GeomDataLine1D::_vertices[] = {
-  1.2,
-  4.5
-};
-
-const double pylith::topology::GeomDataLine1D::_locations[] = {
-  0.345,
-  0.459
-};
-
-const double pylith::topology::GeomDataLine1D::_jacobian[] = {
-  3.3,
-  3.3
-};
-
-pylith::topology::GeomDataLine1D::GeomDataLine1D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataLine1D::~GeomDataLine1D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdataline1d_hh)
-#define pylith_meshio_geomdataline1d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataLine1D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataLine1D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataLine1D(void);
-
-  /// Destructor
-  ~GeomDataLine1D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdataline1d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataLine2D.hh"
-
-const int pylith::topology::GeomDataLine2D::_cellDim = 1;
-
-const int pylith::topology::GeomDataLine2D::_spaceDim = 2;
-
-const int pylith::topology::GeomDataLine2D::_numCorners = 2;
-
-const int pylith::topology::GeomDataLine2D::_numLocs = 2;
-
-const double pylith::topology::GeomDataLine2D::_vertices[] = {
-  1.2, 2.4,
-  4.5, -1.4
-};
-
-const double pylith::topology::GeomDataLine2D::_locations[] = {
-  0.345,
-  0.459
-};
-
-const double pylith::topology::GeomDataLine2D::_jacobian[] = {
-  3.3, -3.8,
-  3.3, -3.8
-};
-
-pylith::topology::GeomDataLine2D::GeomDataLine2D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataLine2D::~GeomDataLine2D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdataline2d_hh)
-#define pylith_meshio_geomdataline2d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataLine2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataLine2D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataLine2D(void);
-
-  /// Destructor
-  ~GeomDataLine2D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdataline2d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataLine3D.hh"
-
-const int pylith::topology::GeomDataLine3D::_cellDim = 1;
-
-const int pylith::topology::GeomDataLine3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataLine3D::_numCorners = 2;
-
-const int pylith::topology::GeomDataLine3D::_numLocs = 2;
-
-const double pylith::topology::GeomDataLine3D::_vertices[] = {
-  1.2, 2.3, 2.4,
-  4.5, -1.5, 5.3
-};
-
-const double pylith::topology::GeomDataLine3D::_locations[] = {
-  0.345,
-  0.459
-};
-
-const double pylith::topology::GeomDataLine3D::_jacobian[] = {
-  3.3, -3.8, 2.9,
-  3.3, -3.8, 2.9
-};
-
-pylith::topology::GeomDataLine3D::GeomDataLine3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataLine3D::~GeomDataLine3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataLine3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdataline3d_hh)
-#define pylith_meshio_geomdataline3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataLine3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataLine3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataLine3D(void);
-
-  /// Destructor
-  ~GeomDataLine3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdataline3d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataPoint1D.hh"
-
-const int pylith::topology::GeomDataPoint1D::_cellDim = 0;
-
-const int pylith::topology::GeomDataPoint1D::_spaceDim = 1;
-
-const int pylith::topology::GeomDataPoint1D::_numCorners = 1;
-
-const int pylith::topology::GeomDataPoint1D::_numLocs = 2;
-
-const double pylith::topology::GeomDataPoint1D::_vertices[] = {
-  1.2,
-  4.5
-};
-
-const double pylith::topology::GeomDataPoint1D::_locations[] = {
-  0.0,
-  0.0
-};
-
-const double pylith::topology::GeomDataPoint1D::_jacobian[] = {
-  1.0,
-  1.0
-};
-
-pylith::topology::GeomDataPoint1D::GeomDataPoint1D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataPoint1D::~GeomDataPoint1D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint1D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatapoint1d_hh)
-#define pylith_meshio_geomdatapoint1d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataPoint1D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataPoint1D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataPoint1D(void);
-
-  /// Destructor
-  ~GeomDataPoint1D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatapoint1d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataPoint2D.hh"
-
-const int pylith::topology::GeomDataPoint2D::_cellDim = 0;
-
-const int pylith::topology::GeomDataPoint2D::_spaceDim = 2;
-
-const int pylith::topology::GeomDataPoint2D::_numCorners = 1;
-
-const int pylith::topology::GeomDataPoint2D::_numLocs = 2;
-
-const double pylith::topology::GeomDataPoint2D::_vertices[] = {
-  1.3, 5.4,
-  4.1, 7.5
-};
-
-const double pylith::topology::GeomDataPoint2D::_locations[] = {
-  0.0,
-  0.0
-};
-
-const double pylith::topology::GeomDataPoint2D::_jacobian[] = {
-  1.0,
-  1.0
-};
-
-pylith::topology::GeomDataPoint2D::GeomDataPoint2D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataPoint2D::~GeomDataPoint2D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatapoint2d_hh)
-#define pylith_meshio_geomdatapoint2d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataPoint2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataPoint2D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataPoint2D(void);
-
-  /// Destructor
-  ~GeomDataPoint2D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatapoint2d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataPoint3D.hh"
-
-const int pylith::topology::GeomDataPoint3D::_cellDim = 0;
-
-const int pylith::topology::GeomDataPoint3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataPoint3D::_numCorners = 1;
-
-const int pylith::topology::GeomDataPoint3D::_numLocs = 2;
-
-const double pylith::topology::GeomDataPoint3D::_vertices[] = {
-  1.22, 4.35, 6.56,
-  4.45, 5.62, 2.55
-};
-
-const double pylith::topology::GeomDataPoint3D::_locations[] = {
-  0.0,
-  0.0
-};
-
-const double pylith::topology::GeomDataPoint3D::_jacobian[] = {
-  1.0,
-  1.0
-};
-
-pylith::topology::GeomDataPoint3D::GeomDataPoint3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataPoint3D::~GeomDataPoint3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataPoint3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatapoint3d_hh)
-#define pylith_meshio_geomdatapoint3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataPoint3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataPoint3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataPoint3D(void);
-
-  /// Destructor
-  ~GeomDataPoint3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatapoint3d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataQuad2D.hh"
-
-const int pylith::topology::GeomDataQuad2D::_cellDim = 2;
-
-const int pylith::topology::GeomDataQuad2D::_spaceDim = 2;
-
-const int pylith::topology::GeomDataQuad2D::_numCorners = 4;
-
-const int pylith::topology::GeomDataQuad2D::_numLocs = 5;
-
-const double pylith::topology::GeomDataQuad2D::_vertices[] = {
-  0.3, 0.1,
-  0.8, -0.2,
-  0.7, 1.2,
-  -0.1, 1.6
-};
-
-const double pylith::topology::GeomDataQuad2D::_locations[] = {
-  0.0, 0.0,
-  1.0, 0.0,
-  0.0, 1.0,
-  1.0, 1.0,
-  0.4, 0.7
-};
-
-const double pylith::topology::GeomDataQuad2D::_jacobian[] = {
-  0.5, -0.4, -0.3, 1.5,
-  0.5, -0.1, -0.3, 1.4,
-  0.8, -0.4, -0.4, 1.5,
-  0.8, -0.1, -0.4, 1.4,
-  0.71, -0.28, -0.37, 1.46
-};
-
-pylith::topology::GeomDataQuad2D::GeomDataQuad2D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataQuad2D::~GeomDataQuad2D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdataquad2d_hh)
-#define pylith_meshio_geomdataquad2d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataQuad2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataQuad2D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataQuad2D(void);
-
-  /// Destructor
-  ~GeomDataQuad2D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdataquad2d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataQuad3D.hh"
-
-const int pylith::topology::GeomDataQuad3D::_cellDim = 2;
-
-const int pylith::topology::GeomDataQuad3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataQuad3D::_numCorners = 4;
-
-const int pylith::topology::GeomDataQuad3D::_numLocs = 5;
-
-const double pylith::topology::GeomDataQuad3D::_vertices[] = {
-  1.1, -0.9, 0.1,
-  1.0, 0.7, 0.8,
-  -0.4, 0.6, 1.2,
-  -0.3, -1.3, -0.1
-};
-
-const double pylith::topology::GeomDataQuad3D::_locations[] = {
-  0.0, 0.0,
-  1.0, 0.0,
-  0.0, 1.0,
-  1.0, 1.0,
-  0.3, 0.8
-};
-
-const double pylith::topology::GeomDataQuad3D::_jacobian[] = {
-  -0.1, -1.4, 1.6, -0.4, 0.7, -0.2,
-  -0.1, -1.4, 1.6, -0.1, 0.7, 0.4,
-  -0.1, -1.4, 1.9, -0.4, 1.3, -0.2,
-  -0.1, -1.4, 1.9, -0.1, 1.3, 0.4,
-  -0.1, -1.4, 1.84, -0.31, 1.18, -0.02
-};
-
-pylith::topology::GeomDataQuad3D::GeomDataQuad3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataQuad3D::~GeomDataQuad3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataQuad3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdataquad3d_hh)
-#define pylith_meshio_geomdataquad3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataQuad3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataQuad3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataQuad3D(void);
-
-  /// Destructor
-  ~GeomDataQuad3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdataquad3d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataTet3D.hh"
-
-const int pylith::topology::GeomDataTet3D::_cellDim = 3;
-
-const int pylith::topology::GeomDataTet3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataTet3D::_numCorners = 4;
-
-const int pylith::topology::GeomDataTet3D::_numLocs = 2;
-
-const double pylith::topology::GeomDataTet3D::_vertices[] = {
-  -1.3, -0.8, 0.2,
-  2.1, -0.7, 0.1,
-  -1.0, 2.4, -0.3,
-  -0.1, 0.2, 3.0
-};
-
-const double pylith::topology::GeomDataTet3D::_locations[] = {
-  0.345, 0.397, 0.319,
-  0.459, 0.727, 0.693
-};
-
-const double pylith::topology::GeomDataTet3D::_jacobian[] = {
-  3.4, 0.3, 1.2, 0.1, 3.2, 1.0, -0.1, -0.5, 2.8,
-  3.4, 0.3, 1.2, 0.1, 3.2, 1.0, -0.1, -0.5, 2.8
-};
-
-pylith::topology::GeomDataTet3D::GeomDataTet3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataTet3D::~GeomDataTet3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTet3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatatet3d_hh)
-#define pylith_meshio_geomdatatet3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataTet3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataTet3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataTet3D(void);
-
-  /// Destructor
-  ~GeomDataTet3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatatet3d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,54 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataTri2D.hh"
-
-const int pylith::topology::GeomDataTri2D::_cellDim = 2;
-
-const int pylith::topology::GeomDataTri2D::_spaceDim = 2;
-
-const int pylith::topology::GeomDataTri2D::_numCorners = 3;
-
-const int pylith::topology::GeomDataTri2D::_numLocs = 2;
-
-const double pylith::topology::GeomDataTri2D::_vertices[] = {
-  1.0,  1.2,
-  3.0,  2.0,
-  1.5,  4.0
-};
-
-const double pylith::topology::GeomDataTri2D::_locations[] = {
-  0.345, 0.397,
-  0.459, 0.727
-};
-
-const double pylith::topology::GeomDataTri2D::_jacobian[] = {
-  2.0, 0.5, 0.8, 2.8,
-  2.0, 0.5, 0.8, 2.8
-};
-
-pylith::topology::GeomDataTri2D::GeomDataTri2D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataTri2D::~GeomDataTri2D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri2D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatatri2d_hh)
-#define pylith_meshio_geomdatatri2d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataTri2D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataTri2D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataTri2D(void);
-
-  /// Destructor
-  ~GeomDataTri2D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatatri2d_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.cc	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,54 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "GeomDataTri3D.hh"
-
-const int pylith::topology::GeomDataTri3D::_cellDim = 2;
-
-const int pylith::topology::GeomDataTri3D::_spaceDim = 3;
-
-const int pylith::topology::GeomDataTri3D::_numCorners = 3;
-
-const int pylith::topology::GeomDataTri3D::_numLocs = 2;
-
-const double pylith::topology::GeomDataTri3D::_vertices[] = {
-  1.2, 1.3, -0.4,
-  -0.3, -1.7, 0.1,
-  -0.1, 0.4, 1.4
-};
-
-const double pylith::topology::GeomDataTri3D::_locations[] = {
-  0.345, 0.397,
-  0.459, 0.727
-};
-
-const double pylith::topology::GeomDataTri3D::_jacobian[] = {
-  -1.5, -1.3, -3.0, -0.9, 0.5, 1.8,
-  -1.5, -1.3, -3.0, -0.9, 0.5, 1.8
-};
-
-pylith::topology::GeomDataTri3D::GeomDataTri3D(void)
-{ // constructor
-  cellDim = _cellDim;
-  spaceDim = _spaceDim;
-  numCorners = _numCorners;
-  numLocs = _numLocs;
-  vertices = const_cast<double*>(_vertices);
-  locations = const_cast<double*>(_locations);
-  jacobian = const_cast<double*>(_jacobian);
-} // constructor
-
-pylith::topology::GeomDataTri3D::~GeomDataTri3D(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/libtests/topology/data/GeomDataTri3D.hh	2007-06-07 23:37:26 UTC (rev 7094)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_meshio_geomdatatri3d_hh)
-#define pylith_meshio_geomdatatri3d_hh
-
-#include "CellGeomData.hh"
-
-namespace pylith {
-  namespace topology {
-     class GeomDataTri3D;
-  } // topology
-} // pylith
-
-class pylith::topology::GeomDataTri3D : public CellGeomData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  GeomDataTri3D(void);
-
-  /// Destructor
-  ~GeomDataTri3D(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _cellDim; ///< Number of dimensions associated with cell
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCorners; ///< Number of vertices in cell
-
-  static const int _numLocs; ///< Number of locations for computing Jacobian
-
-  static const double _vertices[]; ///< Coordinates of cell's vertices
-  static const double _locations[]; ///< Locations to compute Jacobian
-  static const double _jacobian[]; ///< Jacobian at locations
-
-};
-
-#endif // pylith_meshio_geomdatatri3d_hh
-
-// End of file

Added: short/3D/PyLith/trunk/unittests/pytests/feassemble/TestCellGeometry.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/TestCellGeometry.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/TestCellGeometry.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# {LicenseText}
+#
+# ======================================================================
+#
+
+## @file unittests/pytests/feassemble/TestCellGeometry.py
+
+## @brief Unit testing of Python CellGeometry object.
+
+import unittest
+import numpy
+
+from pylith.feassemble.geometry.GeometryPoint1D import GeometryPoint1D
+from pylith.feassemble.geometry.GeometryPoint2D import GeometryPoint2D
+from pylith.feassemble.geometry.GeometryPoint3D import GeometryPoint3D
+from pylith.feassemble.geometry.GeometryLine1D import GeometryLine1D
+from pylith.feassemble.geometry.GeometryLine2D import GeometryLine2D
+from pylith.feassemble.geometry.GeometryLine3D import GeometryLine3D
+from pylith.feassemble.geometry.GeometryTri2D import GeometryTri2D
+from pylith.feassemble.geometry.GeometryTri3D import GeometryTri3D
+from pylith.feassemble.geometry.GeometryQuad2D import GeometryQuad2D
+from pylith.feassemble.geometry.GeometryQuad3D import GeometryQuad3D
+from pylith.feassemble.geometry.GeometryTet3D import GeometryTet3D
+from pylith.feassemble.geometry.GeometryHex3D import GeometryHex3D
+
+
+# ----------------------------------------------------------------------
+class TestCellGeometry(unittest.TestCase):
+  """
+  Unit testing of Python CellGeometry object.
+  """
+
+  def test_constructors(self):
+    """
+    Test constructors for cell geometry objects.
+    """
+    
+    geometry = GeometryPoint1D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryPoint2D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryPoint3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryLine1D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryLine2D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryLine3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryTri2D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryTri3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryQuad2D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryQuad3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryTet3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    geometry = GeometryHex3D()
+    self.failIfEqual(None, geometry.cppHandle)
+
+    return
+    
+
+# End of file 

Modified: short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATLagrange.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATLagrange.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATLagrange.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -356,7 +356,6 @@
   Unit testing of FIATLagrange object.
   """
 
-
   def test_initialize_line2(self):
     """
     Test initialize() with line2 cell.
@@ -366,10 +365,12 @@
     cell.cellDim = 1
     cell.degree = 1
     cell.order  = 1
-    cell.initialize()
+    cell.initialize(spaceDim=1)
 
     cellE = Line2()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryLine1D import GeometryLine1D
+    self.assertTrue(isinstance(cell.geometry, GeometryLine1D))
     return
 
 
@@ -382,10 +383,12 @@
     cell.cellDim = 1
     cell.degree = 2
     cell.order  = 2
-    cell.initialize()
+    cell.initialize(spaceDim=2)
 
     cellE = Line3()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryLine2D import GeometryLine2D
+    self.assertTrue(isinstance(cell.geometry, GeometryLine2D))
     return
 
 
@@ -398,10 +401,12 @@
     cell.cellDim = 2
     cell.degree = 1
     cell.order  = 2
-    cell.initialize()
+    cell.initialize(spaceDim=2)
 
     cellE = Quad4()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryQuad2D import GeometryQuad2D
+    self.assertTrue(isinstance(cell.geometry, GeometryQuad2D))
     return
 
 
@@ -414,10 +419,12 @@
     cell.cellDim = 3
     cell.degree = 1
     cell.order  = 2
-    cell.initialize()
+    cell.initialize(spaceDim=3)
 
     cellE = Hex8()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryHex3D import GeometryHex3D
+    self.assertTrue(isinstance(cell.geometry, GeometryHex3D))
     return
 
 

Modified: short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATSimplex.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATSimplex.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/TestFIATSimplex.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -307,10 +307,12 @@
     cell.shape  = "line"
     cell.degree = 1
     cell.order  = 1
-    cell.initialize()
+    cell.initialize(spaceDim=1)
 
     cellE = Line2()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryLine1D import GeometryLine1D
+    self.assertTrue(isinstance(cell.geometry, GeometryLine1D))
     return
 
 
@@ -322,10 +324,12 @@
     cell.shape  = "line"
     cell.degree = 2
     cell.order  = 2
-    cell.initialize()
+    cell.initialize(spaceDim=2)
 
     cellE = Line3()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryLine2D import GeometryLine2D
+    self.assertTrue(isinstance(cell.geometry, GeometryLine2D))
     return
 
 
@@ -337,10 +341,12 @@
     cell.shape  = "triangle"
     cell.degree = 1
     cell.order  = 1
-    cell.initialize()
+    cell.initialize(spaceDim=2)
 
     cellE = Tri3()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryTri2D import GeometryTri2D
+    self.assertTrue(isinstance(cell.geometry, GeometryTri2D))
     return
 
 
@@ -352,10 +358,12 @@
     cell.shape  = "tetrahedron"
     cell.degree = 1
     cell.order  = 1
-    cell.initialize()
+    cell.initialize(spaceDim=3)
 
     cellE = Tet4()
     self._checkVals(cellE, cell)
+    from pylith.feassemble.geometry.GeometryTet3D import GeometryTet3D
+    self.assertTrue(isinstance(cell.geometry, GeometryTet3D))
     return
 
 

Modified: short/3D/PyLith/trunk/unittests/pytests/feassemble/TestQuadrature.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/TestQuadrature.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/TestQuadrature.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -111,6 +111,9 @@
     
     quadPts = testmodule.quadPtsRef(quadrature.cppHandle)
     test_double(self, quadPtsE, quadPts)
+
+    from pylith.feassemble.geometry.GeometryLine1D import GeometryLine1D
+    self.assertTrue(isinstance(quadrature.cell.geometry, GeometryLine1D))
     
     return
 
@@ -122,32 +125,32 @@
     q = Quadrature1D()
     self.assertEqual(1, q.spaceDim)
     self.assertEqual(1, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     q = Quadrature1Din2D()
     self.assertEqual(2, q.spaceDim)
     self.assertEqual(1, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     q = Quadrature1Din3D()
     self.assertEqual(3, q.spaceDim)
     self.assertEqual(1, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     q = Quadrature2D()
     self.assertEqual(2, q.spaceDim)
     self.assertEqual(2, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     q = Quadrature2Din3D()
     self.assertEqual(3, q.spaceDim)
     self.assertEqual(2, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     q = Quadrature3D()
     self.assertEqual(3, q.spaceDim)
     self.assertEqual(3, q.cellDim)
-    self.failIf(None == q.cppHandle)
+    self.failIfEqual(None, q.cppHandle)
     
     return
 

Modified: short/3D/PyLith/trunk/unittests/pytests/feassemble/testfeassemble.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/testfeassemble.py	2007-06-07 22:09:07 UTC (rev 7093)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/testfeassemble.py	2007-06-07 23:37:26 UTC (rev 7094)
@@ -54,6 +54,9 @@
 
     suite = unittest.TestSuite()
 
+    from TestCellGeometry import TestCellGeometry
+    suite.addTest(unittest.makeSuite(TestCellGeometry))
+
     from TestFIATSimplex import TestFIATSimplex
     suite.addTest(unittest.makeSuite(TestFIATSimplex))
 



More information about the cig-commits mailing list