[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