[cig-commits] r9009 - in short/3D/PyLith/trunk: . examples/3d/hex8 examples/3d/tet4 examples/twocells/twohex8 examples/twocells/twoquad4 examples/twocells/twoquad4-tractions examples/twocells/twotet4 examples/twocells/twotet4-geoproj examples/twocells/twotri3 examples/twofaults/2d libsrc/meshio libsrc/topology modulesrc/meshio modulesrc/topology pylith/meshio pylith/problems pylith/topology tests/1d/line2 tests/1d/line3 tests/2d/bar_quad4 tests/2d/bar_tri3 tests/2d/quad4 tests/2d/quad4b tests/2d/tri3 tests/3d/bar_hex8 tests/3d/bar_tet4 tests/3d/hex8 tests/3d/tet4 tests/distribute

brad at geodynamics.org brad at geodynamics.org
Mon Jan 14 11:18:48 PST 2008


Author: brad
Date: 2008-01-14 11:18:46 -0800 (Mon, 14 Jan 2008)
New Revision: 9009

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg
   short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg
   short/3D/PyLith/trunk/examples/3d/tet4/dislocation.cfg
   short/3D/PyLith/trunk/examples/3d/tet4/shearxy.cfg
   short/3D/PyLith/trunk/examples/twocells/twohex8/axialdisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twohex8/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twohex8/sheardisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/consttractions.cfg
   short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/lintractions.cfg
   short/3D/PyLith/trunk/examples/twocells/twoquad4/axialdisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twoquad4/sheardisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twotri3/axialdisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twotri3/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twotri3/sheardisp.cfg
   short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_1fault.cfg
   short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_2faults.cfg
   short/3D/PyLith/trunk/libsrc/meshio/DataWriter.cc
   short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh
   short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.cc
   short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.hh
   short/3D/PyLith/trunk/libsrc/meshio/OutputManager.cc
   short/3D/PyLith/trunk/libsrc/meshio/OutputManager.hh
   short/3D/PyLith/trunk/libsrc/topology/Distributor.cc
   short/3D/PyLith/trunk/libsrc/topology/Distributor.hh
   short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
   short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
   short/3D/PyLith/trunk/pylith/meshio/CellFilter.py
   short/3D/PyLith/trunk/pylith/meshio/DataWriter.py
   short/3D/PyLith/trunk/pylith/meshio/OutputManager.py
   short/3D/PyLith/trunk/pylith/meshio/SingleOutput.py
   short/3D/PyLith/trunk/pylith/meshio/VertexFilter.py
   short/3D/PyLith/trunk/pylith/problems/Formulation.py
   short/3D/PyLith/trunk/pylith/topology/Distributor.py
   short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
   short/3D/PyLith/trunk/tests/1d/line2/dislocation_dyn.cfg
   short/3D/PyLith/trunk/tests/1d/line2/dislocation_static.cfg
   short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg
   short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/bar_quad4/dislocation_dyn.cfg
   short/3D/PyLith/trunk/tests/2d/bar_tri3/dislocation_dyn.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_free.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_xfixed.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/threequad4_shear.cfg
   short/3D/PyLith/trunk/tests/2d/quad4b/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg
   short/3D/PyLith/trunk/tests/3d/bar_hex8/dislocation_dyn.cfg
   short/3D/PyLith/trunk/tests/3d/bar_tet4/dislocation_dyn.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/axialelasticisotropic.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/axialmaxwellisotropic.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-eightcells.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-fourcells.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-threecells.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocells.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocellsb.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearelasticisotropic.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearmaxwellisotropic.cfg
   short/3D/PyLith/trunk/tests/3d/hex8/shearplanestrain.cfg
   short/3D/PyLith/trunk/tests/3d/tet4/axialelasticisotropic.cfg
   short/3D/PyLith/trunk/tests/3d/tet4/dislocation.cfg
   short/3D/PyLith/trunk/tests/3d/tet4/shearelasticisotropic.cfg
   short/3D/PyLith/trunk/tests/distribute/mesherapp.cfg
Log:
Fixed bugs in OutputManager and DataWriterVTK. Switched from using SolutionIO to OutputManager. Updated .cfg files in examples and tests.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/TODO	2008-01-14 19:18:46 UTC (rev 9009)
@@ -7,10 +7,6 @@
   1. Finish Neumann BC [CHARLES]
 
   2. Reimplement SolutionIO [BRAD & MATT]
-     a. Implement solution output for full mesh
-        i. C++ OutputManager
-        ii. Bindings for OutputManager, DataWriter, DataWriterVTK
-     b. Implement output of partition information.
      c. Implement output of fault data.
         i. Translation of field names to section labels.
         ii. Compatibility of fault mesh and sections defined over fault.

Modified: short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -84,5 +84,5 @@
 # ----------------------------------------------------------------------
 # Set the root name for output.
 
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -55,5 +55,5 @@
 # ----------------------------------------------------------------------
 # Set the root name for output.
 
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shear.vtk

Modified: short/3D/PyLith/trunk/examples/3d/tet4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/tet4/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/3d/tet4/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -78,5 +78,5 @@
 # ----------------------------------------------------------------------
 # Set the root name for output.
 
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/3d/tet4/shearxy.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/tet4/shearxy.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/3d/tet4/shearxy.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -55,5 +55,5 @@
 # ----------------------------------------------------------------------
 # Set the root name for output.
 
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shear.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twohex8/axialdisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twohex8/axialdisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twohex8/axialdisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -70,5 +70,5 @@
 # output
 # Give basename for vtk output.
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = axialdisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twohex8/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twohex8/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twohex8/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -126,5 +126,5 @@
 # output
 # Give basename for vtk output.
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twohex8/sheardisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twohex8/sheardisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twohex8/sheardisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -69,5 +69,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = sheardisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/axialdisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/axialdisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/axialdisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -91,5 +91,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = axialdisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -125,5 +125,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/sheardisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/sheardisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/sheardisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -74,5 +74,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = sheardisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/consttractions.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/consttractions.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/consttractions.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -95,5 +95,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = consttractions.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/lintractions.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/lintractions.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4-tractions/lintractions.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -95,5 +95,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = lintractions.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -51,5 +51,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialdisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -103,5 +103,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -103,5 +103,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotri3/axialdisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotri3/axialdisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotri3/axialdisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -49,5 +49,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer.writer]
 filename = axialdisp.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotri3/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotri3/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotri3/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -103,5 +103,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/twocells/twotri3/sheardisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotri3/sheardisp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twocells/twotri3/sheardisp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -75,5 +75,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = sheardisp.vtk

Modified: short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_1fault.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_1fault.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_1fault.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -70,5 +70,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = onefault2d.vtk

