[cig-commits] r11297 - in short/3D/PyLith/trunk/unittests/libtests/meshio: . data
brad at geodynamics.org
brad at geodynamics.org
Sat Mar 1 16:07:52 PST 2008
Author: brad
Date: 2008-03-01 16:07:51 -0800 (Sat, 01 Mar 2008)
New Revision: 11297
Added:
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_cell_t10.vtk
short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_t10.vtk
short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_vertex_t10.vtk
Modified:
short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKData.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am
Log:
Started work on C++ unit tests for output of boundary condition information.
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am 2008-03-01 21:59:37 UTC (rev 11296)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/Makefile.am 2008-03-02 00:07:51 UTC (rev 11297)
@@ -38,11 +38,16 @@
TestDataWriterVTKFaultMeshQuad4.cc \
TestDataWriterVTKFaultMeshTet4.cc \
TestDataWriterVTKFaultMeshHex8.cc \
+ TestDataWriterVTKBCMesh.cc \
+ TestDataWriterVTKBCMeshQuad4.cc \
TestMeshIO.cc \
TestMeshIOAscii.cc \
TestMeshIOLagrit.cc \
test_meshio.cc
+# Need to determine proper behavior for submesh w/cohesive cells()
+# TestDataWriterVTKBCMeshTri3.cc
+
noinst_HEADERS = \
TestDataWriterVTK.hh \
TestDataWriterVTKMesh.hh \
@@ -61,10 +66,15 @@
TestDataWriterVTKFaultMeshQuad4.hh \
TestDataWriterVTKFaultMeshTet4.hh \
TestDataWriterVTKFaultMeshHex8.hh \
+ TestDataWriterVTKBCMesh.hh \
+ TestDataWriterVTKBCMeshQuad4.hh \
TestMeshIO.hh \
TestMeshIOAscii.hh \
TestMeshIOLagrit.hh
+# Need to determine proper behavior for submesh w/cohesive cells()
+# TestDataWriterVTKBCMeshTri3.hh
+
# Source files associated with testing data
testmeshio_SOURCES += \
data/DataWriterVTKData.cc \
@@ -83,6 +93,8 @@
data/DataWriterVTKDataFaultMeshQuad4.cc \
data/DataWriterVTKDataFaultMeshTet4.cc \
data/DataWriterVTKDataFaultMeshHex8.cc \
+ data/DataWriterVTKDataBCMeshTri3.cc \
+ data/DataWriterVTKDataBCMeshQuad4.cc \
data/MeshData.cc \
data/MeshData1D.cc \
data/MeshData1Din3D.cc \
@@ -114,6 +126,8 @@
data/DataWriterVTKDataFaultMeshQuad4.hh \
data/DataWriterVTKDataFaultMeshTet4.hh \
data/DataWriterVTKDataFaultMeshHex8.hh \
+ data/DataWriterVTKDataBCMeshTri3.hh \
+ data/DataWriterVTKDataBCMeshQuad4.hh \
data/MeshData.hh \
data/MeshData1D.hh \
data/MeshData1Din2D.hh \
@@ -196,7 +210,10 @@
tet4_fault_cell_t10.vtk \
hex8_fault_t10.vtk \
hex8_fault_vertex_t10.vtk \
- hex8_fault_cell_t10.vtk
+ hex8_fault_cell_t10.vtk \
+ quad4_bc_t10.vtk \
+ quad4_bc_vertex_t10.vtk \
+ quad4_bc_cell_t10.vtk
CLEANFILES = $(noinst_tmp)
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDataWriterVTKBCMesh.hh" // Implementation of class methods
+
+#include "data/DataWriterVTKData.hh" // USES DataWriterVTKData
+#include "data/DataWriterVTKDataMesh.hh" // USES DataWriterVTKDataMesh
+
+#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
+#include "pylith/faults/FaultCohesiveKin.hh" // USES FaultCohesiveKin
+#include "pylith/faults/CohesiveTopology.hh" // USES CohesiveTopology
+
+#include <Selection.hh> // USES submesh algorithms
+
+#include <map> // USES std::map
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::meshio::TestDataWriterVTKBCMesh::setUp(void)
+{ // setUp
+ TestDataWriterVTK::setUp();
+ _dataMesh = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::meshio::TestDataWriterVTKBCMesh::tearDown(void)
+{ // tearDown
+ TestDataWriterVTK::tearDown();
+ delete _dataMesh; _dataMesh = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
+// Initialize mesh.
+void
+pylith::meshio::TestDataWriterVTKBCMesh::_initialize(void)
+{ // _initialize
+ CPPUNIT_ASSERT(0 != _dataMesh);
+
+ MeshIOAscii iohandler;
+ iohandler.filename(_dataMesh->meshFilename);
+ iohandler.read(&_meshDomain);
+ CPPUNIT_ASSERT(!_meshDomain.isNull());
+ _meshDomain->getFactory()->clear();
+
+ if (0 != _dataMesh->faultLabel) {
+ faults::FaultCohesiveKin fault;
+ fault.label(_dataMesh->faultLabel);
+ fault.id(_dataMesh->faultId);
+ fault.adjustTopology(_meshDomain);
+ } // if
+
+ const char* label = _dataMesh->bcLabel;
+ _mesh =
+ ALE::Selection<ALE::Mesh>::submesh(_meshDomain,
+ _meshDomain->getIntSection(label));
+ CPPUNIT_ASSERT(!_mesh.isNull());
+ _mesh->setRealSection("coordinates",
+ _meshDomain->getRealSection("coordinates"));
+ //_mesh->view("BC mesh");
+} // _initialize
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,65 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh
+ *
+ * @brief C++ TestDataWriterVTKBCMesh object
+ *
+ * C++ unit testing for DataWriterVTKBCMesh.
+ */
+
+#if !defined(pylith_meshio_testdatawritervtkbcmesh_hh)
+#define pylith_meshio_testdatawritervtkbcmesh_hh
+
+#include "TestDataWriterVTK.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace meshio {
+ class TestDataWriterVTKBCMesh;
+
+ class DataWriterVTKDataMesh;
+ } // meshio
+} // pylith
+
+/// C++ unit testing for DataWriterVTK
+class pylith::meshio::TestDataWriterVTKBCMesh : public TestDataWriterVTK
+{ // class TestDataWriterVTKBCMesh
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+ // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+ /// Initialize mesh.
+ void _initialize(void);
+
+ // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+ DataWriterVTKDataMesh* _dataMesh; ///< Data for testing.
+ ALE::Obj<Mesh> _meshDomain; ///< Mesh for domain.
+
+}; // class TestDataWriterVTKBCMesh
+
+#endif // pylith_meshio_testdatawritervtkbcmesh_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDataWriterVTKBCMeshQuad4.hh" // Implementation of class methods
+
+#include "data/DataWriterVTKDataBCMeshQuad4.hh" // USES DataWriterVTKDataMeshQuad4
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::meshio::TestDataWriterVTKBCMeshQuad4 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::meshio::TestDataWriterVTKBCMeshQuad4::setUp(void)
+{ // setUp
+ TestDataWriterVTKBCMesh::setUp();
+ _data = new DataWriterVTKDataBCMeshQuad4;
+ _dataMesh = new DataWriterVTKDataBCMeshQuad4;
+ _initialize();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/meshio/TestDataWriterVTKBCMeshQuad4.hh
+ *
+ * @brief C++ TestDataWriterVTKBCMeshQuad4 object
+ *
+ * C++ unit testing for DataWriterVTKBCMeshQuad4.
+ */
+
+#if !defined(pylith_meshio_testdatawritervtkbcmeshquad4_hh)
+#define pylith_meshio_testdatawritervtkbcmeshquad4_hh
+
+#include "TestDataWriterVTKBCMesh.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace meshio {
+ class TestDataWriterVTKBCMeshQuad4;
+ } // meshio
+} // pylith
+
+/// C++ unit testing for DataWriterVTK
+class pylith::meshio::TestDataWriterVTKBCMeshQuad4 : public TestDataWriterVTKBCMesh
+{ // class TestDataWriterVTKBCMeshQuad4
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestDataWriterVTKBCMeshQuad4 );
+
+ CPPUNIT_TEST( testTimeStep );
+ CPPUNIT_TEST( testWriteVertexField );
+ CPPUNIT_TEST( testWriteCellField );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDataWriterVTKBCMeshQuad4
+
+#endif // pylith_meshio_testdatawritervtkbcmeshquad4_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDataWriterVTKBCMeshTri3.hh" // Implementation of class methods
+
+#include "data/DataWriterVTKDataBCMeshTri3.hh" // USES DataWriterVTKDataBCMeshTri3
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::meshio::TestDataWriterVTKBCMeshTri3 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::meshio::TestDataWriterVTKBCMeshTri3::setUp(void)
+{ // setUp
+ TestDataWriterVTKBCMesh::setUp();
+ _data = new DataWriterVTKDataBCMeshTri3;
+ _dataMesh = new DataWriterVTKDataBCMeshTri3;
+ _initialize();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/meshio/TestDataWriterVTKBCMeshTri3.hh
+ *
+ * @brief C++ TestDataWriterVTKBCMeshTri3 object
+ *
+ * C++ unit testing for DataWriterVTKBCMeshTri3.
+ */
+
+#if !defined(pylith_meshio_testdatawritervtkbcmeshtri3_hh)
+#define pylith_meshio_testdatawritervtkbcmeshtri3_hh
+
+#include "TestDataWriterVTKBCMesh.hh"
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace meshio {
+ class TestDataWriterVTKBCMeshTri3;
+ } // meshio
+} // pylith
+
+/// C++ unit testing for DataWriterVTK
+class pylith::meshio::TestDataWriterVTKBCMeshTri3 : public TestDataWriterVTKBCMesh
+{ // class TestDataWriterVTKBCMeshTri3
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestDataWriterVTKBCMeshTri3 );
+
+ CPPUNIT_TEST( testTimeStep );
+ CPPUNIT_TEST( testWriteVertexField );
+ CPPUNIT_TEST( testWriteCellField );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDataWriterVTKBCMeshTri3
+
+#endif // pylith_meshio_testdatawritervtkbcmeshtri3_hh
+
+
+// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKData.hh 2008-03-01 21:59:37 UTC (rev 11296)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKData.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -53,7 +53,7 @@
double time; ///< Time for fields.
char* timeFormat; ///< Format for time stamp.
- char* cellsLabel; ///< Name of label for mesh cells (if using subset).
+ char* cellsLabel; ///< Name of label for mesh cells (if using subset or boundary).
int labelId; ///< Id for label associated with cells (if cellsLabel != 0)
/// @name Vertex field information.
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,116 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "DataWriterVTKDataBCMeshQuad4.hh"
+
+#include <assert.h> // USES assert()
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_meshFilename =
+ "data/quad4.mesh";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_bcLabel =
+ "bc3";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_timestepFilename =
+ "quad4_bc.vtk";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexFilename =
+ "quad4_bc_vertex.vtk";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellFilename =
+ "quad4_bc_cell.vtk";
+
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_time = 1.0;
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshQuad4::_timeFormat =
+ "%3.1f";
+
+const int pylith::meshio::DataWriterVTKDataBCMeshQuad4::_numVertexFields = 3;
+const int pylith::meshio::DataWriterVTKDataBCMeshQuad4::_numVertices = 4;
+
+const pylith::meshio::DataWriterVTKData::FieldStruct
+pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexFields[] = {
+ { "displacements", VECTOR_FIELD, 2 },
+ { "pressure", SCALAR_FIELD, 1 },
+ { "other", OTHER_FIELD, 2 },
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField0[] = {
+ 1.1, 2.2,
+ 3.3, 4.4,
+ 5.5, 6.6,
+ 7.7, 8.8,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField1[] = {
+ 2.1, 3.2, 4.3, 5.4,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_vertexField2[] = {
+ 1.2, 2.3,
+ 3.4, 4.5,
+ 5.6, 6.7,
+ 7.8, 8.9,
+};
+
+const int pylith::meshio::DataWriterVTKDataBCMeshQuad4::_numCellFields = 3;
+const int pylith::meshio::DataWriterVTKDataBCMeshQuad4::_numCells = 2;
+
+const pylith::meshio::DataWriterVTKData::FieldStruct
+pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellFields[] = {
+ { "traction", VECTOR_FIELD, 2 },
+ { "pressure", SCALAR_FIELD, 1 },
+ { "other", TENSOR_FIELD, 3 },
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField0[] = {
+ 1.1, 2.2,
+ 3.3, 4.4,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField1[] = {
+ 2.1, 3.2,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshQuad4::_cellField2[] = {
+ 1.2, 2.3, 3.4,
+ 4.5, 5.6, 6.7,
+};
+
+pylith::meshio::DataWriterVTKDataBCMeshQuad4::DataWriterVTKDataBCMeshQuad4(void)
+{ // constructor
+ meshFilename = const_cast<char*>(_meshFilename);
+ bcLabel = const_cast<char*>(_bcLabel);
+
+ timestepFilename = const_cast<char*>(_timestepFilename);
+ vertexFilename = const_cast<char*>(_vertexFilename);
+ cellFilename = const_cast<char*>(_cellFilename);
+
+ time = _time;
+ timeFormat = const_cast<char*>(_timeFormat);
+
+ numVertexFields = _numVertexFields;
+ assert(3 == numVertexFields);
+ numVertices = _numVertices;
+ vertexFieldsInfo = const_cast<DataWriterVTKData::FieldStruct*>(_vertexFields);
+ vertexFields[0] = const_cast<double*>(_vertexField0);
+ vertexFields[1] = const_cast<double*>(_vertexField1);
+ vertexFields[2] = const_cast<double*>(_vertexField2);
+
+ numCellFields = _numCellFields;
+ assert(3 == numCellFields);
+ numVertices = _numVertices;
+ cellFieldsInfo = const_cast<DataWriterVTKData::FieldStruct*>(_cellFields);
+ cellFields[0] = const_cast<double*>(_cellField0);
+ cellFields[1] = const_cast<double*>(_cellField1);
+ cellFields[2] = const_cast<double*>(_cellField2);
+} // constructor
+
+pylith::meshio::DataWriterVTKDataBCMeshQuad4::~DataWriterVTKDataBCMeshQuad4(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_datawritervtkdatabcmeshquad4_hh)
+#define pylith_meshio_datawritervtkdatabcmeshquad4_hh
+
+#include "DataWriterVTKData.hh" // ISA DataWriterVTKData
+#include "DataWriterVTKDataMesh.hh" // ISA DataWriterVTKDataMesh
+
+namespace pylith {
+ namespace meshio {
+ class DataWriterVTKDataBCMeshQuad4;
+ } // meshio
+} // pylith
+
+class pylith::meshio::DataWriterVTKDataBCMeshQuad4 :
+ public DataWriterVTKData,
+ public DataWriterVTKDataMesh
+{ // DataWriterVTKDataBCMeshQuad4
+
+public:
+
+ /// Constructor
+ DataWriterVTKDataBCMeshQuad4(void);
+
+ /// Destructor
+ ~DataWriterVTKDataBCMeshQuad4(void);
+
+private:
+
+ static const char* _meshFilename; ///< Name of mesh file.
+ static const char* _bcLabel; ///< Label defining group of vertices for bc.
+
+ static const char* _timestepFilename; ///< Name of VTK file without fields.
+ static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
+ static const char* _cellFilename; ///< Name of VTK file for cell fields.
+
+ static const double _time; ///< Time for fields.
+ static const char* _timeFormat; ///< Format for time stamp.
+
+ /// @name Vertex field information.
+ //@{
+ static const int _numVertexFields; ///< Number of vertex fields.
+ static const int _numVertices; ///< Number of vertices.
+ static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
+
+ static const double _vertexField0[]; ///< Values for vertex field 0.
+ static const double _vertexField1[]; ///< Values for vertex field 1.
+ static const double _vertexField2[]; ///< Values for vertex field 2.
+ //@}
+
+ /// @name Cell field information.
+ //@{
+ static const int _numCellFields; ///< Number of cell fields.
+ static const int _numCells; ///< Number of cells.
+ static const FieldStruct _cellFields[]; ///< Array of cell fields.
+
+ static const double _cellField0[]; ///< Values for cell field 0.
+ static const double _cellField1[]; ///< Values for cell field 1.
+ static const double _cellField2[]; ///< Values for cell field 2.
+ //@}
+
+}; // DataWriterVTKDataBCMeshQuad4
+
+#endif // pylith_meshio_datawritervtkdatabcmeshquad4_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,116 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "DataWriterVTKDataBCMeshTri3.hh"
+
+#include <assert.h> // USES assert()
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_meshFilename =
+ "data/tri3.mesh";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_bcLabel =
+ "bc";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_faultLabel =
+ "fault";
+const int pylith::meshio::DataWriterVTKDataBCMeshTri3::_faultId = 100;
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_timestepFilename =
+ "tri3_bc.vtk";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexFilename =
+ "tri3_bc_vertex.vtk";
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellFilename =
+ "tri3_bc_cell.vtk";
+
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_time = 1.0;
+
+const char* pylith::meshio::DataWriterVTKDataBCMeshTri3::_timeFormat =
+ "%3.1f";
+
+const int pylith::meshio::DataWriterVTKDataBCMeshTri3::_numVertexFields = 3;
+const int pylith::meshio::DataWriterVTKDataBCMeshTri3::_numVertices = 2;
+
+const pylith::meshio::DataWriterVTKData::FieldStruct
+pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexFields[] = {
+ { "displacements", VECTOR_FIELD, 2 },
+ { "pressure", SCALAR_FIELD, 1 },
+ { "other", OTHER_FIELD, 2 },
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField0[] = {
+ 1.1, 2.2,
+ 3.3, 4.4,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField1[] = {
+ 2.1, 3.2,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_vertexField2[] = {
+ 1.2, 2.3,
+ 3.4, 4.5,
+};
+
+const int pylith::meshio::DataWriterVTKDataBCMeshTri3::_numCellFields = 3;
+const int pylith::meshio::DataWriterVTKDataBCMeshTri3::_numCells = 1;
+
+const pylith::meshio::DataWriterVTKData::FieldStruct
+pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellFields[] = {
+ { "traction", VECTOR_FIELD, 2 },
+ { "pressure", SCALAR_FIELD, 1 },
+ { "other", TENSOR_FIELD, 3 },
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField0[] = {
+ 1.1, 2.2,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField1[] = {
+ 2.1,
+};
+const double pylith::meshio::DataWriterVTKDataBCMeshTri3::_cellField2[] = {
+ 1.2, 2.3, 3.4,
+};
+
+pylith::meshio::DataWriterVTKDataBCMeshTri3::DataWriterVTKDataBCMeshTri3(void)
+{ // constructor
+ meshFilename = const_cast<char*>(_meshFilename);
+ bcLabel = const_cast<char*>(_bcLabel);
+ faultLabel = const_cast<char*>(_faultLabel);
+ faultId = _faultId;
+
+ timestepFilename = const_cast<char*>(_timestepFilename);
+ vertexFilename = const_cast<char*>(_vertexFilename);
+ cellFilename = const_cast<char*>(_cellFilename);
+
+ time = _time;
+ timeFormat = const_cast<char*>(_timeFormat);
+
+ numVertexFields = _numVertexFields;
+ numVertices = _numVertices;
+ assert(3 == numVertexFields);
+ vertexFieldsInfo = const_cast<DataWriterVTKData::FieldStruct*>(_vertexFields);
+ vertexFields[0] = const_cast<double*>(_vertexField0);
+ vertexFields[1] = const_cast<double*>(_vertexField1);
+ vertexFields[2] = const_cast<double*>(_vertexField2);
+
+ numCellFields = _numCellFields;
+ numVertices = _numVertices;
+ assert(3 == numCellFields);
+ cellFieldsInfo = const_cast<DataWriterVTKData::FieldStruct*>(_cellFields);
+ cellFields[0] = const_cast<double*>(_cellField0);
+ cellFields[1] = const_cast<double*>(_cellField1);
+ cellFields[2] = const_cast<double*>(_cellField2);
+} // constructor
+
+pylith::meshio::DataWriterVTKDataBCMeshTri3::~DataWriterVTKDataBCMeshTri3(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,78 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_meshio_datawritervtkdatabcmeshtri3_hh)
+#define pylith_meshio_datawritervtkdatabcmeshtri3_hh
+
+#include "DataWriterVTKData.hh" // ISA DataWriterVTKData
+#include "DataWriterVTKDataMesh.hh" // ISA DataWriterVTKDataMesh
+
+namespace pylith {
+ namespace meshio {
+ class DataWriterVTKDataBCMeshTri3;
+ } // meshio
+} // pylith
+
+class pylith::meshio::DataWriterVTKDataBCMeshTri3 :
+ public DataWriterVTKData,
+ public DataWriterVTKDataMesh
+{ // DataWriterVTKDataBCMeshTri3
+
+public:
+
+ /// Constructor
+ DataWriterVTKDataBCMeshTri3(void);
+
+ /// Destructor
+ ~DataWriterVTKDataBCMeshTri3(void);
+
+private:
+
+ static const char* _meshFilename; ///< Name of mesh file.
+ static const char* _bcLabel; ///< Label defining boundary vertices.
+ static const char* _faultLabel; ///< Name of group of vertices for fault.
+ static const int _faultId; ///< Material identifier for fault.
+
+ static const char* _timestepFilename; ///< Name of VTK file without fields.
+ static const char* _vertexFilename; ///< Name of VTK file for vertex fields.
+ static const char* _cellFilename; ///< Name of VTK file for cell fields.
+
+ static const double _time; ///< Time for fields.
+ static const char* _timeFormat; ///< Format for time stamp.
+
+ /// @name Vertex field information.
+ //@{
+ static const int _numVertexFields; ///< Number of vertex fields.
+ static const int _numVertices; ///< Number of vertices.
+ static const FieldStruct _vertexFields[]; ///< Array of vertex fields.
+
+ static const double _vertexField0[]; ///< Values for vertex field 0.
+ static const double _vertexField1[]; ///< Values for vertex field 1.
+ static const double _vertexField2[]; ///< Values for vertex field 2.
+ //@}
+
+ /// @name Cell field information.
+ //@{
+ static const int _numCellFields; ///< Number of cell fields.
+ static const int _numCells; ///< Number of cells.
+ static const FieldStruct _cellFields[]; ///< Array of cell fields.
+
+ static const double _cellField0[]; ///< Values for cell field 0.
+ static const double _cellField1[]; ///< Values for cell field 1.
+ static const double _cellField2[]; ///< Values for cell field 2.
+ //@}
+
+}; // DataWriterVTKDataBCMeshTri3
+
+#endif // pylith_meshio_datawritervtkdatabcmeshtri3_hh
+
+// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.cc 2008-03-01 21:59:37 UTC (rev 11296)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.cc 2008-03-02 00:07:51 UTC (rev 11297)
@@ -17,7 +17,8 @@
pylith::meshio::DataWriterVTKDataMesh::DataWriterVTKDataMesh(void) :
meshFilename(0),
faultLabel(0),
- faultId(0)
+ faultId(0),
+ bcLabel(0)
{ // constructor
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.hh 2008-03-01 21:59:37 UTC (rev 11296)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/DataWriterVTKDataMesh.hh 2008-03-02 00:07:51 UTC (rev 11297)
@@ -38,6 +38,7 @@
char* meshFilename; ///< Name of mesh file.
char* faultLabel; ///< Name of group of vertices for fault.
int faultId; ///< Material identifier for fault.
+ char* bcLabel; ///< Name of group of vertices for bc.
}; // DataWriterVTKDataMesh
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am 2008-03-01 21:59:37 UTC (rev 11296)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/Makefile.am 2008-03-02 00:07:51 UTC (rev 11297)
@@ -67,7 +67,10 @@
tet4_fault_cell_t10.vtk \
hex8_fault_t10.vtk \
hex8_fault_vertex_t10.vtk \
- hex8_fault_cell_t10.vtk
+ hex8_fault_cell_t10.vtk \
+ quad4_bc_t10.vtk \
+ quad4_bc_vertex_t10.vtk \
+ quad4_bc_cell_t10.vtk
noinst_TMP =
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_cell_t10.vtk
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_cell_t10.vtk (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_cell_t10.vtk 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,25 @@
+# vtk DataFile Version 2.0
+Simplicial Mesh Example
+ASCII
+DATASET UNSTRUCTURED_GRID
+POINTS 3 double
+-1 -1 0.0
+0 -1 0.0
+1 -1 0.0
+CELLS 2 6
+2 0 1
+2 1 2
+CELL_TYPES 2
+3
+3
+CELL_DATA 2
+VECTORS traction double
+1.1 2.2 0.0
+3.3 4.4 0.0
+SCALARS pressure double 1
+LOOKUP_TABLE default
+2.1
+3.2
+VECTORS other double
+1.2 2.3 3.4
+4.5 5.6 6.7
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_t10.vtk
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_t10.vtk (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_t10.vtk 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,14 @@
+# vtk DataFile Version 2.0
+Simplicial Mesh Example
+ASCII
+DATASET UNSTRUCTURED_GRID
+POINTS 3 double
+-1 -1 0.0
+0 -1 0.0
+1 -1 0.0
+CELLS 2 6
+2 0 1
+2 1 2
+CELL_TYPES 2
+3
+3
Added: short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_vertex_t10.vtk
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_vertex_t10.vtk (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/quad4_bc_vertex_t10.vtk 2008-03-02 00:07:51 UTC (rev 11297)
@@ -0,0 +1,29 @@
+# vtk DataFile Version 2.0
+Simplicial Mesh Example
+ASCII
+DATASET UNSTRUCTURED_GRID
+POINTS 3 double
+-1 -1 0.0
+0 -1 0.0
+1 -1 0.0
+CELLS 2 6
+2 0 1
+2 1 2
+CELL_TYPES 2
+3
+3
+POINT_DATA 3
+VECTORS displacements double
+1.1 2.2 0.0
+3.3 4.4 0.0
+5.5 6.6 0.0
+SCALARS pressure double 1
+LOOKUP_TABLE default
+2.1
+3.2
+4.3
+SCALARS other double 2
+LOOKUP_TABLE default
+1.2 2.3
+3.4 4.5
+5.6 6.7
More information about the cig-commits
mailing list