[cig-commits] r20723 - in short/3D/PyLith/branches/v1.7-stable: doc/userguide/materials doc/userguide/runpylith libsrc/pylith/meshio unittests/libtests/meshio/data

brad at geodynamics.org brad at geodynamics.org
Mon Sep 17 16:21:52 PDT 2012


Author: brad
Date: 2012-09-17 16:21:52 -0700 (Mon, 17 Sep 2012)
New Revision: 20723

Modified:
   short/3D/PyLith/branches/v1.7-stable/doc/userguide/materials/materials.lyx
   short/3D/PyLith/branches/v1.7-stable/doc/userguide/runpylith/runpylith.lyx
   short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.cc
   short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.hh
   short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_cell.xmf
   short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_vertex.xmf
   short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_cell.xmf
   short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_vertex.xmf
Log:
Separate tensor components in Xdmf files.

Modified: short/3D/PyLith/branches/v1.7-stable/doc/userguide/materials/materials.lyx
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/doc/userguide/materials/materials.lyx	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/doc/userguide/materials/materials.lyx	2012-09-17 23:21:52 UTC (rev 20723)
@@ -1208,243 +1208,8 @@
 \end_inset
 
 
-\begin_inset Float table
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\align center
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "tab:material:output:components"
-
-\end_inset
-
-Order of components in tensor values in Xdmf files for 3D material models.
- All nine tensor components are available even though the tensor is symmetric
- with six independent components.
- The order does not match the conventional ordering of a tensor because
- we use the ordering given in Table 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "tab:material-model-statevars"
-
-\end_inset
-
-in the HDF5 file.
 \end_layout
 
-\end_inset
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="7" columns="2">
-<features tabularvalignment="middle">
-<column alignment="center" valignment="top" width="1.25in">
-<column alignment="center" valignment="top" width="2.25in">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Index
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Component
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{xx}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{xx}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-1, 3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{yy}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{yy}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-2, 6
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{zz}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{zz}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-4
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{xy}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{xy}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-5, 7
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{yz}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{yz}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-8
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\epsilon_{xz}$
-\end_inset
-
-, 
-\begin_inset Formula $\sigma_{xz}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
 \begin_layout Section
 Elastic Material Models
 \end_layout

Modified: short/3D/PyLith/branches/v1.7-stable/doc/userguide/runpylith/runpylith.lyx
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/doc/userguide/runpylith/runpylith.lyx	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/doc/userguide/runpylith/runpylith.lyx	2012-09-17 23:21:52 UTC (rev 20723)
@@ -5138,6 +5138,26 @@
 \end_layout
 
 \begin_layout Standard
+See Table 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "tab:material-model-statevars"
+
+\end_inset
+
+ in Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:material:parameters"
+
+\end_inset
+
+ for a table of component values for tensor output in HDF5 files.
+ To avoid confusion about the ordering of components for tensor data, we
+ separate the components in the Xdmf file.
+\end_layout
+
+\begin_layout Standard
 HDF5 files do not contain self-correcting features that allow a file to
  be read if part of a dataset is corrupted.
  This type of error can occur if a job terminates abnormally in the middle
@@ -5225,21 +5245,6 @@
 \end_inset
 
  directory.
- See Table 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "tab:material:output:components"
-
-\end_inset
-
- in Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:material:parameters"
-
-\end_inset
-
- for a table of component values for tensor output.
 \end_layout
 
 \begin_layout Subsubsection