Modified: short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_2faults.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_2faults.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/examples/twofaults/2d/dislocation_2faults.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -82,5 +82,5 @@
 # output
 # ----------------------------------------------------------------------
 # Give basename for vtk output.
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = twofaults2d.vtk

Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriter.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriter.cc	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriter.cc	2008-01-14 19:18:46 UTC (rev 9009)
@@ -53,7 +53,7 @@
 } // openTimeStep
 
 // ----------------------------------------------------------------------
-/// Cleanup after writing data for a time step.
+// Cleanup after writing data for a time step.
 void
 pylith::meshio::DataWriter::closeTimeStep(void)
 { // closeTimeStep

Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh	2008-01-14 19:18:46 UTC (rev 9009)
@@ -87,12 +87,15 @@
    * @param name Name of field.
    * @param field PETSc field over vertices.
    * @param mesh Finite-element mesh
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   virtual
   void writeVertexField(const double t,
 			const char* name,
 			const ALE::Obj<real_section_type>& field,
-			const ALE::Obj<ALE::Mesh>& mesh) = 0;
+			const ALE::Obj<ALE::Mesh>& mesh,
+			const int dim) = 0;
 
   /** Write field over cells to file.
    *
@@ -100,12 +103,15 @@
    * @param name Name of field.
    * @param field PETSc field over cells.
    * @param mesh PETSc mesh object.
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   virtual
   void writeCellField(const double t,
 		      const char* name,
 		      const ALE::Obj<real_section_type>& field,
-		      const ALE::Obj<ALE::Mesh>& mesh) = 0;
+		      const ALE::Obj<ALE::Mesh>& mesh,
+		      const int dim) = 0;
 
 // PROTECTED METHODS ////////////////////////////////////////////////////
 protected :

Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.cc	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.cc	2008-01-14 19:18:46 UTC (rev 9009)
@@ -101,7 +101,7 @@
 void
 pylith::meshio::DataWriterVTK::closeTimeStep(void)
 { // closeTimeStep
-  PetscViewerDestroy(_viewer);
+  PetscViewerDestroy(_viewer); _viewer = 0;
 } // closeTimeStep
 
 // ----------------------------------------------------------------------
@@ -111,7 +111,8 @@
 				       const double t,
 				       const char* name,
 				       const ALE::Obj<real_section_type>& field,
-				       const ALE::Obj<ALE::Mesh>& mesh)
+				       const ALE::Obj<ALE::Mesh>& mesh,
+				       const int dim)
 { // writeVertexField
   assert(0 != name);
 
@@ -122,9 +123,13 @@
     sprintf(timestamp, _timeFormat.c_str(), t);
     buffer << name << "_t" << timestamp;
 
+    const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+   const int fiberDim = 
+     (dim == 0) ? field->getFiberDimension(*vertices->begin()) : dim;
+
     PetscErrorCode err = SectionView_Sieve_Ascii(mesh, field, 
 						 buffer.str().c_str(), 
-						 _viewer);
+						 _viewer, fiberDim);
     if (err)
       throw std::runtime_error("Could not write vertex data.");
   } catch (const std::exception& err) {
@@ -147,7 +152,8 @@
 				       const double t,
 				       const char* name,
 				       const ALE::Obj<real_section_type>& field,
-				       const ALE::Obj<ALE::Mesh>& mesh)
+				       const ALE::Obj<ALE::Mesh>& mesh,
+				       const int dim)
 { // writeCellField
   assert(0 != name);
 
@@ -164,7 +170,8 @@
 
    // Get fiber dimension of first cell
    const ALE::Obj<Mesh::label_sequence>& cells = mesh->heightStratum(0);
-   const int fiberDim = field->getFiberDimension(*cells->begin());
+   const int fiberDim = 
+     (dim == 0) ? field->getFiberDimension(*cells->begin()) : dim;
    err = SectionView_Sieve_Ascii(mesh, field, buffer.str().c_str(), 
 				 _viewer, fiberDim);
     if (err)

Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.hh	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriterVTK.hh	2008-01-14 19:18:46 UTC (rev 9009)
@@ -76,11 +76,14 @@
    * @param name Name of field.
    * @param field PETSc field over vertices.
    * @param mesh Finite-element mesh
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   void writeVertexField(const double t,
 			const char* name,
 			const ALE::Obj<real_section_type>& field,
-			const ALE::Obj<ALE::Mesh>& mesh);
+			const ALE::Obj<ALE::Mesh>& mesh,
+			const int dim =0);
 
   /** Write field over cells to file.
    *
@@ -88,11 +91,14 @@
    * @param name Name of field.
    * @param field PETSc field over cells.
    * @param mesh PETSc mesh object.
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   void writeCellField(const double t,
 		      const char* name,
 		      const ALE::Obj<real_section_type>& field,
-		      const ALE::Obj<ALE::Mesh>& mesh);
+		      const ALE::Obj<ALE::Mesh>& mesh,
+		      const int dim =0);
 
 // PRIVATE METHODS //////////////////////////////////////////////////////
 private :

Modified: short/3D/PyLith/trunk/libsrc/meshio/OutputManager.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/OutputManager.cc	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/OutputManager.cc	2008-01-14 19:18:46 UTC (rev 9009)
@@ -140,49 +140,6 @@
 } // close
 
 // ----------------------------------------------------------------------
-// Write finite-element fields to file.
-void
-pylith::meshio::OutputManager::writeFields(
-				const double t,
-				topology::FieldsManager* const fields,
-				const ALE::Obj<ALE::Mesh>& mesh,
-				const spatialdata::geocoords::CoordSys* csMesh)
-{ // writeFields
-  assert(0 != _writer);
-  assert(0 != fields);
-
-  _writer->openTimeStep(t, mesh, csMesh);
-  
-  for (map_names_type::iterator f_iter=_vertexFields.begin();
-       f_iter != _vertexFields.end();
-       ++f_iter) {
-    const char* fieldName = f_iter->first.c_str();
-    const char* fieldLabel = f_iter->second.c_str();
-    const ALE::Obj<real_section_type>& field = fields->getReal(fieldLabel);
-
-    const ALE::Obj<real_section_type>& fieldFiltered = 
-      (0 != _vertexFilter) ? field : _vertexFilter->filter(field, mesh);
-
-    _writer->writeVertexField(t, fieldName, fieldFiltered, mesh);
-  } // for
-
-  for (map_names_type::iterator f_iter=_cellFields.begin();
-       f_iter != _cellFields.end();
-       ++f_iter) {
-    const char* fieldName = f_iter->first.c_str();
-    const char* fieldLabel = f_iter->second.c_str();
-    const ALE::Obj<real_section_type>& field = fields->getReal(fieldLabel);
-    
-    const ALE::Obj<real_section_type>& fieldFiltered = 
-      (0 != _cellFilter) ? field : _cellFilter->filter(field, mesh);
-
-    _writer->writeCellField(t, fieldName, fieldFiltered, mesh);
-  } // for
-
-  _writer->closeTimeStep();
-} // writeFields
-
-// ----------------------------------------------------------------------
 // Setup file for writing fields at time step.
 void
 pylith::meshio::OutputManager::openTimeStep(const double t,
@@ -209,14 +166,15 @@
 			       const double t,
 			       const char* name,
 			       const ALE::Obj<real_section_type>& field,
-			       const ALE::Obj<ALE::Mesh>& mesh)
+			       const ALE::Obj<ALE::Mesh>& mesh,
+			       const int dim)
 { // appendVertexField
   assert(0 != name);
 
   const ALE::Obj<real_section_type>& fieldFiltered = 
-    (0 != _vertexFilter) ? field : _vertexFilter->filter(field, mesh);
+    (0 == _vertexFilter) ? field : _vertexFilter->filter(field, mesh);
 
-  _writer->writeVertexField(t, name, fieldFiltered, mesh);
+  _writer->writeVertexField(t, name, fieldFiltered, mesh, dim);
 } // appendVertexField
 
 // ----------------------------------------------------------------------
@@ -226,14 +184,15 @@
 				const double t,
 				const char* name,
 				const ALE::Obj<real_section_type>& field,
-				const ALE::Obj<ALE::Mesh>& mesh)
+				const ALE::Obj<ALE::Mesh>& mesh,
+				const int dim)
 { // appendCellField
   assert(0 != name);
 
   const ALE::Obj<real_section_type>& fieldFiltered = 
-    (0 != _cellFilter) ? field : _cellFilter->filter(field, mesh);
+    (0 == _cellFilter) ? field : _cellFilter->filter(field, mesh);
 
-  _writer->writeCellField(t, name, fieldFiltered, mesh);
+  _writer->writeCellField(t, name, fieldFiltered, mesh, dim);
 } // appendCellField
 
 

Modified: short/3D/PyLith/trunk/libsrc/meshio/OutputManager.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/OutputManager.hh	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/meshio/OutputManager.hh	2008-01-14 19:18:46 UTC (rev 9009)
@@ -30,10 +30,6 @@
     class CellFilter; // HOLDSA CellFilter
     class VertexFilter; // HOLDSA VertexFilter
   } // meshio
-
-  namespace topology {
-    class FieldsManager; // USES FieldsManager
-  } // topology
 } // pylith
 
 namespace spatialdata {
@@ -128,18 +124,6 @@
   /// Close output files.
   void close(void);
 
-  /** Write finite-element fields to file.
-   *
-   * @param t Time associated with field.
-   * @param fields Fields manager.
-   * @param mesh PETSc mesh object.
-   * @param csMesh Coordinate system of mesh geometry
-   */
-  void writeFields(const double t,
-		   topology::FieldsManager* const fields,
-		   const ALE::Obj<ALE::Mesh>& mesh,
-		   const spatialdata::geocoords::CoordSys* csMesh);
-
   /** Setup file for writing fields at time step.
    *
    * @param t Time of time step.
@@ -159,11 +143,14 @@
    * @param name Name of field.
    * @param field Vertex field.
    * @param mesh PETSc mesh object.
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   void appendVertexField(const double t,
 			 const char* name,
 			 const ALE::Obj<real_section_type>& field,
-			 const ALE::Obj<ALE::Mesh>& mesh);
+			 const ALE::Obj<ALE::Mesh>& mesh,
+			 const int dim =0);
 
   /** Append finite-element cell field to file.
    *
@@ -172,11 +159,14 @@
    * @param field Cell field.
    * @param mesh PETSc mesh object.
    * @param csMesh Coordinate system of mesh geometry
+   * @param dim Fiber dimension to use when writing data
+   *   (=0 means use fiber dimension of field).
    */
   void appendCellField(const double t,
 		       const char* name,
 		       const ALE::Obj<real_section_type>& field,
-		       const ALE::Obj<ALE::Mesh>& mesh);
+		       const ALE::Obj<ALE::Mesh>& mesh,
+		       const int dim =0);
 
 // PRIVATE MEMBERS //////////////////////////////////////////////////////
 

