[cig-commits] r18491 - in short/3D/PyLith/trunk: . libsrc/pylith/meshio unittests/libtests/meshio unittests/libtests/meshio/data
brad at geodynamics.org
brad at geodynamics.org
Mon May 30 13:31:50 PDT 2011
Author: brad
Date: 2011-05-30 13:31:49 -0700 (Mon, 30 May 2011)
New Revision: 18491
Added:
short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_cell.xmf
short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_vertex.xmf
short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_cell.xmf
short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_vertex.xmf
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am
Log:
Added Xdmf unit tests.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2011-05-30 19:09:25 UTC (rev 18490)
+++ short/3D/PyLith/trunk/TODO 2011-05-30 20:31:49 UTC (rev 18491)
@@ -37,12 +37,7 @@
Unit tests
HDF5::getDatasetDims()
HDF5::getGroupDatasets()
- Xdmf
- (2) Add creation of .xmf metadata file for ParaView/Visit.
- Add cell_dim attribute to cells
- Add cell_type attribute to cells
-
* Field split.
Add flag to material [default is false] for creating null vector
Modified: short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.hh 2011-05-30 19:09:25 UTC (rev 18490)
+++ short/3D/PyLith/trunk/libsrc/pylith/meshio/DataWriterHDF5.hh 2011-05-30 20:31:49 UTC (rev 18491)
@@ -74,7 +74,7 @@
/// Deallocate PETSc and local data structures.
void deallocate(void);
-
+
/** Set filename for HDF5 file.
*
* @param filename Name of HDF5 file.
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.cc 2011-05-30 19:09:25 UTC (rev 18490)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.cc 2011-05-30 20:31:49 UTC (rev 18491)
@@ -47,7 +47,7 @@
Xdmf metafile;
metafile.write(filenameXdmf, filenameHDF5);
- //_checkFile(filenameXdmf);
+ _checkFile(filenameXdmf);
} // testWrite2DVertex
// ----------------------------------------------------------------------
@@ -55,6 +55,13 @@
void
pylith::meshio::TestXdmf::testWrite2DCell(void)
{ // testWrite2DCell
+ const char* filenameHDF5 = "data/tri3_cell.h5";
+ const char* filenameXdmf = "tri3_cell.xmf";
+
+ Xdmf metafile;
+ metafile.write(filenameXdmf, filenameHDF5);
+
+ _checkFile(filenameXdmf);
} // testWrite2DCell
// ----------------------------------------------------------------------
@@ -62,6 +69,13 @@
void
pylith::meshio::TestXdmf::testWrite3DVertex(void)
{ // testWrite3DVertex
+ const char* filenameHDF5 = "data/tet4_vertex.h5";
+ const char* filenameXdmf = "tet4_vertex.xmf";
+
+ Xdmf metafile;
+ metafile.write(filenameXdmf, filenameHDF5);
+
+ _checkFile(filenameXdmf);
} // testWrite3DVertex
// ----------------------------------------------------------------------
@@ -69,6 +83,13 @@
void
pylith::meshio::TestXdmf::testWrite3DCell(void)
{ // testWrite3DCell
+ const char* filenameHDF5 = "data/tet4_cell.h5";
+ const char* filenameXdmf = "tet4_cell.xmf";
+
+ Xdmf metafile;
+ metafile.write(filenameXdmf, filenameHDF5);
+
+ _checkFile(filenameXdmf);
} // testWrite3DCell
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.hh 2011-05-30 19:09:25 UTC (rev 18490)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestXdmf.hh 2011-05-30 20:31:49 UTC (rev 18491)
@@ -45,11 +45,9 @@
CPPUNIT_TEST( testConstructor );
CPPUNIT_TEST( testWrite2DVertex );
-#if 0
CPPUNIT_TEST( testWrite2DCell );
CPPUNIT_TEST( testWrite3DVertex );
CPPUNIT_TEST( testWrite3DCell );
-#endif
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am 2011-05-30 19:09:25 UTC (rev 18490)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am 2011-05-30 20:31:49 UTC (rev 18491)
@@ -119,13 +119,17 @@
line2_vertex.h5 \
tri3.h5 \
tri3_cell.h5 \
+ tri3_cell.xmf \
tri3_vertex.h5 \
+ tri3_vertex.xmf \
quad4.h5 \
quad4_cell.h5 \
quad4_vertex.h5 \
tet4.h5 \
tet4_cell.h5 \
+ tet4_cell.xmf \
tet4_vertex.h5 \
+ tet4_vertex.xmf \
hex8.h5 \
hex8_cell.h5 \
hex8_vertex.h5 \
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_cell.xmf
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_cell.xmf (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_cell.xmf 2011-05-30 20:31:49 UTC (rev 18491)
@@ -0,0 +1,102 @@
+<?xml version="1.0" ?>
+<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" [
+<!ENTITY HeavyData "tet4_cell.h5">
+]>
+
+<Xdmf>
+ <Domain Name="domain">
+ <DataItem Name="cells"
+ ItemType="Uniform"
+ Format="HDF"
+ NumberType="Float" Precision="8"
+ Dimensions="2 4">
+ &HeavyData;:/topology/cells
+ </DataItem>
+ <DataItem Name="vertices"
+ Format="HDF"
+ Dimensions="8 3">
+ &HeavyData;:/geometry/vertices
+ </DataItem>
+ <!-- ============================================================ -->
+ <Grid Name="domain" GridType="Uniform">
+ <Topology
+ TopologyType="Triangle"
+ NumberOfElements="2">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="cells"]
+ </DataItem>
+ </Topology>
+ <Geometry GeometryType="XYZ">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="vertices"]
+ </DataItem>
+ </Geometry>
+ <Attribute
+ Name="other"
+ Type="Tensor"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 6"
+ Format="HDF">
+ &HeavyData;:/cell_fields/other
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="pressure"
+ Type="Scalar"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 1"
+ Format="HDF">
+ &HeavyData;:/cell_fields/pressure
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="traction"
+ Type="Vector"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 3"
+ Format="HDF">
+ &HeavyData;:/cell_fields/traction
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ </Grid>
+ </Domain>
+</Xdmf>
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_vertex.xmf
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_vertex.xmf (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/tet4_vertex.xmf 2011-05-30 20:31:49 UTC (rev 18491)
@@ -0,0 +1,102 @@
+<?xml version="1.0" ?>
+<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" [
+<!ENTITY HeavyData "tet4_vertex.h5">
+]>
+
+<Xdmf>
+ <Domain Name="domain">
+ <DataItem Name="cells"
+ ItemType="Uniform"
+ Format="HDF"
+ NumberType="Float" Precision="8"
+ Dimensions="2 4">
+ &HeavyData;:/topology/cells
+ </DataItem>
+ <DataItem Name="vertices"
+ Format="HDF"
+ Dimensions="8 3">
+ &HeavyData;:/geometry/vertices
+ </DataItem>
+ <!-- ============================================================ -->
+ <Grid Name="domain" GridType="Uniform">
+ <Topology
+ TopologyType="Triangle"
+ NumberOfElements="2">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="cells"]
+ </DataItem>
+ </Topology>
+ <Geometry GeometryType="XYZ">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="vertices"]
+ </DataItem>
+ </Geometry>
+ <Attribute
+ Name="displacements"
+ Type="Vector"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 8 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 8 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 8 3"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/displacements
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="other"
+ Type="Matrix"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 8 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 8 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 8 2"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/other
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="pressure"
+ Type="Scalar"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 8 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 8 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 8 1"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/pressure
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ </Grid>
+ </Domain>
+</Xdmf>
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_cell.xmf
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_cell.xmf (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_cell.xmf 2011-05-30 20:31:49 UTC (rev 18491)
@@ -0,0 +1,124 @@
+<?xml version="1.0" ?>
+<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" [
+<!ENTITY HeavyData "tri3_cell.h5">
+]>
+
+<Xdmf>
+ <Domain Name="domain">
+ <DataItem Name="cells"
+ ItemType="Uniform"
+ Format="HDF"
+ NumberType="Float" Precision="8"
+ Dimensions="2 3">
+ &HeavyData;:/topology/cells
+ </DataItem>
+ <DataItem Name="vertices"
+ Format="HDF"
+ Dimensions="6 2">
+ &HeavyData;:/geometry/vertices
+ </DataItem>
+ <!-- ============================================================ -->
+ <Grid Name="domain" GridType="Uniform">
+ <Topology
+ TopologyType="Triangle"
+ NumberOfElements="2">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="cells"]
+ </DataItem>
+ </Topology>
+ <Geometry GeometryType="XY">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="vertices"]
+ </DataItem>
+ </Geometry>
+ <Attribute
+ Name="other"
+ Type="Tensor"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 3"
+ Format="HDF">
+ &HeavyData;:/cell_fields/other
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="pressure"
+ Type="Scalar"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 1"
+ Format="HDF">
+ &HeavyData;:/cell_fields/pressure
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="x_traction"
+ Type="Scalar"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 2"
+ Format="HDF">
+ &HeavyData;:/cell_fields/traction
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="y_traction"
+ Type="Scalar"
+ Center="Cell">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 2 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 1
+ 1 1 1
+ 1 2 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 2 2"
+ Format="HDF">
+ &HeavyData;:/cell_fields/traction
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ </Grid>
+ </Domain>
+</Xdmf>
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_vertex.xmf
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_vertex.xmf (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/tri3_vertex.xmf 2011-05-30 20:31:49 UTC (rev 18491)
@@ -0,0 +1,124 @@
+<?xml version="1.0" ?>
+<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" [
+<!ENTITY HeavyData "tri3_vertex.h5">
+]>
+
+<Xdmf>
+ <Domain Name="domain">
+ <DataItem Name="cells"
+ ItemType="Uniform"
+ Format="HDF"
+ NumberType="Float" Precision="8"
+ Dimensions="2 3">
+ &HeavyData;:/topology/cells
+ </DataItem>
+ <DataItem Name="vertices"
+ Format="HDF"
+ Dimensions="6 2">
+ &HeavyData;:/geometry/vertices
+ </DataItem>
+ <!-- ============================================================ -->
+ <Grid Name="domain" GridType="Uniform">
+ <Topology
+ TopologyType="Triangle"
+ NumberOfElements="2">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="cells"]
+ </DataItem>
+ </Topology>
+ <Geometry GeometryType="XY">
+ <DataItem Reference="XML">
+ /Xdmf/Domain/DataItem[@Name="vertices"]
+ </DataItem>
+ </Geometry>
+ <Attribute
+ Name="x_displacements"
+ Type="Scalar"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 6 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 6 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 6 2"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/displacements
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="y_displacements"
+ Type="Scalar"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 6 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 1
+ 1 1 1
+ 1 6 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 6 2"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/displacements
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="other"
+ Type="Matrix"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 6 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 6 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 6 2"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/other
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ <Attribute
+ Name="pressure"
+ Type="Scalar"
+ Center="Node">
+ <DataItem ItemType="HyperSlab"
+ Dimensions="1 6 1"
+ Type="HyperSlab">
+ <DataItem
+ Dimensions="3 3"
+ Format="XML">
+ 0 0 0
+ 1 1 1
+ 1 6 1
+ </DataItem>
+ <DataItem
+ DataType="Float" Precision="8"
+ Dimensions="1 6 1"
+ Format="HDF">
+ &HeavyData;:/vertex_fields/pressure
+ </DataItem>
+ </DataItem>
+ </Attribute>
+ </Grid>
+ </Domain>
+</Xdmf>
More information about the CIG-COMMITS
mailing list