[cig-commits] r6159 - in short/3D/PyLith/trunk: examples/twotri3
pylith pylith/feassemble pylith/feassemble/quadrature
pylith/materials pylith/meshio pylith/problems pylith/solver
pylith/topology pylith/utils
brad at geodynamics.org
brad at geodynamics.org
Thu Mar 1 22:47:58 PST 2007
Author: brad
Date: 2007-03-01 22:47:56 -0800 (Thu, 01 Mar 2007)
New Revision: 6159
Added:
short/3D/PyLith/trunk/pylith/feassemble/quadrature/
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/pylith/feassemble/quadrature/__init__.py
short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic1D.py
short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic2D.py
short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic3D.py
Removed:
short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py
short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py
Modified:
short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg
short/3D/PyLith/trunk/pylith/Makefile.am
short/3D/PyLith/trunk/pylith/PyLithApp.py
short/3D/PyLith/trunk/pylith/__init__.py
short/3D/PyLith/trunk/pylith/feassemble/ExplicitElasticity.py
short/3D/PyLith/trunk/pylith/feassemble/FIATCell.py
short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py
short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py
short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
short/3D/PyLith/trunk/pylith/feassemble/IntegratorExplicit.py
short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py
short/3D/PyLith/trunk/pylith/feassemble/__init__.py
short/3D/PyLith/trunk/pylith/materials/Homogeneous.py
short/3D/PyLith/trunk/pylith/materials/Material.py
short/3D/PyLith/trunk/pylith/materials/MaterialsBin.py
short/3D/PyLith/trunk/pylith/materials/__init__.py
short/3D/PyLith/trunk/pylith/meshio/MeshIO.py
short/3D/PyLith/trunk/pylith/meshio/MeshIOAscii.py
short/3D/PyLith/trunk/pylith/meshio/__init__.py
short/3D/PyLith/trunk/pylith/problems/EqDeformation.py
short/3D/PyLith/trunk/pylith/problems/Explicit.py
short/3D/PyLith/trunk/pylith/problems/Formulation.py
short/3D/PyLith/trunk/pylith/problems/Problem.py
short/3D/PyLith/trunk/pylith/problems/TimeDependent.py
short/3D/PyLith/trunk/pylith/problems/__init__.py
short/3D/PyLith/trunk/pylith/solver/Solver.py
short/3D/PyLith/trunk/pylith/solver/__init__.py
short/3D/PyLith/trunk/pylith/topology/Mesh.py
short/3D/PyLith/trunk/pylith/topology/MeshGenerator.py
short/3D/PyLith/trunk/pylith/topology/MeshImporter.py
short/3D/PyLith/trunk/pylith/topology/__init__.py
short/3D/PyLith/trunk/pylith/utils/CheckpointTimer.py
short/3D/PyLith/trunk/pylith/utils/CppData.py
short/3D/PyLith/trunk/pylith/utils/PetscManager.py
short/3D/PyLith/trunk/pylith/utils/__init__.py
short/3D/PyLith/trunk/pylith/utils/testarray.py
Log:
Added factory functions. Broke files with multiple classes into separate files (permit use of factory functions). Cleaned up a little code here and there too.
Modified: short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg 2007-03-02 06:47:56 UTC (rev 6159)
@@ -1,25 +1,29 @@
[pylithapp]
# ----------------------------------------------------------------------
-# Journal
+# journal
# ----------------------------------------------------------------------
journal.info.eqdeformation = 1
journal.info.explicit = 1
journal.info.petsc = 1
journal.info.meshioascii = 1
+journal.info.homogeneous = 1
+journal.info.explicitelasticity = 1
# ----------------------------------------------------------------------
-# MPI
+# launcher
# ----------------------------------------------------------------------
#launcher.command = mpiexec
# ----------------------------------------------------------------------
-# Mesh
+# mesh_generator
# ----------------------------------------------------------------------
mesh_generator.importer.filename = twotri3.mesh
# ----------------------------------------------------------------------
-# Solution
+# problem
# ----------------------------------------------------------------------
eqdeformation.total_time = 1.0*s
eqdeformation.default_dt = 1.0*s
+eqdeformation.homogeneous.material.quadrature = pylith.feassemble.quadrature.Quadrature2D
+eqdeformation.homogeneous.material.quadrature.cell.shape = triangle
Modified: short/3D/PyLith/trunk/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/pylith/Makefile.am 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/Makefile.am 2007-03-02 06:47:56 UTC (rev 6159)
@@ -19,10 +19,19 @@
feassemble/FIATSimplex.py \
feassemble/Integrator.py \
feassemble/IntegratorExplicit.py \
- feassemble/Quadrature.py \
feassemble/ReferenceCell.py \
+ feassemble/quadrature/Quadrature.py \
+ feassemble/quadrature/Quadrature1D.py \
+ feassemble/quadrature/Quadrature1Din2D.py \
+ feassemble/quadrature/Quadrature1Din3D.py \
+ feassemble/quadrature/Quadrature2D.py \
+ feassemble/quadrature/Quadrature2Din3D.py \
+ feassemble/quadrature/Quadrature3D.py \
+ feassemble/quadrature/__init__.py \
materials/__init__.py \
- materials/ElasticIsotropic.py \
+ materials/ElasticIsotropic1D.py \
+ materials/ElasticIsotropic2D.py \
+ materials/ElasticIsotropic3D.py \
materials/Homogeneous.py \
materials/Material.py \
materials/MaterialsBin.py \
Modified: short/3D/PyLith/trunk/pylith/PyLithApp.py
===================================================================
--- short/3D/PyLith/trunk/pylith/PyLithApp.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/PyLithApp.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,7 +11,7 @@
#
## @file pylith/PyLithApp.py
-
+##
## @brief Python PyLith application
#from mpi.Application import Application
@@ -49,16 +49,19 @@
totalTime.meta['tip'] = "Time duration for simulation."
from pylith.topology.MeshImporter import MeshImporter
- mesher = pyre.inventory.facility("mesh_generator", factory=MeshImporter)
+ mesher = pyre.inventory.facility("mesh_generator", family="mesh_generator",
+ factory=MeshImporter)
mesher.meta['tip'] = "Generates or imports the computational mesh."
from pylith.problems.EqDeformation import EqDeformation
- problem = pyre.inventory.facility("problem", factory=EqDeformation)
+ problem = pyre.inventory.facility("problem", family="problem",
+ factory=EqDeformation)
problem.meta['tip'] = "Computational problem to solve."
# Dummy facility for passing options to PETSc
from pylith.utils.PetscManager import PetscManager
- petsc = pyre.inventory.facility("petsc", factory=PetscManager)
+ petsc = pyre.inventory.facility("petsc", family="petsc_manager",
+ factory=PetscManager)
petsc.meta['tip'] = "Manager for PETSc options."
Modified: short/3D/PyLith/trunk/pylith/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -14,7 +14,14 @@
## @brief Python top-level PyLith module initialization
-all = ['PyLithApp']
+__all__ = ['PyLithApp',
+ 'feassemble',
+ 'materials',
+ 'meshio',
+ 'problems',
+ 'solver',
+ 'topology',
+ 'utils']
# End of file
Modified: short/3D/PyLith/trunk/pylith/feassemble/ExplicitElasticity.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/ExplicitElasticity.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/ExplicitElasticity.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/ExplicitElasticity.py
-
+##
## @brief Python object for explicit time integration of dynamic
## elasticity equation using finite-elements.
+##
+## Factory: integrator
from IntegratorExplicit import IntegratorExplicit
@@ -37,9 +39,9 @@
return
- def initialize(self, mesh, material):
+ def initMaterial(self, mesh, material):
"""
- Initialize C++ integrator object.
+ Initialize material properties.
"""
self._info.log("Initializing integrator for material '%s'." % \
material.matname)
@@ -47,8 +49,17 @@
self.material = material
self.cppHandle.material = self.material.cppHandle
- self.cppHandle.createParameters(mesh.cppHandle)
+ #self.cppHandle.createParameters(mesh.cppHandle)
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def integrator():
+ """
+ Factory associated with ExplicitElasticity.
+ """
+ return ExplicitElasticity()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/feassemble/FIATCell.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/FIATCell.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/FIATCell.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/FIATCell.py
-
+##
## @brief Python object for managing basis functions and quadrature
## rules of a reference finite-element cell using FIAT.
+##
+## Factory: reference_cell.
from ReferenceCell import ReferenceCell
@@ -24,6 +26,8 @@
"""
Python object for managing basis functions and quadrature rules of a
reference finite-element cell using FIAT.
+
+ Factory: reference_cell.
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
Modified: short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/FIATLagrange.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/FIATLagrange.py
-
+##
## @brief Python object for managing basis functions and quadrature
## rules of a Lagrange reference finite-element cell using FIAT.
+##
+## Factory: reference_cell.
from FIATCell import FIATCell
@@ -29,6 +31,8 @@
"""
Python object for managing basis functions and quadrature rules of a
Lagrange reference finite-element cell using FIAT.
+
+ Factory: reference_cell.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -105,6 +109,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+def reference_cell():
+ """
+ Factory associated with FIATLagrange.
+ """
+ return FIATLagrange()
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/FIATSimplex.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/FIATSimplex.py
-
+##
## @brief Python object for managing basis functions and quadrature
## rules of a simplex reference finite-element cell using FIAT.
+##
+## Factory: reference_cell.
from FIATCell import FIATCell
@@ -28,13 +30,15 @@
"cell.\n" \
"Known shapes: 'tetrahedron', 'triangle', 'line'" % \
name)
- return
+ return name
# FIATSimplex class
class FIATSimplex(FIATCell):
"""
Python object for managing basis functions and quadrature rules of a
simplex reference finite-element cell using FIAT.
+
+ Factory: reference_cell.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -124,4 +128,13 @@
return shape
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def reference_cell():
+ """
+ Factory associated with FIATSimplex.
+ """
+ return FIATSimplex()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/Integrator.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/Integrator.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/Integrator.py
-
+##
## @brief Python abstract base class for integration of operator
## actions with finite-elements.
+##
+## Factory: fe_integrator.
from pyre.components.Component import Component
@@ -22,6 +24,8 @@
"""
Python abstract base class for integration of actions with
finite-elements.
+
+ Factory: integrator.
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
Modified: short/3D/PyLith/trunk/pylith/feassemble/IntegratorExplicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/IntegratorExplicit.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/IntegratorExplicit.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,17 +11,21 @@
#
## @file pylith/feassemble/IntegratorExplicit.py
-
+##
## @brief Python object for explicit time integration of actions with
## finite-elements.
+##
+## Factory: integrator
from Integrator import Integrator
# IntegratorInertia class
-class IntegratorInertia(Integrator):
+class IntegratorExplicit(Integrator):
"""
- Python object for integration of inertial operator actions with
+ Python object for explicit integration of operator actions with
finite-elements.
+
+ Factory: integrator.
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
Deleted: short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -1,217 +0,0 @@
-#!/usr/bin/env python
-#
-# ----------------------------------------------------------------------
-#
-# Brad T. Aagaard
-# U.S. Geological Survey
-#
-# <LicenseText>
-#
-# ----------------------------------------------------------------------
-#
-
-## @file pylith/feassemble/Qudrature.py
-
-## @brief Python abstract base class for integrating over
-## finite-elements using quadrature.
-
-from pyre.components.Component import Component
-
-# ----------------------------------------------------------------------
-# Quadrature class
-class Quadrature(Component):
- """
- Python abstract base class for integrating over finite-elements
- using quadrature.
- """
-
- # INVENTORY //////////////////////////////////////////////////////////
-
- class Inventory(Component.Inventory):
- """Python object for managing Quadrature facilities and properties."""
-
- ## @class Inventory
- ## Python object for managing Quadrature facilities and properties.
- ##
- ## \b Properties
- ## @li \b min_jacobian Minimum allowable determinant of Jacobian.
- ##
- ## \b Facilities
- ## @li \b cell Reference cell with basis functions and quadrature rules
-
- import pyre.inventory
-
- minJacobian = pyre.inventory.float("min_jacobian", default=1.0e-06)
- minJacobian.meta['tip'] = "Minimum allowable determinant of Jacobian."
-
- from FIATSimplex import FIATSimplex
- cell = pyre.inventory.facility("cell", factory=FIATSimplex)
- cell.meta['tip'] = "Reference cell with basis fns and quadrature rules."
-
-
- # PUBLIC METHODS /////////////////////////////////////////////////////
-
- def __init__(self, name="quadrature"):
- """
- Constructor.
- """
- Component.__init__(self, name, facility="quadrature")
- self.minJacobian = 1.0e-06
- self.cppHandle = None
- self.spaceDim = None
- return
-
- def initialize(self):
- """
- Initialize C++ quadrature object.
- """
- self.cppHandle.minJacobian = self.minJacobian
-
- c = self.cell
- c.initialize()
-
- if c.cellDim != self.cellDim:
- raise TypeError("Dimension of reference cell '%d' does not match "
- "dimension of quadrature implementation '%d'." % \
- (c.cellDim, self.cellDim))
-
-
- self.cppHandle.initialize(c.basis, c.basisDeriv, c.quadPts, c.quadWts,
- c.cellDim, c.numCorners, c.numQuadPts,
- self.spaceDim)
- return
-
-
- # PRIVATE METHODS ////////////////////////////////////////////////////
-
- def _configure(self):
- """
- Set members based using inventory.
- """
- Component._configure(self)
- self.minJacobian = self.inventory.minJacobian
- self.cell = self.inventory.cell
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature1D class
-class Quadrature1D(Quadrature):
- """
- Python object for integrating over 1-D finite-elements in a 1-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature1d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature1D()
- self.spaceDim = 1
- self.cellDim = 1
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature1Din2D class
-class Quadrature1Din2D(Quadrature):
- """
- Python object for integrating over 1-D finite-elements in a 2-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature1din2d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature1Din2D()
- self.spaceDim = 2
- self.cellDim = 1
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature1Din3D class
-class Quadrature1Din3D(Quadrature):
- """
- Python object for integrating over 1-D finite-elements in a 3-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature1din3d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature1Din3D()
- self.spaceDim = 3
- self.cellDim = 1
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature2D class
-class Quadrature2D(Quadrature):
- """
- Python object for integrating over 2-D finite-elements in a 2-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature2d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature2D()
- self.spaceDim = 2
- self.cellDim = 2
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature2Din3D class
-class Quadrature2Din3D(Quadrature):
- """
- Python object for integrating over 2-D finite-elements in a 3-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature2din3d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature2Din3D()
- self.spaceDim = 3
- self.cellDim = 2
- return
-
-
-# ----------------------------------------------------------------------
-# Quadrature3D class
-class Quadrature3D(Quadrature):
- """
- Python object for integrating over 3-D finite-elements in a 3-D
- domain using quadrature.
- """
-
- def __init__(self, name="quadrature3d"):
- """
- Constructor.
- """
- Quadrature.__init__(self, name)
- import pylith.feassemble.feassemble as bindings
- self.cppHandle = bindings.Quadrature3D()
- self.spaceDim = 3
- self.cellDim = 3
- return
-
-
-# End of file
Modified: short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/ReferenceCell.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/feassemble/ReferenceCell.py
-
+##
## @brief Python abstract base class for managing basis functions and
## quadrature rules of a reference finite-element cell.
+##
+## Factory: reference_cell.
from pyre.components.Component import Component
@@ -22,6 +24,8 @@
"""
Python abstract base class for managing basis functions and
quadrature rules of a reference finite-element cell.
+
+ Factory: reference_cell.
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -30,7 +34,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="referencecell")
+ Component.__init__(self, name, facility="reference_cell")
self.basis = None # numpy array w/basis fns at quad pts
self.basisDeriv = None # numpy array w/basis fn derivs at quad pts
Modified: short/3D/PyLith/trunk/pylith/feassemble/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,17 +11,17 @@
#
## @file pylith/feassemble/__init__.py
-
+##
## @brief Python PyLith finite-element assembler module initialization
-all = ['ExplicitElasticity',
- 'FIATCell',
- 'FIATLagrange',
- 'FIATSimplex',
- 'Integrator',
- 'IntegratorExplicit',
- 'Quadrature',
- 'ReferenceCell']
+__all__ = ['ExplicitElasticity',
+ 'FIATCell',
+ 'FIATLagrange',
+ 'FIATSimplex',
+ 'Integrator',
+ 'IntegratorExplicit',
+ 'ReferenceCell',
+ 'quadrature']
# End of file
Copied: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py (from rev 6156, short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py)
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/Quadrature.py 2007-03-02 04:55:59 UTC (rev 6156)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,103 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature.py
+##
+## @brief Python abstract base class for integrating over
+## finite-elements using quadrature.
+##
+## Factory: quadrature.
+
+from pyre.components.Component import Component
+
+# ----------------------------------------------------------------------
+# Quadrature class
+class Quadrature(Component):
+ """
+ Python abstract base class for integrating over finite-elements
+ using quadrature.
+
+ Factory: quadrature.
+ """
+
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ class Inventory(Component.Inventory):
+ """Python object for managing Quadrature facilities and properties."""
+
+ ## @class Inventory
+ ## Python object for managing Quadrature facilities and properties.
+ ##
+ ## \b Properties
+ ## @li \b min_jacobian Minimum allowable determinant of Jacobian.
+ ##
+ ## \b Facilities
+ ## @li \b cell Reference cell with basis functions and quadrature rules
+
+ import pyre.inventory
+
+ minJacobian = pyre.inventory.float("min_jacobian", default=1.0e-06)
+ minJacobian.meta['tip'] = "Minimum allowable determinant of Jacobian."
+
+ from pylith.feassemble.FIATSimplex import FIATSimplex
+ cell = pyre.inventory.facility("cell", family="reference_cell",
+ factory=FIATSimplex)
+ cell.meta['tip'] = "Reference cell with basis fns and quadrature rules."
+
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="quadrature"):
+ """
+ Constructor.
+ """
+ Component.__init__(self, name, facility="quadrature")
+ self.minJacobian = 1.0e-06
+ self.cppHandle = None
+ self.spaceDim = None
+ return
+
+
+ def initialize(self):
+ """
+ Initialize C++ quadrature object.
+ """
+ self.cppHandle.minJacobian = self.minJacobian
+
+ c = self.cell
+ c.initialize()
+
+ if c.cellDim != self.cellDim:
+ raise TypeError("Dimension of reference cell '%d' does not match "
+ "dimension of quadrature implementation '%d'." % \
+ (c.cellDim, self.cellDim))
+
+
+ self.cppHandle.initialize(c.basis, c.basisDeriv, c.quadPts, c.quadWts,
+ c.cellDim, c.numCorners, c.numQuadPts,
+ self.spaceDim)
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _configure(self):
+ """
+ Set members based using inventory.
+ """
+ Component._configure(self)
+ self.minJacobian = self.inventory.minJacobian
+ self.cell = self.inventory.cell
+ return
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature1D.py
+##
+## @brief Python object implementing 1-D integration in 1-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature1D class
+class Quadrature1D(Quadrature):
+ """
+ Python object for integrating over 1-D finite-elements in a 1-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature1d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature1D()
+ self.spaceDim = 1
+ self.cellDim = 1
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature1D.
+ """
+ return Quadrature1D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din2D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature1Din2D.py
+##
+## @brief Python object implementing 1-D integration in 2-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature1Din2D class
+class Quadrature1Din2D(Quadrature):
+ """
+ Python object for integrating over 1-D finite-elements in a 2-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature1din2d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature1Din2D()
+ self.spaceDim = 2
+ self.cellDim = 1
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature1Din2D.
+ """
+ return Quadrature1Din2D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature1Din3D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature1Din3D.py
+##
+## @brief Python object implementing 1-D integration in 3-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature1Din3D class
+class Quadrature1Din3D(Quadrature):
+ """
+ Python object for integrating over 1-D finite-elements in a 3-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature1din3d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature1Din3D()
+ self.spaceDim = 3
+ self.cellDim = 1
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature1D.
+ """
+ return Quadrature1D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature2D.py
+##
+## @brief Python object implementing 2-D integration in 2-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature2D class
+class Quadrature2D(Quadrature):
+ """
+ Python object for integrating over 2-D finite-elements in a 2-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature2d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature2D()
+ self.spaceDim = 2
+ self.cellDim = 2
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature2D.
+ """
+ return Quadrature2D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature2Din3D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature2Din3D.py
+##
+## @brief Python object implementing 2-D integration in 3-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature2Din3D class
+class Quadrature2Din3D(Quadrature):
+ """
+ Python object for integrating over 2-D finite-elements in a 3-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature2din3d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature2Din3D()
+ self.spaceDim = 3
+ self.cellDim = 2
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature2Din3D.
+ """
+ return Quadrature2Din3D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature3D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/Qudrature3D.py
+##
+## @brief Python object implementing 3-D integration in 3-D space
+## using numerical quadrature.
+##
+## Factory: quadrature
+
+from Quadrature import Quadrature
+
+# Quadrature3D class
+class Quadrature3D(Quadrature):
+ """
+ Python object for integrating over 3-D finite-elements in a 3-D
+ domain using quadrature.
+
+ Factory: quadrature.
+ """
+
+ def __init__(self, name="quadrature3d"):
+ """
+ Constructor.
+ """
+ Quadrature.__init__(self, name)
+ import pylith.feassemble.feassemble as bindings
+ self.cppHandle = bindings.Quadrature3D()
+ self.spaceDim = 3
+ self.cellDim = 3
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def quadrature():
+ """
+ Factory associated with Quadrature3D.
+ """
+ return Quadrature3D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/feassemble/quadrature/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/feassemble/quadrature/__init__.py
+##
+## @brief Python PyLith finite-element assembler quadrature module
+## initialization
+
+__all__ = ['Quadrature',
+ 'Quadrature1D',
+ 'Quadrature1Din2D',
+ 'Quadrature1Din3D',
+ 'Quadrature2D',
+ 'Quadrature2Din3D',
+ 'Quadrature3D']
+
+
+# End of file
Deleted: short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-#
-# ----------------------------------------------------------------------
-#
-# Brad T. Aagaard
-# U.S. Geological Survey
-#
-# <LicenseText>
-#
-# ----------------------------------------------------------------------
-#
-
-## @file pylith/materials/ElasticIsotropic.py
-
-## @brief Python objects implementing isotropic linear elastic materials.
-
-from Material import Material
-
-# import pylith.materials.materials as bindings
-
-
-# ======================================================================
-# ElasticIsotropic1D class
-
-## @brief Python object implementing 1-D isotropic linear elastic material.
-class ElasticIsotropic3D(Material):
- """
- Python object implementing 1-D isotropic linear elastic material.
- """
-
- # PUBLIC METHODS /////////////////////////////////////////////////////
-
- def __init__(self, name="elasticisotropic1d"):
- """
- Constructor.
- """
- Material.__init__(self, name)
- # :TODO: Need to create module for materials
- # self.cppHandle = bindings.ElasticIsotropic1D()
- return
-
-
-# ======================================================================
-# ElasticIsotropic2D class
-
-## @brief Python object implementing 2-D isotropic linear elastic material.
-class ElasticIsotropic2D(Material):
- """
- Python object implementing 2-D isotropic linear elastic material.
- """
-
- # PUBLIC METHODS /////////////////////////////////////////////////////
-
- def __init__(self, name="elasticisotropic2d"):
- """
- Constructor.
- """
- Material.__init__(self, name)
- # :TODO: Need to create module for materials
- # self.cppHandle = bindings.ElasticIsotropic2D()
- return
-
-
-# ======================================================================
-# ElasticIsotropic3D class
-
-## @brief Python object implementing 3-D isotropic linear elastic material.
-class ElasticIsotropic3D(Material):
- """
- Python object implementing 3-D isotropic linear elastic material.
- """
-
- # PUBLIC METHODS /////////////////////////////////////////////////////
-
- def __init__(self, name="elasticisotropic3d"):
- """
- Constructor.
- """
- Material.__init__(self, name)
- # :TODO: Need to create module for materials
- # self.cppHandle = bindings.ElasticIsotropic3D()
- return
-
-
-# End of file
Copied: short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic1D.py (from rev 6156, short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py)
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic.py 2007-03-02 04:55:59 UTC (rev 6156)
+++ short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic1D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/materials/ElasticIsotropic1D.py
+##
+## @brief Python object implementing 1-D isotropic linear elastic material.
+##
+## Factory: material.
+
+from Material import Material
+
+# import pylith.materials.materials as bindings
+
+
+# ElasticIsotropic1D class
+class ElasticIsotropic3D(Material):
+ """
+ Python object implementing 1-D isotropic linear elastic material.
+
+ Factory: material.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="elasticisotropic1d"):
+ """
+ Constructor.
+ """
+ Material.__init__(self, name)
+ # :TODO: Need to create module for materials
+ # self.cppHandle = bindings.ElasticIsotropic1D()
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def material():
+ """
+ Factory associated with ElasticIsotropic1D.
+ """
+ return ElasticIsotropic1D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic2D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic2D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic2D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/materials/ElasticIsotropic1D.py
+##
+## @brief Python object implementing 2-D isotropic linear elastic material.
+##
+## Factory: material.
+
+from Material import Material
+
+# import pylith.materials.materials as bindings
+
+
+# ElasticIsotropic2D class
+class ElasticIsotropic2D(Material):
+ """
+ Python object implementing 2-D isotropic linear elastic material.
+
+ Factory: material.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="elasticisotropic2d"):
+ """
+ Constructor.
+ """
+ Material.__init__(self, name)
+ # :TODO: Need to create module for materials
+ # self.cppHandle = bindings.ElasticIsotropic2D()
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def material():
+ """
+ Factory associated with ElasticIsotropic2D.
+ """
+ return ElasticIsotropic2D()
+
+
+# End of file
Added: short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic3D.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic3D.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/ElasticIsotropic3D.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pylith/materials/ElasticIsotropic1D.py
+##
+## @brief Python object implementing 3-D isotropic linear elastic material.
+##
+## Factory: material.
+
+from Material import Material
+
+# import pylith.materials.materials as bindings
+
+
+# ElasticIsotropic3D class
+class ElasticIsotropic3D(Material):
+ """
+ Python object implementing 3-D isotropic linear elastic material.
+
+ Factory: material.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="elasticisotropic3d"):
+ """
+ Constructor.
+ """
+ Material.__init__(self, name)
+ # :TODO: Need to create module for materials
+ # self.cppHandle = bindings.ElasticIsotropic3D()
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def material():
+ """
+ Factory associated with ElasticIsotropic3D.
+ """
+ return ElasticIsotropic3D()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/pylith/materials/Homogeneous.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/Homogeneous.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/Homogeneous.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/materials/Homogeneous.py
-
+##
## @brief Python materials container with one material.
+##
+## Factory: materials_bin
from MaterialsBin import MaterialsBin
@@ -20,6 +22,8 @@
class Homogeneous(MaterialsBin):
"""
Python materials container with one material.
+
+ Factory: materials_bin
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -41,7 +45,8 @@
import pyre.inventory
from ElasticIsotropic import ElasticIsotropic3D
- material = pyre.inventory.facility("material", factory=ElasticIsotropic3D)
+ material = pyre.inventory.facility("material", family="material",
+ factory=ElasticIsotropic3D)
material.meta['tip'] = "Material in problem."
@@ -66,4 +71,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def materials_bin():
+ """
+ Factory associated with Homogeneous.
+ """
+ return Homogeneous()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/materials/Material.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/Material.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/Material.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,18 @@
#
## @file pylith/materials/Material.py
+##
-## @brief Python material property manager.
+## @brief Python abstract base class for managing physical properties
+## of a material.
+##
+## This implementation of a material associates both physical
+## properties and a quadrature scheme with the material. Thus,
+## applying different quadrature schemes within a region with the same
+## physical property database requires two "materials", which can use
+## the same database. a material.
+##
+## Factory: material
from pyre.components.Component import Component
@@ -86,6 +96,7 @@
"""
Setup members using inventory.
"""
+ Component._configure(self)
self.id = self.inventory.id
self.matname = self.inventory.matname
self.db = self.inventory.db
Modified: short/3D/PyLith/trunk/pylith/materials/MaterialsBin.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/MaterialsBin.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/MaterialsBin.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/materials/MaterialsBin.py
-
+##
## @brief Python container for materials.
+##
+## Factory: materials_bin
from pyre.components.Component import Component
@@ -20,6 +22,8 @@
class MaterialsBin(Component):
"""
Python container for materials.
+
+ Factory: materials_bin
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -28,7 +32,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="materialsbin")
+ Component.__init__(self, name, facility="materials_bin")
self.materials = []
return
Modified: short/3D/PyLith/trunk/pylith/materials/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/materials/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/materials/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -14,10 +14,12 @@
## @brief Python PyLith materials module initialization
-all = ['ElasticIsotropic',
- 'Homogeneous',
- 'Material',
- 'MaterialsBin']
+__all__ = ['ElasticIsotropic1D',
+ 'ElasticIsotropic2D',
+ 'ElasticIsotropic3D',
+ 'Homogeneous',
+ 'Material',
+ 'MaterialsBin']
# End of file
Modified: short/3D/PyLith/trunk/pylith/meshio/MeshIO.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/MeshIO.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/meshio/MeshIO.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pyre/meshio/MeshIO.py
-
+##
## @brief Python abstract base class for finite-element mesh I/O.
+##
+## Factory: mesh_io
from pyre.components.Component import Component
@@ -25,8 +27,12 @@
# INVENTORY //////////////////////////////////////////////////////////
class Inventory(Component.Inventory):
- """Python object for managing MeshIO facilities and properties."""
+ """
+ Python object for managing MeshIO facilities and properties.
+ Factory: mesh.
+ """
+
## @class Inventory
## Python object for managing MeshIO facilities and properties.
##
@@ -47,10 +53,8 @@
def __init__(self, name="meshio"):
"""
Constructor.
-
- @param name Component name
"""
- Component.__init__(self, name, facility="meshio")
+ Component.__init__(self, name, facility="mesh_io")
self.cppHandle = None
self.interpolate = False
return
Modified: short/3D/PyLith/trunk/pylith/meshio/MeshIOAscii.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/MeshIOAscii.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/meshio/MeshIOAscii.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pyre/meshio/MeshIOAscii.py
-
+##
## @brief Python object for reading/writing finite-element mesh from
## simple ASCII file.
+##
+## Factory: mesh_io
from MeshIO import MeshIO
@@ -22,6 +24,8 @@
"""
Python object for reading/writing finite-element mesh from simple
ASCII file.
+
+ Factory: mesh_io
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -79,4 +83,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def mesh_io():
+ """
+ Factory associated with MeshIOAscii.
+ """
+ return MeshIOAscii()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/meshio/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/meshio/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,12 +11,11 @@
#
## @file pylith/meshio___init__.py
-## @brief Python meshio PyLith module initialization
+##
+## @brief Python PyLith meshio module initialization
-all = ['MeshIO',
- 'MeshIOAscii']
+__all__ = ['MeshIO',
+ 'MeshIOAscii']
-# version
-__id__ = "$Id$"
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/EqDeformation.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/EqDeformation.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/EqDeformation.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/problems/EqDeformation.py
-
+##
## @brief Python EqDeformation for computing deformation associated
## with earthquakes.
+##
+## Factory: problem.
from TimeDependent import TimeDependent
@@ -22,6 +24,8 @@
"""
Python EqDeformation for computing deformation associated with
earthquakes.
+
+ Factory: problem.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -43,7 +47,8 @@
import pyre.inventory
#from Faults import Faults
- #faults = pyre.inventory.facility("faults", factory=Faults)
+ #faults = pyre.inventory.facility("faults", family="faults",
+ # factory=Faults)
#faults.meta['tip'] = "Faults or interior slip surfaces."
@@ -83,4 +88,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def problem():
+ """
+ Factory associated with EqDeformation.
+ """
+ return EqDeformation()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/Explicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Explicit.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/Explicit.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/problems/Explicit.py
-
+##
## @brief Python Explicit object for solving equations using an
## explicit formulation.
+##
+## Factory: pde_formulation
from Formulation import Formulation
@@ -27,6 +29,8 @@
where we want to solve for {u(t+dt)}, A(t) is usually constant
(i.e., independent of time), and {b(t)} usually depends on {u(t)}
and {u(t-dt)}.
+
+ Factory: pde_formulation.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -63,7 +67,7 @@
return
- def initialize(self, mesh, materials):
+ def initialize(self, mesh, materialsBin):
"""
Create explicit integrators for each element family.
"""
@@ -71,9 +75,9 @@
from pylith.feassemble.ExplicitElasticity import ExplicitElasticity
self.integrators = []
- for material in materials:
+ for material in materialsBin.materials:
integrator = ExplicitElasticity()
- integrator.initQuadrature(material.quadrature)
+ #integrator.initQuadrature(material.quadrature)
#integrator.initMaterial(mesh, material)
self.integrators.append(integrator)
return
@@ -140,4 +144,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def pde_formulation():
+ """
+ Factory associated with Explicit.
+ """
+ return Explicit()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/Formulation.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Formulation.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/Formulation.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/problems/Formulation.py
-
+##
## @brief Python abstract base class for formulations of solving equations.
+##
+## Factory: pde_formulation
from pyre.components.Component import Component
@@ -23,6 +25,8 @@
In general, we use some explicit or implicit formulation of the PDEs
to create a linear form, [A]{u}={b} that we can solve.
+
+ Factory: pde_formulation.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -54,7 +58,7 @@
"""
Constructor.
"""
- Component.__init__(self, name)
+ Component.__init__(self, name, facility="pde_formulation")
self.integrators = None
return
@@ -94,5 +98,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+def pde_formulation():
+ """
+ Factory associated with Formulation.
+ """
+ return Formulation()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/Problem.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Problem.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/Problem.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/problems/Problem.py
-
+##
## @brief Python abstract base class for crustal dynamics problems.
+##
+## Factory: problem.
from pyre.components.Component import Component
@@ -20,6 +22,8 @@
class Problem(Component):
"""
Python abstract base class for crustal dynamics problems.
+
+ Factory: problem.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -42,11 +46,13 @@
import pyre.inventory
from pylith.materials.Homogeneous import Homogeneous
- materials = pyre.inventory.facility("materials", factory=Homogeneous)
+ materials = pyre.inventory.facility("materials", family="materials",
+ factory=Homogeneous)
materials.meta['tip'] = "Materials in problem."
#from BoundaryConditions import BoundaryConditions
- #bc = pyre.inventory.facility("bc", factory=BoundaryConditions)
+ #bc = pyre.inventory.facility("bc", familty="bc",
+ # factory=BoundaryConditions)
#bc.meta['tip'] = "Boundary conditions."
@@ -92,10 +98,20 @@
"""
Set members based using inventory.
"""
+ Component._configure(self)
self.materials = self.inventory.materials
#self.bc = self.inventory.bc
self.formulation = self.inventory.formulation
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def problem():
+ """
+ Factory associated with Problem.
+ """
+ return Problem()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/TimeDependent.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/TimeDependent.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/TimeDependent.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,11 @@
#
## @file pylith/problems/TimeDependent.py
-
+##
## @brief Python abstract base class for time dependent crustal
## dynamics problems.
+##
+## Factory: problem.
from Problem import Problem
@@ -21,6 +23,8 @@
class TimeDependent(Problem):
"""
Python abstract base class for time dependent crustal dynamics problems.
+
+ Factory: problem.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -53,11 +57,14 @@
dt.meta['tip'] = "Default time step for simulation."
from Explicit import Explicit
- formulation = pyre.inventory.facility("formulation", factory=Explicit)
+ formulation = pyre.inventory.facility("formulation",
+ family="pde_formulation",
+ factory=Explicit)
formulation.meta['tip'] = "Formulation for solving PDE."
from pylith.utils.CheckpointTimer import CheckpointTimer
checkpointTimer = pyre.inventory.facility("checkpoint",
+ family="checkpointer",
factory=CheckpointTimer)
checkpointTimer.meta['tip'] = "Checkpoint manager."
@@ -170,4 +177,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def problem():
+ """
+ Factory associated with TimeDependent.
+ """
+ return TimeDependent()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/problems/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/problems/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,13 +11,13 @@
#
## @file pylith/problems/__init__.py
-
+##
## @brief Python PyLith crustal dynamics problems module initialization
-all = ['EqDeformation',
- 'Explicit',
- 'Problem',
- 'TimeDependent']
+__all__ = ['EqDeformation',
+ 'Explicit',
+ 'Problem',
+ 'TimeDependent']
# End of file
Modified: short/3D/PyLith/trunk/pylith/solver/Solver.py
===================================================================
--- short/3D/PyLith/trunk/pylith/solver/Solver.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/solver/Solver.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,18 +11,27 @@
#
## @file pylith/solver/Solver.py
+##
## @brief Python PyLith abstract base class for solver.
+##
+## Factory: solver
from pyre.components.Component import Component
# Solver class
class Solver(Component):
- """Python abstract base class for solver."""
+ """
+ Python abstract base class for solver.
+ Factory: solver.
+ """
+
# INVENTORY //////////////////////////////////////////////////////////
class Inventory(Component.Inventory):
- """Python object for managing Solver facilities and properties."""
+ """
+ Python object for managing Solver facilities and properties.
+ """
## @class Inventory
## Python object for managing Solver facilities and properties.
@@ -38,7 +47,9 @@
# PUBLIC METHODS /////////////////////////////////////////////////////
def __init__(self, name="solver"):
- """Constructor."""
+ """
+ Constructor.
+ """
Component.__init__(self, name, facility="solver")
return
@@ -46,7 +57,10 @@
# PRIVATE METHODS /////////////////////////////////////////////////////
def _configure(self):
- """Set members based using inventory."""
+ """
+ Set members based using inventory.
+ """
+ Component._configure(self)
return
Modified: short/3D/PyLith/trunk/pylith/solver/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/solver/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/solver/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,9 +11,10 @@
#
## @file pylith/solver/__init__.py
+##
## @brief Python Pylith solver module initialization
-all = ['Solver']
+__all__ = ['Solver']
# End of file
Modified: short/3D/PyLith/trunk/pylith/topology/Mesh.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/Mesh.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/topology/Mesh.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/topology/Mesh.py
-
+##
## @brief Python Mesh for finite-element topology information.
+##
+## Factory: finite_element_mesh
from pyre.components.Component import Component
@@ -41,7 +43,8 @@
import pyre.inventory
from spatialdata.geocoords.CSCart import CSCart
- coordsys = pyre.inventory.facility("coordsys", factory=CSCart)
+ coordsys = pyre.inventory.facility("coordsys", family="coordsys",
+ factory=CSCart)
coordsys.meta['tip'] = "Coordinate system associated with mesh."
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -50,7 +53,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="mesh")
+ Component.__init__(self, name, facility="finite_element_mesh")
import pylith.topology.topology as bindings
self.cppHandle = bindings.Mesh()
return
@@ -70,8 +73,18 @@
"""
Set members based using inventory.
"""
+ Component._configure(self)
self.coordsys = self.inventory.coordsys
return
-# End of file
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def finite_element_mesh():
+ """
+ Factory associated with Mesh.
+ """
+ return Mesh()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/pylith/topology/MeshGenerator.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/MeshGenerator.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/topology/MeshGenerator.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/topology/MeshGenerator.py
-
+##
## @brief Python abstract base class for mesh generator.
+##
+## Factory: mesh_generator.
from pyre.components.Component import Component
@@ -20,6 +22,8 @@
class MeshGenerator(Component):
"""
Python abstract base class for mesh generator.
+
+ Factory: mesh_generator
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -28,7 +32,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="meshgenerator")
+ Component.__init__(self, name, facility="mesh_generator")
return
Modified: short/3D/PyLith/trunk/pylith/topology/MeshImporter.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/MeshImporter.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/topology/MeshImporter.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,8 +11,10 @@
#
## @file pylith/topology/MeshImporter.py
-
+##
## @brief Python implementation of importing a mesh.
+##
+## Factory: mesh_generator.
from MeshGenerator import MeshGenerator
@@ -20,6 +22,8 @@
class MeshImporter(MeshGenerator):
"""
Python implementation of importing a mesh.
+
+ Factory: mesh_generator.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -68,8 +72,18 @@
"""
Set members based on inventory.
"""
+ MeshGenerator._configure(self)
self.importer = self.inventory.importer
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def mesh_generator():
+ """
+ Factory associated with MeshImporter.
+ """
+ return MeshImporter()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/topology/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/topology/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -14,9 +14,9 @@
## @brief Python PyLith finite-element topology module initialization
-all = ['Mesh',
- 'MeshGenerator',
- 'MeshImporter']
+__all__ = ['Mesh',
+ 'MeshGenerator',
+ 'MeshImporter']
# End of file
Modified: short/3D/PyLith/trunk/pylith/utils/CheckpointTimer.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/CheckpointTimer.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/utils/CheckpointTimer.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,15 +11,17 @@
#
## @file pylith/utils/CheckpointTimer.py
-
+##
## @brief Python CheckpointTimer object for managing checkpointing.
-
+##
## USAGE:
##
-## @li Set toplevel attribute to top-level object that contains a
-## checkpoint() method.
+## @li Call initialize with argument 'toplevel' set to top-level
+## object that contains a checkpoint() method.
##
## @li Call update() every time step to checkpoint at desired frequency.
+##
+## Factory: checkpointer.
from pyre.components.Component import Component
@@ -27,6 +29,15 @@
class CheckpointTimer(Component):
"""
Python CheckpointTimer object for managing checkpointing.
+
+ USAGE:
+
+ (1) Call initialize with argument 'toplevel' set to top-level object
+ that contains a checkpoint() method.
+
+ (2) Call update() every time step to checkpoint at desired frequency.
+
+ Factory: checkpointer.
"""
# INVENTORY //////////////////////////////////////////////////////////
@@ -55,11 +66,11 @@
# PUBLIC METHODS /////////////////////////////////////////////////////
- def __init__(self, name="checkpoint"):
+ def __init__(self, name="checkpointtimer"):
"""
Constructor.
"""
- Component.__init__(self, name, facility="checkpoint")
+ Component.__init__(self, name, facility="checkpointer")
from pyre.units.time import second
self.t = -8.9e+99*second
@@ -68,6 +79,14 @@
return
+ def initialize(self, toplevel):
+ """
+ Initialize checkpoint timer.
+ """
+ self.toplevel = toplevel
+ return
+
+
def update(self, t):
"""
CheckpointTimer if necessary.
@@ -93,4 +112,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def checkpointer():
+ """
+ Factory associated with CheckpointTimer.
+ """
+ return CheckpointTimer()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/utils/CppData.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/CppData.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/utils/CppData.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,15 +11,17 @@
#
## @file pylith/utils/CppData.py
-
+##
## @brief Python object to create C++ object holding data values.
-
+##
## Useful in unit testing of C++ objects where data is generate with
## Python code.
##
## If parent property is set, we assume object is providing only the
## data, so data is private and object needs a constructor and
## destructor. Otherwise, object just has public data and no methods.
+##
+## Factory: cpp_data
from pyre.components.Component import Component
@@ -35,6 +37,15 @@
class Inventory(Component.Inventory):
"""
Python object for managing CppData facilities and properties.
+
+ Useful in unit testing of C++ objects where data is generate with
+ Python code.
+
+ If parent property is set, we assume object is providing only the
+ data, so data is private and object needs a constructor and
+ destructor. Otherwise, object just has public data and no methods.
+
+ Factory: cpp_data
"""
## @class Inventory
@@ -70,7 +81,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="cppdata")
+ Component.__init__(self, name, facility="cpp_data")
self.scalars = []
self.arrays = []
self.app = ""
@@ -118,6 +129,7 @@
"""
Set members based using inventory.
"""
+ Component._configure(self)
self.header = self.inventory.header
self.objname = self.inventory.objname
self.namespace = self.inventory.namespace
@@ -299,4 +311,13 @@
return
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def cpp_data():
+ """
+ Factory associated with CppData.
+ """
+ return CppData()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/utils/PetscManager.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/PetscManager.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/utils/PetscManager.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -11,11 +11,13 @@
#
## @file pylith/utils/PetscManager.py
-
+##
## @brief Python PetscManager object for managing PETSc options.
-
+##
## The PetscManager also takes care of initializing and finalizing
## PETSc.
+##
+## Factory: petsc_manager
from pyre.components.Component import Component
@@ -23,6 +25,8 @@
class PetscManager(Component):
"""
Python PetscManager object for managing PETSc options.
+
+ Factory: petsc_manager
"""
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -31,7 +35,7 @@
"""
Constructor.
"""
- Component.__init__(self, name, facility="petsc")
+ Component.__init__(self, name, facility="petsc_manager")
self.options = []
return
@@ -86,4 +90,13 @@
return args
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def petsc_manager():
+ """
+ Factory associated with PetscManager.
+ """
+ return PetscManager()
+
+
# End of file
Modified: short/3D/PyLith/trunk/pylith/utils/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/__init__.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/utils/__init__.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -10,10 +10,10 @@
# ----------------------------------------------------------------------
#
-all = ['CheckpointTimer',
- 'CppData',
- 'testarray',
- 'importing']
+__all__ = ['CheckpointTimer',
+ 'CppData',
+ 'testarray',
+ 'importing']
# End of file
Modified: short/3D/PyLith/trunk/pylith/utils/testarray.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/testarray.py 2007-03-02 05:28:50 UTC (rev 6158)
+++ short/3D/PyLith/trunk/pylith/utils/testarray.py 2007-03-02 06:47:56 UTC (rev 6159)
@@ -32,3 +32,6 @@
obj.assertAlmostEqual(1.0, v/vE, 6)
return
+
+
+# End of file
More information about the cig-commits
mailing list