Modified: short/3D/PyLith/trunk/libsrc/topology/Distributor.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Distributor.cc	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/topology/Distributor.cc	2008-01-14 19:18:46 UTC (rev 9009)
@@ -15,7 +15,7 @@
 #include "Distributor.hh" // implementation of class methods
 
 #include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
-#include "pylith/meshio/SolutionIO.hh" // USES SolutionIO
+#include "pylith/meshio/OutputManager.hh" // USES OutputManager
 
 #include <string.h> // USES strlen()
 #include <stdexcept> // USES std::runtime_error
@@ -51,8 +51,9 @@
 // ----------------------------------------------------------------------
 // Write partitioning info for distributed mesh.
 void
-pylith::topology::Distributor::write(const ALE::Obj<Mesh>& mesh,
-				     meshio::SolutionIO* const writer)
+pylith::topology::Distributor::write(meshio::OutputManager* const output,
+				     const ALE::Obj<Mesh>& mesh,
+				     const spatialdata::geocoords::CoordSys* cs)
 { // write
   
   // Setup and allocate field
@@ -76,7 +77,11 @@
 
   partition->view("PARTITION");
   const double t = 0.0;
-  writer->writeCellField(t, "partition", partition, mesh);
+  output->open(mesh, cs);
+  output->openTimeStep(t, mesh, cs);
+  output->appendCellField(t, "partition", partition, mesh);
+  output->closeTimeStep();
+  output->close();
 } // write
 
 

Modified: short/3D/PyLith/trunk/libsrc/topology/Distributor.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Distributor.hh	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/libsrc/topology/Distributor.hh	2008-01-14 19:18:46 UTC (rev 9009)
@@ -28,10 +28,16 @@
   } // topology
 
   namespace meshio {
-    class SolutionIO;
+    class OutputManager;
   } // meshio
 } // pylith
 
