[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