[cig-commits] r21232 - in short/3D/PyLith/trunk: libsrc/pylith/faults libsrc/pylith/meshio libsrc/pylith/topology unittests/libtests/meshio unittests/libtests/meshio/data

knepley at geodynamics.org knepley at geodynamics.org
Tue Jan 15 16:38:24 PST 2013


Author: knepley
Date: 2013-01-15 16:38:23 -0800 (Tue, 15 Jan 2013)
New Revision: 21232

Modified:
   short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
   short/3D/PyLith/trunk/libsrc/pylith/meshio/CellFilterAvg.cc
   short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.cc
   short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5Ext.cc
   short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterVTK.cc
   short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.hh
   short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc
Log:
Fixed VTK submesh tests, working on HDF5

Modified: short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/faults/CohesiveTopology.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -315,11 +315,11 @@
   err = PetscFree(newCone);CHECK_PETSC_ERROR(err);
   PetscInt cMax, vMax;
 
-  err = DMPlexGetVTKBounds(newMesh, &cMax, &vMax);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetHybridBounds(newMesh, &cMax, PETSC_NULL, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
   if (cMax < 0) {
-    err = DMPlexSetVTKBounds(newMesh, firstFaultCellDM, PETSC_DETERMINE);CHECK_PETSC_ERROR(err);
+    err = DMPlexSetHybridBounds(newMesh, firstFaultCellDM, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE);CHECK_PETSC_ERROR(err);
   }
-  err = DMPlexSetVTKBounds(newMesh, PETSC_DETERMINE, firstLagrangeVertexDM);CHECK_PETSC_ERROR(err);
+  err = DMPlexSetHybridBounds(newMesh, PETSC_DETERMINE, PETSC_DETERMINE, PETSC_DETERMINE, firstLagrangeVertexDM);CHECK_PETSC_ERROR(err);
 
   // Renumber labels
   std::set<std::string> names(groupNames->begin(), groupNames->end());

Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/CellFilterAvg.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/CellFilterAvg.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/CellFilterAvg.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -107,7 +107,7 @@
     PetscInt cMax;
 
     err = DMPlexGetHeightStratum(dmMesh, 0, &cStart, &cEnd);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetVTKBounds(dmMesh, &cMax, PETSC_NULL);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetHybridBounds(dmMesh, &cMax, PETSC_NULL, PETSC_NULL, PETSC_NULL);CHECK_PETSC_ERROR(err);
     if (cMax >= 0) {cEnd = PetscMin(cEnd, cMax);}
     numCells = cEnd - cStart;
   } else {

Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -135,7 +135,7 @@
     err = DMPlexGetCoordinateSection(dmMesh, &coordSection);CHECK_PETSC_ERROR(err);
     err = DMGetCoordinatesLocal(dmMesh, &coordinates);CHECK_PETSC_ERROR(err);
     err = DMPlexGetDepthStratum(dmMesh, 0, &vStart, &vEnd);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetVTKBounds(dmMesh, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetHybridBounds(dmMesh, PETSC_NULL, PETSC_NULL, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
     if (vMax >= 0) {vEnd = PetscMin(vEnd, vMax);}
     for(PetscInt vertex = vStart; vertex < vEnd; ++vertex) {
       err = PetscSectionGetDof(coordSection, vertex, &dimLocal);CHECK_PETSC_ERROR(err);
@@ -194,7 +194,7 @@
 
     err = DMPlexGetDepthStratum(dmMesh, 0, &vStart, &vEnd);CHECK_PETSC_ERROR(err);
     err = DMPlexGetHeightStratum(dmMesh, 0, &cStart, &cEnd);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetVTKBounds(dmMesh, &cMax, PETSC_NULL);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetHybridBounds(dmMesh, &cMax, PETSC_NULL, PETSC_NULL, PETSC_NULL);CHECK_PETSC_ERROR(err);
     if (cMax >= 0) {cEnd = PetscMin(cEnd, cMax);}
     for(PetscInt cell = cStart; cell < cEnd; ++cell) {
       PetscInt *closure = PETSC_NULL;
@@ -400,7 +400,7 @@
   try {
     const char* context = DataWriter<mesh_type, field_type>::_context.c_str();
 
-    field.createScatterWithBC(field.mesh(), "", 0, context);
+    field.createScatterWithBC(mesh, "", 0, context);
     field.scatterSectionToVector(context);
     PetscVec vector = field.vector(context);
     assert(vector);

Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5Ext.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5Ext.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5Ext.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -149,7 +149,7 @@
     err = DMPlexGetCoordinateSection(dmMesh, &coordSection);CHECK_PETSC_ERROR(err);
     err = DMGetCoordinatesLocal(dmMesh, &coordinates);CHECK_PETSC_ERROR(err);
     err = DMPlexGetDepthStratum(dmMesh, 0, &vStart, &vEnd);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetVTKBounds(dmMesh, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetHybridBounds(dmMesh, PETSC_NULL, PETSC_NULL, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
     if (vMax >= 0) {vEnd = PetscMin(vEnd, vMax);}
     for(PetscInt vertex = vStart; vertex < vEnd; ++vertex) {
       err = PetscSectionGetDof(coordSection, vertex, &dimLocal);CHECK_PETSC_ERROR(err);
@@ -279,7 +279,7 @@
 
     err = DMPlexGetDepthStratum(dmMesh, 0, &vStart, &vEnd);CHECK_PETSC_ERROR(err);
     err = DMPlexGetHeightStratum(dmMesh, 0, &cStart, &cEnd);CHECK_PETSC_ERROR(err);
-    err = DMPlexGetVTKBounds(dmMesh, &cMax, PETSC_NULL);CHECK_PETSC_ERROR(err);
+    err = DMPlexGetHybridBounds(dmMesh, &cMax, PETSC_NULL, PETSC_NULL, PETSC_NULL);CHECK_PETSC_ERROR(err);
     if (cMax >= 0) {cEnd = PetscMin(cEnd, cMax);}
     for(PetscInt cell = cStart; cell < cEnd; ++cell) {
       PetscInt *closure = PETSC_NULL;

Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterVTK.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterVTK.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterVTK.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -223,19 +223,13 @@
 
     if (complexMesh) {
       /* DMPlex */
-      PetscContainer c;
-      PetscSection   s = field.petscSection();
-      Vec            v = field.localVector();
-      assert(s);assert(v);
+      Vec v = field.localVector(); /* Could check the field.petscSection() matches the default section from VecGetDM() */
+      assert(v);
 
       /* Will change to just VecView() once I setup the vectors correctly (use VecSetOperation() to change the view method) */
       PetscViewerVTKFieldType ft = field.vectorFieldType() != topology::FieldBase::VECTOR ? PETSC_VTK_POINT_FIELD : PETSC_VTK_POINT_VECTOR_FIELD;
       PetscErrorCode err = PetscViewerVTKAddField(_viewer, (PetscObject) complexMesh, DMPlexVTKWriteAll, ft, (PetscObject) v);CHECK_PETSC_ERROR(err);
       err = PetscObjectReference((PetscObject) v);CHECK_PETSC_ERROR(err); /* Needed because viewer destroys the Vec */
-      err = PetscContainerCreate(((PetscObject) v)->comm, &c);CHECK_PETSC_ERROR(err);
-      err = PetscContainerSetPointer(c, s);CHECK_PETSC_ERROR(err);
-      err = PetscObjectCompose((PetscObject) v, "section", (PetscObject) c);CHECK_PETSC_ERROR(err);
-      err = PetscContainerDestroy(&c);CHECK_PETSC_ERROR(err);
 
       _wroteVertexHeader = true;
     } else {

Modified: short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -1571,17 +1571,53 @@
   ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
   logger.stagePush("GlobalOrder");
 
-  PetscSection section, newSection, gsection;
+  DM           dm = mesh.dmMesh();
+  PetscSection section, newSection, gsection, subSection = PETSC_NULL;
   PetscSF      sf;
-  PetscInt     cEnd, cMax, vEnd, vMax;
+  IS           subpointMap, subpointMapF;
+  PetscInt     dim, dimF, pStart, pEnd, qStart, qEnd, cEnd, cMax, vEnd, vMax;
   err = DMPlexGetHeightStratum(_dm, 0, PETSC_NULL, &cEnd);CHECK_PETSC_ERROR(err);
   err = DMPlexGetDepthStratum(_dm, 0, PETSC_NULL, &vEnd);CHECK_PETSC_ERROR(err);
-  err = DMPlexGetVTKBounds(_dm, &cMax, &vMax);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetHybridBounds(_dm, &cMax, PETSC_NULL, PETSC_NULL, &vMax);CHECK_PETSC_ERROR(err);
   PetscInt     excludeRanges[4] = {cMax, cEnd, vMax, vEnd};
   PetscInt     numExcludes      = (cMax >= 0 ? 1 : 0) + (vMax >= 0 ? 1 : 0);
 
+  err = DMGetDefaultSection(_dm, &section);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetDimension(dm,  &dim);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetDimension(_dm, &dimF);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetChart(dm,  &pStart, &pEnd);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetChart(_dm, &qStart, &qEnd);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetSubpointMap(dm,  &subpointMap);CHECK_PETSC_ERROR(err);
+  err = DMPlexGetSubpointMap(_dm, &subpointMapF);CHECK_PETSC_ERROR(err);
+  if (((dim != dimF) || ((pEnd-pStart) < (qEnd-qStart))) && subpointMap && !subpointMapF) {
+    const PetscInt *ind;
+    PetscInt        n, q;
+
+    err = PetscPrintf(PETSC_COMM_SELF, "Making translation PetscSection\n");CHECK_PETSC_ERROR(err);
+    err = PetscSectionGetChart(section, &qStart, &qEnd);CHECK_PETSC_ERROR(err);
+    err = ISGetLocalSize(subpointMap, &n);CHECK_PETSC_ERROR(err);
+    err = ISGetIndices(subpointMap, &ind);CHECK_PETSC_ERROR(err);
+    err = PetscSectionCreate(mesh.comm(), &subSection);CHECK_PETSC_ERROR(err);
+    err = PetscSectionSetChart(subSection, pStart, pEnd);CHECK_PETSC_ERROR(err);
+    for(q = qStart; q < qEnd; ++q) {
+      PetscInt dof, off, p;
+
+      err = PetscSectionGetDof(section, q, &dof);CHECK_PETSC_ERROR(err);
+      if (dof) {
+        err = PetscFindInt(q, n, ind, &p);CHECK_PETSC_ERROR(err);
+        if (p >= pStart) {
+          err = PetscSectionSetDof(subSection, p, dof);CHECK_PETSC_ERROR(err);
+          err = PetscSectionGetOffset(section, q, &off);CHECK_PETSC_ERROR(err);
+          err = PetscSectionSetOffset(subSection, p, off);CHECK_PETSC_ERROR(err);
+        }
+      }
+    }
+    err = ISRestoreIndices(subpointMap, &ind);CHECK_PETSC_ERROR(err);
+    /* No need to setup section */
+    section = subSection;
+  }
+
   err = DMPlexClone(_dm, &sinfo.dm);CHECK_PETSC_ERROR(err);
-  err = DMGetDefaultSection(_dm, &section);CHECK_PETSC_ERROR(err);
   err = PetscSectionClone(section, &newSection);CHECK_PETSC_ERROR(err);
   err = DMSetDefaultSection(sinfo.dm, newSection);CHECK_PETSC_ERROR(err);
   err = DMGetPointSF(sinfo.dm, &sf);CHECK_PETSC_ERROR(err);
@@ -1602,7 +1638,7 @@
   err = VecGetSize(sinfo.vector, &globalSize);CHECK_PETSC_ERROR(err);
   /* assert(order->getLocalSize()  == localSize); This does not work because the local vector includes the lagrange cell variables */
   /* assert(order->getGlobalSize() == globalSize); */
-
+  if (subSection) {err = PetscSectionDestroy(&subSection);CHECK_PETSC_ERROR(err);}
 #if 0
   std::cout << "["<<sieveMesh->commRank()<<"] CONTEXT: " << context 
 	    << ", orderLabel: " << orderLabel

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -95,9 +95,9 @@
   CPPUNIT_ASSERT(0 != _mesh);
   CPPUNIT_ASSERT(0 != _data);
 
-  DataWriterHDF5Ext<topology::SubMesh, SubMeshField> writer;
+  DataWriterHDF5Ext<topology::SubMesh, MeshField> writer;
 
-  topology::Fields<SubMeshField> vertexFields(*_submesh);
+  topology::Fields<MeshField> vertexFields(*_mesh);
   _createVertexFields(&vertexFields);
 
   writer.filename(_data->vertexFilename);
@@ -118,7 +118,7 @@
     writer.openTimeStep(t, *_submesh, label, id);
   } // else
   for (int i=0; i < nfields; ++i) {
-    SubMeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
+    MeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
     writer.writeVertexField(t, field, *_submesh);
   } // for
   writer.closeTimeStep();

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -97,9 +97,9 @@
   CPPUNIT_ASSERT(0 != _mesh);
   CPPUNIT_ASSERT(0 != _data);
 
-  DataWriterHDF5<topology::SubMesh, SubMeshField> writer;
+  DataWriterHDF5<topology::SubMesh, MeshField> writer;
 
-  topology::Fields<SubMeshField> vertexFields(*_submesh);
+  topology::Fields<MeshField> vertexFields(*_mesh);
   _createVertexFields(&vertexFields);
 
   writer.filename(_data->vertexFilename);
@@ -120,7 +120,7 @@
     writer.openTimeStep(t, *_submesh, label, id);
   } // else
   for (int i=0; i < nfields; ++i) {
-    SubMeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
+    MeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
     writer.writeVertexField(t, field, *_submesh);
   } // for
   writer.closeTimeStep();

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -103,7 +103,7 @@
 // Create vertex fields.
 void
 pylith::meshio::TestDataWriterSubMesh::_createVertexFields(
-	    topology::Fields<SubMeshField>* fields) const
+	    topology::Fields<MeshField>* fields) const
 { // _createVertexFields
   CPPUNIT_ASSERT(0 != fields);
   CPPUNIT_ASSERT(0 != _mesh);
@@ -112,19 +112,27 @@
   try {
     const int nfields = _data->numVertexFields;
 
-    DM dmMesh = _submesh->dmMesh();
+    DM dmMesh    = _mesh->dmMesh();
     PetscInt       vStart, vEnd;
     PetscErrorCode err;
 
     CPPUNIT_ASSERT(dmMesh);
     err = DMPlexGetDepthStratum(dmMesh, 0, &vStart, &vEnd);CHECK_PETSC_ERROR(err);
+#if 0
+    DM dmSubmesh = _submesh->dmMesh();
+    IS subpointMap;
+    err = DMPlexGetSubpointMap(dmSubmesh, &subpointMap);CHECK_PETSC_ERROR(err);
+    err = ISGetIndices(subpointMap, &ind);CHECK_PETSC_ERROR(err);
+    err = ISRestoreIndices(subpointMap, &ind);CHECK_PETSC_ERROR(err);
+#endif
 
     // Set vertex fields
     for (int i=0; i < nfields; ++i) {
+      const PetscInt *ind;
       const char* name = _data->vertexFieldsInfo[i].name;
       const int fiberDim = _data->vertexFieldsInfo[i].fiber_dim;
       fields->add(name, name);
-      SubMeshField& field = fields->get(name);
+      MeshField& field = fields->get(name);
       field.newSection(topology::FieldBase::VERTICES_FIELD, fiberDim);
       field.allocate();
       field.vectorFieldType(_data->vertexFieldsInfo[i].field_type);
@@ -137,6 +145,7 @@
       for(PetscInt v = vStart; v < vEnd; ++v) {
         PetscInt dof, off;
 
+        err = 
         err = PetscSectionGetDof(section, v, &dof);CHECK_PETSC_ERROR(err);
         err = PetscSectionGetOffset(section, v, &off);CHECK_PETSC_ERROR(err);
         for(PetscInt d = 0; d < dof; ++d) {

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.hh	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterSubMesh.hh	2013-01-16 00:38:23 UTC (rev 21232)
@@ -59,7 +59,7 @@
    * @param fields Vertex fields.
    */
   void
-  _createVertexFields(topology::Fields<topology::Field<topology::SubMesh> >* fields) const;
+  _createVertexFields(topology::Fields<topology::Field<topology::Mesh> >* fields) const;
 
   /** Create cell fields.
    *

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -113,9 +113,9 @@
   CPPUNIT_ASSERT(0 != _mesh);
   CPPUNIT_ASSERT(0 != _data);
 
-  DataWriterVTK<topology::SubMesh, SubMeshField> writer;
+  DataWriterVTK<topology::SubMesh, MeshField> writer;
 
-  topology::Fields<SubMeshField> vertexFields(*_submesh);
+  topology::Fields<MeshField> vertexFields(*_mesh);
   _createVertexFields(&vertexFields);
 
   writer.filename(_data->vertexFilename);
@@ -135,7 +135,7 @@
     writer.openTimeStep(t, *_submesh, label, id);
   } // else
   for (int i=0; i < nfields; ++i) {
-    SubMeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
+    MeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
     writer.writeVertexField(t, field, *_submesh);
     CPPUNIT_ASSERT(writer._wroteVertexHeader);
     CPPUNIT_ASSERT(false == writer._wroteCellHeader);

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -43,7 +43,7 @@
 const char* pylith::meshio::DataWriterHDF5DataSubMeshHex8::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterHDF5DataSubMeshHex8::_numVertices = 6;
+const int pylith::meshio::DataWriterHDF5DataSubMeshHex8::_numVertices = 12;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexFields[4] = {
@@ -53,16 +53,15 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexFieldScalar[12*1] = {
-  //2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.8, 12.7, 13.6
-  8.7, 9.8, 10.9, 11.8, 12.7, 13.6
+  2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.8, 12.7, 13.6
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexFieldVector[12*3] = {
-  //1.1, 2.2, 3.3,
-  //4.4, 5.5, 6.6,
-  //7.7, 8.8, 9.9,
-  //10.1, 11.2, 12.3,
-  //1.2, 2.3, 3.4,
-  //4.5, 5.6, 6.7,
+  1.1, 2.2, 3.3,
+  4.4, 5.5, 6.6,
+  7.7, 8.8, 9.9,
+  10.1, 11.2, 12.3,
+  1.2, 2.3, 3.4,
+  4.5, 5.6, 6.7,
   7.8, 8.9, 9.0,
   10.2, 11.3, 12.4,
   1.3, 2.4, 3.5,
@@ -71,12 +70,12 @@
   10.3, 11.4, 12.5,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexFieldTensor[12*6] = {
-  //1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
-  //2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
-  //3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
-  //4.1, 4.2, 4.3, 4.4, 4.5, 4.6,
-  //5.1, 5.2, 5.3, 5.4, 5.5, 5.6,
-  //6.1, 6.2, 6.3, 6.4, 6.5, 6.6,
+  1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
+  2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
+  3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
+  4.1, 4.2, 4.3, 4.4, 4.5, 4.6,
+  5.1, 5.2, 5.3, 5.4, 5.5, 5.6,
+  6.1, 6.2, 6.3, 6.4, 6.5, 6.6,
   7.1, 7.2, 7.3, 7.4, 7.5, 7.6,
   8.1, 8.2, 8.3, 8.4, 8.5, 8.6,
   9.1, 9.2, 9.3, 9.4, 9.5, 9.6,
@@ -85,12 +84,12 @@
   12.1, 12.2, 12.3, 12.4, 12.5, 12.6,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshHex8::_vertexFieldOther[12*2] = {
-  //1.2, 2.3,
-  //3.4, 4.5,
-  //5.6, 6.7,
-  //7.8, 8.9,
-  //1.3, 2.4,
-  //3.5, 4.6,
+  1.2, 2.3,
+  3.4, 4.5,
+  5.6, 6.7,
+  7.8, 8.9,
+  1.3, 2.4,
+  3.5, 4.6,
   5.7, 6.8,
   7.9, 8.0,
   8.1, 8.2,

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -44,7 +44,7 @@
 const char* pylith::meshio::DataWriterHDF5DataSubMeshLine2::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterHDF5DataSubMeshLine2::_numVertices = 1;
+const int pylith::meshio::DataWriterHDF5DataSubMeshLine2::_numVertices = 5;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterHDF5DataSubMeshLine2::_vertexFields[4] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -40,7 +40,7 @@
 const char* pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_numVertices = 3;
+const int pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_numVertices = 6;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexFields[4] = {
@@ -50,32 +50,31 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexFieldScalar[6*1] = {
-  //2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
-  2.1, 3.2, 6.5,
+  2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexFieldVector[6*2] = {
   1.1, 2.2,
   3.3, 4.4,
-  //5.5, 6.6,
-  //7.7, 8.8,
+  5.5, 6.6,
+  7.7, 8.8,
   9.9, 10.0,
-  //11.1, 12.2,
+  11.1, 12.2,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexFieldTensor[6*3] = {
   1.1, 1.2, 1.3,
   2.1, 2.2, 2.3,
-  //3.1, 3.2, 3.3,
-  //4.1, 4.2, 4.3,
+  3.1, 3.2, 3.3,
+  4.1, 4.2, 4.3,
   5.1, 5.2, 5.3,
-  //6.1, 6.2, 6.3,
+  6.1, 6.2, 6.3,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_vertexFieldOther[6*3] = {
   1.2, 2.3,
   3.4, 4.5,
-  //5.6, 6.7,
-  //7.8, 8.9,
+  5.6, 6.7,
+  7.8, 8.9,
   9.1, 10.2,
-  //11.3, 12.4,
+  11.3, 12.4,
 };
 
 const int pylith::meshio::DataWriterHDF5DataSubMeshQuad4::_numCells = 2;

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -43,7 +43,7 @@
 const char* pylith::meshio::DataWriterHDF5DataSubMeshTet4::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterHDF5DataSubMeshTet4::_numVertices = 4;
+const int pylith::meshio::DataWriterHDF5DataSubMeshTet4::_numVertices = 5;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexFields[4] = {
@@ -53,27 +53,26 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexFieldScalar[5*1] = {
-  //2.1, 3.2, 4.3, 5.4, 6.5,
-  2.1, 3.2, 5.4, 6.5,
+  2.1, 3.2, 4.3, 5.4, 6.5,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexFieldVector[5*3] = {
   1.1, 2.2, 3.3,
   4.4, 5.5, 6.6,
-  //7.7, 8.8, 9.9,
+  7.7, 8.8, 9.9,
   10.0, 11.1, 12.2,
   13.3, 14.4, 15.5,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexFieldTensor[5*6] = {
   1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
   2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
-  //3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
+  3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
   4.1, 4.2, 4.3, 4.4, 4.5, 4.6,
   5.1, 5.2, 5.3, 5.4, 5.5, 5.6,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTet4::_vertexFieldOther[5*2] = {
   1.2, 2.3,
   3.4, 4.5,
-  //5.6, 6.7,
+  5.6, 6.7,
   7.8, 8.9,
   9.0, 10.1,
 };

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -44,7 +44,7 @@
 const char* pylith::meshio::DataWriterHDF5DataSubMeshTri3::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterHDF5DataSubMeshTri3::_numVertices = 2;
+const int pylith::meshio::DataWriterHDF5DataSubMeshTri3::_numVertices = 8;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexFields[] = {
@@ -54,38 +54,37 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexFieldScalar[8*1] = {
-  // 2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
-  3.2, 5.4,
+  2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexFieldVector[8*2] = {
-  //1.1, 2.2,
+  1.1, 2.2,
   3.3, 4.4,
-  //5.5, 6.6,
+  5.5, 6.6,
   7.7, 8.8,
-  //9.9, 10.0,
-  //11.1, 12.2,
-  //13.3, 14.4,
-  //15.5, 16.6,
+  9.9, 10.0,
+  11.1, 12.2,
+  13.3, 14.4,
+  15.5, 16.6,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexFieldTensor[8*3] = {
-  //1.1, 1.2, 1.3,
+  1.1, 1.2, 1.3,
   2.1, 2.2, 2.3,
-  //3.1, 3.2, 3.3,
+  3.1, 3.2, 3.3,
   4.1, 4.2, 4.3,
-  //5.1, 5.2, 5.3,
-  //6.1, 6.2, 6.3,
-  //7.1, 7.2, 7.3,
-  //8.1, 8.2, 8.3,
+  5.1, 5.2, 5.3,
+  6.1, 6.2, 6.3,
+  7.1, 7.2, 7.3,
+  8.1, 8.2, 8.3,
 };
 const PylithScalar pylith::meshio::DataWriterHDF5DataSubMeshTri3::_vertexFieldOther[8*2] = {
-  //1.2, 2.3,
+  1.2, 2.3,
   3.4, 4.5,
-  //5.6, 6.7,
+  5.6, 6.7,
   7.8, 8.9,
-  //9.0, 10.1,
-  //11.2, 12.3,
-  //13.4, 14.5,
-  //15.6, 16.7,
+  9.0, 10.1,
+  11.2, 12.3,
+  13.4, 14.5,
+  15.6, 16.7,
 };
 
 const int pylith::meshio::DataWriterHDF5DataSubMeshTri3::_numCells = 1;

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -43,7 +43,7 @@
 const char* pylith::meshio::DataWriterVTKDataSubMeshHex8::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterVTKDataSubMeshHex8::_numVertices = 6;
+const int pylith::meshio::DataWriterVTKDataSubMeshHex8::_numVertices = 12;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexFields[4] = {
@@ -53,13 +53,15 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexFieldScalar[12*1] = {
-#if 0
   2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8, 10.9, 11.8, 12.7, 13.6
-#else
-  8.7, 9.8, 10.9, 11.8, 12.7, 13.6
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexFieldVector[12*3] = {
+  1.1, 2.2, 3.3,
+  4.4, 5.5, 6.6,
+  7.7, 8.8, 9.9,
+  10.1, 11.2, 12.3,
+  1.2, 2.3, 3.4,
+  4.5, 5.6, 6.7,
   7.8, 8.9, 9.0,
   10.2, 11.3, 12.4,
   1.3, 2.4, 3.5,
@@ -68,7 +70,6 @@
   10.3, 11.4, 12.5,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexFieldTensor[12*6] = {
-#if 0
   1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
   2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
   3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
@@ -81,16 +82,14 @@
   10.1, 10.2, 10.3, 10.4, 10.5, 10.6,
   11.1, 11.2, 11.3, 11.4, 11.5, 11.6,
   12.1, 12.2, 12.3, 12.4, 12.5, 12.6,
-#else
-  7.1, 7.2, 7.3, 7.4, 7.5, 7.6,
-  8.1, 8.2, 8.3, 8.4, 8.5, 8.6,
-  9.1, 9.2, 9.3, 9.4, 9.5, 9.6,
-  10.1, 10.2, 10.3, 10.4, 10.5, 10.6,
-  11.1, 11.2, 11.3, 11.4, 11.5, 11.6,
-  12.1, 12.2, 12.3, 12.4, 12.5, 12.6,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshHex8::_vertexFieldOther[12*2] = {
+  1.2, 2.3,
+  3.4, 4.5,
+  5.6, 6.7,
+  7.8, 8.9,
+  1.3, 2.4,
+  3.5, 4.6,
   5.7, 6.8,
   7.9, 8.0,
   8.1, 8.2,

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -44,7 +44,7 @@
 const char* pylith::meshio::DataWriterVTKDataSubMeshLine2::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterVTKDataSubMeshLine2::_numVertices = 1;
+const int pylith::meshio::DataWriterVTKDataSubMeshLine2::_numVertices = 5;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexFields[4] = {
@@ -57,13 +57,17 @@
   1.1,  3.3,  5.5,  7.7,  9.9,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexFieldVector[5*1] = {
-  2.1
+  2.1, 3.2, 4.3, 5.4, 6.5,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexFieldTensor[5*1] = {
   3.1, 4.2, 5.3, 6.4, 7.5,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshLine2::_vertexFieldOther[5*2] = {
   1.2, 2.3,
+  3.4, 4.5,
+  5.6, 6.7,
+  7.8, 8.9,
+  9.0, 10.1,
 };
 
 const int pylith::meshio::DataWriterVTKDataSubMeshLine2::_numCells = 1;

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -40,7 +40,7 @@
 const char* pylith::meshio::DataWriterVTKDataSubMeshQuad4::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterVTKDataSubMeshQuad4::_numVertices = 3;
+const int pylith::meshio::DataWriterVTKDataSubMeshQuad4::_numVertices = 6;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexFields[4] = {
@@ -50,35 +50,31 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexFieldScalar[6*1] = {
-#if 0
   2.1, 3.2, 4.3, 5.4, 6.5, 7.6,
-#else
-  2.1, 4.3, 6.5,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexFieldVector[6*2] = {
   1.1, 2.2,
+  3.3, 4.4,
   5.5, 6.6,
+  7.7, 8.8,
   9.9, 10.0,
+  11.1, 12.2,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexFieldTensor[6*3] = {
-#if 0
   1.1, 1.2, 1.3,
   2.1, 2.2, 2.3,
   3.1, 3.2, 3.3,
   4.1, 4.2, 4.3,
   5.1, 5.2, 5.3,
   6.1, 6.2, 6.3,
-#else
-  1.1, 1.2, 1.3,
-  3.1, 3.2, 3.3,
-  5.1, 5.2, 5.3,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshQuad4::_vertexFieldOther[6*3] = {
   1.2, 2.3,
+  3.4, 4.5,
   5.6, 6.7,
+  7.8, 8.9,
   9.1, 10.2,
+  11.3, 12.4,
 };
 
 const int pylith::meshio::DataWriterVTKDataSubMeshQuad4::_numCells = 2;

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -43,7 +43,7 @@
 const char* pylith::meshio::DataWriterVTKDataSubMeshTet4::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterVTKDataSubMeshTet4::_numVertices = 4;
+const int pylith::meshio::DataWriterVTKDataSubMeshTet4::_numVertices = 5;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexFields[4] = {
@@ -53,35 +53,26 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexFieldScalar[5*1] = {
-#if 0
   2.1, 3.2, 4.3, 5.4, 6.5,
-#else
-  2.1, 3.2, 5.4, 6.5,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexFieldVector[5*3] = {
   1.1, 2.2, 3.3,
   4.4, 5.5, 6.6,
+  7.7, 8.8, 9.9,
   10.0, 11.1, 12.2,
   13.3, 14.4, 15.5,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexFieldTensor[5*6] = {
-#if 0
   1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
   2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
   3.1, 3.2, 3.3, 3.4, 3.5, 3.6,
   4.1, 4.2, 4.3, 4.4, 4.5, 4.6,
   5.1, 5.2, 5.3, 5.4, 5.5, 5.6,
-#else
-  1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
-  2.1, 2.2, 2.3, 2.4, 2.5, 2.6,
-  4.1, 4.2, 4.3, 4.4, 4.5, 4.6,
-  5.1, 5.2, 5.3, 5.4, 5.5, 5.6,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTet4::_vertexFieldOther[5*2] = {
   1.2, 2.3,
   3.4, 4.5,
+  5.6, 6.7,
   7.8, 8.9,
   9.0, 10.1,
 };

Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc	2013-01-15 15:24:17 UTC (rev 21231)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc	2013-01-16 00:38:23 UTC (rev 21232)
@@ -44,7 +44,7 @@
 const char* pylith::meshio::DataWriterVTKDataSubMeshTri3::_timeFormat = 
   "%3.1f";
 
-const int pylith::meshio::DataWriterVTKDataSubMeshTri3::_numVertices = 2;
+const int pylith::meshio::DataWriterVTKDataSubMeshTri3::_numVertices = 8;
 
 const pylith::meshio::DataWriterData::FieldStruct
 pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexFields[] = {
@@ -54,18 +54,19 @@
   { "other", topology::FieldBase::OTHER, 2 },
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexFieldScalar[8*1] = {
-#if 0
   2.1, 3.2, 4.3, 5.4, 6.5, 7.6, 8.7, 9.8,
-#else
-  3.2, 5.4,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexFieldVector[8*2] = {
+  1.1, 2.2,
   3.3, 4.4,
+  5.5, 6.6,
   7.7, 8.8,
+  9.9, 10.0,
+  11.1, 12.2,
+  13.3, 14.4,
+  15.5, 16.6,
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexFieldTensor[8*3] = {
-#if 0
   1.1, 1.2, 1.3,
   2.1, 2.2, 2.3,
   3.1, 3.2, 3.3,
@@ -74,14 +75,16 @@
   6.1, 6.2, 6.3,
   7.1, 7.2, 7.3,
   8.1, 8.2, 8.3,
-#else
-  2.1, 2.2, 2.3,
-  4.1, 4.2, 4.3,
-#endif
 };
 const PylithScalar pylith::meshio::DataWriterVTKDataSubMeshTri3::_vertexFieldOther[8*2] = {
+  1.2, 2.3,
   3.4, 4.5,
+  5.6, 6.7,
   7.8, 8.9,
+  9.0, 10.1,
+  11.2, 12.3,
+  13.4, 14.5,
+  15.6, 16.7,
 };
 
 const int pylith::meshio::DataWriterVTKDataSubMeshTri3::_numCells = 1;



More information about the CIG-COMMITS mailing list