+namespace spatialdata {
+  namespace geocoords {
+    class CoordSys;
+  } // geocoords
+} // spatialdata
+
 class pylith::topology::Distributor
 { // Distributor
   friend class TestDistributor; // unit testing
@@ -58,12 +64,14 @@
 
   /** Write partitioning info for distributed mesh.
    *
+   * @param output Output manager for partition information.
    * @param mesh Distributed mesh.
-   * @param writer Writer for partition information.
+   * @param cs Coordinate system for mesh.
    */
   static
-  void write(const ALE::Obj<ALE::Mesh>& mesh,
-	     meshio::SolutionIO* const writer);
+  void write(meshio::OutputManager* const output,
+	     const ALE::Obj<ALE::Mesh>& mesh,
+	     const spatialdata::geocoords::CoordSys* cs);
 
 // NOT IMPLEMENTED //////////////////////////////////////////////////////
 private :

Modified: short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src	2008-01-14 19:18:46 UTC (rev 9009)
@@ -11,14 +11,16 @@
 #
 
 #header{
+#include "pylith/meshio/CellFilter.hh"
+#include "pylith/meshio/DataWriter.hh"
+#include "pylith/meshio/DataWriterVTK.hh"
 #include "pylith/meshio/MeshIO.hh"
 #include "pylith/meshio/MeshIOAscii.hh"
 #include "pylith/meshio/MeshIOLagrit.hh"
 #include "pylith/meshio/SolutionIO.hh"
 #include "pylith/meshio/SolutionIOVTK.hh"
 #include "pylith/meshio/OutputManager.hh"
-#include "pylith/meshio/DataWriter.hh"
-#include "pylith/meshio/DataWriterVTK.hh"
+#include "pylith/meshio/VertexFilter.hh"
 
 #if defined(ENABLE_CUBIT)
 #include "pylith/meshio/MeshIOCubit.hh"
@@ -43,6 +45,7 @@
   void* malloc(size_t size)
   void free(void* mem)
 
+# ----------------------------------------------------------------------
 cdef void MeshIO_destructor(void* obj):
   """
   Destroy MeshIO object.
@@ -55,19 +58,6 @@
   MeshIO_destructor_cpp(obj)
   return
 
-cdef void SolutionIO_destructor(void* obj):
-  """
-  Destroy SolutionIO object.
-  """
-  # create shim for destructor
-  #embed{ void SolutionIO_destructor_cpp(void* pObj)
-  pylith::meshio::SolutionIO* io = (pylith::meshio::SolutionIO*) pObj;
-  delete io;
-  #}embed
-  SolutionIO_destructor_cpp(obj)
-  return
-
-# ----------------------------------------------------------------------
 cdef class MeshIO:
 
   cdef void* thisptr # Pointer to C++ object
@@ -562,6 +552,18 @@
 
 
 # ----------------------------------------------------------------------
+cdef void SolutionIO_destructor(void* obj):
+  """
+  Destroy SolutionIO object.
+  """
+  # create shim for destructor
+  #embed{ void SolutionIO_destructor_cpp(void* pObj)
+  pylith::meshio::SolutionIO* io = (pylith::meshio::SolutionIO*) pObj;
+  delete io;
+  #}embed
+  SolutionIO_destructor_cpp(obj)
+  return
+
 cdef class SolutionIO:
 
   cdef void* thisptr # Pointer to C++ object
@@ -914,9 +916,28 @@
     """
     Constructor.
     """
-    self.handle = None
-    self.thisptr = NULL
+    # create shim for constructor
+    #embed{ void* OutputManager_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::meshio::OutputManager);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (const ALE::Exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.msg().c_str()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
     self.name = "pylith_meshio_OutputManager"
+    self.thisptr = OutputManager_constructor()
+    self.handle = self._createHandle()
     return
 
 
@@ -946,10 +967,10 @@
     #}embed
     if mesh.name != "pylith_topology_Mesh":
       raise TypeError, \
-            "Argument must be extension module type 'Mesh'."
+            "Argument 'mesh' must be extension module type 'Mesh'."
     if not cs.name == "spatialdata_geocoords_CoordSys":
       raise TypeError, \
-            "Argument must be extension module type 'CoordSys'."
+            "Argument 'cs' must be extension module type 'CoordSys'."
     OutputManager_open(self.thisptr, ptrFromHandle(mesh),
                        ptrFromHandle(cs))
     return
@@ -979,48 +1000,6 @@
     return
 
 
-  def writeFields(self, t, fields, mesh, cs):
-    """
-    Write fields to file.
-    """
-    # create shim for method 'writeFields'
-    #embed{ void OutputManager_writeFields(void* objVptr, double t, void* fieldsVptr, void* meshVptr, void* csVptr)
-    try {
-      assert(0 != objVptr);
-      assert(0 != fieldsVptr);
-      assert(0 != meshVptr);
-      assert(0 != csVptr);
-      pylith::topology::FieldsManager* fields = 
-        (pylith::topology::FieldsManager*) fieldsVptr;
-      ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
-      spatialdata::geocoords::CoordSys* cs =
-        (spatialdata::geocoords::CoordSys*) csVptr;
-      ((pylith::meshio::OutputManager*) objVptr)->writeFields(t, fields,
-                                                              *mesh, cs);
-    } catch (const std::exception& err) {
-      PyErr_SetString(PyExc_RuntimeError,
-                      const_cast<char*>(err.what()));
-    } catch (const ALE::Exception& err) {
-      PyErr_SetString(PyExc_RuntimeError,
-                      const_cast<char*>(err.msg().c_str()));
-    } catch (...) {
-      PyErr_SetString(PyExc_RuntimeError,
-                      "Caught unknown C++ exception.");
-    } // try/catch
-    #}embed
-    if not fields.name == "pylith_topology_FieldsManager":
-      raise TypeError, \
-            "Argument must be extension module type 'FieldsManager'."
-    if not mesh.name == "pylith_topology_Mesh":
-      raise TypeError, \
-            "Argument must be extension module type 'Mesh'."
-    cdef void* fieldVptr
-    fieldVptr = PyCObject_AsVoidPtr(field)
-    OutputManager_writeFields(self.thisptr, t, ptrFromHandle(fields), 
-                              ptrFromHandle(mesh), ptrFromHandle(cs))
-    return
-
-
   def openTimeStep(self, t, mesh, cs):
     """
     Prepare for writing solution to file.
@@ -1081,12 +1060,12 @@
     return
 
 
-  def appendVertexField(self, t, name, field, mesh):
+  def appendVertexField(self, t, name, field, mesh, dim):
     """
     Append field over vertices to file.
     """
     # create shim for method 'appendVertxField'
-    #embed{ void OutputManager_appendVertexField(void* objVptr, double t, char* name, void* fieldVptr, void* meshVptr)
+    #embed{ void OutputManager_appendVertexField(void* objVptr, double t, char* name, void* fieldVptr, void* meshVptr, int dim)
     try {
       assert(0 != objVptr);
       assert(0 != fieldVptr);
@@ -1096,7 +1075,8 @@
         (ALE::Obj<pylith::real_section_type>*) fieldVptr;
       ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
       ((pylith::meshio::OutputManager*) objVptr)->appendVertexField(t, name,
-                                                                *field, *mesh);
+                                                                *field, *mesh,
+                                                                    dim);
     } catch (const std::exception& err) {
       PyErr_SetString(PyExc_RuntimeError,
                       const_cast<char*>(err.what()));
@@ -1114,16 +1094,16 @@
     cdef void* fieldVptr
     fieldVptr = PyCObject_AsVoidPtr(field)
     OutputManager_appendVertexField(self.thisptr, t, name, fieldVptr, 
-                                ptrFromHandle(mesh))
+                                    ptrFromHandle(mesh), dim)
     return
 
 
