[cig-commits] r9094 - in short/3D/PyLith/trunk: libsrc/meshio pylith/meshio
brad at geodynamics.org
brad at geodynamics.org
Fri Jan 18 17:17:13 PST 2008
Author: brad
Date: 2008-01-18 17:17:13 -0800 (Fri, 18 Jan 2008)
New Revision: 9094
Modified:
short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh
short/3D/PyLith/trunk/pylith/meshio/OutputManager.py.NEW
Log:
A little more work on output.
Modified: short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh 2008-01-19 01:17:00 UTC (rev 9093)
+++ short/3D/PyLith/trunk/libsrc/meshio/DataWriter.hh 2008-01-19 01:17:13 UTC (rev 9094)
@@ -36,6 +36,17 @@
class pylith::meshio::DataWriter
{ // DataWriter
+// PUBLIC ENUMS /////////////////////////////////////////////////////////
+public :
+
+ /// Enumeration of types of fields
+ enum FieldEnum {
+ SCALAR, ///< Scalar field
+ VECTOR, ///< Vector field
+ TENSOR, ///< Tensor field
+ OTHER ///< Other type of field
+ }; // FieldEnum
+
// PUBLIC METHODS ///////////////////////////////////////////////////////
public :
Modified: short/3D/PyLith/trunk/pylith/meshio/OutputManager.py.NEW
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputManager.py.NEW 2008-01-19 01:17:00 UTC (rev 9093)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputManager.py.NEW 2008-01-19 01:17:13 UTC (rev 9094)
@@ -68,12 +68,18 @@
validator=pyre.inventory.greaterEqual(0))
skip.meta['tip'] = "Number of time steps to skip between output."
- vertexFields = pyre.inventory.list("vertex_fields", default=[])
- vertexFields.meta['tip'] = "Fields of vertex data to output."
+ vertexInfoFields = pyre.inventory.list("vertex_info_fields", default=[])
+ vertexInfoFields.meta['tip'] = "Names of vertex info fields to output."
- cellFields = pyre.inventory.list("cell_fields", default=[])
- cellFields.meta['tip'] = "Fields of cell data to output."
+ vertexDataFields = pyre.inventory.list("vertex_data_fields", default=[])
+ vertexDataFields.meta['tip'] = "Names of vertex data fields to output."
+ cellInfoFields = pyre.inventory.list("cell_info_fields", default=[])
+ cellInfoFields.meta['tip'] = "Names of cell info fields to output."
+
+ cellDataFields = pyre.inventory.list("cell_data_fields", default=[])
+ cellDataFields.meta['tip'] = "Names of cell data fields to output."
+
from DataWriterVTK import DataWriterVTK
writer = pyre.inventory.facility("writer", factory=DataWriterVTK,
family="data_writer")
@@ -106,12 +112,9 @@
Component.__init__(self, name, facility="outputmanager")
self._loggingPrefix = "OutM "
self.cppHandle = None
- self.coordsys = None
self._stepCur = 0
self._stepWrite = None
self._tWrite = None
- self.vertexFields = None
- self.cellFields = None
self.dataProvider = None
return
@@ -121,8 +124,10 @@
"""
if None == self.dataProvide:
raise ValueError("Need to set 'dataProvider' in OutputManager.")
- self.dataProvider.verifyVertexFields(self.vertexFields)
- self.dataProvider.verifyCellFields(self.cellFields)
+ self.dataProvider.verifyVertexInfoFields(self.vertexInfoFields)
+ self.dataProvider.verifyVertexDataFields(self.vertexDataFields)
+ self.dataProvider.verifyCellInfoFields(self.cellInfoFields)
+ self.dataProvider.verifyCellDataFields(self.cellDataFields)
return
@@ -149,7 +154,7 @@
logEvent = "%sopen" % self._loggingPrefix
self._logger.eventBegin(logEvent)
- mesh = self.dataProvider.mesh
+ mesh = self.dataProvider.getDataMesh()
assert(None != self.cppHandle)
assert(None != mesh.cppHandle)
@@ -178,17 +183,21 @@
"""
Write information fields.
"""
+ from pyre.units.time import s
+ t = 0.0*s
+ # Do we want to set an info flag in open()?
self.open()
- mesh = self.dataProvider.mesh
- self.cppHandle.openTimeStep(mesh)
+ mesh = self.dataProvider.getDataMesh()
+ self.cppHandle.openTimeStep(t.value,
+ mesh.cppHandle, mesh.coordsys.cppHandle)
- for name in self.vertexFieldsInfo:
- field = self.dataProvider.getVertexField(name)
- self.cppHandle.appendVertexField(field)
+ for name in self.vertexInfoFields:
+ (field, fieldType) = self.dataProvider.getVertexField(name)
+ self.cppHandle.appendVertexField(t.value, name, field, fieldType, mesh)
- for name in self.cellFieldsInfo:
- field = self.dataProvider.getCellField(name)
- self.cppHandle.appendCellField(field)
+ for name in self.cellInfoFields:
+ (field, fieldType) = self.dataProvider.getCellField(name)
+ self.cppHandle.appendCellField(t.value, name, field, fieldType, mesh)
self.cppHandle.closeTimeStep()
self.close()
@@ -202,16 +211,17 @@
"""
if self._checkWrite(t):
- mesh = self.dataProvider.mesh
- self.cppHandle.openTimeStep(mesh)
+ mesh = self.dataProvider.getDataMesh()
+ self.cppHandle.openTimeStep(t.value,
+ mesh.cppHandle, mesh.coordsys.cppHandle)
- for name in self.vertexFieldsData:
- field = self.dataProvider.getVertexField(name)
- self.cppHandle.appendVertexField(field)
+ for name in self.vertexDataFields:
+ (field, fieldType) = self.dataProvider.getVertexField(name)
+ self.cppHandle.appendVertexField(t.value, name, field, fieldType, mesh)
- for name in self.cellFieldsData:
- field = self.dataProvider.getCellField(name)
- self.cppHandle.appendCellField(field)
+ for name in self.cellDataFields:
+ (field, fieldType) = self.dataProvider.getCellField(name)
+ self.cppHandle.appendCellField(t.value, name, field, fieldType, mesh)
self.cppHandle.closeTimeStep()
@@ -230,9 +240,10 @@
self.skip = self.inventory.skip
self.coordsys = self.inventory.coordsys
self.writer = self.inventory.writer
- self.vertexFieldsInfo = self.inventory.vertexFieldsInfo
- self.vertexFieldsData = self.inventory.vertexFieldsData
- self.cellFieldsInfo = self.inventory.cellFields
+ self.vertexInfoFields = self.inventory.vertexInfoFields
+ self.vertexDataFields = self.inventory.vertexDataFields
+ self.cellInfoFields = self.inventory.cellInfoFields
+ self.cellDataFields = self.inventory.cellDataFields
self.vertexFilter = self.inventory.vertexFilter
self.cellFilter = self.inventory.cellFilter
return
More information about the cig-commits
mailing list