[cig-commits] r17245 - in short/3D/PyLith/trunk: . libsrc/meshio unittests/libtests/meshio
brad at geodynamics.org
brad at geodynamics.org
Fri Oct 8 16:01:05 PDT 2010
Author: brad
Date: 2010-10-08 16:01:05 -0700 (Fri, 08 Oct 2010)
New Revision: 17245
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.cc
short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.hh
Log:
A little work on DataWriterHDF5.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/TODO 2010-10-08 23:01:05 UTC (rev 17245)
@@ -2,18 +2,16 @@
CURRENT ISSUES/PRIORITIES
======================================================================
-* Unform global refinement for tets with faults
- tri3, level 2
- hex8, level 2
+* Unform global refinement
+ tri3 and tet4, level 2 work in serial, sometimes crash in parallel
+
quad4, level 2
+ hex8, level 2
tet4, level 4
tri3, level 4
hex8, level 4
quad4, level 4
- C++ unit tests
-
-
Python unit tests
Can't test result (no cohesive cells in MeshIOAscii).
Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.cc 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.cc 2010-10-08 23:01:05 UTC (rev 17245)
@@ -75,7 +75,7 @@
try {
PetscErrorCode err = 0;
- const std::string& filename = _hdf5Filename(t);
+ const std::string& filename = _hdf5Filename();
err = PetscViewerCreate(mesh.comm(), &_viewer);
CHECK_PETSC_ERROR(err);
@@ -217,13 +217,16 @@
// Generate filename for HDF5 file.
template<typename mesh_type, typename field_type>
std::string
-pylith::meshio::DataWriterHDF5<mesh_type,field_type>::_hdf5Filename(const double t) const
+pylith::meshio::DataWriterHDF5<mesh_type,field_type>::_hdf5Filename(void) const
{ // _hdf5Filename
std::ostringstream filename;
const int indexExt = _filename.find(".h5");
const int numTimeSteps = DataWriter<mesh_type, field_type>::_numTimeSteps;
- if (0 == numTimeSteps)
+ if (0 == numTimeSteps) {
filename << std::string(_filename, 0, indexExt) << "_info.h5";
+ } else {
+ filename << _filename;
+ } // if/else
return std::string(filename.str());
} // _hdf5Filename
Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.hh 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriterHDF5.hh 2010-10-08 23:01:05 UTC (rev 17245)
@@ -126,11 +126,8 @@
*/
DataWriterHDF5(const DataWriterHDF5& w);
- /** Generate filename for HDF5 file.
- *
- * @param t Time in seconds.
- */
- std::string _hdf5Filename(const double t) const;
+ /// Generate filename for HDF5 file.
+ std::string _hdf5Filename(void) const;
// NOT IMPLEMENTED //////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am 2010-10-08 23:01:05 UTC (rev 17245)
@@ -60,6 +60,7 @@
TestDataWriterVTKSubMeshTet4.cc \
TestDataWriterVTKSubMeshHex8.cc \
TestDataWriterHDF5.cc \
+ TestDataWriterHDF5Mesh.cc \
TestOutputManager.cc \
TestOutputSolnSubset.cc \
TestDataWriterVTKFaultMesh.cc \
@@ -105,6 +106,7 @@
TestDataWriterVTKBCMeshTet4.hh \
TestDataWriterVTKBCMeshHex8.hh \
TestDataWriterHDF5.hh \
+ TestDataWriterHDF5Mesh.hh \
TestMeshIO.hh \
TestMeshIOAscii.hh \
TestMeshIOLagrit.hh \
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc 2010-10-08 23:01:05 UTC (rev 17245)
@@ -59,8 +59,6 @@
DataWriterHDF5<topology::Mesh, MeshField> writer;
CPPUNIT_ASSERT(0 == writer._viewer);
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
} // testConstructor
// ----------------------------------------------------------------------
@@ -86,11 +84,7 @@
DataWriterHDF5<topology::Mesh, MeshField> writer;
writer.filename(_data->timestepFilename);
- writer.timeFormat(_data->timeFormat);
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
-
const double t = _data->time;
const int numTimeSteps = 1;
if (0 == _data->cellsLabel) {
@@ -103,16 +97,10 @@
writer.openTimeStep(t, *_mesh, label, id);
} // else
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
-
writer.closeTimeStep();
writer.close();
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
-
- checkFile(_data->timestepFilename, t, _data->timeFormat);
+ checkFile(_data->timestepFilename);
} // testTimeStep
// ----------------------------------------------------------------------
@@ -129,7 +117,6 @@
_createVertexFields(&vertexFields);
writer.filename(_data->vertexFilename);
- writer.timeFormat(_data->timeFormat);
const int nfields = _data->numVertexFields;
@@ -147,15 +134,11 @@
for (int i=0; i < nfields; ++i) {
MeshField& field = vertexFields.get(_data->vertexFieldsInfo[i].name);
writer.writeVertexField(t, field, *_mesh);
- CPPUNIT_ASSERT(writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
} // for
writer.closeTimeStep();
writer.close();
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- checkFile(_data->vertexFilename, t, _data->timeFormat);
+ checkFile(_data->vertexFilename);
} // testWriteVertexField
// ----------------------------------------------------------------------
@@ -172,7 +155,6 @@
_createCellFields(&cellFields);
writer.filename(_data->cellFilename);
- writer.timeFormat(_data->timeFormat);
const int nfields = _data->numCellFields;
@@ -184,8 +166,6 @@
for (int i=0; i < nfields; ++i) {
MeshField& field = cellFields.get(_data->cellFieldsInfo[i].name);
writer.writeCellField(t, field);
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(writer._wroteCellHeader);
} // for
} else {
const char* label = _data->cellsLabel;
@@ -195,16 +175,12 @@
for (int i=0; i < nfields; ++i) {
MeshField& field = cellFields.get(_data->cellFieldsInfo[i].name);
writer.writeCellField(t, field, label, id);
- CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
- CPPUNIT_ASSERT(writer._wroteCellHeader);
} // for
} // else
writer.closeTimeStep();
writer.close();
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- CPPUNIT_ASSERT(false == writer._wroteCellHeader);
- checkFile(_data->cellFilename, t, _data->timeFormat);
+ checkFile(_data->cellFilename);
} // testWriteCellField
// ----------------------------------------------------------------------
@@ -216,22 +192,17 @@
// Append info to filename if number of time steps is 0.
writer._numTimeSteps = 0;
writer._filename = "output.h5";
- CPPUNIT_ASSERT_EQUAL(std::string("output_info.h5"), writer._hdf5Filename(0.0));
+ CPPUNIT_ASSERT_EQUAL(std::string("output_info.h5"), writer._hdf5Filename());
- // Use default normalization of 1.0, remove period from time stamp.
- writer._numTimeSteps = 100;
- writer._filename = "output.h5";
- writer.timeFormat("%05.2f");
- CPPUNIT_ASSERT_EQUAL(std::string("output_t0230.h5"),
- writer._hdf5Filename(2.3));
+ writer._numTimeSteps = 5;
+ writer._filename = "output_abc.h5";
+ CPPUNIT_ASSERT_EQUAL(std::string("output_abc.h5"),
+ writer._hdf5Filename());
- // Use normalization of 20.0, remove period from time stamp.
- writer._numTimeSteps = 100;
- writer._filename = "output.h5";
- writer.timeFormat("%05.2f");
- writer.timeConstant(20.0);
- CPPUNIT_ASSERT_EQUAL(std::string("output_t0250.h5"),
- writer._hdf5Filename(50.0));
+ writer._numTimeSteps = 10;
+ writer._filename = "output_abcd.h5";
+ CPPUNIT_ASSERT_EQUAL(std::string("output_abcd.h5"),
+ writer._hdf5Filename());
} // testHdf5Filename
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.hh 2010-10-08 17:25:52 UTC (rev 17244)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterHDF5Mesh.hh 2010-10-08 23:01:05 UTC (rev 17245)
@@ -28,9 +28,8 @@
#define pylith_meshio_testdatawriterhdf5mesh_hh
#include "TestDataWriterHDF5.hh" // ISA TestDataWriterHDF5
+#include "TestDataWriterMesh.hh" // ISA TestDataWriterMesh
-#include "pylith/topology/topologyfwd.hh" // USES Mesh, Field
-
#include <cppunit/extensions/HelperMacros.h>
/// Namespace for pylith package
More information about the CIG-COMMITS
mailing list