-  def appendCellField(self, t, name, field, mesh):
+  def appendCellField(self, t, name, field, mesh, dim):
     """
     Append field over cells to file.
     """
     # create shim for method 'appendCellField'
-    #embed{ void OutputManager_appendCellField(void* objVptr, double t, char* name, void* fieldVptr, void* meshVptr)
+    #embed{ void OutputManager_appendCellField(void* objVptr, double t, char* name, void* fieldVptr, void* meshVptr, int dim)
     try {
       assert(0 != objVptr);
       assert(0 != fieldVptr);
@@ -1132,8 +1112,10 @@
       ALE::Obj<pylith::real_section_type>* field =
         (ALE::Obj<pylith::real_section_type>*) fieldVptr;
       ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
-      ((pylith::meshio::OutputManager*) objVptr)->appendCellField(t, name, *field,
-                                                              *mesh);
+      ((pylith::meshio::OutputManager*) objVptr)->appendCellField(t, name,
+                                                                  *field,
+                                                                  *mesh,
+                                                                  dim);
     } catch (const std::exception& err) {
       PyErr_SetString(PyExc_RuntimeError,
                       const_cast<char*>(err.what()));
@@ -1151,7 +1133,7 @@
     cdef void* fieldVptr
     fieldVptr = PyCObject_AsVoidPtr(field)
     OutputManager_appendCellField(self.thisptr, t, name, fieldVptr,
-                              ptrFromHandle(mesh))
+                              ptrFromHandle(mesh), dim)
     return
 
 
@@ -1241,12 +1223,13 @@
       cdef char** labels
       labels = NULL
       numFields = len(fields)
+      print "numFields",numFields
       if numFields > 0:
         names = <char**> malloc(numFields*sizeof(char*))
         labels = <char**> malloc(numFields*sizeof(char*))
       keys = fields.keys()
       values = fields.values()
-      for i from 0 <= i <= numFields:
+      for i from 0 <= i < numFields:
         strsize = len(keys[i])
         names[i] = <char*> malloc(1+strsize*sizeof(char))
         tmp = keys[i]
@@ -1300,7 +1283,7 @@
         labels = <char**> malloc(numFields*sizeof(char*))
       keys = fields.keys()
       values = fields.values()
-      for i from 0 <= i <= numFields:
+      for i from 0 <= i < numFields:
         strsize = len(keys[i])
         names[i] = <char*> malloc(1+strsize*sizeof(char))
         tmp = keys[i]
@@ -1329,7 +1312,6 @@
       #embed{ void OutputManager_vertexFilter_set(void* objVptr, void* filterVptr)
       try {
         assert(0 != objVptr);
-        assert(0 != filterVptr);
         pylith::meshio::VertexFilter* filter = 
           (pylith::meshio::VertexFilter*) filterVptr;
         ((pylith::meshio::OutputManager*) objVptr)->vertexFilter(filter);
@@ -1344,7 +1326,10 @@
                         "Caught unknown C++ exception.");
       } // try/catch
       #}embed
-      OutputManager_vertexFilter_set(self.thisptr, ptrFromHandle(filter))
+      if filter != None:
+        OutputManager_vertexFilter_set(self.thisptr, ptrFromHandle(filter))
+      else:
+        OutputManager_vertexFilter_set(self.thisptr, NULL)
 
 
   property cellFilter:
@@ -1356,7 +1341,6 @@
       #embed{ void OutputManager_cellFilter_set(void* objVptr, void* filterVptr)
       try {
         assert(0 != objVptr);
-        assert(0 != filterVptr);
         pylith::meshio::CellFilter* filter = 
           (pylith::meshio::CellFilter*) filterVptr;
         ((pylith::meshio::OutputManager*) objVptr)->cellFilter(filter);
@@ -1371,7 +1355,118 @@
                         "Caught unknown C++ exception.");
       } // try/catch
       #}embed
-      OutputManager_cellFilter_set(self.thisptr, ptrFromHandle(filter))
+      if filter != None:
+        OutputManager_cellFilter_set(self.thisptr, ptrFromHandle(filter))
+      else:
+        OutputManager_cellFilter_set(self.thisptr, NULL)
 
 
+# ----------------------------------------------------------------------
+cdef void DataWriter_destructor(void* obj):
+  """
+  Destroy DataWriter object.
+  """
+  # create shim for destructor
+  #embed{ void DataWriter_destructor_cpp(void* pObj)
+  pylith::meshio::DataWriter* io = (pylith::meshio::DataWriter*) pObj;
+  delete io;
+  #}embed
+  DataWriter_destructor_cpp(obj)
+  return
+
+cdef class DataWriter:
+
+  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_meshio_DataWriter"
+    return
+
+
+  def _createHandle(self):
+    """Wrap pointer to C++ object in PyCObject."""
+    return PyCObject_FromVoidPtr(self.thisptr, DataWriter_destructor)
+
+
+# ----------------------------------------------------------------------
+cdef class DataWriterVTK(DataWriter):
+
+  def __init__(self):
+    """Constructor."""
+    # create shim for constructor
+    #embed{ void* DataWriterVTK_constructor()
+    void* result = 0;
+    try {
+      result = (void*)(new pylith::meshio::DataWriterVTK);
+      assert(0 != result);
+    } catch (const std::exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.what()));
+    } catch (const ALE::Exception& err) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      const_cast<char*>(err.msg().c_str()));
+    } catch (...) {
+      PyErr_SetString(PyExc_RuntimeError,
+                      "Caught unknown C++ exception.");
+    } // try/catch
+    return result;
+    #}embed
+
+    DataWriter.__init__(self)
+    self.thisptr = DataWriterVTK_constructor()
+    self.handle = self._createHandle()
+    return
+
+
+  property filename:
+    def __set__(self, name):
+      """Set filename."""
+      # create shim for method 'filename'
+      #embed{ void DataWriterVTK_filename_set(void* objVptr, char* name)
+      try {
+        assert(0 != objVptr);
+        ((pylith::meshio::DataWriterVTK*) objVptr)->filename(name);
+      } catch (const std::exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.what()));
+      } catch (const ALE::Exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.msg().c_str()));
+      } catch (...) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "Caught unknown C++ exception.");
+      } // try/catch
+      #}embed
+      DataWriterVTK_filename_set(self.thisptr, name)
+
+
+  property timeFormat:
+    def __set__(self, format):
+      """Set timeFormat."""
+      # create shim for method 'timeFormat'
+      #embed{ void DataWriterVTK_timeFormat_set(void* objVptr, char* format)
+      try {
+        assert(0 != objVptr);
+        ((pylith::meshio::DataWriterVTK*) objVptr)->timeFormat(format);
+      } catch (const std::exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.what()));
+      } catch (const ALE::Exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.msg().c_str()));
+      } catch (...) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "Caught unknown C++ exception.");
+      } // try/catch
+      #}embed
+      DataWriterVTK_timeFormat_set(self.thisptr, format)
+
+
 # End of file