Modified: short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.cc	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.cc	2012-09-17 23:21:52 UTC (rev 20723)
@@ -165,8 +165,13 @@
 	     std::string("Matrix") == fieldsMetadata[iField].vectorFieldType) ) {
 	  const int fiberDim = fieldsMetadata[iField].fiberDim;
 	  for (int component=0; component < fiberDim; ++component)
-	    _writeGridAttributeComponent(fieldsMetadata[iField],
-					 iTimeStep, component);
+	    _writeGridAttributeComponent(fieldsMetadata[iField], iTimeStep, component, spaceDim);
+	} else if (3 == spaceDim && 
+		   (std::string("Tensor6") == fieldsMetadata[iField].vectorFieldType  ||
+		    std::string("Matrix") == fieldsMetadata[iField].vectorFieldType) ) {
+	  const int fiberDim = fieldsMetadata[iField].fiberDim;
+	  for (int component=0; component < fiberDim; ++component)
+	    _writeGridAttributeComponent(fieldsMetadata[iField], iTimeStep, component, spaceDim);
 	} else {
 	  _writeGridAttribute(fieldsMetadata[iField],
 			      iTimeStep);
@@ -183,13 +188,18 @@
     const int iTimeStep = 0;
     for (int iField=0; iField < numFields; ++iField) {
       if (2 == spaceDim && 
-	    (std::string("Vector") == fieldsMetadata[iField].vectorFieldType ||
-	     std::string("Tensor6") == fieldsMetadata[iField].vectorFieldType  ||
-	     std::string("Matrix") == fieldsMetadata[iField].vectorFieldType) ) {
+	  (std::string("Vector") == fieldsMetadata[iField].vectorFieldType ||
+	   std::string("Tensor6") == fieldsMetadata[iField].vectorFieldType  ||
+	   std::string("Matrix") == fieldsMetadata[iField].vectorFieldType) ) {
 	const int fiberDim = fieldsMetadata[iField].fiberDim;
 	for (int component=0; component < fiberDim; ++component)
-	  _writeGridAttributeComponent(fieldsMetadata[iField],
-				       iTimeStep, component);
+	  _writeGridAttributeComponent(fieldsMetadata[iField], iTimeStep, component, spaceDim);
+      } else if (3 == spaceDim && 
+		 (std::string("Tensor6") == fieldsMetadata[iField].vectorFieldType  ||
+		  std::string("Matrix") == fieldsMetadata[iField].vectorFieldType) ) {
+	const int fiberDim = fieldsMetadata[iField].fiberDim;
+	for (int component=0; component < fiberDim; ++component)
+	  _writeGridAttributeComponent(fieldsMetadata[iField], iTimeStep, component, spaceDim);
       } else {
 	_writeGridAttribute(fieldsMetadata[iField],
 			    iTimeStep);
@@ -504,7 +514,8 @@
 void
 pylith::meshio::Xdmf::_writeGridAttributeComponent(const FieldMetadata& metadata,
 						   const int iTime,
-						   const int component)
+						   const int component,
+						   const int spaceDim)
 { // _writeGridAttribute
   assert(_file.is_open() && _file.good());
 
@@ -529,6 +540,9 @@
     case 1:
       componentName = std::string(metadata.name) + std::string("_y");
       break;
+    case 2:
+      componentName = std::string(metadata.name) + std::string("_z");
+      break;
     default:
       { // default
 	std::ostringstream msg;
@@ -539,24 +553,65 @@
       } // default
     } // switch
   } else if (std::string("Tensor6") == metadata.vectorFieldType) {
-    switch (component) {
-    case 0:
-      componentName = std::string(metadata.name) + std::string("_xx");
+    switch (spaceDim) {
+    case 2 :
+      switch (component) {
+      case 0:
+	componentName = std::string(metadata.name) + std::string("_xx");
+	break;
+      case 1:
+	componentName = std::string(metadata.name) + std::string("_yy");
+	break;
+      case 2:
+	componentName = std::string(metadata.name) + std::string("_xy");
+	break;
+      default:
+	{ // default
+	  std::ostringstream msg;
+	  msg << "Unknown component " << component << " while writing Xdmf file.";
+	  std::cerr << msg.str() << std::endl;
+	  assert(0);
+	  throw std::logic_error(msg.str());
+	} // default
+      } // switch
       break;
-    case 1:
-      componentName = std::string(metadata.name) + std::string("_yy");
-      break;
-    case 2:
-      componentName = std::string(metadata.name) + std::string("_xy");
-      break;
-    default:
-      { // default
+    case 3 :
+      switch (component) {
+      case 0:
+	componentName = std::string(metadata.name) + std::string("_xx");
+	break;
+      case 1:
+	componentName = std::string(metadata.name) + std::string("_yy");
+	break;
+      case 2:
+	componentName = std::string(metadata.name) + std::string("_zz");
+	break;
+      case 3:
+	componentName = std::string(metadata.name) + std::string("_xy");
+	break;
+      case 4:
+	componentName = std::string(metadata.name) + std::string("_yz");
+	break;
+      case 5:
+	componentName = std::string(metadata.name) + std::string("_xz");
+	break;
+      default: {
 	std::ostringstream msg;
 	msg << "Unknown component " << component << " while writing Xdmf file.";
 	std::cerr << msg.str() << std::endl;
 	assert(0);
 	throw std::logic_error(msg.str());
       } // default
+      } // switch
+      break;
+      
+    default: {
+	std::ostringstream msg;
+	msg << "Unknown spatial dimension " << spaceDim << " while writing Xdmf file.";
+	std::cerr << msg.str() << std::endl;
+	assert(0);
+	throw std::logic_error(msg.str());
+    } // default
     } // switch
   } else if (std::string("Matrix") == metadata.vectorFieldType) {
     std::ostringstream sname;

Modified: short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.hh
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.hh	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/meshio/Xdmf.hh	2012-09-17 23:21:52 UTC (rev 20723)
@@ -148,10 +148,12 @@
    * @param metadata Metadata for field.
    * @param iTime Index of time step.
    * @param component Index of component.
+   * @param spaceDim Spatial dimension.
    */
   void _writeGridAttributeComponent(const FieldMetadata& metadata,
 				    const int iTime,
-				    const int component);
+				    const int component,
+				    const int spaceDim);
 
 // PRIVATE MEMBERS ------------------------------------------------------
 private :

Modified: short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_cell.xmf
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_cell.xmf	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_cell.xmf	2012-09-17 23:21:52 UTC (rev 20723)
@@ -32,18 +32,18 @@
 	  </DataItem>
 	</Geometry>
 	<Attribute
-	   Name="other"
-	   Type="Matrix"
+	   Name="other_0"
+	   Type="Scalar"
 	   Center="Cell">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 2 2"
+		    Dimensions="1 2 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 2 2
+              1 2 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -54,6 +54,28 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="other_1"
+	   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/other
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
 	   Name="pressure"
 	   Type="Scalar"
 	   Center="Cell">
@@ -76,18 +98,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="stress"
-	   Type="Tensor6"
+	   Name="stress_xx"
+	   Type="Scalar"
 	   Center="Cell">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 2 6"
+		    Dimensions="1 2 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 2 6
+              1 2 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -98,6 +120,116 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="stress_yy"
+	   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 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_zz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 2
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xy"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 3
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_yz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 4
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 5
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
 	   Name="traction"
 	   Type="Vector"
 	   Center="Cell">

Modified: short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_vertex.xmf
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_vertex.xmf	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/hex8_vertex.xmf	2012-09-17 23:21:52 UTC (rev 20723)
@@ -54,18 +54,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="other"
-	   Type="Matrix"
+	   Name="other_0"
+	   Type="Scalar"
 	   Center="Node">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 16 2"
+		    Dimensions="1 16 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 16 2
+              1 16 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -76,6 +76,28 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="other_1"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 1
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 2"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/other
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
 	   Name="pressure"
 	   Type="Scalar"
 	   Center="Node">
@@ -98,18 +120,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="stress"
-	   Type="Tensor6"
+	   Name="stress_xx"
+	   Type="Scalar"
 	   Center="Node">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 16 6"
+		    Dimensions="1 16 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 16 6
+              1 16 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -119,6 +141,116 @@
 	    </DataItem>
 	  </DataItem>
 	</Attribute>
+	<Attribute
+	   Name="stress_yy"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 1
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_zz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 2
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xy"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 3
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_yz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 4
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 16 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 5
+              1 1 1
+              1 16 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 16 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
     </Grid>
   </Domain>
 </Xdmf>

Modified: short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_cell.xmf
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_cell.xmf	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_cell.xmf	2012-09-17 23:21:52 UTC (rev 20723)
@@ -32,18 +32,18 @@
 	  </DataItem>
 	</Geometry>
 	<Attribute
-	   Name="other"
-	   Type="Matrix"
+	   Name="other_0"
+	   Type="Scalar"
 	   Center="Cell">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 2 4"
+		    Dimensions="1 2 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 2 4
+              1 2 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -54,6 +54,72 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="other_1"
+	   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 4"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/other
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="other_2"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 2
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 4"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/other
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="other_3"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 3
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 4"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/other
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
 	   Name="pressure"
 	   Type="Scalar"
 	   Center="Cell">
@@ -76,18 +142,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="stress"
-	   Type="Tensor6"
+	   Name="stress_xx"
+	   Type="Scalar"
 	   Center="Cell">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 2 6"
+		    Dimensions="1 2 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 2 6
+              1 2 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -98,6 +164,116 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="stress_yy"
+	   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 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_zz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 2
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xy"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 3
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_yz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 4
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xz"
+	   Type="Scalar"
+	   Center="Cell">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 2 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 5
+              1 1 1
+              1 2 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 2 6"
+	       Format="HDF">
+	      &HeavyData;:/cell_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
 	   Name="traction"
 	   Type="Vector"
 	   Center="Cell">

Modified: short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_vertex.xmf
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_vertex.xmf	2012-09-17 21:52:11 UTC (rev 20722)
+++ short/3D/PyLith/branches/v1.7-stable/unittests/libtests/meshio/data/tet4_vertex.xmf	2012-09-17 23:21:52 UTC (rev 20723)
@@ -54,18 +54,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="other"
-	   Type="Matrix"
+	   Name="other_0"
+	   Type="Scalar"
 	   Center="Node">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 8 2"
+		    Dimensions="1 8 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 8 2
+              1 8 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -76,6 +76,28 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
+	   Name="other_1"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 1
+              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">
@@ -98,18 +120,18 @@
 	  </DataItem>
 	</Attribute>
 	<Attribute
-	   Name="stress"
-	   Type="Tensor6"
+	   Name="stress_xx"
+	   Type="Scalar"
 	   Center="Node">
           <DataItem ItemType="HyperSlab"
-		    Dimensions="1 8 6"
+		    Dimensions="1 8 1"
 		    Type="HyperSlab">
             <DataItem
 	       Dimensions="3 3"
 	       Format="XML">
               0 0 0
               1 1 1
-              1 8 6
+              1 8 1
 	    </DataItem>
 	    <DataItem
 	       DataType="Float" Precision="8"
@@ -119,6 +141,116 @@
 	    </DataItem>
 	  </DataItem>
 	</Attribute>
+	<Attribute
+	   Name="stress_yy"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 1
+              1 1 1
+              1 8 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 8 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_zz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 2
+              1 1 1
+              1 8 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 8 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xy"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 3
+              1 1 1
+              1 8 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 8 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_yz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 4
+              1 1 1
+              1 8 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 8 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
+	<Attribute
+	   Name="stress_xz"
+	   Type="Scalar"
+	   Center="Node">
+          <DataItem ItemType="HyperSlab"
+		    Dimensions="1 8 1"
+		    Type="HyperSlab">
+            <DataItem
+	       Dimensions="3 3"
+	       Format="XML">
+              0 0 5
+              1 1 1
+              1 8 1
+	    </DataItem>
+	    <DataItem
+	       DataType="Float" Precision="8"
+	       Dimensions="1 8 6"
+	       Format="HDF">
+	      &HeavyData;:/vertex_fields/stress
+	    </DataItem>
+	  </DataItem>
+	</Attribute>
     </Grid>
   </Domain>
 </Xdmf>



More information about the CIG-COMMITS mailing list