[cig-commits] r9344 - in short/3D/PyLith/trunk: modulesrc/bc pylith pylith/bc pylith/meshio unittests/libtests/bc unittests/libtests/bc/data unittests/pytests/bc
brad at geodynamics.org
brad at geodynamics.org
Thu Feb 14 13:52:11 PST 2008
Author: brad
Date: 2008-02-14 13:52:10 -0800 (Thu, 14 Feb 2008)
New Revision: 9344
Added:
short/3D/PyLith/trunk/pylith/meshio/OutputDirichlet.py
short/3D/PyLith/trunk/pylith/meshio/OutputNeumann.py
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.hh
Removed:
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.hh
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.hh
Modified:
short/3D/PyLith/trunk/modulesrc/bc/bc.pyxe.src
short/3D/PyLith/trunk/pylith/Makefile.am
short/3D/PyLith/trunk/pylith/bc/DirichletBoundary.py
short/3D/PyLith/trunk/pylith/bc/Neumann.py
short/3D/PyLith/trunk/pylith/meshio/OutputMatElastic.py
short/3D/PyLith/trunk/pylith/meshio/__init__.py
short/3D/PyLith/trunk/unittests/libtests/bc/Makefile.am
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsHex8.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2b.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.hh
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMultiTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsQuad4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTet4.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTri3.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3.mesh
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b_rate.spatialdb
short/3D/PyLith/trunk/unittests/pytests/bc/TestNeumann.py
short/3D/PyLith/trunk/unittests/pytests/bc/testbc.py
Log:
Added testing of DirichletBoundary. Fixed bugs in some other unit tests.
Modified: short/3D/PyLith/trunk/modulesrc/bc/bc.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/bc/bc.pyxe.src 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/modulesrc/bc/bc.pyxe.src 2008-02-14 21:52:10 UTC (rev 9344)
@@ -16,6 +16,7 @@
#include "pylith/feassemble/Integrator.hh"
#include "pylith/bc/AbsorbingDampers.hh"
#include "pylith/bc/DirichletPoints.hh"
+#include "pylith/bc/DirichletBoundary.hh"
#include "pylith/bc/Neumann.hh"
#include "pylith/utils/array.hh"
@@ -402,6 +403,311 @@
# ----------------------------------------------------------------------
+cdef class DirichletBoundary(BoundaryCondition):
+
+ def __init__(self):
+ """
+ Constructor.
+ """
+ # create shim for constructor
+ #embed{ void* DirichletBoundary_constructor()
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::bc::DirichletBoundary);
+ assert(0 != result);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ return result;
+ #}embed
+
+ BoundaryCondition.__init__(self)
+ self.thisptr = DirichletBoundary_constructor()
+ self.handle = self._createHandle()
+ return
+
+
+ property dbRate:
+ def __set__(self, value):
+ """
+ Set spatial database for parameters of rate of change of values.
+ """
+ # create shim for method 'dbRate'
+ #embed{ void DirichletBoundary_dbRate_set(void* objVptr, void* dbVptr)
+ try {
+ assert(0 != objVptr);
+ assert(0 != dbVptr);
+ spatialdata::spatialdb::SpatialDB* db =
+ (spatialdata::spatialdb::SpatialDB*) dbVptr;
+ ((pylith::bc::DirichletBoundary*) objVptr)->dbRate(db);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+ if not value.name == "spatialdata_spatialdb_SpatialDB":
+ raise TypeError, \
+ "Argument must be extension module type " \
+ "'spatialdata::spatialdb::SpatialDB'."
+ DirichletBoundary_dbRate_set(self.thisptr, ptrFromHandle(value))
+
+
+ property fixedDOF:
+ def __set__(self, value):
+ """
+ Set fixed DOF.
+ """
+ # create shim for method 'fixedDOF'
+ #embed{ void DirichletBoundary_fixedDOF_set(void* objVptr, int* dofVptr, int numFixedDOF)
+ try {
+ assert(0 != objVptr);
+ assert(0 != dofVptr);
+ pylith::int_array fixedDOF((int*) dofVptr, numFixedDOF);
+ ((pylith::bc::DirichletBoundary*) objVptr)->fixedDOF(fixedDOF);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+ cdef int* fixedDOF
+ numFixedDOF = len(value)
+ fixedDOF = <int*> malloc(numFixedDOF*sizeof(int))
+ assert(fixedDOF != NULL)
+ for i from 0 <= i < numFixedDOF:
+ fixedDOF[i] = value[i]
+ DirichletBoundary_fixedDOF_set(self.thisptr, fixedDOF, numFixedDOF)
+ free(fixedDOF)
+
+
+ def setConstraintSizes(self, field, mesh):
+ """
+ Set number of degrees of freedom that are constrained at points in field.
+ """
+ # create shim for method 'setConstraintSizes'
+ #embed{ void DirichletBoundary_setConstraintSizes(void* objVptr, void* fieldVptr, void* meshVptr)
+ try {
+ assert(0 != objVptr);
+ assert(0 != fieldVptr);
+ assert(0 != meshVptr);
+ ALE::Obj<pylith::real_section_type>* field = (ALE::Obj<pylith::real_section_type>*) fieldVptr;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ ((pylith::bc::DirichletBoundary*) objVptr)->setConstraintSizes(*field, *mesh);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+
+ if not mesh.name == "pylith_topology_Mesh":
+ raise TypeError, \
+ "Argument must be extension module type " \
+ "'pylith::topology::Mesh'."
+ DirichletBoundary_setConstraintSizes(self.thisptr, PyCObject_AsVoidPtr(field),
+ ptrFromHandle(mesh))
+ return
+
+
+ def setConstraints(self, field, mesh):
+ """
+ Set which degrees of freedom that are constrained at points in field.
+ """
+ # create shim for method 'setConstraints'
+ #embed{ void DirichletBoundary_setConstraints(void* objVptr, void* fieldVptr, void* meshVptr)
+ try {
+ assert(0 != objVptr);
+ assert(0 != fieldVptr);
+ assert(0 != meshVptr);
+ ALE::Obj<pylith::real_section_type>* field = (ALE::Obj<pylith::real_section_type>*) fieldVptr;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ ((pylith::bc::DirichletBoundary*) objVptr)->setConstraints(*field, *mesh);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+
+ if not mesh.name == "pylith_topology_Mesh":
+ raise TypeError, \
+ "Argument must be extension module type " \
+ "'pylith::topology::Mesh'."
+ DirichletBoundary_setConstraints(self.thisptr, PyCObject_AsVoidPtr(field), ptrFromHandle(mesh))
+ return
+
+
+ def setField(self, t, field, mesh):
+ """
+ Set values in field.
+ """
+ # create shim for method 'setField'
+ #embed{ void DirichletBoundary_setField(void* objVptr, double t, void* fieldVptr, void* meshVptr)
+ try {
+ assert(0 != objVptr);
+ assert(0 != fieldVptr);
+ assert(0 != meshVptr);
+ ALE::Obj<pylith::real_section_type>* field = (ALE::Obj<pylith::real_section_type>*) fieldVptr;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ ((pylith::bc::DirichletBoundary*) objVptr)->setField(t, *field, *mesh);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+
+ if not mesh.name == "pylith_topology_Mesh":
+ raise TypeError, \
+ "Argument must be extension module type " \
+ "'pylith::topology::Mesh'."
+ DirichletBoundary_setField(self.thisptr, t, PyCObject_AsVoidPtr(field),
+ ptrFromHandle(mesh))
+ return
+
+
+ def boundaryMesh(self, mesh):
+ """
+ Get mesh associated with fields over boundary.
+ """
+ # create shim for method 'boundaryMesh'
+ #embed{ void DirichletBoundary_boundaryMesh(void* objVptr, void* meshVptr)
+ try {
+ assert(0 != objVptr);
+ assert(0 != meshVptr);
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ *mesh = ((pylith::bc::DirichletBoundary*) objVptr)->boundaryMesh();
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+
+ if not mesh.name == "pylith_topology_Mesh":
+ raise TypeError, \
+ "Argument 'mesh' must be extension module type " \
+ "'pylith::topology::Mesh'."
+ DirichletBoundary_boundaryMesh(self.thisptr, ptrFromHandle(mesh))
+ return
+
+
+ def vertexField(self, name, mesh, fields=None):
+ """
+ Get cell field.
+ """
+ # create shim for method 'vertexField'
+ #embed{ void* DirichletBoundary_vertexField(void* objVptr, int* fieldPtr, char* name, void* meshVptr, void* fieldsVptr)
+ void* result = 0;
+ try {
+ assert(0 != objVptr);
+ assert(0 != fieldPtr);
+ assert(0 != name);
+ assert(0 != meshVptr);
+ pylith::bc::DirichletBoundary* bc = (pylith::bc::DirichletBoundary*) objVptr;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ pylith::topology::FieldsManager* fields =
+ (pylith::topology::FieldsManager*) fieldsVptr;
+ pylith::VectorFieldEnum fieldType;
+ const ALE::Obj<pylith::real_section_type>& field =
+ bc->vertexField(&fieldType, name, *mesh, fields);
+ *fieldPtr = fieldType;
+ result = (void*) &field;
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ return result;
+ #}embed
+ if not mesh.name == "pylith_topology_Mesh":
+ raise TypeError, \
+ "Argument 'mesh' must be extension module type " \
+ "'pylith::topology::Mesh'."
+ if None != fields:
+ if not fields.name == "pylith_topology_FieldsManager":
+ raise TypeError, \
+ "Argument 'fields' must be extension module type " \
+ "'pylith::topology::FieldsManager'."
+ cdef void* ptr
+ cdef int fieldType
+ if None != fields:
+ ptr = DirichletBoundary_vertexField(self.thisptr, &fieldType, name,
+ ptrFromHandle(mesh), ptrFromHandle(fields))
+ else:
+ ptr = DirichletBoundary_vertexField(self.thisptr, &fieldType, name,
+ ptrFromHandle(mesh), NULL)
+ return (PyCObject_FromVoidPtr(ptr, NULL), fieldType)
+
+
+ property useSolnIncr:
+ def __set__(self, flag):
+ """
+ Set solution increment flag.
+ """
+ # create shim for method 'useSolnIncr'
+ #embed{ void DirichletBoundary_useSolnIncr_set(void* objVptr, int flag)
+ try {
+ assert(0 != objVptr);
+ ((pylith::bc::DirichletBoundary*) objVptr)->useSolnIncr(flag);
+ } catch (const std::exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.what()));
+ } catch (const ALE::Exception& err) {
+ PyErr_SetString(PyExc_RuntimeError,
+ const_cast<char*>(err.msg().c_str()));
+ } catch (...) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Caught unknown C++ exception.");
+ } // try/catch
+ #}embed
+ DirichletBoundary_useSolnIncr_set(self.thisptr, flag)
+
+
+# ----------------------------------------------------------------------
cdef class AbsorbingDampers(BoundaryCondition):
def __init__(self):
@@ -912,7 +1218,7 @@
Get mesh associated with fields over boundary.
"""
# create shim for method 'boundaryMesh'
- #embed{ void Neumann_faultMesh(void* objVptr, void* meshVptr)
+ #embed{ void Neumann_boundaryMesh(void* objVptr, void* meshVptr)
try {
assert(0 != objVptr);
assert(0 != meshVptr);
@@ -934,7 +1240,7 @@
raise TypeError, \
"Argument 'mesh' must be extension module type " \
"'pylith::topology::Mesh'."
- Neumann_faultMesh(self.thisptr, ptrFromHandle(mesh))
+ Neumann_boundaryMesh(self.thisptr, ptrFromHandle(mesh))
return
Modified: short/3D/PyLith/trunk/pylith/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/pylith/Makefile.am 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/pylith/Makefile.am 2008-02-14 21:52:10 UTC (rev 9344)
@@ -18,6 +18,7 @@
bc/BCIntegrator.py \
bc/BoundaryCondition.py \
bc/DirichletPoints.py \
+ bc/DirichletBoundary.py \
bc/FixedDOFDB.py \
bc/BCSingle.py \
bc/BCTwoSides.py \
@@ -85,10 +86,12 @@
meshio/MeshIOAscii.py \
meshio/MeshIOCubit.py \
meshio/MeshIOLagrit.py \
+ meshio/OutputDirichlet.py \
meshio/OutputManager.py \
meshio/OutputSoln.py \
meshio/OutputFaultKin.py \
meshio/OutputMatElastic.py \
+ meshio/OutputNeumann.py \
meshio/SingleOutput.py \
meshio/VertexFilter.py \
problems/__init__.py \
Modified: short/3D/PyLith/trunk/pylith/bc/DirichletBoundary.py
===================================================================
--- short/3D/PyLith/trunk/pylith/bc/DirichletBoundary.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/pylith/bc/DirichletBoundary.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -84,10 +84,10 @@
family="spatial_database")
dbRate.meta['tip'] = "Database of parameters for rate of change of values."
- #from pylith.meshio.OutputDirichlet import OutputDirichlet
- #output = pyre.inventory.facility("output", family="output_manager",
- # factory=OutputDirichlet)
- #output.meta['tip'] = "Output manager associated with diagnostic output."
+ from pylith.meshio.OutputDirichlet import OutputDirichlet
+ output = pyre.inventory.facility("output", family="output_manager",
+ factory=OutputDirichlet)
+ output.meta['tip'] = "Output manager associated with diagnostic output."
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -144,14 +144,14 @@
BoundaryCondition.initialize(self, totalTime, numTimeSteps)
- #from pylith.topology.Mesh import Mesh
- #self.boundaryMesh = Mesh()
- #self.boundaryMesh.initialize(self.mesh.coordsys)
- #self.cppHandle.boundaryMesh(self.boundaryMesh.cppHandle)
+ from pylith.topology.Mesh import Mesh
+ self.boundaryMesh = Mesh()
+ self.boundaryMesh.initialize(self.mesh.coordsys)
+ self.cppHandle.boundaryMesh(self.boundaryMesh.cppHandle)
- #if None != self.output:
- # self.output.initialize()
- # self.output.writeInfo()
+ if None != self.output:
+ self.output.initialize()
+ self.output.writeInfo()
self._logger.eventEnd(logEvent)
return
@@ -168,9 +168,14 @@
"""
Get vertex field.
"""
- (field, fieldType) = self.cppHandle.vertexField(name,
- self.mesh.cppHandle)
- return
+ if None == fields:
+ (field, fieldType) = self.cppHandle.vertexField(name,
+ self.mesh.cppHandle)
+ else:
+ (field, fieldType) = self.cppHandle.vertexField(name,
+ self.mesh.cppHandle,
+ fields.cppHandle)
+ return (field, fieldType)
# PRIVATE METHODS ////////////////////////////////////////////////////
@@ -183,6 +188,7 @@
self.tRef = self.inventory.tRef
self.fixedDOF = self.inventory.fixedDOF
self.dbRate = self.inventory.dbRate
+ self.output = self.inventory.output
return
Modified: short/3D/PyLith/trunk/pylith/bc/Neumann.py
===================================================================
--- short/3D/PyLith/trunk/pylith/bc/Neumann.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/pylith/bc/Neumann.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -42,6 +42,7 @@
##
## \b Facilities
## @li \b quadrature Quadrature object for numerical integration
+ ## @li \b output Output manager associated with diagnostic output.
import pyre.inventory
@@ -49,6 +50,11 @@
quadrature = pyre.inventory.facility("quadrature", factory=Quadrature)
quadrature.meta['tip'] = "Quadrature object for numerical integration."
+ from pylith.meshio.OutputNeumann import OutputNeumann
+ output = pyre.inventory.facility("output", family="output_manager",
+ factory=OutputNeumann)
+ output.meta['tip'] = "Output manager associated with diagnostic output."
+
# PUBLIC METHODS /////////////////////////////////////////////////////
@@ -59,6 +65,13 @@
BoundaryCondition.__init__(self, name)
Integrator.__init__(self)
self._loggingPrefix = "NeBC "
+ self.availableFields = \
+ {'vertex': \
+ {'info': [],
+ 'data': []},
+ 'cell': \
+ {'info': ["tractions"],
+ 'data': []}}
return
@@ -69,6 +82,7 @@
BoundaryCondition.preinitialize(self, mesh)
Integrator.preinitialize(self, mesh)
self.quadrature.preinitialize()
+ self.output.preinitialize(self)
return
@@ -85,6 +99,7 @@
"Dimension of mesh boundary '%s': %d" % \
(self.quadrature.cellDim,
self.label, self.mesh.dimension()-1)
+ self.output.verifyConfiguration()
return
@@ -98,10 +113,38 @@
self.cppHandle.quadrature = self.quadrature.cppHandle
BoundaryCondition.initialize(self, totalTime, numTimeSteps)
+ from pylith.topology.Mesh import Mesh
+ self.boundaryMesh = Mesh()
+ self.boundaryMesh.initialize(self.mesh.coordsys)
+ self.cppHandle.boundaryMesh(self.boundaryMesh.cppHandle)
+
+ if None != self.output:
+ self.output.initialize(self.quadrature)
+ self.output.writeInfo()
+
self._logger.eventEnd(logEvent)
return
+ def getDataMesh(self):
+ """
+ Get mesh associated with data fields.
+ """
+ return (self.boundaryMesh, None, None)
+
+
+ def getCellField(self, name, fields=None):
+ """
+ Get vertex field.
+ """
+ if None == fields:
+ (field, fieldType) = self.cppHandle.cellField(name, self.mesh.cppHandle)
+ else:
+ (field, fieldType) = self.cppHandle.cellField(name, self.mesh.cppHandle,
+ fields.cppHandle)
+ return (field, fieldType)
+
+
# PRIVATE METHODS ////////////////////////////////////////////////////
def _configure(self):
@@ -110,6 +153,7 @@
"""
BoundaryCondition._configure(self)
self.quadrature = self.inventory.quadrature
+ self.output = self.inventory.output
return
Added: short/3D/PyLith/trunk/pylith/meshio/OutputDirichlet.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputDirichlet.py (rev 0)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputDirichlet.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,88 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pyre/meshio/OutputDirichlet.py
+##
+## @brief Python object for managing output of finite-element
+## information for Dirichlet boundary conditions.
+##
+## Factory: output_manager
+
+from OutputManager import OutputManager
+
+# OutputDirichlet class
+class OutputDirichlet(OutputManager):
+ """
+ Python object for managing output of finite-element information for
+ Dirichlet boundary conditions.
+
+ Factory: output_manager
+ """
+
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ class Inventory(OutputManager.Inventory):
+ """
+ Python object for managing OutputDirichlet facilities and properties.
+ """
+
+ ## @class Inventory
+ ## Python object for managing OutputDirichlet facilities and properties.
+ ##
+ ## \b Properties
+ ## @li \b vertex_info_fields Names of vertex info fields to output.
+ ##
+ ## \b Facilities
+ ## @li None
+
+ import pyre.inventory
+
+ vertexInfoFields = pyre.inventory.list("vertex_info_fields",
+ default=["initial",
+ "rate-of-change"])
+ vertexInfoFields.meta['tip'] = "Names of vertex info fields to output."
+
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="outputmanager"):
+ """
+ Constructor.
+ """
+ OutputManager.__init__(self, name)
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _configure(self):
+ """
+ Set members based using inventory.
+ """
+ OutputManager._configure(self)
+ self.vertexInfoFields = self.inventory.vertexInfoFields
+ self.vertexDataFields = []
+ self.cellInfoFields = []
+ self.cellDataFields = []
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def output_manager():
+ """
+ Factory associated with OutputDirichlet.
+ """
+ return OutputDirichlet()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/pylith/meshio/OutputMatElastic.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputMatElastic.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputMatElastic.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -13,7 +13,7 @@
## @file pyre/meshio/OutputMatElastic.py
##
## @brief Python object for managing output of finite-element
-## information for faults with kinematic ruptures.
+## information for material state variables.
##
## Factory: output_manager
@@ -23,7 +23,7 @@
class OutputMatElastic(OutputManager):
"""
Python object for managing output of finite-element information for
- faults with kinematic ruptures.
+ material state variables.
Factory: output_manager
"""
Added: short/3D/PyLith/trunk/pylith/meshio/OutputNeumann.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputNeumann.py (rev 0)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputNeumann.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file pyre/meshio/OutputNeumann.py
+##
+## @brief Python object for managing output of finite-element
+## information for Neumann boundary conditions.
+##
+## Factory: output_manager
+
+from OutputManager import OutputManager
+
+# OutputNeumann class
+class OutputNeumann(OutputManager):
+ """
+ Python object for managing output of finite-element information for
+ Neumann boundary conditions.
+
+ Factory: output_manager
+ """
+
+ # INVENTORY //////////////////////////////////////////////////////////
+
+ class Inventory(OutputManager.Inventory):
+ """
+ Python object for managing OutputNeumann facilities and properties.
+ """
+
+ ## @class Inventory
+ ## Python object for managing OutputNeumann facilities and properties.
+ ##
+ ## \b Properties
+ ## @li \b cell_info_fields Names of cell info fields to output.
+ ##
+ ## \b Facilities
+ ## @li None
+
+ import pyre.inventory
+
+ cellInfoFields = pyre.inventory.list("cell_info_fields",
+ default=["tractions"])
+ cellInfoFields.meta['tip'] = "Names of cell info fields to output."
+
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="outputmanager"):
+ """
+ Constructor.
+ """
+ OutputManager.__init__(self, name)
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _configure(self):
+ """
+ Set members based using inventory.
+ """
+ OutputManager._configure(self)
+ self.vertexInfoFields = []
+ self.vertexDataFields = []
+ self.cellInfoFields = self.inventory.cellInfoFields
+ self.cellDataFields = []
+ return
+
+
+# FACTORIES ////////////////////////////////////////////////////////////
+
+def output_manager():
+ """
+ Factory associated with OutputNeumann.
+ """
+ return OutputNeumann()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/pylith/meshio/__init__.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/__init__.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/pylith/meshio/__init__.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -22,10 +22,12 @@
'MeshIOAscii',
'MeshIOCubit',
'MeshIOLagrit',
+ 'OutputDirichlet',
'OutputManager',
'OutputSoln',
'OutputFaultKin',
'OutputMatElastic',
+ 'OutputNeumann',
'SingleOutput',
'VertexFilter']
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/Makefile.am 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/Makefile.am 2008-02-14 21:52:10 UTC (rev 9344)
@@ -28,6 +28,13 @@
TestAbsorbingDampersTet4.cc \
TestAbsorbingDampersHex8.cc \
TestBoundaryCondition.cc \
+ TestDirichletBoundary.cc \
+ TestDirichletBoundaryTri3.cc \
+ TestDirichletBoundaryQuad4.cc \
+ TestDirichletBoundaryTet4.cc \
+ TestDirichletBoundaryHex8.cc \
+ TestDirichletBoundaryMulti.cc \
+ TestDirichletBoundaryMultiTri3.cc \
TestDirichletPoints.cc \
TestDirichletPointsLine2.cc \
TestDirichletPointsLine2b.cc \
@@ -53,6 +60,13 @@
TestAbsorbingDampersTet4.hh \
TestAbsorbingDampersHex8.hh \
TestBoundaryCondition.hh \
+ TestDirichletBoundary.hh \
+ TestDirichletBoundaryTri3.hh \
+ TestDirichletBoundaryQuad4.hh \
+ TestDirichletBoundaryTet4.hh \
+ TestDirichletBoundaryHex8.hh \
+ TestDirichletBoundaryMulti.hh \
+ TestDirichletBoundaryMultiTri3.hh \
TestDirichletPoints.hh \
TestDirichletPointsLine2.hh \
TestDirichletPointsLine2b.hh \
@@ -77,15 +91,15 @@
data/AbsorbingDampersDataQuad4.cc \
data/AbsorbingDampersDataTet4.cc \
data/AbsorbingDampersDataHex8.cc \
- data/DirichletPointsData.cc \
- data/DirichletPointsDataLine2.cc \
- data/DirichletPointsDataLine2b.cc \
- data/DirichletPointsDataTri3.cc \
- data/DirichletPointsDataQuad4.cc \
- data/DirichletPointsDataTet4.cc \
- data/DirichletPointsDataHex8.cc \
- data/DirichletPointsDataMulti.cc \
- data/DirichletPointsDataMultiTri3.cc \
+ data/DirichletData.cc \
+ data/DirichletDataLine2.cc \
+ data/DirichletDataLine2b.cc \
+ data/DirichletDataTri3.cc \
+ data/DirichletDataQuad4.cc \
+ data/DirichletDataTet4.cc \
+ data/DirichletDataHex8.cc \
+ data/DirichletDataMulti.cc \
+ data/DirichletDataMultiTri3.cc \
data/NeumannData.cc \
data/NeumannDataLine2.cc \
data/NeumannDataTri3.cc \
@@ -100,15 +114,15 @@
data/AbsorbingDampersDataQuad4.hh \
data/AbsorbingDampersDataTet4.hh \
data/AbsorbingDampersDataHex8.hh \
- data/DirichletPointsData.hh \
- data/DirichletPointsDataLine2.hh \
- data/DirichletPointsDataLine2b.hh \
- data/DirichletPointsDataTri3.hh \
- data/DirichletPointsDataQuad4.hh \
- data/DirichletPointsDataTet4.hh \
- data/DirichletPointsDataHex8.hh \
- data/DirichletPointsDataMulti.hh \
- data/DirichletPointsDataMultiTri3.hh \
+ data/DirichletData.hh \
+ data/DirichletDataLine2.hh \
+ data/DirichletDataLine2b.hh \
+ data/DirichletDataTri3.hh \
+ data/DirichletDataQuad4.hh \
+ data/DirichletDataTet4.hh \
+ data/DirichletDataHex8.hh \
+ data/DirichletDataMulti.hh \
+ data/DirichletDataMultiTri3.hh \
data/NeumannData.hh \
data/NeumannDataLine2.hh \
data/NeumannDataTri3.hh \
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,327 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundary.hh" // Implementation of class methods
+
+#include "pylith/bc/DirichletBoundary.hh" // USES DirichletBoundary
+
+#include "data/DirichletData.hh" // USES DirichletData
+#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
+#include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
+
+#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
+#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
+#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
+#include "spatialdata/spatialdb/UniformDB.hh" // USES UniformDB
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundary );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundary::setUp(void)
+{ // setUp
+ _data = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::bc::TestDirichletBoundary::tearDown(void)
+{ // tearDown
+ delete _data; _data = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
+// Test constructor.
+void
+pylith::bc::TestDirichletBoundary::testConstructor(void)
+{ // testConstructor
+ DirichletBoundary bc;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test fixedDOF()
+void
+pylith::bc::TestDirichletBoundary::testFixedDOF(void)
+{ // testfixedDOF
+ DirichletBoundary bc;
+
+ const size_t numDOF = 4;
+ const int dof[] = { 0, 2, 3, 5 };
+ int_array fixedDOF(dof, numDOF);
+ bc.fixedDOF(fixedDOF);
+
+ CPPUNIT_ASSERT_EQUAL(numDOF, bc._fixedDOF.size());
+ for (int i=0; i < numDOF; ++i)
+ CPPUNIT_ASSERT_EQUAL(fixedDOF[i], bc._fixedDOF[i]);
+} // testFixedDOF
+
+#include <iostream>
+// ----------------------------------------------------------------------
+// Test initialize().
+void
+pylith::bc::TestDirichletBoundary::testInitialize(void)
+{ // testInitialize
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bc;
+ _initialize(&mesh, &bc);
+
+ CPPUNIT_ASSERT(0 != _data);
+
+ const int numCells = mesh->heightStratum(0)->size();
+
+ const int numFixedDOF = _data->numFixedDOF;
+ const size_t numBoundary = _data->numConstrainedPts;
+ // Check vertices in boundary mesh
+ const ALE::Obj<Mesh::label_sequence>& vertices =
+ bc._boundaryMesh->depthStratum(0);
+ const Mesh::label_sequence::iterator verticesEnd = vertices->end();
+
+ const int offset = numCells;
+ if (numFixedDOF > 0) {
+ int i = 0;
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter, ++i) {
+ CPPUNIT_ASSERT_EQUAL(_data->constrainedPoints[i]+offset, *v_iter);
+ } // for
+ CPPUNIT_ASSERT_EQUAL(int(numBoundary), i);
+ } // if
+
+ // Check initial and rate values
+ int i = 0;
+ for (Mesh::label_sequence::iterator v_iter=vertices->begin();
+ v_iter != verticesEnd;
+ ++v_iter) {
+ CPPUNIT_ASSERT_EQUAL(2*numFixedDOF,
+ bc._values->getFiberDimension(*v_iter));
+
+ const real_section_type::value_type* values =
+ bc._values->restrictPoint(*v_iter);
+
+ const double tolerance = 1.0e-06;
+ for (int iDOF=0; iDOF < numFixedDOF; ++iDOF, ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->valuesInitial[i], values[iDOF],
+ tolerance);
+ for (int iDOF=0; iDOF < numFixedDOF; ++iDOF)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->valueRate, values[numFixedDOF+iDOF],
+ tolerance);
+ } // for
+} // testInitialize
+
+// ----------------------------------------------------------------------
+// Test setConstraintSizes().
+void
+pylith::bc::TestDirichletBoundary::testSetConstraintSizes(void)
+{ // testSetConstraintSizes
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bc;
+ _initialize(&mesh, &bc);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bc.setConstraintSizes(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+
+ const int numCells = mesh->heightStratum(0)->size();
+ const int offset = numCells;
+ int iConstraint = 0;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ if (*v_iter != _data->constrainedPoints[iConstraint] + offset) {
+ CPPUNIT_ASSERT_EQUAL(_data->numDOF, field->getFiberDimension(*v_iter));
+ CPPUNIT_ASSERT_EQUAL(0, field->getConstraintDimension(*v_iter));
+ } else {
+ CPPUNIT_ASSERT_EQUAL(_data->numDOF, field->getFiberDimension(*v_iter));
+ CPPUNIT_ASSERT_EQUAL(_data->numFixedDOF,
+ field->getConstraintDimension(*v_iter));
+ ++iConstraint;
+ } // if/else
+ } // for
+} // testSetConstraintSizes
+
+// ----------------------------------------------------------------------
+// Test setConstraints().
+void
+pylith::bc::TestDirichletBoundary::testSetConstraints(void)
+{ // testSetConstraints
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bc;
+ _initialize(&mesh, &bc);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bc.setConstraintSizes(field, mesh);
+ mesh->allocate(field);
+ bc.setConstraints(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+
+ const int numCells = mesh->heightStratum(0)->size();
+ const int offset = numCells;
+ int iConstraint = 0;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int* fixedDOF = field->getConstraintDof(*v_iter);
+ if (*v_iter != _data->constrainedPoints[iConstraint] + offset) {
+ CPPUNIT_ASSERT_EQUAL(0, field->getConstraintDimension(*v_iter));
+ //CPPUNIT_ASSERT(0 == fixedDOF);
+ } else {
+ CPPUNIT_ASSERT(0 != fixedDOF);
+ CPPUNIT_ASSERT_EQUAL(_data->numFixedDOF,
+ field->getConstraintDimension(*v_iter));
+ for (int iDOF=0; iDOF < _data->numFixedDOF; ++iDOF)
+ CPPUNIT_ASSERT_EQUAL(_data->fixedDOF[iDOF], fixedDOF[iDOF]);
+ ++iConstraint;
+ } // if/else
+ } // for
+} // testSetConstraints
+
+// ----------------------------------------------------------------------
+// Test setField().
+void
+pylith::bc::TestDirichletBoundary::testSetField(void)
+{ // testSetField
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bc;
+ _initialize(&mesh, &bc);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bc.setConstraintSizes(field, mesh);
+ mesh->allocate(field);
+ bc.setConstraints(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+ const double tolerance = 1.0e-06;
+
+ // All values should be zero.
+ field->zero();
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int fiberDim = field->getFiberDimension(*v_iter);
+ const real_section_type::value_type* values =
+ mesh->restrict(field, *v_iter);
+ for (int i=0; i < fiberDim; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, values[i], tolerance);
+ } // for
+
+ // Only unconstrained values should be zero.
+ const double t = 1.0;
+ bc.setField(t, field, mesh);
+
+ // Create list of unconstrained DOF at constrained DOF
+ const int numFreeDOF = _data->numDOF - _data->numFixedDOF;
+ int_array freeDOF(numFreeDOF);
+ int index = 0;
+ for (int iDOF=0; iDOF < _data->numDOF; ++iDOF) {
+ bool free = true;
+ for (int iFixed=0; iFixed < _data->numFixedDOF; ++iFixed)
+ if (iDOF == _data->fixedDOF[iFixed])
+ free = false;
+ if (free)
+ freeDOF[index] = iDOF;
+ } // for
+
+ const int numCells = mesh->heightStratum(0)->size();
+ const int offset = numCells;
+ const int numFixedDOF = _data->numFixedDOF;
+ int iConstraint = 0;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int fiberDim = field->getFiberDimension(*v_iter);
+ const real_section_type::value_type* values =
+ mesh->restrict(field, *v_iter);
+
+ if (*v_iter != _data->constrainedPoints[iConstraint] + offset) {
+ // unconstrained point
+ for (int i=0; i < fiberDim; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, values[i], tolerance);
+ } else {
+ // constrained point
+
+ // check unconstrained DOF
+ for (int iDOF=0; iDOF < numFreeDOF; ++iDOF)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, values[freeDOF[iDOF]], tolerance);
+
+ // check constrained DOF
+ for (int iDOF=0; iDOF < numFixedDOF; ++iDOF) {
+ const int index = iConstraint * numFixedDOF + iDOF;
+ const double valueE = (t > _data->tRef) ?
+ _data->valuesInitial[index] + (t-_data->tRef)*_data->valueRate :
+ _data->valuesInitial[index];
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valueE, values[_data->fixedDOF[iDOF]],
+ tolerance);
+ } // for
+ ++iConstraint;
+ } // if/else
+ } // for
+} // testSetField
+
+// ----------------------------------------------------------------------
+void
+pylith::bc::TestDirichletBoundary::_initialize(ALE::Obj<Mesh>* mesh,
+ DirichletBoundary* const bc) const
+{ // _initialize
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT(0 != bc);
+
+ meshio::MeshIOAscii iohandler;
+ iohandler.filename(_data->meshFilename);
+ iohandler.read(mesh);
+ CPPUNIT_ASSERT(!mesh->isNull());
+ (*mesh)->getFactory()->clear();
+
+ spatialdata::geocoords::CSCart cs;
+ cs.setSpaceDim((*mesh)->getDimension());
+ cs.initialize();
+
+ spatialdata::spatialdb::SimpleDB db("TestDirichletBoundary initial");
+ spatialdata::spatialdb::SimpleIOAscii dbIO;
+ dbIO.filename(_data->dbFilename);
+ db.ioHandler(&dbIO);
+ db.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
+
+ spatialdata::spatialdb::UniformDB dbRate("TestDirichletBoundary rate");
+ const char* names[] = { "dof-0", "dof-1", "dof-2" };
+ const double values[] = { _data->valueRate,
+ _data->valueRate,
+ _data->valueRate };
+ const int numValues = 3;
+ dbRate.setData(names, values, numValues);
+
+ int_array fixedDOF(_data->fixedDOF, _data->numFixedDOF);
+ const double upDirVals[] = { 0.0, 0.0, 1.0 };
+ double_array upDir(upDirVals, 3);
+
+ bc->label(_data->label);
+ bc->db(&db);
+ bc->dbRate(&dbRate);
+ bc->referenceTime(_data->tRef);
+ bc->fixedDOF(fixedDOF);
+ bc->initialize(*mesh, &cs, upDir);
+} // _initialize
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,96 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundary.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary.
+ */
+
+#if !defined(pylith_bc_testdirichletboundary_hh)
+#define pylith_bc_testdirichletboundary_hh
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "pylith/utils/sievefwd.hh" // USES PETSc Mesh
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundary;
+
+ class DirichletBoundary;
+ class DirichletData;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary.
+class pylith::bc::TestDirichletBoundary : public CppUnit::TestFixture
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestDirichletBoundary );
+ CPPUNIT_TEST( testConstructor );
+ CPPUNIT_TEST( testFixedDOF );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+ /// Test constructor.
+ void testConstructor(void);
+
+ /// Test fixedDOF().
+ void testFixedDOF(void);
+
+ /// Test initialize().
+ void testInitialize(void);
+
+ /// Test setConstraintSizes().
+ void testSetConstraintSizes(void);
+
+ /// Test setConstraints().
+ void testSetConstraints(void);
+
+ /// Test setField().
+ void testSetField(void);
+
+ // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+ DirichletData* _data; ///< Data for testing
+
+ // PRIVATE METHODS ////////////////////////////////////////////////////
+private :
+
+ /** Initialize DirichletBoundary boundary condition.
+ *
+ * @param mesh PETSc mesh to initialize
+ * @param bc DirichletBoundary boundary condition to initialize.
+ */
+ void _initialize(ALE::Obj<ALE::Mesh>* mesh,
+ DirichletBoundary* const bc) const;
+
+}; // class TestDirichletBoundary
+
+#endif // pylith_bc_dirichletboundary_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryHex8.hh" // Implementation of class methods
+
+#include "data/DirichletDataHex8.hh" // USES DirichletDataHex8
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundaryHex8 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryHex8::setUp(void)
+{ // setUp
+ _data = new DirichletDataHex8();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryHex8.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryHex8.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_bc_testdirichletboundaryhex8_hh)
+#define pylith_bc_testdirichletboundaryhex8_hh
+
+#include "TestDirichletBoundary.hh" // ISA TestDirichletBoundary
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryHex8;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary for mesh with 3-D hex cells.
+class pylith::bc::TestDirichletBoundaryHex8 : public TestDirichletBoundary
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUB_SUITE( TestDirichletBoundaryHex8, TestDirichletBoundary );
+ CPPUNIT_TEST( testInitialize );
+ CPPUNIT_TEST( testSetConstraintSizes );
+ CPPUNIT_TEST( testSetConstraints );
+ CPPUNIT_TEST( testSetField );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDirichletBoundaryHex8
+
+#endif // pylith_bc_dirichletboundaryhex8_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,221 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryMulti.hh" // Implementation of class methods
+
+#include "pylith/bc/DirichletBoundary.hh" // USES DirichletBoundary
+
+#include "data/DirichletDataMulti.hh" // USES DirichletData
+#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
+#include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
+
+#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
+#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
+#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
+#include "spatialdata/spatialdb/UniformDB.hh" // USES UniformDB
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryMulti::setUp(void)
+{ // setUp
+ _data = 0;
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::bc::TestDirichletBoundaryMulti::tearDown(void)
+{ // tearDown
+ delete _data; _data = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
+// Test setConstraintSizes().
+void
+pylith::bc::TestDirichletBoundaryMulti::testSetConstraintSizes(void)
+{ // testSetConstraintSizes
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bcA;
+ DirichletBoundary bcB;
+ _initialize(&mesh, &bcA, &bcB);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bcA.setConstraintSizes(field, mesh);
+ bcB.setConstraintSizes(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+
+ const int numCells = mesh->heightStratum(0)->size();
+ const int offset = numCells;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ CPPUNIT_ASSERT_EQUAL(_data->numDOF, field->getFiberDimension(*v_iter));
+
+ CPPUNIT_ASSERT_EQUAL(_data->constraintSizes[*v_iter-offset],
+ field->getConstraintDimension(*v_iter));
+ } // for
+} // testSetConstraintSizes
+
+// ----------------------------------------------------------------------
+// Test setConstraints().
+void
+pylith::bc::TestDirichletBoundaryMulti::testSetConstraints(void)
+{ // testSetConstraints
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bcA;
+ DirichletBoundary bcB;
+ _initialize(&mesh, &bcA, &bcB);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bcA.setConstraintSizes(field, mesh);
+ bcB.setConstraintSizes(field, mesh);
+ mesh->allocate(field);
+ bcA.setConstraints(field, mesh);
+ bcB.setConstraints(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+
+ const int numCells = mesh->heightStratum(0)->size();
+ const int offset = numCells;
+ int index = 0;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int numConstrainedDOF = _data->constraintSizes[*v_iter-offset];
+ if (numConstrainedDOF > 0) {
+ const int* fixedDOF = field->getConstraintDof(*v_iter);
+ for (int iDOF=0; iDOF < numConstrainedDOF; ++iDOF)
+ CPPUNIT_ASSERT_EQUAL(_data->constrainedDOF[index++], fixedDOF[iDOF]);
+ } // if
+ } // for
+} // testSetConstraints
+
+// ----------------------------------------------------------------------
+// Test setField().
+void
+pylith::bc::TestDirichletBoundaryMulti::testSetField(void)
+{ // testSetField
+ ALE::Obj<Mesh> mesh;
+ DirichletBoundary bcA;
+ DirichletBoundary bcB;
+ _initialize(&mesh, &bcA, &bcB);
+
+ const ALE::Obj<real_section_type>& field = mesh->getRealSection("field");
+ const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+ field->setFiberDimension(vertices, _data->numDOF);
+ bcA.setConstraintSizes(field, mesh);
+ bcB.setConstraintSizes(field, mesh);
+ mesh->allocate(field);
+ bcA.setConstraints(field, mesh);
+ bcB.setConstraints(field, mesh);
+
+ CPPUNIT_ASSERT(0 != _data);
+ const double tolerance = 1.0e-06;
+
+ // All values should be zero.
+ field->zero();
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int fiberDim = field->getFiberDimension(*v_iter);
+ const real_section_type::value_type* values =
+ mesh->restrict(field, *v_iter);
+ for (int i=0; i < fiberDim; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, values[i], tolerance);
+ } // for
+
+ // Only unconstrained values should be zero.
+ // Expected values set in _data->field
+ const double t = 10.0;
+ bcA.setField(t, field, mesh);
+ bcB.setField(t, field, mesh);
+
+ int i = 0;
+ for (Mesh::label_sequence::iterator v_iter = vertices->begin();
+ v_iter != vertices->end();
+ ++v_iter) {
+ const int fiberDim = field->getFiberDimension(*v_iter);
+ const real_section_type::value_type* values =
+ mesh->restrict(field, *v_iter);
+ for (int iDOF=0; iDOF < fiberDim; ++iDOF)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->field[i++], values[iDOF], tolerance);
+ } // for
+} // testSetField
+
+// ----------------------------------------------------------------------
+void
+pylith::bc::TestDirichletBoundaryMulti::_initialize(ALE::Obj<Mesh>* mesh,
+ DirichletBoundary* const bcA,
+ DirichletBoundary* const bcB) const
+{ // _initialize
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT(0 != bcA);
+ CPPUNIT_ASSERT(0 != bcB);
+
+ meshio::MeshIOAscii iohandler;
+ iohandler.filename(_data->meshFilename);
+ iohandler.read(mesh);
+ CPPUNIT_ASSERT(!mesh->isNull());
+
+ spatialdata::geocoords::CSCart cs;
+ cs.setSpaceDim((*mesh)->getDimension());
+ cs.initialize();
+
+ // Setup boundary condition A
+ spatialdata::spatialdb::SimpleDB db("TestDirichletBoundaryMulti initial");
+ spatialdata::spatialdb::SimpleIOAscii dbIO;
+ dbIO.filename(_data->dbFilenameA);
+ db.ioHandler(&dbIO);
+
+ spatialdata::spatialdb::SimpleDB dbRate("TestDirichletBoundaryMulti rate");
+ spatialdata::spatialdb::SimpleIOAscii dbIORate;
+ dbIORate.filename(_data->dbFilenameARate);
+ dbRate.ioHandler(&dbIORate);
+
+ int_array fixedDOFA(_data->fixedDOFA, _data->numFixedDOFA);
+ const double upDirVals[] = { 0.0, 0.0, 1.0 };
+ double_array upDir(upDirVals, 3);
+
+ bcA->label(_data->labelA);
+ bcA->db(&db);
+ bcA->dbRate(&dbRate);
+ bcA->referenceTime(_data->tRefA);
+ bcA->fixedDOF(fixedDOFA);
+ bcA->initialize(*mesh, &cs, upDir);
+
+ // Setup boundary condition B
+ dbIO.filename(_data->dbFilenameB);
+ db.ioHandler(&dbIO);
+
+ dbIORate.filename(_data->dbFilenameBRate);
+ dbRate.ioHandler(&dbIORate);
+
+ int_array fixedDOFB(_data->fixedDOFB, _data->numFixedDOFB);
+
+ bcB->label(_data->labelB);
+ bcB->db(&db);
+ bcB->dbRate(&dbRate);
+ bcB->referenceTime(_data->tRefB);
+ bcB->fixedDOF(fixedDOFB);
+ bcB->initialize(*mesh, &cs, upDir);
+} // _initialize
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMulti.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryMulti.hh
+ *
+ * @brief C++ TestDirichletBoundaryMulti object.
+ *
+ * C++ unit testing for DirichletBoundaryMulti.
+ */
+
+#if !defined(pylith_bc_testdirichletboundarymulti_hh)
+#define pylith_bc_testdirichletboundarymulti_hh
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "pylith/utils/sievefwd.hh" // USES PETSc Mesh
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryMulti;
+
+ class DirichletBoundary;
+ class DirichletDataMulti;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundaryMulti.
+class pylith::bc::TestDirichletBoundaryMulti : public CppUnit::TestFixture
+{ // class TestDirichletBoundaryMulti
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+ /// Test setConstraintSizes().
+ void testSetConstraintSizes(void);
+
+ /// Test setConstraints().
+ void testSetConstraints(void);
+
+ /// Test setField().
+ void testSetField(void);
+
+ // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+ DirichletDataMulti* _data; ///< Data for testing
+
+ // PRIVATE METHODS ////////////////////////////////////////////////////
+private :
+
+ /** Initialize DirichletBoundaryMulti boundary condition.
+ *
+ * @param mesh PETSc mesh to initialize
+ * @param bcA DirichletBoundary boundary condition A to initialize.
+ * @param bcB DirichletBoundary boundary condition B to initialize.
+ */
+ void _initialize(ALE::Obj<ALE::Mesh>* mesh,
+ DirichletBoundary* const bcA,
+ DirichletBoundary* const bcB) const;
+
+}; // class TestDirichletBoundaryMulti
+
+#endif // pylith_bc_dirichletboundarymulti_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryMultiTri3.hh" // Implementation of class methods
+
+#include "data/DirichletDataMultiTri3.hh" // USES DirichletDataMultiTri3
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundaryMultiTri3 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryMultiTri3::setUp(void)
+{ // setUp
+ _data = new DirichletDataMultiTri3();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryMultiTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryMultiTri3.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_bc_testdirichletboundarymultitri3_hh)
+#define pylith_bc_testdirichletboundarymultitri3_hh
+
+#include "TestDirichletBoundaryMulti.hh" // ISA TestDirichletBoundary
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryMultiTri3;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary for mesh with 2-D tri cells.
+class pylith::bc::TestDirichletBoundaryMultiTri3 : public TestDirichletBoundaryMulti
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestDirichletBoundaryMultiTri3 );
+ CPPUNIT_TEST( testSetConstraintSizes );
+ CPPUNIT_TEST( testSetConstraints );
+ CPPUNIT_TEST( testSetField );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDirichletBoundaryMultiTri3
+
+#endif // pylith_bc_dirichletboundarymultitri3_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryQuad4.hh" // Implementation of class methods
+
+#include "data/DirichletDataQuad4.hh" // USES DirichletDataQuad4
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundaryQuad4 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryQuad4::setUp(void)
+{ // setUp
+ _data = new DirichletDataQuad4();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryQuad4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryQuad4.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_bc_testdirichletboundaryquad4_hh)
+#define pylith_bc_testdirichletboundaryquad4_hh
+
+#include "TestDirichletBoundary.hh" // ISA TestDirichletBoundary
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryQuad4;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary for mesh with 2-D quad cells.
+class pylith::bc::TestDirichletBoundaryQuad4 : public TestDirichletBoundary
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUB_SUITE( TestDirichletBoundaryQuad4, TestDirichletBoundary );
+ CPPUNIT_TEST( testInitialize );
+ CPPUNIT_TEST( testSetConstraintSizes );
+ CPPUNIT_TEST( testSetConstraints );
+ CPPUNIT_TEST( testSetField );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDirichletBoundaryQuad4
+
+#endif // pylith_bc_dirichletboundaryquad4_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryTet4.hh" // Implementation of class methods
+
+#include "data/DirichletDataTet4.hh" // USES DirichletDataTet4
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundaryTet4 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryTet4::setUp(void)
+{ // setUp
+ _data = new DirichletDataTet4();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTet4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryTet4.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_bc_testdirichletboundarytet4_hh)
+#define pylith_bc_testdirichletboundaryet4_hh
+
+#include "TestDirichletBoundary.hh" // ISA TestDirichletBoundary
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryTet4;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary for mesh with 3-D tet cells.
+class pylith::bc::TestDirichletBoundaryTet4 : public TestDirichletBoundary
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUB_SUITE( TestDirichletBoundaryTet4, TestDirichletBoundary );
+ CPPUNIT_TEST( testInitialize );
+ CPPUNIT_TEST( testSetConstraintSizes );
+ CPPUNIT_TEST( testSetConstraints );
+ CPPUNIT_TEST( testSetField );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDirichletBoundaryTet4
+
+#endif // pylith_bc_dirichletboundarytet4_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestDirichletBoundaryTri3.hh" // Implementation of class methods
+
+#include "data/DirichletDataTri3.hh" // USES DirichletDataTri3
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletBoundaryTri3 );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::bc::TestDirichletBoundaryTri3::setUp(void)
+{ // setUp
+ _data = new DirichletDataTri3();
+} // setUp
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundaryTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/bc/TestDirichletBoundaryTri3.hh
+ *
+ * @brief C++ TestDirichletBoundary object.
+ *
+ * C++ unit testing for DirichletBoundary for mesh with 1-D line cells.
+ */
+
+#if !defined(pylith_bc_testdirichletboundarytri3_hh)
+#define pylith_bc_testdirichletboundarytri3_hh
+
+#include "TestDirichletBoundary.hh" // ISA TestDirichletBoundary
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace bc {
+ class TestDirichletBoundaryTri3;
+ } // bc
+} // pylith
+
+/// C++ unit testing for DirichletBoundary for mesh with 2-D tri cells.
+class pylith::bc::TestDirichletBoundaryTri3 : public TestDirichletBoundary
+{ // class TestDirichletBoundary
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUB_SUITE( TestDirichletBoundaryTri3, TestDirichletBoundary );
+ CPPUNIT_TEST( testInitialize );
+ CPPUNIT_TEST( testSetConstraintSizes );
+ CPPUNIT_TEST( testSetConstraints );
+ CPPUNIT_TEST( testSetField );
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+}; // class TestDirichletBoundaryTri3
+
+#endif // pylith_bc_dirichletboundarytri3_hh
+
+
+// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -16,7 +16,7 @@
#include "pylith/bc/DirichletPoints.hh" // USES DirichletPoints
-#include "data/DirichletPointsData.hh" // USES DirichletPointsData
+#include "data/DirichletData.hh" // USES DirichletData
#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
#include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
@@ -100,6 +100,11 @@
for (int i=0; i < size; ++i)
CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->valuesInitial[i], bc._valuesInitial[i],
tolerance);
+
+ CPPUNIT_ASSERT_EQUAL(size, bc._valuesRate.size());
+ for (int i=0; i < size; ++i)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->valueRate, bc._valuesRate[i],
+ tolerance);
} // testInitialize
// ----------------------------------------------------------------------
@@ -281,6 +286,7 @@
spatialdata::spatialdb::SimpleIOAscii dbIO;
dbIO.filename(_data->dbFilename);
db.ioHandler(&dbIO);
+ db.queryType(spatialdata::spatialdb::SimpleDB::NEAREST);
spatialdata::spatialdb::UniformDB dbRate("TestDirichletPoints rate");
const char* names[] = { "dof-0", "dof-1", "dof-2" };
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPoints.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -31,7 +31,7 @@
class TestDirichletPoints;
class DirichletPoints;
- class DirichletPointsData;
+ class DirichletData;
} // bc
} // pylith
@@ -75,7 +75,7 @@
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
- DirichletPointsData* _data; ///< Data for testing
+ DirichletData* _data; ///< Data for testing
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsHex8.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsHex8.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsHex8.hh" // Implementation of class methods
-#include "data/DirichletPointsDataHex8.hh" // USES DirichletPointsDataHex8
+#include "data/DirichletDataHex8.hh" // USES DirichletDataHex8
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsHex8 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsHex8::setUp(void)
{ // setUp
- _data = new DirichletPointsDataHex8();
+ _data = new DirichletDataHex8();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsLine2.hh" // Implementation of class methods
-#include "data/DirichletPointsDataLine2.hh" // USES DirichletPointsDataLine2
+#include "data/DirichletDataLine2.hh" // USES DirichletDataLine2
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsLine2 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsLine2::setUp(void)
{ // setUp
- _data = new DirichletPointsDataLine2();
+ _data = new DirichletDataLine2();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2b.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2b.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsLine2b.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsLine2b.hh" // Implementation of class methods
-#include "data/DirichletPointsDataLine2b.hh" // USES DirichletPointsDataLine2b
+#include "data/DirichletDataLine2b.hh" // USES DirichletDataLine2b
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsLine2b );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsLine2b::setUp(void)
{ // setUp
- _data = new DirichletPointsDataLine2b();
+ _data = new DirichletDataLine2b();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -16,7 +16,7 @@
#include "pylith/bc/DirichletPoints.hh" // USES DirichletPoints
-#include "data/DirichletPointsDataMulti.hh" // USES DirichletPointsData
+#include "data/DirichletDataMulti.hh" // USES DirichletData
#include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
#include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMulti.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -31,7 +31,7 @@
class TestDirichletPointsMulti;
class DirichletPoints;
- class DirichletPointsDataMulti;
+ class DirichletDataMulti;
} // bc
} // pylith
@@ -60,7 +60,7 @@
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
- DirichletPointsDataMulti* _data; ///< Data for testing
+ DirichletDataMulti* _data; ///< Data for testing
// PRIVATE METHODS ////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMultiTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMultiTri3.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsMultiTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsMultiTri3.hh" // Implementation of class methods
-#include "data/DirichletPointsDataMultiTri3.hh" // USES DirichletPointsDataMultiTri3
+#include "data/DirichletDataMultiTri3.hh" // USES DirichletDataMultiTri3
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsMultiTri3 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsMultiTri3::setUp(void)
{ // setUp
- _data = new DirichletPointsDataMultiTri3();
+ _data = new DirichletDataMultiTri3();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsQuad4.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsQuad4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsQuad4.hh" // Implementation of class methods
-#include "data/DirichletPointsDataQuad4.hh" // USES DirichletPointsDataQuad4
+#include "data/DirichletDataQuad4.hh" // USES DirichletDataQuad4
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsQuad4 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsQuad4::setUp(void)
{ // setUp
- _data = new DirichletPointsDataQuad4();
+ _data = new DirichletDataQuad4();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTet4.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTet4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsTet4.hh" // Implementation of class methods
-#include "data/DirichletPointsDataTet4.hh" // USES DirichletPointsDataTet4
+#include "data/DirichletDataTet4.hh" // USES DirichletDataTet4
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsTet4 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsTet4::setUp(void)
{ // setUp
- _data = new DirichletPointsDataTet4();
+ _data = new DirichletDataTet4();
} // setUp
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTri3.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletPointsTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -14,7 +14,7 @@
#include "TestDirichletPointsTri3.hh" // Implementation of class methods
-#include "data/DirichletPointsDataTri3.hh" // USES DirichletPointsDataTri3
+#include "data/DirichletDataTri3.hh" // USES DirichletDataTri3
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::bc::TestDirichletPointsTri3 );
@@ -24,7 +24,7 @@
void
pylith::bc::TestDirichletPointsTri3::setUp(void)
{ // setUp
- _data = new DirichletPointsDataTri3();
+ _data = new DirichletDataTri3();
} // setUp
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,40 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "DirichletData.hh"
+
+// ----------------------------------------------------------------------
+// Constructor
+pylith::bc::DirichletData::DirichletData(void) :
+ tRef(0),
+ valueRate(0),
+ numDOF(0),
+ numFixedDOF(0),
+ numConstrainedPts(0),
+ id(0),
+ label(0),
+ fixedDOF(0),
+ constrainedPoints(0),
+ valuesInitial(0),
+ meshFilename(0),
+ dbFilename(0)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Destructor
+pylith::bc::DirichletData::~DirichletData(void)
+{ // destructor
+} // destructor
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletData.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdata_hh)
+#define pylith_bc_dirichletdata_hh
+
+namespace pylith {
+ namespace bc {
+ class DirichletData;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+
+ /// Constructor
+ DirichletData(void);
+
+ /// Destructor
+ ~DirichletData(void);
+
+// PUBLIC MEMBERS ///////////////////////////////////////////////////////
+public:
+
+ double tRef; ///< Reference time for rate of change of values
+ double valueRate; ///< Rate of change of value at constrained points.
+
+ int numDOF; ///< Number of degrees of freedom at each point.
+ int numFixedDOF; ///< Number of fixedDOF at constrained points.
+ int numConstrainedPts; ///< Number of points constrained.
+
+ int id; ///< Boundary condition identifier
+ char* label; ///< Label for boundary condition group
+
+ int* fixedDOF; ///< Degrees of freedom that are constrained at each point
+ int* constrainedPoints; ///< Array of indices of constrained points.
+ double* valuesInitial; ///< Values at constrained points.
+
+ char* meshFilename; ///< Filename for input mesh.
+ char* dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdata_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshHex8.txt
+ *
+ * DirichletPoints BC at vertices 0, 1, 6, 7.
+ *
+ * Fixed DOF: { 0, 2 }
+ *
+ * Initial values
+ * 0: -0.2, 0.3
+ * 1: 0.1, 0.7
+ * 6: 0.5, 0.4
+ * 7: 3.2, 6.1
+ * tref = 0.2
+ * Rate of change
+ * +0.4
+ */
+
+#include "DirichletDataHex8.hh"
+
+const int pylith::bc::DirichletDataHex8::_id = 0;
+
+const char* pylith::bc::DirichletDataHex8::_label = "bc";
+
+const int pylith::bc::DirichletDataHex8::_numDOF = 3;
+const int pylith::bc::DirichletDataHex8::_numFixedDOF = 2;
+const int pylith::bc::DirichletDataHex8::_fixedDOF[] = { 0, 2 };
+
+const int pylith::bc::DirichletDataHex8::_numConstrainedPts = 4;
+const int pylith::bc::DirichletDataHex8::_constrainedPoints[] = { 0, 1, 6, 7 };
+
+const double pylith::bc::DirichletDataHex8::_tRef = 0.2;
+const double pylith::bc::DirichletDataHex8::_valueRate = 0.4;
+const double pylith::bc::DirichletDataHex8::_valuesInitial[] = {
+ -0.2, 0.3,
+ 0.1, 0.7,
+ 0.5, 0.4,
+ 3.2, 6.1,
+};
+
+const char* pylith::bc::DirichletDataHex8::_meshFilename =
+ "data/hex8.mesh";
+const char* pylith::bc::DirichletDataHex8::_dbFilename =
+ "data/hex8.spatialdb";
+
+pylith::bc::DirichletDataHex8::DirichletDataHex8(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataHex8::~DirichletDataHex8(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataHex8.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdatahex8_hh)
+#define pylith_bc_dirichletdatahex8_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataHex8;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataHex8 : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataHex8(void);
+
+ /// Destructor
+ ~DirichletDataHex8(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valuesInitial[]; ///< Initial values.
+ static const double _valueRate; ///< Rate of change of values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdatahex8_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,75 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshLine2.txt
+ *
+ * DirichletPoints BC at vertices 0 and 2.
+ *
+ * Fixed DOF: { 0 }
+ *
+ * Values
+ * 0: 1.1 [constrained]
+ * 1: 0.8 [solution]
+ * 2: 2.2 [constrained]
+ * tref = 0.6
+ * Rate of change
+ * +0.3
+ */
+
+#include "DirichletDataLine2.hh"
+
+const int pylith::bc::DirichletDataLine2::_id = 0;
+
+const char* pylith::bc::DirichletDataLine2::_label = "bc0";
+
+const int pylith::bc::DirichletDataLine2::_numDOF = 1;
+const int pylith::bc::DirichletDataLine2::_numFixedDOF = 1;
+const int pylith::bc::DirichletDataLine2::_fixedDOF[] = { 0 };
+
+const int pylith::bc::DirichletDataLine2::_numConstrainedPts = 2;
+const int pylith::bc::DirichletDataLine2::_constrainedPoints[] = { 0, 2 };
+
+const double pylith::bc::DirichletDataLine2::_tRef = 0.6;
+const double pylith::bc::DirichletDataLine2::_valueRate = 0.3;
+const double pylith::bc::DirichletDataLine2::_valuesInitial[] =
+ { 1.1, 2.2 };
+
+const char* pylith::bc::DirichletDataLine2::_meshFilename =
+ "data/line2.mesh";
+const char* pylith::bc::DirichletDataLine2::_dbFilename =
+ "data/line2.spatialdb";
+
+pylith::bc::DirichletDataLine2::DirichletDataLine2(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataLine2::~DirichletDataLine2(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdataline2_hh)
+#define pylith_bc_dirichletdataline2_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataLine2;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataLine2 : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataLine2(void);
+
+ /// Destructor
+ ~DirichletDataLine2(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valueRate; ///< Rate of change of values.
+ static const double _valuesInitial[]; ///< Initial values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdataline2_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,66 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshLine2.txt
+ *
+ * DirichletPoints BC at vertices 0 and 2.
+ *
+ * Fixed DOF: None
+ */
+
+#include "DirichletDataLine2b.hh"
+
+const int pylith::bc::DirichletDataLine2b::_id = 0;
+
+const char* pylith::bc::DirichletDataLine2b::_label = "bc0";
+
+const int pylith::bc::DirichletDataLine2b::_numDOF = 1;
+const int pylith::bc::DirichletDataLine2b::_numFixedDOF = 0;
+const int pylith::bc::DirichletDataLine2b::_fixedDOF[] = {};
+
+const int pylith::bc::DirichletDataLine2b::_numConstrainedPts = 2;
+const int pylith::bc::DirichletDataLine2b::_constrainedPoints[] = { 0, 2 };
+
+const double pylith::bc::DirichletDataLine2b::_tRef = -0.2;
+const double pylith::bc::DirichletDataLine2b::_valueRate = 1.0;
+const double pylith::bc::DirichletDataLine2b::_valuesInitial[] = {0};
+
+const char* pylith::bc::DirichletDataLine2b::_meshFilename =
+ "data/line2.mesh";
+const char* pylith::bc::DirichletDataLine2b::_dbFilename =
+ "data/line2.spatialdb";
+
+pylith::bc::DirichletDataLine2b::DirichletDataLine2b(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataLine2b::~DirichletDataLine2b(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataLine2b.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdataline2b_hh)
+#define pylith_bc_dirichletdataline2b_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataLine2b;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataLine2b : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataLine2b(void);
+
+ /// Destructor
+ ~DirichletDataLine2b(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valueRate; ///< Rate of change of values.
+ static const double _valuesInitial[]; ///< Initial values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdataline2b_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,51 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#include "DirichletDataMulti.hh"
+
+// ----------------------------------------------------------------------
+// Constructor
+pylith::bc::DirichletDataMulti::DirichletDataMulti(void) :
+ numDOF(0),
+ numFixedDOFA(0),
+ numConstrainedPtsA(0),
+ idA(0),
+ labelA(0),
+ fixedDOFA(0),
+ constrainedPointsA(0),
+ dbFilenameA(0),
+ dbFilenameARate(0),
+ tRefA(0),
+ numFixedDOFB(0),
+ numConstrainedPtsB(0),
+ idB(0),
+ labelB(0),
+ fixedDOFB(0),
+ constrainedPointsB(0),
+ dbFilenameB(0),
+ dbFilenameBRate(0),
+ tRefB(0),
+ field(0),
+ constraintSizes(0),
+ constrainedDOF(0),
+ meshFilename(0)
+{ // constructor
+} // constructor
+
+// ----------------------------------------------------------------------
+// Destructor
+pylith::bc::DirichletDataMulti::~DirichletDataMulti(void)
+{ // destructor
+} // destructor
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMulti.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdatamulti_hh)
+#define pylith_bc_dirichletdatamulti_hh
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataMulti;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataMulti
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public :
+
+ /// Constructor
+ DirichletDataMulti(void);
+
+ /// Destructor
+ ~DirichletDataMulti(void);
+
+// PUBLIC MEMBERS ///////////////////////////////////////////////////////
+public:
+
+ int numDOF; ///< Number of degrees of freedom at each point.
+
+ //@{ Boundary condition A
+ int numFixedDOFA; ///< Number of fixedDOF at constrained points.
+ int numConstrainedPtsA; ///< Number of points constrained.
+ int idA; ///< Boundary condition identifier
+ char* labelA; ///< Label for boundary condition group
+ int* fixedDOFA; ///< Degrees of freedom that are constrained at each point
+ int* constrainedPointsA; ///< Array of indices of constrained points.
+ char* dbFilenameA; ///< Filename for db with initial values.
+ char* dbFilenameARate; ///< Filename for db with rate of change of values.
+ double tRefA; ///< Reference time for rate of change of values.
+ //@}
+
+ //@{ Boundary condition B
+ int numFixedDOFB; ///< Number of fixedDOF at constrained points.
+ int numConstrainedPtsB; ///< Number of points constrained.
+ int idB; ///< Boundary condition identifier
+ char* labelB; ///< Label for boundary condition group
+ int* fixedDOFB; ///< Degrees of freedom that are constrained at each point
+ int* constrainedPointsB; ///< Array of indices of constrained points.
+ char* dbFilenameB; ///< Filename for db with initial values.
+ char* dbFilenameBRate; ///< Filename for db with rate of change of values.
+ double tRefB; ///< Reference time for rate of change of values.
+ //@}
+
+ double* field; ///< Values in field
+ int* constraintSizes; ///< Number of constrained DOF at each vertex
+ int* constrainedDOF; ///< Indices of constrained DOF at each constrained vertex
+
+ char* meshFilename; ///< Filename for input mesh.
+};
+
+#endif // pylith_bc_dirichletdatamulti_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,131 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshTri3.txt
+ *
+ * DirichletPoints BC A at vertices 1 and 3.
+ *
+ * Fixed DOF: { 1 }
+ *
+ * Initial values
+ * 1: 0.3
+ * 3: 0.7
+ * tRef = 3.2
+ * Rate of change of values
+ * 1: 0.2
+ * 3: 0.8
+ *
+ * DirichletPoints BC B at vertices 2 and 3.
+ *
+ * Fixed DOF: { 0 }
+ *
+ * Initial values
+ * 2: 0.9
+ * 3: 0.5
+ * tRef = 0.4
+ * Rate of change of values
+ * 2: -0.4
+ * 3: 0.2
+ */
+
+#include "DirichletDataMultiTri3.hh"
+
+const int pylith::bc::DirichletDataMultiTri3::_numDOF = 2;
+
+const int pylith::bc::DirichletDataMultiTri3::_idA = 0;
+const char* pylith::bc::DirichletDataMultiTri3::_labelA = "bc";
+const int pylith::bc::DirichletDataMultiTri3::_numFixedDOFA = 1;
+const int pylith::bc::DirichletDataMultiTri3::_fixedDOFA[] = { 1 };
+const int pylith::bc::DirichletDataMultiTri3::_numConstrainedPtsA = 2;
+const int pylith::bc::DirichletDataMultiTri3::_constrainedPointsA[] = { 1, 3 };
+
+const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameA =
+ "data/tri3.spatialdb";
+const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameARate =
+ "data/tri3_rate.spatialdb";
+const double pylith::bc::DirichletDataMultiTri3::_tRefA = 3.2;
+
+const int pylith::bc::DirichletDataMultiTri3::_idB = 1;
+const char* pylith::bc::DirichletDataMultiTri3::_labelB = "bc2";
+const int pylith::bc::DirichletDataMultiTri3::_numFixedDOFB = 1;
+const int pylith::bc::DirichletDataMultiTri3::_fixedDOFB[] = { 0 };
+const int pylith::bc::DirichletDataMultiTri3::_numConstrainedPtsB = 2;
+const int pylith::bc::DirichletDataMultiTri3::_constrainedPointsB[] = { 2, 3 };
+
+const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameB =
+ "data/tri3_b.spatialdb";
+const char* pylith::bc::DirichletDataMultiTri3::_dbFilenameBRate =
+ "data/tri3_b_rate.spatialdb";
+const double pylith::bc::DirichletDataMultiTri3::_tRefB = 0.4;
+
+const int pylith::bc::DirichletDataMultiTri3::_constraintSizes[] = {
+ 0,
+ 1,
+ 1,
+ 2
+};
+
+const int pylith::bc::DirichletDataMultiTri3::_constrainedDOF[] = {
+ 1,
+ 0,
+ 0, 1
+};
+
+// Values at t=10.0
+const double pylith::bc::DirichletDataMultiTri3::_field[] = {
+ 0.0, 0.0,
+ 0.0, 1.66,
+ -2.94, 0.0,
+ 2.42, 6.14
+};
+
+const char* pylith::bc::DirichletDataMultiTri3::_meshFilename =
+ "data/tri3.mesh";
+
+pylith::bc::DirichletDataMultiTri3::DirichletDataMultiTri3(void)
+{ // constructor
+ numDOF = _numDOF;
+
+ idA = _idA;
+ labelA = const_cast<char*>(_labelA);
+ numFixedDOFA = _numFixedDOFA;
+ fixedDOFA = const_cast<int*>(_fixedDOFA);
+ numConstrainedPtsA = _numConstrainedPtsA;
+ constrainedPointsA = const_cast<int*>(_constrainedPointsA);
+
+ dbFilenameA = const_cast<char*>(_dbFilenameA);
+ dbFilenameARate = const_cast<char*>(_dbFilenameARate);
+ tRefA = _tRefA;
+
+ idB = _idA;
+ labelB = const_cast<char*>(_labelB);
+ numFixedDOFB = _numFixedDOFB;
+ fixedDOFB = const_cast<int*>(_fixedDOFB);
+ numConstrainedPtsB = _numConstrainedPtsB;
+ constrainedPointsB = const_cast<int*>(_constrainedPointsB);
+
+ dbFilenameB = const_cast<char*>(_dbFilenameB);
+ dbFilenameBRate = const_cast<char*>(_dbFilenameBRate);
+ tRefB = _tRefB;
+
+ field = const_cast<double*>(_field);
+ constraintSizes = const_cast<int*>(_constraintSizes);
+ constrainedDOF = const_cast<int*>(_constrainedDOF);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+} // constructor
+
+pylith::bc::DirichletDataMultiTri3::~DirichletDataMultiTri3(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataMultiTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_DirichletPointsDatamultitri3_hh)
+#define pylith_bc_DirichletPointsDatamultitri3_hh
+
+#include "DirichletDataMulti.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataMultiTri3;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataMultiTri3 : public DirichletDataMulti
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataMultiTri3(void);
+
+ /// Destructor
+ ~DirichletDataMultiTri3(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOFA; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPtsA; ///< Number of points constrained.
+ static const int _idA; ///< Boundary condition identifier
+ static const char* _labelA; /// Label for boundary condition group
+ static const int _fixedDOFA[]; ///< Degrees of freedom constrained at points
+ static const int _constrainedPointsA[]; ///< Array of indices of constrained pts.
+ static const char* _dbFilenameA; ///< Filename for db of initial values.
+ static const char* _dbFilenameARate; ///< Filename for db of rate of change.
+ static const double _tRefA; ///< Reference time for rate of change.
+
+ static const int _numFixedDOFB; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPtsB; ///< Number of points constrained.
+ static const int _idB; ///< Boundary condition identifier
+ static const char* _labelB; /// Label for boundary condition group
+ static const int _fixedDOFB[]; ///< Degrees of freedom constrained at points
+ static const int _constrainedPointsB[]; ///< Array of indices of constrained pts.
+ static const char* _dbFilenameB; ///< Filename for db of initial values.
+ static const char* _dbFilenameBRate; ///< Filename for db of rate of change.
+ static const double _tRefB; ///< Reference time for rate of change.
+
+ static const double _field[]; ///< Values in field
+ static const int _constraintSizes[]; ///< Number of constrained DOF at each vertex
+ static const int _constrainedDOF[]; ///< Indices of constrained DOF at each constrained vertex
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+};
+
+#endif // pylith_bc_dirichletdatamultitri3_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,74 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshQuad4.txt
+ *
+ * DirichletPoints BC at vertices 0, 2, 4.
+ *
+ * Fixed DOF: { 0, 1 }
+ *
+ * Values
+ * 0: 0.1, 0.6
+ * 2: 0.5, 0.3
+ * 4: 0.4, 0.2
+ * tRef = 3.0
+ * Rate of change = -0.5
+ */
+
+#include "DirichletDataQuad4.hh"
+
+const int pylith::bc::DirichletDataQuad4::_id = 0;
+
+const char* pylith::bc::DirichletDataQuad4::_label = "bc3";
+
+const int pylith::bc::DirichletDataQuad4::_numDOF = 2;
+const int pylith::bc::DirichletDataQuad4::_numFixedDOF = 2;
+const int pylith::bc::DirichletDataQuad4::_fixedDOF[] = { 0, 1 };
+
+const int pylith::bc::DirichletDataQuad4::_numConstrainedPts = 3;
+const int pylith::bc::DirichletDataQuad4::_constrainedPoints[] = { 0, 2, 4 };
+
+const double pylith::bc::DirichletDataQuad4::_tRef = 3.0;
+const double pylith::bc::DirichletDataQuad4::_valueRate = -0.5;
+const double pylith::bc::DirichletDataQuad4::_valuesInitial[] =
+ { 0.1, 0.6, 0.5, 0.3, 0.4, 0.2 };
+
+const char* pylith::bc::DirichletDataQuad4::_meshFilename =
+ "data/quad4.mesh";
+const char* pylith::bc::DirichletDataQuad4::_dbFilename =
+ "data/quad4.spatialdb";
+
+pylith::bc::DirichletDataQuad4::DirichletDataQuad4(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataQuad4::~DirichletDataQuad4(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataQuad4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdataquad4_hh)
+#define pylith_bc_dirichletdataquad4_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataQuad4;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataQuad4 : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataQuad4(void);
+
+ /// Destructor
+ ~DirichletDataQuad4(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valueRate; ///< Rate of change of values.
+ static const double _valuesInitial[]; ///< Initial values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdataquad4_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,78 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshTet4.txt
+ *
+ * DirichletPoints BC at vertices 2.
+ *
+ * Fixed DOF: { 1, 2 }
+ *
+ * Values
+ * 1: 0.7, 0.2
+ * 2: 0.7, 0.2
+ * 3: 0.7, 0.2
+ * tRef = 1.2
+ * Rate of change = 4.0
+ */
+
+#include "DirichletDataTet4.hh"
+
+const int pylith::bc::DirichletDataTet4::_id = 0;
+
+const char* pylith::bc::DirichletDataTet4::_label = "bc3";
+
+const int pylith::bc::DirichletDataTet4::_numDOF = 3;
+const int pylith::bc::DirichletDataTet4::_numFixedDOF = 2;
+const int pylith::bc::DirichletDataTet4::_fixedDOF[] = { 1, 2 };
+
+const int pylith::bc::DirichletDataTet4::_numConstrainedPts = 3;
+const int pylith::bc::DirichletDataTet4::_constrainedPoints[] = { 1, 2, 3 };
+
+
+const double pylith::bc::DirichletDataTet4::_tRef = 1.2;
+const double pylith::bc::DirichletDataTet4::_valueRate = 4.0;
+const double pylith::bc::DirichletDataTet4::_valuesInitial[] = {
+ 0.7, 0.2,
+ 0.7, 0.2,
+ 0.7, 0.2,
+};
+
+const char* pylith::bc::DirichletDataTet4::_meshFilename =
+ "data/tet4.mesh";
+const char* pylith::bc::DirichletDataTet4::_dbFilename =
+ "data/tet4.spatialdb";
+
+pylith::bc::DirichletDataTet4::DirichletDataTet4(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataTet4::~DirichletDataTet4(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTet4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdatatet4_hh)
+#define pylith_bc_dirichletdatatet4_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataTet4;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataTet4 : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataTet4(void);
+
+ /// Destructor
+ ~DirichletDataTet4(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valueRate; ///< Rate of change of values.
+ static const double _valuesInitial[]; ///< Initial values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdatatet4_hh
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.cc (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.cc (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Mesh: meshTri3.txt
+ *
+ * DirichletPoints BC at vertices 1 and 3.
+ *
+ * Fixed DOF: { 1 }
+ *
+ * Values
+ * 1: 0.3
+ * 3: 0.7
+ * tRef = 0.7
+ * Rate of change = -0.2
+ */
+
+#include "DirichletDataTri3.hh"
+
+const int pylith::bc::DirichletDataTri3::_id = 0;
+
+const char* pylith::bc::DirichletDataTri3::_label = "bc";
+
+const int pylith::bc::DirichletDataTri3::_numDOF = 2;
+const int pylith::bc::DirichletDataTri3::_numFixedDOF = 1;
+const int pylith::bc::DirichletDataTri3::_fixedDOF[] = { 1 };
+
+const int pylith::bc::DirichletDataTri3::_numConstrainedPts = 2;
+const int pylith::bc::DirichletDataTri3::_constrainedPoints[] = { 1, 3 };
+
+const double pylith::bc::DirichletDataTri3::_tRef = 0.7;
+const double pylith::bc::DirichletDataTri3::_valueRate = -0.2;
+const double pylith::bc::DirichletDataTri3::_valuesInitial[] =
+ { 0.3, 0.7 };
+
+const char* pylith::bc::DirichletDataTri3::_meshFilename =
+ "data/tri3.mesh";
+const char* pylith::bc::DirichletDataTri3::_dbFilename =
+ "data/tri3.spatialdb";
+
+pylith::bc::DirichletDataTri3::DirichletDataTri3(void)
+{ // constructor
+ id = _id;
+ label = const_cast<char*>(_label);
+
+ numDOF = _numDOF;
+ numFixedDOF = _numFixedDOF;
+ fixedDOF = const_cast<int*>(_fixedDOF);
+
+ numConstrainedPts = _numConstrainedPts;
+ constrainedPoints = const_cast<int*>(_constrainedPoints);
+
+ tRef = _tRef;
+ valueRate = _valueRate;
+ valuesInitial = const_cast<double*>(_valuesInitial);
+
+ meshFilename = const_cast<char*>(_meshFilename);
+ dbFilename = const_cast<char*>(_dbFilename);
+} // constructor
+
+pylith::bc::DirichletDataTri3::~DirichletDataTri3(void)
+{}
+
+
+// End of file
Copied: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.hh (from rev 9336, short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.hh (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletDataTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_bc_dirichletdatatri3_hh)
+#define pylith_bc_dirichletdatatri3_hh
+
+#include "DirichletData.hh"
+
+namespace pylith {
+ namespace bc {
+ class DirichletDataTri3;
+ } // pylith
+} // bc
+
+class pylith::bc::DirichletDataTri3 : public DirichletData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public:
+
+ /// Constructor
+ DirichletDataTri3(void);
+
+ /// Destructor
+ ~DirichletDataTri3(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+ static const int _numDOF; ///< Number of degrees of freedom at each point.
+
+ static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
+ static const int _numConstrainedPts; ///< Number of points constrained.
+
+ static const int _id; ///< Boundary condition identifier
+ static const char* _label; /// Label for boundary condition group
+
+ static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
+
+ static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
+ static const double _tRef; ///< Reference time for rate of change of value
+ static const double _valueRate; ///< Rate of change of values.
+ static const double _valuesInitial[]; ///< Initial values.
+
+ static const char* _meshFilename; ///< Filename of input mesh.
+ static const char* _dbFilename; ///< Filename of simple spatial database.
+};
+
+#endif // pylith_bc_dirichletdatatri3_hh
+
+// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,40 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "DirichletPointsData.hh"
-
-// ----------------------------------------------------------------------
-// Constructor
-pylith::bc::DirichletPointsData::DirichletPointsData(void) :
- tRef(0),
- valueRate(0),
- numDOF(0),
- numFixedDOF(0),
- numConstrainedPts(0),
- id(0),
- label(0),
- fixedDOF(0),
- constrainedPoints(0),
- valuesInitial(0),
- meshFilename(0),
- dbFilename(0)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Destructor
-pylith::bc::DirichletPointsData::~DirichletPointsData(void)
-{ // destructor
-} // destructor
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsData.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdata_hh)
-#define pylith_bc_dirichletpointsdata_hh
-
-namespace pylith {
- namespace bc {
- class DirichletPointsData;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-
- /// Constructor
- DirichletPointsData(void);
-
- /// Destructor
- ~DirichletPointsData(void);
-
-// PUBLIC MEMBERS ///////////////////////////////////////////////////////
-public:
-
- double tRef; ///< Reference time for rate of change of values
- double valueRate; ///< Rate of change of value at constrained points.
-
- int numDOF; ///< Number of degrees of freedom at each point.
- int numFixedDOF; ///< Number of fixedDOF at constrained points.
- int numConstrainedPts; ///< Number of points constrained.
-
- int id; ///< Boundary condition identifier
- char* label; ///< Label for boundary condition group
-
- int* fixedDOF; ///< Degrees of freedom that are constrained at each point
- int* constrainedPoints; ///< Array of indices of constrained points.
- double* valuesInitial; ///< Values at constrained points.
-
- char* meshFilename; ///< Filename for input mesh.
- char* dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_cohesivedata_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshHex8.txt
- *
- * DirichletPoints BC at vertices 0, 1, 6, 7.
- *
- * Fixed DOF: { 0, 2 }
- *
- * Initial values
- * 0: -0.2, 0.3
- * 1: 0.1, 0.7
- * 6: 0.5, 0.4
- * 7: 3.2, 6.1
- * tref = 0.2
- * Rate of change
- * +0.4
- */
-
-#include "DirichletPointsDataHex8.hh"
-
-const int pylith::bc::DirichletPointsDataHex8::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataHex8::_label = "bc";
-
-const int pylith::bc::DirichletPointsDataHex8::_numDOF = 3;
-const int pylith::bc::DirichletPointsDataHex8::_numFixedDOF = 2;
-const int pylith::bc::DirichletPointsDataHex8::_fixedDOF[] = { 0, 2 };
-
-const int pylith::bc::DirichletPointsDataHex8::_numConstrainedPts = 4;
-const int pylith::bc::DirichletPointsDataHex8::_constrainedPoints[] = { 0, 1, 6, 7 };
-
-const double pylith::bc::DirichletPointsDataHex8::_tRef = 0.2;
-const double pylith::bc::DirichletPointsDataHex8::_valueRate = 0.4;
-const double pylith::bc::DirichletPointsDataHex8::_valuesInitial[] = {
- -0.2, 0.3,
- 0.1, 0.7,
- 0.5, 0.4,
- 3.2, 6.1,
-};
-
-const char* pylith::bc::DirichletPointsDataHex8::_meshFilename =
- "data/hex8.mesh";
-const char* pylith::bc::DirichletPointsDataHex8::_dbFilename =
- "data/hex8.spatialdb";
-
-pylith::bc::DirichletPointsDataHex8::DirichletPointsDataHex8(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- tRef = _tRef;
- valueRate = _valueRate;
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataHex8::~DirichletPointsDataHex8(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataHex8.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdatahex8_hh)
-#define pylith_bc_dirichletpointsdatahex8_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataHex8;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataHex8 : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataHex8(void);
-
- /// Destructor
- ~DirichletPointsDataHex8(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valuesInitial[]; ///< Initial values.
- static const double _valueRate; ///< Rate of change of values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdatahex8_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,75 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshLine2.txt
- *
- * DirichletPoints BC at vertices 0 and 2.
- *
- * Fixed DOF: { 0 }
- *
- * Values
- * 0: 1.1 [constrained]
- * 1: 0.8 [solution]
- * 2: 2.2 [constrained]
- * tref = 0.6
- * Rate of change
- * +0.3
- */
-
-#include "DirichletPointsDataLine2.hh"
-
-const int pylith::bc::DirichletPointsDataLine2::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataLine2::_label = "bc0";
-
-const int pylith::bc::DirichletPointsDataLine2::_numDOF = 1;
-const int pylith::bc::DirichletPointsDataLine2::_numFixedDOF = 1;
-const int pylith::bc::DirichletPointsDataLine2::_fixedDOF[] = { 0 };
-
-const int pylith::bc::DirichletPointsDataLine2::_numConstrainedPts = 2;
-const int pylith::bc::DirichletPointsDataLine2::_constrainedPoints[] = { 0, 2 };
-
-const double pylith::bc::DirichletPointsDataLine2::_tRef = 0.6;
-const double pylith::bc::DirichletPointsDataLine2::_valueRate = 0.3;
-const double pylith::bc::DirichletPointsDataLine2::_valuesInitial[] =
- { 1.1, 2.2 };
-
-const char* pylith::bc::DirichletPointsDataLine2::_meshFilename =
- "data/line2.mesh";
-const char* pylith::bc::DirichletPointsDataLine2::_dbFilename =
- "data/line2.spatialdb";
-
-pylith::bc::DirichletPointsDataLine2::DirichletPointsDataLine2(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
-
- tRef = _tRef;
- valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataLine2::~DirichletPointsDataLine2(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdataline2_hh)
-#define pylith_bc_dirichletpointsdataline2_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataLine2;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataLine2 : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataLine2(void);
-
- /// Destructor
- ~DirichletPointsDataLine2(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdataline2_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshLine2.txt
- *
- * DirichletPoints BC at vertices 0 and 2.
- *
- * Fixed DOF: None
- */
-
-#include "DirichletPointsDataLine2b.hh"
-
-const int pylith::bc::DirichletPointsDataLine2b::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataLine2b::_label = "bc0";
-
-const int pylith::bc::DirichletPointsDataLine2b::_numDOF = 1;
-const int pylith::bc::DirichletPointsDataLine2b::_numFixedDOF = 0;
-const int pylith::bc::DirichletPointsDataLine2b::_fixedDOF[] = {};
-
-const int pylith::bc::DirichletPointsDataLine2b::_numConstrainedPts = 2;
-const int pylith::bc::DirichletPointsDataLine2b::_constrainedPoints[] = { 0, 2 };
-
-const double pylith::bc::DirichletPointsDataLine2b::_tRef = -0.2;
-const double pylith::bc::DirichletPointsDataLine2b::_valueRate = 1.0;
-const double pylith::bc::DirichletPointsDataLine2b::_valuesInitial[] = {0};
-
-const char* pylith::bc::DirichletPointsDataLine2b::_meshFilename =
- "data/line2.mesh";
-const char* pylith::bc::DirichletPointsDataLine2b::_dbFilename =
- "data/line2.spatialdb";
-
-pylith::bc::DirichletPointsDataLine2b::DirichletPointsDataLine2b(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
-
- tRef = _tRef;
- valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataLine2b::~DirichletPointsDataLine2b(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataLine2b.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdataline2b_hh)
-#define pylith_bc_dirichletpointsdataline2b_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataLine2b;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataLine2b : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataLine2b(void);
-
- /// Destructor
- ~DirichletPointsDataLine2b(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdataline2b_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,51 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#include "DirichletPointsDataMulti.hh"
-
-// ----------------------------------------------------------------------
-// Constructor
-pylith::bc::DirichletPointsDataMulti::DirichletPointsDataMulti(void) :
- numDOF(0),
- numFixedDOFA(0),
- numConstrainedPtsA(0),
- idA(0),
- labelA(0),
- fixedDOFA(0),
- constrainedPointsA(0),
- dbFilenameA(0),
- dbFilenameARate(0),
- tRefA(0),
- numFixedDOFB(0),
- numConstrainedPtsB(0),
- idB(0),
- labelB(0),
- fixedDOFB(0),
- constrainedPointsB(0),
- dbFilenameB(0),
- dbFilenameBRate(0),
- tRefB(0),
- field(0),
- constraintSizes(0),
- constrainedDOF(0),
- meshFilename(0)
-{ // constructor
-} // constructor
-
-// ----------------------------------------------------------------------
-// Destructor
-pylith::bc::DirichletPointsDataMulti::~DirichletPointsDataMulti(void)
-{ // destructor
-} // destructor
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMulti.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,72 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdatamulti_hh)
-#define pylith_bc_dirichletpointsdatamulti_hh
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataMulti;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataMulti
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public :
-
- /// Constructor
- DirichletPointsDataMulti(void);
-
- /// Destructor
- ~DirichletPointsDataMulti(void);
-
-// PUBLIC MEMBERS ///////////////////////////////////////////////////////
-public:
-
- int numDOF; ///< Number of degrees of freedom at each point.
-
- //@{ Boundary condition A
- int numFixedDOFA; ///< Number of fixedDOF at constrained points.
- int numConstrainedPtsA; ///< Number of points constrained.
- int idA; ///< Boundary condition identifier
- char* labelA; ///< Label for boundary condition group
- int* fixedDOFA; ///< Degrees of freedom that are constrained at each point
- int* constrainedPointsA; ///< Array of indices of constrained points.
- char* dbFilenameA; ///< Filename for db with initial values.
- char* dbFilenameARate; ///< Filename for db with rate of change of values.
- double tRefA; ///< Reference time for rate of change of values.
- //@}
-
- //@{ Boundary condition B
- int numFixedDOFB; ///< Number of fixedDOF at constrained points.
- int numConstrainedPtsB; ///< Number of points constrained.
- int idB; ///< Boundary condition identifier
- char* labelB; ///< Label for boundary condition group
- int* fixedDOFB; ///< Degrees of freedom that are constrained at each point
- int* constrainedPointsB; ///< Array of indices of constrained points.
- char* dbFilenameB; ///< Filename for db with initial values.
- char* dbFilenameBRate; ///< Filename for db with rate of change of values.
- double tRefB; ///< Reference time for rate of change of values.
- //@}
-
- double* field; ///< Values in field
- int* constraintSizes; ///< Number of constrained DOF at each vertex
- int* constrainedDOF; ///< Indices of constrained DOF at each constrained vertex
-
- char* meshFilename; ///< Filename for input mesh.
-};
-
-#endif // pylith_bc_cohesivedatamulti_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,131 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshTri3.txt
- *
- * DirichletPoints BC A at vertices 1 and 3.
- *
- * Fixed DOF: { 1 }
- *
- * Initial values
- * 1: 0.3
- * 3: 0.7
- * tRef = 3.2
- * Rate of change of values
- * 1: 0.2
- * 3: 0.8
- *
- * DirichletPoints BC B at vertex 0 and 3.
- *
- * Fixed DOF: { 0 }
- *
- * Initial values
- * 0: 0.9
- * 3: 0.5
- * tRef = 0.4
- * Rate of change of values
- * 1: -0.4
- * 3: 0.2
- */
-
-#include "DirichletPointsDataMultiTri3.hh"
-
-const int pylith::bc::DirichletPointsDataMultiTri3::_numDOF = 2;
-
-const int pylith::bc::DirichletPointsDataMultiTri3::_idA = 0;
-const char* pylith::bc::DirichletPointsDataMultiTri3::_labelA = "bc";
-const int pylith::bc::DirichletPointsDataMultiTri3::_numFixedDOFA = 1;
-const int pylith::bc::DirichletPointsDataMultiTri3::_fixedDOFA[] = { 1 };
-const int pylith::bc::DirichletPointsDataMultiTri3::_numConstrainedPtsA = 2;
-const int pylith::bc::DirichletPointsDataMultiTri3::_constrainedPointsA[] = { 1, 3 };
-
-const char* pylith::bc::DirichletPointsDataMultiTri3::_dbFilenameA =
- "data/tri3.spatialdb";
-const char* pylith::bc::DirichletPointsDataMultiTri3::_dbFilenameARate =
- "data/tri3_rate.spatialdb";
-const double pylith::bc::DirichletPointsDataMultiTri3::_tRefA = 3.2;
-
-const int pylith::bc::DirichletPointsDataMultiTri3::_idB = 1;
-const char* pylith::bc::DirichletPointsDataMultiTri3::_labelB = "bc2";
-const int pylith::bc::DirichletPointsDataMultiTri3::_numFixedDOFB = 1;
-const int pylith::bc::DirichletPointsDataMultiTri3::_fixedDOFB[] = { 0 };
-const int pylith::bc::DirichletPointsDataMultiTri3::_numConstrainedPtsB = 1;
-const int pylith::bc::DirichletPointsDataMultiTri3::_constrainedPointsB[] = { 0, 3 };
-
-const char* pylith::bc::DirichletPointsDataMultiTri3::_dbFilenameB =
- "data/tri3_b.spatialdb";
-const char* pylith::bc::DirichletPointsDataMultiTri3::_dbFilenameBRate =
- "data/tri3_b_rate.spatialdb";
-const double pylith::bc::DirichletPointsDataMultiTri3::_tRefB = 0.4;
-
-const int pylith::bc::DirichletPointsDataMultiTri3::_constraintSizes[] = {
- 1,
- 1,
- 0,
- 2
-};
-
-const int pylith::bc::DirichletPointsDataMultiTri3::_constrainedDOF[] = {
- 0,
- 1,
- 0, 1
-};
-
-// Values at t=10.0
-const double pylith::bc::DirichletPointsDataMultiTri3::_field[] = {
- -2.94, 0.0,
- 0.0, 1.66,
- 0.0, 0.0,
- 2.42, 6.14
-};
-
-const char* pylith::bc::DirichletPointsDataMultiTri3::_meshFilename =
- "data/tri3.mesh";
-
-pylith::bc::DirichletPointsDataMultiTri3::DirichletPointsDataMultiTri3(void)
-{ // constructor
- numDOF = _numDOF;
-
- idA = _idA;
- labelA = const_cast<char*>(_labelA);
- numFixedDOFA = _numFixedDOFA;
- fixedDOFA = const_cast<int*>(_fixedDOFA);
- numConstrainedPtsA = _numConstrainedPtsA;
- constrainedPointsA = const_cast<int*>(_constrainedPointsA);
-
- dbFilenameA = const_cast<char*>(_dbFilenameA);
- dbFilenameARate = const_cast<char*>(_dbFilenameARate);
- tRefA = _tRefA;
-
- idB = _idA;
- labelB = const_cast<char*>(_labelB);
- numFixedDOFB = _numFixedDOFB;
- fixedDOFB = const_cast<int*>(_fixedDOFB);
- numConstrainedPtsB = _numConstrainedPtsB;
- constrainedPointsB = const_cast<int*>(_constrainedPointsB);
-
- dbFilenameB = const_cast<char*>(_dbFilenameB);
- dbFilenameBRate = const_cast<char*>(_dbFilenameBRate);
- tRefB = _tRefB;
-
- field = const_cast<double*>(_field);
- constraintSizes = const_cast<int*>(_constraintSizes);
- constrainedDOF = const_cast<int*>(_constrainedDOF);
-
- meshFilename = const_cast<char*>(_meshFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataMultiTri3::~DirichletPointsDataMultiTri3(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataMultiTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdatamultitri3_hh)
-#define pylith_bc_dirichletpointsdatamultitri3_hh
-
-#include "DirichletPointsDataMulti.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataMultiTri3;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataMultiTri3 : public DirichletPointsDataMulti
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataMultiTri3(void);
-
- /// Destructor
- ~DirichletPointsDataMultiTri3(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOFA; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPtsA; ///< Number of points constrained.
- static const int _idA; ///< Boundary condition identifier
- static const char* _labelA; /// Label for boundary condition group
- static const int _fixedDOFA[]; ///< Degrees of freedom constrained at points
- static const int _constrainedPointsA[]; ///< Array of indices of constrained pts.
- static const char* _dbFilenameA; ///< Filename for db of initial values.
- static const char* _dbFilenameARate; ///< Filename for db of rate of change.
- static const double _tRefA; ///< Reference time for rate of change.
-
- static const int _numFixedDOFB; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPtsB; ///< Number of points constrained.
- static const int _idB; ///< Boundary condition identifier
- static const char* _labelB; /// Label for boundary condition group
- static const int _fixedDOFB[]; ///< Degrees of freedom constrained at points
- static const int _constrainedPointsB[]; ///< Array of indices of constrained pts.
- static const char* _dbFilenameB; ///< Filename for db of initial values.
- static const char* _dbFilenameBRate; ///< Filename for db of rate of change.
- static const double _tRefB; ///< Reference time for rate of change.
-
- static const double _field[]; ///< Values in field
- static const int _constraintSizes[]; ///< Number of constrained DOF at each vertex
- static const int _constrainedDOF[]; ///< Indices of constrained DOF at each constrained vertex
-
- static const char* _meshFilename; ///< Filename of input mesh.
-};
-
-#endif // pylith_bc_dirichletpointsdatamultitri3_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,74 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshQuad4.txt
- *
- * DirichletPoints BC at vertices 0, 1, 4.
- *
- * Fixed DOF: { 0, 1 }
- *
- * Values
- * 0: 0.1, 0.6
- * 1: 0.5, 0.3
- * 4: 0.4, 0.2
- * tRef = 3.0
- * Rate of change = -0.5
- */
-
-#include "DirichletPointsDataQuad4.hh"
-
-const int pylith::bc::DirichletPointsDataQuad4::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataQuad4::_label = "bc";
-
-const int pylith::bc::DirichletPointsDataQuad4::_numDOF = 2;
-const int pylith::bc::DirichletPointsDataQuad4::_numFixedDOF = 2;
-const int pylith::bc::DirichletPointsDataQuad4::_fixedDOF[] = { 0, 1 };
-
-const int pylith::bc::DirichletPointsDataQuad4::_numConstrainedPts = 3;
-const int pylith::bc::DirichletPointsDataQuad4::_constrainedPoints[] = { 0, 1, 4 };
-
-const double pylith::bc::DirichletPointsDataQuad4::_tRef = 3.0;
-const double pylith::bc::DirichletPointsDataQuad4::_valueRate = -0.5;
-const double pylith::bc::DirichletPointsDataQuad4::_valuesInitial[] =
- { 0.1, 0.6, 0.5, 0.3, 0.4, 0.2 };
-
-const char* pylith::bc::DirichletPointsDataQuad4::_meshFilename =
- "data/quad4.mesh";
-const char* pylith::bc::DirichletPointsDataQuad4::_dbFilename =
- "data/quad4.spatialdb";
-
-pylith::bc::DirichletPointsDataQuad4::DirichletPointsDataQuad4(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
-
- tRef = _tRef;
- valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataQuad4::~DirichletPointsDataQuad4(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataQuad4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdataquad4_hh)
-#define pylith_bc_dirichletpointsdataquad4_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataQuad4;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataQuad4 : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataQuad4(void);
-
- /// Destructor
- ~DirichletPointsDataQuad4(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdataquad4_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshTet4.txt
- *
- * DirichletPoints BC at vertices 2.
- *
- * Fixed DOF: { 1, 2 }
- *
- * Values
- * 2: 0.7, 0.2
- * tRef = 1.2
- * Rate of change = 4.0
- */
-
-#include "DirichletPointsDataTet4.hh"
-
-const int pylith::bc::DirichletPointsDataTet4::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataTet4::_label = "bc";
-
-const int pylith::bc::DirichletPointsDataTet4::_numDOF = 3;
-const int pylith::bc::DirichletPointsDataTet4::_numFixedDOF = 2;
-const int pylith::bc::DirichletPointsDataTet4::_fixedDOF[] = { 1, 2 };
-
-const int pylith::bc::DirichletPointsDataTet4::_numConstrainedPts = 1;
-const int pylith::bc::DirichletPointsDataTet4::_constrainedPoints[] = { 2 };
-
-
-const double pylith::bc::DirichletPointsDataTet4::_tRef = 1.2;
-const double pylith::bc::DirichletPointsDataTet4::_valueRate = 4.0;
-const double pylith::bc::DirichletPointsDataTet4::_valuesInitial[] =
- { 0.7, 0.2 };
-
-const char* pylith::bc::DirichletPointsDataTet4::_meshFilename =
- "data/tet4.mesh";
-const char* pylith::bc::DirichletPointsDataTet4::_dbFilename =
- "data/tet4.spatialdb";
-
-pylith::bc::DirichletPointsDataTet4::DirichletPointsDataTet4(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
-
- tRef = _tRef;
- valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataTet4::~DirichletPointsDataTet4(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTet4.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdatatet4_hh)
-#define pylith_bc_dirichletpointsdatatet4_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataTet4;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataTet4 : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataTet4(void);
-
- /// Destructor
- ~DirichletPointsDataTet4(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdatatet4_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.cc 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.cc 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Mesh: meshTri3.txt
- *
- * DirichletPoints BC at vertices 1 and 3.
- *
- * Fixed DOF: { 1 }
- *
- * Values
- * 1: 0.3
- * 3: 0.7
- * tRef = 0.7
- * Rate of change = -0.2
- */
-
-#include "DirichletPointsDataTri3.hh"
-
-const int pylith::bc::DirichletPointsDataTri3::_id = 0;
-
-const char* pylith::bc::DirichletPointsDataTri3::_label = "bc";
-
-const int pylith::bc::DirichletPointsDataTri3::_numDOF = 2;
-const int pylith::bc::DirichletPointsDataTri3::_numFixedDOF = 1;
-const int pylith::bc::DirichletPointsDataTri3::_fixedDOF[] = { 1 };
-
-const int pylith::bc::DirichletPointsDataTri3::_numConstrainedPts = 2;
-const int pylith::bc::DirichletPointsDataTri3::_constrainedPoints[] = { 1, 3 };
-
-const double pylith::bc::DirichletPointsDataTri3::_tRef = 0.7;
-const double pylith::bc::DirichletPointsDataTri3::_valueRate = -0.2;
-const double pylith::bc::DirichletPointsDataTri3::_valuesInitial[] =
- { 0.3, 0.7 };
-
-const char* pylith::bc::DirichletPointsDataTri3::_meshFilename =
- "data/tri3.mesh";
-const char* pylith::bc::DirichletPointsDataTri3::_dbFilename =
- "data/tri3.spatialdb";
-
-pylith::bc::DirichletPointsDataTri3::DirichletPointsDataTri3(void)
-{ // constructor
- id = _id;
- label = const_cast<char*>(_label);
-
- numDOF = _numDOF;
- numFixedDOF = _numFixedDOF;
- fixedDOF = const_cast<int*>(_fixedDOF);
-
- numConstrainedPts = _numConstrainedPts;
- constrainedPoints = const_cast<int*>(_constrainedPoints);
-
- tRef = _tRef;
- valueRate = _valueRate;
- valuesInitial = const_cast<double*>(_valuesInitial);
-
- meshFilename = const_cast<char*>(_meshFilename);
- dbFilename = const_cast<char*>(_dbFilename);
-} // constructor
-
-pylith::bc::DirichletPointsDataTri3::~DirichletPointsDataTri3(void)
-{}
-
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.hh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/DirichletPointsDataTri3.hh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_bc_dirichletpointsdatatri3_hh)
-#define pylith_bc_dirichletpointsdatatri3_hh
-
-#include "DirichletPointsData.hh"
-
-namespace pylith {
- namespace bc {
- class DirichletPointsDataTri3;
- } // pylith
-} // bc
-
-class pylith::bc::DirichletPointsDataTri3 : public DirichletPointsData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public:
-
- /// Constructor
- DirichletPointsDataTri3(void);
-
- /// Destructor
- ~DirichletPointsDataTri3(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
- static const int _numDOF; ///< Number of degrees of freedom at each point.
-
- static const int _numFixedDOF; ///< Number of fixedDOF at constrained points.
- static const int _numConstrainedPts; ///< Number of points constrained.
-
- static const int _id; ///< Boundary condition identifier
- static const char* _label; /// Label for boundary condition group
-
- static const int _fixedDOF[]; ///< Degrees of freedom constrained at points
-
- static const int _constrainedPoints[]; ///< Array of indices of constrained pts.
- static const double _tRef; ///< Reference time for rate of change of value
- static const double _valueRate; ///< Rate of change of values.
- static const double _valuesInitial[]; ///< Initial values.
-
- static const char* _meshFilename; ///< Filename of input mesh.
- static const char* _dbFilename; ///< Filename of simple spatial database.
-};
-
-#endif // pylith_bc_dirichletpointsdatatri3_hh
-
-// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4.spatialdb 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4.spatialdb 2008-02-14 21:52:10 UTC (rev 9344)
@@ -12,5 +12,5 @@
}
}
-1.0 -1.0 0.1 0.6
--1.0 1.0 0.5 0.3
+ 0.0 -1.0 0.5 0.3
1.0 -1.0 0.4 0.2
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3.mesh 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3.mesh 2008-02-14 21:52:10 UTC (rev 9344)
@@ -54,7 +54,7 @@
type = vertices
count = 2
indices = {
- 0 3
+ 2 3
}
}
}
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b.spatialdb 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b.spatialdb 2008-02-14 21:52:10 UTC (rev 9344)
@@ -11,5 +11,5 @@
space-dim = 2
}
}
--1.0 0.0 0.9
+ 0.0 1.0 0.9
1.0 0.0 0.5
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b_rate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b_rate.spatialdb 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_b_rate.spatialdb 2008-02-14 21:52:10 UTC (rev 9344)
@@ -11,5 +11,5 @@
space-dim = 2
}
}
--1.0 0.0 -0.4
+ 0.0 1.0 -0.4
1.0 0.0 0.2
Modified: short/3D/PyLith/trunk/unittests/pytests/bc/TestNeumann.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/bc/TestNeumann.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/pytests/bc/TestNeumann.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -182,7 +182,8 @@
from pylith.bc.Neumann import Neumann
bc = Neumann()
bc._configure()
- bc.id = 0
+ bc.output._configure()
+ bc.output.writer._configure()
bc.label = "bc"
from pylith.feassemble.FIATSimplex import FIATSimplex
Modified: short/3D/PyLith/trunk/unittests/pytests/bc/testbc.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/bc/testbc.py 2008-02-14 19:30:37 UTC (rev 9343)
+++ short/3D/PyLith/trunk/unittests/pytests/bc/testbc.py 2008-02-14 21:52:10 UTC (rev 9344)
@@ -56,6 +56,9 @@
suite = unittest.TestSuite()
+ from TestDirichletBoundary import TestDirichletBoundary
+ suite.addTest(unittest.makeSuite(TestDirichletBoundary))
+
from TestDirichletPoints import TestDirichletPoints
suite.addTest(unittest.makeSuite(TestDirichletPoints))
More information about the cig-commits
mailing list