Modified: short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src	2008-01-14 19:18:46 UTC (rev 9009)
@@ -504,19 +504,22 @@
     return newMesh
 
 
-  def write(self, mesh, writer):
+  def write(self, output, mesh, cs):
     """
     Write partitioning information to file..
     """
     # create shim for method 'write'
-    #embed{ void Distributor_write(void* meshVptr, void* writerVptr)
+    #embed{ void Distributor_write(void* outputVptr, void* meshVptr, void* csVptr)
     try {
+      assert(0 != outputVptr);
       assert(0 != meshVptr);
-      assert(0 != writerVptr);
+      assert(0 != csVptr);
       ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
-      pylith::meshio::SolutionIO* writer =
-        (pylith::meshio::SolutionIO*) writerVptr;
-      pylith::topology::Distributor::write(*mesh, writer);
+      pylith::meshio::OutputManager* output =
+        (pylith::meshio::OutputManager*) outputVptr;
+      spatialdata::geocoords::CoordSys* cs =
+        (spatialdata::geocoords::CoordSys*) csVptr;
+      pylith::topology::Distributor::write(output, *mesh, cs);
     } catch (const std::exception& err) {
       PyErr_SetString(PyExc_RuntimeError,
                       const_cast<char*>(err.what()));
@@ -528,13 +531,17 @@
                       "Caught unknown C++ exception.");
     } // try/catch
     #}embed
+    if output.name != "pylith_meshio_OutputManager":
+      raise TypeError, \
+            "Argument 'output' must be extension module type 'OutputManager'."
     if mesh.name != "pylith_topology_Mesh":
       raise TypeError, \
             "Argument 'mesh' must be extension module type 'Mesh'."
-    if writer.name != "pylith_meshio_SolutionIO":
+    if cs.name != "spatialdata_geocoords_CoordSys":
       raise TypeError, \
-            "Argument 'writer' must be extension module type 'SolutionIO'."
-    Distributor_write(ptrFromHandle(mesh), ptrFromHandle(writer))
+            "Argument 'cs' must be extension module type 'CoordSys'."
+    Distributor_write(ptrFromHandle(output), ptrFromHandle(mesh),
+                      ptrFromHandle(cs))
     return
 
 

Modified: short/3D/PyLith/trunk/pylith/meshio/CellFilter.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/CellFilter.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/meshio/CellFilter.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -65,13 +65,15 @@
     return
 
 
-  def initialize(self):
+  def initialize(self, quadrature):
     """
     Initialize output manager.
     """
-    if None == self.cppHandle:
-      import pylith.meshio.meshio as bindings
-      self.cppHandle = bindings.CellFilter()
+    self._createCppHandle()
+
+    if quadrature != None:
+      assert(None != self.cppHandle)
+      self.cppHandle.quadrature = quadrature.cppHandle
     return
 
 
@@ -85,6 +87,13 @@
     return
 
 
+  def _createCppHandle(self):
+    """
+    Create handle to C++ object.
+    """
+    return
+  
+
 # FACTORIES ////////////////////////////////////////////////////////////
 
 def output_cell_filter():

Modified: short/3D/PyLith/trunk/pylith/meshio/DataWriter.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/DataWriter.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/meshio/DataWriter.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -77,7 +77,6 @@
     Set members based using inventory.
     """
     Component._configure(self)
-    self.coordsys = self.inventory.coordsys
     return
 
 

Modified: short/3D/PyLith/trunk/pylith/meshio/OutputManager.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputManager.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputManager.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -72,6 +72,7 @@
     cellFields = pyre.inventory.list("cell_fields", default=[])
     cellFields.meta['tip'] = "Fields of cell data to output."
 
+    from DataWriterVTK import DataWriterVTK
     writer = pyre.inventory.facility("writer", factory=DataWriterVTK,
                                      family="data_writer")
     writer.meta['tip'] = "Writer for data."
@@ -107,6 +108,8 @@
     self.mesh = None
     self._t = None
     self._istep = None
+    self.vertexFields = None
+    self.cellFields = None
     self._fieldTranslator = None
     return
 
@@ -117,13 +120,7 @@
     """
     # Verify fields requested for output are available by creating map
     # of names of requested fields to mesh labels.
-    self.vertexFields = {}
-    self.cellFields = {}
-    if None != self.fieldTraslator: # TEMPORARY
-      for name in self.vertexFieldNames:
-        self.vertexFields[name] = self._fieldTranslator(name)
-      for name in self.cellFieldNames:
-        self.cellFields[name] = self._fieldTranslator(name)
+    self._createFieldDicts()
     return
 
 
@@ -135,16 +132,20 @@
     return
 
 
-  def initialize(self, quadrature):
+  def initialize(self, quadrature=None):
     """
     Initialize output manager.
     """
+    self._createFieldDicts()
+    
     # Initialize coordinate system
     if self.coordsys is None:
       raise ValueError, "Coordinate system for output is unknown."
     self.coordsys.initialize()
 
     self.cellFilter.initialize(quadrature)
+    self.writer.initialize()
+    self._sync()
     return
 
 
@@ -157,7 +158,6 @@
     self._logger.eventBegin(logEvent)    
 
     self.mesh = mesh # Keep handle to mesh
-    self._sync()
     
     assert(None != self.cppHandle)
     assert(None != mesh.cppHandle)
@@ -182,38 +182,6 @@
     return
 
 
