[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