-  def writeFields(self, t, istep, fields):
-    """
-    Write vertex and cell fields.
-
-    @param fields FieldsManager containing fields (if not in mesh).
-    """
-    logEvent = "%swriteFields" % self._loggingPrefix
-    self._logger.eventBegin(logEvent)    
-
-    write = False
-    if self.istep == None or not "value" in dir(self._t):
-      write = True
-    elif self.outputFreq == "skip":
-      if istep > self._istep + self.skip:
-        write = True
-    elif t >= self._t + self._dt:
-      write = True
-    if write:
-      self._info.log("Writing fields.")
-      assert(None != self.cppHandle)
-      assert(None != mesh.cppHandle)
-      assert(None != mesh.coordsys.cppHandle)
-      self.cppHandle.writeFields(t, fields,
-                                 self.mesh.cppHandle,
-                                 self.mesh.coordsys.cppHandle)
-      self._istep = istep
-      self._t = t
-
-    self._logger.eventEnd(logEvent)
-    return
-  
-
   def openTimeStep(self, t, istep):
     """
     Prepare for writing solution to file.
@@ -223,13 +191,16 @@
     self._info.log("Preparing for writing solution to file.")
 
     write = False
-    if self.istep == None or not "value" in dir(self.t):
+    if self._istep == None or not "value" in dir(self._t):
       write = True
     elif self.outputFreq == "skip":
-      if istep > self.istep + self.skip:
+      if istep > self._istep + self.skip:
         write = True
-    elif t >= self.t + self.dt:
+    elif t >= self._t + self.dt:
       write = True
+    if write:
+      self._istep = istep
+      self._t = t
     self.writeFlag = write
 
     assert(self.cppHandle != None)
@@ -251,9 +222,6 @@
     self._logger.eventBegin(logEvent)    
     self._info.log("Cleaning up afterwriting solution to file.")
 
-    if self.write:
-      self._istep = istep
-      self._t = t
     self.writeFlag = False
 
     assert(self.cppHandle != None)
@@ -263,7 +231,7 @@
     return
 
 
-  def writeVertexField(self, t, istep, name, field):
+  def appendVertexField(self, t, istep, name, field, dim=0):
     """
     Write field over vertices at time t to file.
     """
@@ -274,8 +242,8 @@
       self._info.log("Writing solution field '%s'." % name)
       assert(self.cppHandle != None)
       assert(self.mesh.cppHandle != None)
-      self.cppHandle.writeVertexField(t.value, name, field,
-                                      self.mesh.cppHandle)
+      self.cppHandle.appendVertexField(t.value, name, field,
+                                       self.mesh.cppHandle, dim)
       self.istep = istep
       self.t = t
 
@@ -283,7 +251,7 @@
     return
 
 
-  def writeCellField(self, t, istep, name, field):
+  def appendCellField(self, t, istep, name, field, dim=0):
     """
     Write field over cells at time t to file.
     """
@@ -294,8 +262,8 @@
       self._info.log("Writing solution field '%s'." % name)
       assert(self.cppHandle != None)
       assert(self.mesh.cppHandle != None)
-      self.cppHandle.writeCellField(t.value, name, field, 
-                                    self.mesh.cppHandle)
+      self.cppHandle.appendCellField(t.value, name, field, 
+                                     self.mesh.cppHandle, dim)
       self.istep = istep
       self.t = t
 
@@ -329,8 +297,12 @@
     if None == self.cppHandle:
       import pylith.meshio.meshio as bindings
       self.cppHandle = bindings.OutputManager()
-    self.cppHandle.coordsys = self.coordsys
-    self.cppHandle.writer = self.writer
+
+    assert(self.coordsys.cppHandle != None)
+    assert(self.writer.cppHandle != None)
+      
+    self.cppHandle.coordsys = self.coordsys.cppHandle
+    self.cppHandle.writer = self.writer.cppHandle
     self.cppHandle.vertexFields = self.vertexFields
     self.cppHandle.cellFields = self.cellFields
     self.cppHandle.vertexFilter = self.vertexFilter.cppHandle
@@ -338,6 +310,23 @@
     return
 
 
+  def _createFieldDicts(self):
+    """
+    Create dictionaries with field names and mesh labels of fields.
+    """
+    if None != self.vertexFields and None != self.cellFields:
+      return
+    
+    self.vertexFields = {}
+    self.cellFields = {}
+    if None != self._fieldTranslator: # TEMPORARY
+      for name in self.vertexFieldNames:
+        self.vertexFields[name] = self._fieldTranslator(name)
+      for name in self.cellFieldNames:
+        self.cellFields[name] = self._fieldTranslator(name)
+    return
+
+
   def _setupLogging(self):
     """
     Setup event logging.

Modified: short/3D/PyLith/trunk/pylith/meshio/SingleOutput.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/SingleOutput.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/meshio/SingleOutput.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -44,9 +44,9 @@
 
     import pyre.inventory
 
-    from SolutionIOVTK import SolutionIOVTK
-    output = pyre.inventory.facility("output", family="solution_io",
-                                     factory=SolutionIOVTK)
+    from OutputManager import OutputManager
+    output = pyre.inventory.facility("output", family="output_manager",
+                                     factory=OutputManager)
     output.meta['tip'] = "Output manager."
 
 

Modified: short/3D/PyLith/trunk/pylith/meshio/VertexFilter.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/VertexFilter.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/meshio/VertexFilter.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -69,9 +69,7 @@
     """
     Initialize output manager.
     """
-    if None == self.cppHandle:
-      import pylith.meshio.meshio as bindings
-      self.cppHandle = bindings.VertexFilter()
+    self._createCppHandle()
     return
 
 
@@ -85,6 +83,13 @@
     return
 
 
+  def _createCppHandle(self):
+    """
+    Create handle to C++ object.
+    """
+    return
+  
+
 # FACTORIES ////////////////////////////////////////////////////////////
 
 def output_vertex_filter():

Modified: short/3D/PyLith/trunk/pylith/problems/Formulation.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Formulation.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/problems/Formulation.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -191,6 +191,7 @@
 
     self._info.log("Setting up solution output.")
     for output in self.output.bin:
+      output.initialize()
       output.open(self.mesh)
     self._debug.log(resourceUsageString())
 
@@ -250,7 +251,7 @@
     field = self.fields.getSolution()
     for output in self.output.bin:
       output.openTimeStep(t+dt, self._istep)
-      output.writeVertexField(t+dt, self._istep, self.solnField['label'], field)
+      output.appendVertexField(t+dt, self._istep, self.solnField['label'], field, dim=3)
       output.closeTimeStep()
     self._istep += 1
 

Modified: short/3D/PyLith/trunk/pylith/topology/Distributor.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/Distributor.py	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/pylith/topology/Distributor.py	2008-01-14 19:18:46 UTC (rev 9009)
@@ -41,7 +41,7 @@
     ## @li \b debug Write partition information to file.
     ##
     ## \b Facilities
-    ## @li \b writer Writer for partition information
+    ## @li \b output Output manager for partition information
 
     import pyre.inventory
 
@@ -53,10 +53,10 @@
     debug = pyre.inventory.bool("debug", default=False)
     debug.meta['tip'] = "Write partition information to file."
 
-    from pylith.meshio.SolutionIOVTK import SolutionIOVTK
-    writer = pyre.inventory.facility("writer", factory=SolutionIOVTK,
-                                     family="solution_io")
-    writer.meta['tip'] = "Writer for partition information."
+    from pylith.meshio.OutputManager import OutputManager
+    output = pyre.inventory.facility("output", factory=OutputManager,
+                                     family="output_manager")
+    output.meta['tip'] = "Output manager for partition information."
 
   # PUBLIC METHODS /////////////////////////////////////////////////////
 
@@ -87,9 +87,9 @@
     newMesh.coordsys = mesh.coordsys
 
     if self.debug:
-      self.writer.open(newMesh)
-      self.cppHandle.write(newMesh.cppHandle, self.writer.cppHandle)
-      self.writer.close()
+      self.output.initialize()
+      self.cppHandle.write(self.output.cppHandle,
+                           newMesh.cppHandle, newMesh.coordsys.cppHandle)
 
     self._logger.eventEnd(logEvent)
     return newMesh
@@ -104,7 +104,7 @@
     Component._configure(self)
     self.partitioner = self.inventory.partitioner
     self.debug = self.inventory.debug
-    self.writer = self.inventory.writer
+    self.output = self.inventory.output
     return
 
 

Modified: short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -67,5 +67,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[axialextension.problem.formulation.output.output]
+[axialextension.problem.formulation.output.output.writer]
 filename = axialextension.vtk

Modified: short/3D/PyLith/trunk/tests/1d/line2/dislocation_dyn.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/dislocation_dyn.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/1d/line2/dislocation_dyn.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -104,6 +104,6 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[dislocation_dyn.problem.formulation.output.output]
+[dislocation_dyn.problem.formulation.output.output.writer]
 filename = dislocation_dyn.vtk
 time_format = %08.6f

Modified: short/3D/PyLith/trunk/tests/1d/line2/dislocation_static.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/dislocation_static.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/1d/line2/dislocation_static.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -88,5 +88,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[dislocation_static.problem.formulation.output.output]
+[dislocation_static.problem.formulation.output.output.writer]
 filename = dislocation_static.vtk

Modified: short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -69,5 +69,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialextension.vtk

Modified: short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -89,5 +89,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/tests/2d/bar_quad4/dislocation_dyn.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/bar_quad4/dislocation_dyn.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/bar_quad4/dislocation_dyn.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -116,6 +116,6 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = output/dislocation_dyn.vtk
 time_format = %05.3f

Modified: short/3D/PyLith/trunk/tests/2d/bar_tri3/dislocation_dyn.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/bar_tri3/dislocation_dyn.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/bar_tri3/dislocation_dyn.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -113,6 +113,6 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = output/dislocation_dyn.vtk
 time_format = %05.3f

Modified: short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -95,5 +95,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialplanestrain.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -104,5 +104,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -77,5 +77,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearplanestrain.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_free.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_free.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_free.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -77,5 +77,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearplanestrain_free.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_xfixed.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_xfixed.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain_xfixed.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -93,5 +93,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearplanestrain_xfixed.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4/threequad4_shear.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/threequad4_shear.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4/threequad4_shear.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -94,5 +94,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = threequad4_shear.vtk

Modified: short/3D/PyLith/trunk/tests/2d/quad4b/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4b/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/quad4b/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -119,5 +119,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -90,5 +90,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialplanestrain.vtk

Modified: short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -88,5 +88,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -76,5 +76,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearplanestrain.vtk

Modified: short/3D/PyLith/trunk/tests/3d/bar_hex8/dislocation_dyn.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/bar_hex8/dislocation_dyn.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/bar_hex8/dislocation_dyn.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -134,6 +134,6 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = output/dislocation_dyn.vtk
 time_format = %05.2f

Modified: short/3D/PyLith/trunk/tests/3d/bar_tet4/dislocation_dyn.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/bar_tet4/dislocation_dyn.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/bar_tet4/dislocation_dyn.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -135,6 +135,6 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = output/dislocation_dyn.vtk
 time_format = %06.3f

Modified: short/3D/PyLith/trunk/tests/3d/hex8/axialelasticisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/axialelasticisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/axialelasticisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -105,5 +105,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialelasticisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/axialmaxwellisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/axialmaxwellisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/axialmaxwellisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -105,5 +105,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialmaxwellisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-eightcells.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-eightcells.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-eightcells.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -10,5 +10,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelastic-eightcells.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-fourcells.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-fourcells.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-fourcells.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -10,5 +10,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelastic-fourcells.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-threecells.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-threecells.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-threecells.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -10,5 +10,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelastic-threecells.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocells.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocells.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocells.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -10,5 +10,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelastic-twocells.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocellsb.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocellsb.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelastic-twocellsb.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -10,5 +10,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelastic-twocellsb.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearelasticisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearelasticisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearelasticisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -80,5 +80,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelasticisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearmaxwellisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearmaxwellisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearmaxwellisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -80,5 +80,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearmaxwellisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/3d/hex8/shearplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/hex8/shearplanestrain.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/hex8/shearplanestrain.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -87,5 +87,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearplanestrain.vtk

Modified: short/3D/PyLith/trunk/tests/3d/tet4/axialelasticisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/tet4/axialelasticisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/tet4/axialelasticisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -104,5 +104,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = axialelasticisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/3d/tet4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/tet4/dislocation.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/tet4/dislocation.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -99,5 +99,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/tests/3d/tet4/shearelasticisotropic.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/3d/tet4/shearelasticisotropic.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/3d/tet4/shearelasticisotropic.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -77,5 +77,5 @@
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output]
+[pylithapp.problem.formulation.output.output.writer]
 filename = shearelasticisotropic.vtk

Modified: short/3D/PyLith/trunk/tests/distribute/mesherapp.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/distribute/mesherapp.cfg	2008-01-14 05:02:44 UTC (rev 9008)
+++ short/3D/PyLith/trunk/tests/distribute/mesherapp.cfg	2008-01-14 19:18:46 UTC (rev 9009)
@@ -9,4 +9,4 @@
 
 distributor.partitioner = parmetis
 importer.filename = tri3a.mesh
-distributor.writer.filename = tri3a_parmetis.vtk
+distributor.output.writer.filename = tri3a_parmetis.vtk



More information about the cig-commits mailing list