[cig-commits] r14597 - in short/3D/PyLith/branches/pylith-swig/libsrc: . faults

brad at geodynamics.org brad at geodynamics.org
Sat Apr 4 21:06:00 PDT 2009


Author: brad
Date: 2009-04-04 21:05:59 -0700 (Sat, 04 Apr 2009)
New Revision: 14597

Modified:
   short/3D/PyLith/branches/pylith-swig/libsrc/Makefile.am
   short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesive.cc
   short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.cc
   short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.hh
   short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveKin.hh
   short/3D/PyLith/branches/pylith-swig/libsrc/faults/faultsfwd.hh
Log:
More work on updating fault stuff.

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/Makefile.am	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/Makefile.am	2009-04-05 04:05:59 UTC (rev 14597)
@@ -35,6 +35,9 @@
 	faults/BruneSlipFn.cc \
 	faults/LiuCosSlipFn.cc \
 	faults/EqKinSrc.cc \
+	faults/FaultCohesive.cc \
+	faults/FaultCohesiveKin.cc \
+	faults/FaultCohesiveDyn.cc \
 	feassemble/CellGeometry.cc \
 	feassemble/Constraint.cc \
 	feassemble/GeometryPoint1D.cc \
@@ -98,9 +101,6 @@
 
 #	faults/TopologyOps.cc \
 # 	faults/CohesiveTopology.cc \
-# 	faults/FaultCohesive.cc \
-# 	faults/FaultCohesiveKin.cc \
-# 	faults/FaultCohesiveDyn.cc \
 # 	materials/GenMaxwellIsotropic3D.cc \
 # 	meshio/UCDFaultFile.cc \
 # 	topology/Distributor.cc \

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesive.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesive.cc	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesive.cc	2009-04-05 04:05:59 UTC (rev 14597)
@@ -14,9 +14,9 @@
 
 #include "FaultCohesive.hh" // implementation of object methods
 
-#include "CohesiveTopology.hh" // USES CohesiveTopology::create()
+//#include "CohesiveTopology.hh" // USES CohesiveTopology::create()
 
-#include "pylith/meshio/UCDFaultFile.hh" // USES UCDFaultFile::read()
+//#include "pylith/meshio/UCDFaultFile.hh" // USES UCDFaultFile::read()
 #include "pylith/utils/array.hh" // USES double_array
 
 #include <cassert> // USES assert()
@@ -60,6 +60,7 @@
 pylith::faults::FaultCohesive::adjustTopology(const topology::Mesh& mesh,
 					      const bool flipFault)
 { // adjustTopology
+#if 0
   assert(std::string("") != label());
   SubMesh faultMesh;
   Mesh fault
@@ -103,6 +104,7 @@
     CohesiveTopology::create(faultMesh, faultBd, mesh, groupField, id(), 
 			     _useLagrangeConstraints());
   } // if/else
+#endif
 } // adjustTopology
 
 

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.cc	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.cc	2009-04-05 04:05:59 UTC (rev 14597)
@@ -14,17 +14,14 @@
 
 #include "FaultCohesiveDyn.hh" // implementation of object methods
 
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/topology/FieldsManager.hh" // USES FieldsManager
-#include "pylith/utils/array.hh" // USES double_array
-
-#include "spatialdata/geocoords/CoordSys.hh" // USES CoordSys
-
 #include <cassert> // USES assert()
 #include <sstream> // USES std::ostringstream
 #include <stdexcept> // USES std::runtime_error
 
 // ----------------------------------------------------------------------
+typedef pylith::topology::Mesh::SieveMesh SieveMesh;
+
+// ----------------------------------------------------------------------
 // Default constructor.
 pylith::faults::FaultCohesiveDyn::FaultCohesiveDyn(void)
 { // constructor
@@ -39,8 +36,7 @@
 // ----------------------------------------------------------------------
 // Initialize fault. Determine orientation and setup boundary
 void
-pylith::faults::FaultCohesiveDyn::initialize(const ALE::Obj<Mesh>& mesh,
-					     const spatialdata::geocoords::CoordSys* cs,
+pylith::faults::FaultCohesiveDyn::initialize(const topology::Mesh& mesh,
 					     const double_array& upDir,
 					     const double_array& normalDir,
 					     spatialdata::spatialdb::SpatialDB* matDB)
@@ -52,11 +48,9 @@
 // Integrate contribution of cohesive cells to residual term.
 void
 pylith::faults::FaultCohesiveDyn::integrateResidual(
-				const ALE::Obj<real_section_type>& residual,
-				const double t,
-				topology::FieldsManager* const fields,
-				const ALE::Obj<Mesh>& mesh,
-				const spatialdata::geocoords::CoordSys* cs)
+			   const topology::Field<topology::Mesh>& residual,
+			   const double t,
+			   topology::SolutionFields* const fields)
 { // integrateResidual
   throw std::logic_error("FaultCohesiveDyn::integrateResidual() not implemented.");
 } // integrateResidual
@@ -65,24 +59,25 @@
 // Compute Jacobian matrix (A) associated with operator.
 void
 pylith::faults::FaultCohesiveDyn::integrateJacobian(
-				    PetscMat* mat,
-				    const double t,
-				    topology::FieldsManager* const fields,
-				    const ALE::Obj<Mesh>& mesh)
+				   topology::Jacobian* jacobian,
+				   const double t,
+				   topology::SolutionFields* const fields)
 { // integrateJacobian
   throw std::logic_error("FaultCohesiveDyn::integrateJacobian() not implemented.");
 } // integrateJacobian
   
-
 // ----------------------------------------------------------------------
 // Verify configuration is acceptable.
 void
 pylith::faults::FaultCohesiveDyn::verifyConfiguration(
-					      const ALE::Obj<Mesh>& mesh) const
+					    const topology::Mesh& mesh) const
 { // verifyConfiguration
   assert(0 != _quadrature);
 
-  if (!mesh->hasIntSection(label())) {
+  const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
+  assert(!sieveMesh.isNull());
+
+  if (!sieveMesh->hasIntSection(label())) {
     std::ostringstream msg;
     msg << "Mesh missing group of vertices '" << label()
 	<< " for boundary condition.";
@@ -90,7 +85,7 @@
   } // if  
 
   // check compatibility of mesh and quadrature scheme
-  const int dimension = mesh->getDimension()-1;
+  const int dimension = mesh.dimension()-1;
   if (_quadrature->cellDim() != dimension) {
     std::ostringstream msg;
     msg << "Dimension of reference cell in quadrature scheme (" 
@@ -101,15 +96,15 @@
     throw std::runtime_error(msg.str());
   } // if
   const int numCorners = _quadrature->numBasis();
-  const ALE::Obj<Mesh::label_sequence>& cells = 
-    mesh->getLabelStratum("material-id", id());
+  const ALE::Obj<SieveMesh::label_sequence>& cells = 
+    sieveMesh->getLabelStratum("material-id", id());
   assert(!cells.isNull());
-  const Mesh::label_sequence::iterator cellsBegin = cells->begin();
-  const Mesh::label_sequence::iterator cellsEnd = cells->end();
-  for (Mesh::label_sequence::iterator c_iter=cellsBegin;
+  const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
+  const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
+  for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
        c_iter != cellsEnd;
        ++c_iter) {
-    const int cellNumCorners = mesh->getNumCellCorners(*c_iter);
+    const int cellNumCorners = sieveMesh->getNumCellCorners(*c_iter);
     if (3*numCorners != cellNumCorners) {
       std::ostringstream msg;
       msg << "Number of vertices in reference cell (" << numCorners 
@@ -123,38 +118,22 @@
 
 // ----------------------------------------------------------------------
 // Get vertex field associated with integrator.
-const ALE::Obj<pylith::real_section_type>&
-pylith::faults::FaultCohesiveDyn::vertexField(VectorFieldEnum* fieldType,
-					      const char* name,
-					      const ALE::Obj<Mesh>& mesh,
-					      topology::FieldsManager* fields)
+const pylith::topology::Field<pylith::topology::SubMesh>&
+pylith::faults::FaultCohesiveDyn::vertexField(
+				       const char* name,
+				       const topology::SolutionFields& fields)
 { // vertexField
-  // Should not reach this point if requested field was found
-  std::ostringstream msg;
-  msg << "Request for unknown vertex field '" << name
-      << "' for fault '" << label() << ".";
-  throw std::runtime_error(msg.str());
-
-  // Return generic section to satisfy member function definition.
-  //return _outputVertxScalar;
+  throw std::logic_error("FaultCohesiveDyn::vertexField() not implemented.");
 } // vertexField
 
 // ----------------------------------------------------------------------
 // Get cell field associated with integrator.
-const ALE::Obj<pylith::real_section_type>&
-pylith::faults::FaultCohesiveDyn::cellField(VectorFieldEnum* fieldType,
-					    const char* name,
-					    const ALE::Obj<Mesh>& mesh,
-					    topology::FieldsManager* fields)
+const pylith::topology::Field<pylith::topology::SubMesh>&
+pylith::faults::FaultCohesiveDyn::cellField(
+				      const char* name,
+				      const topology::SolutionFields& fields)
 { // cellField
-  // Should not reach this point if requested field was found
-  std::ostringstream msg;
-  msg << "Request for unknown cell field '" << name
-      << "' for fault '" << label() << ".";
-  throw std::runtime_error(msg.str());
-
-  // Return generic section to satisfy member function definition.
-  //return _outputCellVector;
+  throw std::logic_error("FaultCohesiveDyn::vertexField() not implemented.");
 } // cellField
 
 

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.hh	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveDyn.hh	2009-04-05 04:05:59 UTC (rev 14597)
@@ -23,30 +23,16 @@
 #if !defined(pylith_faults_faultcohesivedyn_hh)
 #define pylith_faults_faultcohesivedyn_hh
 
+// Include directives ---------------------------------------------------
 #include "FaultCohesive.hh" // ISA FaultCohesive
-#include "pylith/feassemble/Integrator.hh" // ISA Constraint
 
-/// Namespace for pylith package
-namespace pylith {
-  namespace faults {
-    class FaultCohesiveDyn;
-    class TestFaultCohesiveDyn; // unit testing
-  } // faults
-} // pylith
+#include "pylith/topology/SubMesh.hh" // ISA Integrator<Quadrature<SubMesh> >
+#include "pylith/feassemble/Quadrature.hh" // ISA Integrator<Quadrature>
+#include "pylith/feassemble/Integrator.hh" // ISA Integrator
 
-/*
-namespace spatialdata {
-  namespace geocoords {
-    class CoordSys; // USES CoordSys
-  } // geocoords
-} // spatialdata
-*/
-
-
-/// @brief C++ implementation for a fault surface with spontaneous
-/// (dynamic) slip implemented with cohesive elements.
+// FaultCohesiveDyn -----------------------------------------------------
 class pylith::faults::FaultCohesiveDyn : public FaultCohesive,
-					 public feassemble::Integrator
+					 public feassemble::Integrator<feassemble::Quadrature<topology::SubMesh> >
 { // class FaultCohesiveDyn
   friend class TestFaultCohesiveDyn; // unit testing
 
@@ -63,8 +49,7 @@
   /** Initialize fault. Determine orientation and setup boundary
    * condition parameters.
    *
-   * @param mesh PETSc mesh
-   * @param cs Coordinate system for mesh
+   * @param mesh Finite-element mesh.
    * @param upDir Direction perpendicular to along-strike direction that is 
    *   not collinear with fault normal (usually "up" direction but could 
    *   be up-dip direction; only applies to fault surfaces in a 3-D domain).
@@ -74,73 +59,59 @@
    * @param matDB Database of bulk elastic properties for fault region
    *   (used to improve conditioning of Jacobian matrix)
    */
-  void initialize(const ALE::Obj<Mesh>& mesh,
-		  const spatialdata::geocoords::CoordSys* cs,
+  void initialize(const topology::Mesh& mesh,
 		  const double_array& upDir,
 		  const double_array& normalDir,
 		  spatialdata::spatialdb::SpatialDB* matDB);
 
   /** Integrate contribution of cohesive cells to residual term.
    *
-   * @param residual Residual field (output)
+   * @param residual Field containing values for residual
    * @param t Current time
    * @param fields Solution fields
-   * @param mesh Finite-element mesh
-   * @param cs Mesh coordinate system
    */
-  void integrateResidual(const ALE::Obj<real_section_type>& residual,
+  void integrateResidual(const topology::Field<topology::Mesh>& residual,
 			 const double t,
-			 topology::FieldsManager* const fields,
-			 const ALE::Obj<Mesh>& mesh,
-			 const spatialdata::geocoords::CoordSys* cs);
+			 topology::SolutionFields* const fields);
 
-  /** Compute Jacobian matrix (A) associated with operator.
+  /** Integrate contributions to Jacobian matrix (A) associated with
+   * operator.
    *
-   * @param mat Sparse matrix
+   * @param jacobian Sparse matrix for Jacobian of system.
    * @param t Current time
    * @param fields Solution fields
-   * @param mesh Finite-element mesh
    */
-  void integrateJacobian(PetscMat* mat,
+  void integrateJacobian(topology::Jacobian* jacobian,
 			 const double t,
-			 topology::FieldsManager* const fields,
-			 const ALE::Obj<Mesh>& mesh);
+			 topology::SolutionFields* const fields);
   
   /** Verify configuration is acceptable.
    *
    * @param mesh Finite-element mesh
    */
-  void verifyConfiguration(const ALE::Obj<Mesh>& mesh) const;
+  void verifyConfiguration(const topology::Mesh& mesh) const;
 
   /** Get vertex field associated with integrator.
    *
-   * @param fieldType Type of field.
    * @param name Name of vertex field.
-   * @param mesh PETSc mesh for problem.
-   * @param fields Fields manager.
+   * @param fields Solution fields.
    *
    * @returns Vertex field.
    */
-  const ALE::Obj<real_section_type>&
-  vertexField(VectorFieldEnum* fieldType,
-	      const char* name,
-	      const ALE::Obj<Mesh>& mesh,
-	      topology::FieldsManager* const fields);
+  const topology::Field<topology::SubMesh>&
+  vertexField(const char* name,
+	      const topology::SolutionFields& fields);
   
   /** Get cell field associated with integrator.
    *
-   * @param fieldType Type of field.
-   * @param name Name of vertex field.
-   * @param mesh PETSc mesh for problem.
-   * @param fields Fields manager.
+   * @param name Name of cell field.
+   * @param fields Solution fields.
    *
    * @returns Cell field.
    */
-  const ALE::Obj<real_section_type>&
-  cellField(VectorFieldEnum* fieldType,
-	    const char* name,
-	    const ALE::Obj<Mesh>& mesh,
-	    topology::FieldsManager* const fields);
+  const topology::Field<topology::SubMesh>&
+  cellField(const char* name,
+	    const topology::SolutionFields& fields);
 
   // PROTECTED METHODS //////////////////////////////////////////////////
 protected :
@@ -156,17 +127,17 @@
 private :
 
   /// Not implemented
-  FaultCohesiveDyn(const FaultCohesiveDyn& m);
+  FaultCohesiveDyn(const FaultCohesiveDyn&);
 
   /// Not implemented
-  const FaultCohesiveDyn& operator=(const FaultCohesiveDyn& m);
+  const FaultCohesiveDyn& operator=(const FaultCohesiveDyn&);
 
   // PRIVATE MEMBERS ////////////////////////////////////////////////////
 private :
 
   /// Orientation of fault surface at vertices (fiber dimension is
   /// nonzero only at constraint vertices)
-  ALE::Obj<real_section_type> _orientation;
+  topology::Field<topology::SubMesh>*  _orientation;
 
 }; // class FaultCohesiveDyn
 

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveKin.hh	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/faults/FaultCohesiveKin.hh	2009-04-05 04:05:59 UTC (rev 14597)
@@ -37,35 +37,19 @@
 #if !defined(pylith_faults_faultcohesivekin_hh)
 #define pylith_faults_faultcohesivekin_hh
 
+// Include directives ---------------------------------------------------
 #include "FaultCohesive.hh" // ISA FaultCohesive
+
+#include "pylith/topology/SubMesh.hh" // ISA Integrator<Quadrature<SubMesh> >
+#include "pylith/feassemble/Quadrature.hh" // ISA Integrator<Quadrature>
 #include "pylith/feassemble/Integrator.hh" // ISA Integrator
 
 #include <map> // HASA std::map
 #include <string> // HASA std::string
 
-/// Namespace for pylith package
-namespace pylith {
-  namespace faults {
-    class FaultCohesiveKin;
-    class TestFaultCohesiveKin; // unit testing
-
-    class EqKinSrc; // HOLDSA EqKinSrc
-  } // faults
-} // pylith
-
-/*
-namespace spatialdata {
-  namespace geocoords {
-    class CoordSys; // USES CoordSys
-  } // geocoords
-} // spatialdata
-*/
-
-
-/// C++ implementation for a fault surface with kinematic (prescribed)
-/// slip implemented with cohesive elements.
+// FaultCohesiveKin -----------------------------------------------------
 class pylith::faults::FaultCohesiveKin : public FaultCohesive,
-					 public feassemble::Integrator
+					 public feassemble::Integrator<feassemble::Quadrature<topology::SubMesh> >
 { // class FaultCohesiveKin
   friend class TestFaultCohesiveKin; // unit testing
 
@@ -92,8 +76,7 @@
   /** Initialize fault. Determine orientation and setup boundary
    * condition parameters.
    *
-   * @param mesh PETSc mesh
-   * @param cs Coordinate system for mesh
+   * @param mesh Finite-element mesh.
    * @param upDir Direction perpendicular to along-strike direction that is 
    *   not collinear with fault normal (usually "up" direction but could 
    *   be up-dip direction; only applies to fault surfaces in a 3-D domain).
@@ -103,8 +86,7 @@
    * @param matDB Database of bulk elastic properties for fault region
    *   (used to improve conditioning of Jacobian matrix)
    */
-  void initialize(const ALE::Obj<Mesh>& mesh,
-		  const spatialdata::geocoords::CoordSys* cs,
+  void initialize(const topology::Mesh& mesh,
 		  const double_array& upDir,
 		  const double_array& normalDir,
 		  spatialdata::spatialdb::SpatialDB* matDB);
@@ -115,13 +97,10 @@
    * @param residual Field containing values for residual
    * @param t Current time
    * @param fields Solution fields
-   * @param mesh Finite-element mesh
    */
-  void integrateResidual(const ALE::Obj<real_section_type>& residual,
+  void integrateResidual(const topology::Field<topology::Mesh>& residual,
 			 const double t,
-			 topology::FieldsManager* const fields,
-			 const ALE::Obj<Mesh>& mesh,
-			 const spatialdata::geocoords::CoordSys* cs);
+			 topology::SolutionFields* const fields);
 
   /** Integrate contributions to residual term (r) for operator that
    * do not require assembly across cells, vertices, or processors.
@@ -129,13 +108,10 @@
    * @param residual Field containing values for residual
    * @param t Current time
    * @param fields Solution fields
-   * @param mesh Finite-element mesh
    */
-  void integrateResidualAssembled(const ALE::Obj<real_section_type>& residual,
+  void integrateResidualAssembled(const topology::Field<topology::Mesh>& residual,
 				  const double t,
-				  topology::FieldsManager* const fields,
-				  const ALE::Obj<Mesh>& mesh,
-				  const spatialdata::geocoords::CoordSys* cs);
+				  topology::SolutionFields* const fields);
 
   /** Integrate contributions to Jacobian matrix (A) associated with
    * operator that do not require assembly across cells, vertices, or
@@ -146,10 +122,9 @@
    * @param fields Solution fields
    * @param mesh Finite-element mesh
    */
-  void integrateJacobianAssembled(PetscMat* mat,
+  void integrateJacobianAssembled(topology::Jacobian* jacobian,
 				  const double t,
-				  topology::FieldsManager* const fields,
-				  const ALE::Obj<Mesh>& mesh);
+				  topology::SolutionFields* const fields);
 
   /** Update state variables as needed.
    *
@@ -157,43 +132,34 @@
    * @param fields Solution fields
    * @param mesh Finite-element mesh
    */
-  void updateState(const double t,
-		   topology::FieldsManager* const fields,
-		   const ALE::Obj<Mesh>& mesh);
+  void updateStateVars(const double t,
+		       topology::SolutionFields* const fields);
 
   /** Verify configuration is acceptable.
    *
    * @param mesh Finite-element mesh
    */
-  void verifyConfiguration(const ALE::Obj<Mesh>& mesh) const;
+  void verifyConfiguration(const topology::Mesh& mesh) const;
 
   /** Get vertex field associated with integrator.
    *
-   * @param fieldType Type of field.
-   * @param name Name of vertex field.
-   * @param mesh PETSc mesh for problem. 
-   * @param fields Fields manager.
+   * @param name Name of cell field.
+   * @param fields Solution fields.
    * @returns Vertex field.
    */
-  const ALE::Obj<real_section_type>&
-  vertexField(VectorFieldEnum* fieldType,
-	      const char* name,
-	      const ALE::Obj<Mesh>& mesh,
-	      topology::FieldsManager* const fields);
+  const topology::Field<topology::SubMesh>&
+  vertexField(const char* name,
+	      const topology::SolutionFields& fields);
 
   /** Get cell field associated with integrator.
    *
-   * @param fieldType Type of field.
-   * @param name Name of vertex field.
-   * @param mesh PETSc mesh for problem.
-   * @param fields Fields manager.
+   * @param name Name of cell field.
+   * @param fields Solution fields.
    * @returns Cell field.
    */
-  const ALE::Obj<real_section_type>&
-  cellField(VectorFieldEnum* fieldType,
-	    const char* name,
-	    const ALE::Obj<Mesh>& mesh,
-	    topology::FieldsManager* const fields);
+  const topology::Field<topology::SubMesh>&
+  cellField(const char* name,
+	      const topology::SolutionFields& fields);
 
   // PROTECTED METHODS //////////////////////////////////////////////////
 protected :
@@ -238,9 +204,8 @@
    * @param mesh Finite-element mesh for domain
    * @param solution Solution over domain
    */
-  void _calcTractionsChange(ALE::Obj<real_section_type>* tractions,
-			    const ALE::Obj<Mesh>& mesh,
-			    const ALE::Obj<real_section_type>& solution);
+  void _calcTractionsChange(topology::Field<topology::SubMesh>* tractions,
+			    const topology::Field<topology::Mesh>& solution);
 
   /// Allocate scalar field for output of vertex information.
   void _allocateBufferVertexScalar(void);
@@ -252,10 +217,10 @@
 private :
 
   /// Not implemented
-  FaultCohesiveKin(const FaultCohesiveKin& m);
+  FaultCohesiveKin(const FaultCohesiveKin&);
 
   /// Not implemented
-  const FaultCohesiveKin& operator=(const FaultCohesiveKin& m);
+  const FaultCohesiveKin& operator=(const FaultCohesiveKin&);
 
   // PRIVATE TYPEDEFS ///////////////////////////////////////////////////
 private :
@@ -267,37 +232,11 @@
 
   srcs_type _eqSrcs; ///< Array of kinematic earthquake sources.
   
-  /// Field over fault mesh vertices of pseudo-stiffness values for
-  /// scaling constraint information to improve conditioning of
-  /// Jacobian matrix.
-  ALE::Obj<real_section_type> _pseudoStiffness;
+  topology::Fields<topology::Field<topology::SubMesh> >* _fields;
 
-  /// Field over fault mesh vertices of area associated with each vertex.
-  ALE::Obj<real_section_type> _area;
-
-  /// Field over the fault mesh vertices of orientation of fault
-  /// surface.
-  ALE::Obj<real_section_type> _orientation;
-
-  /// Field over the fault mesh vertices of vector field of current
-  /// slip or slip increment.
-  ALE::Obj<real_section_type> _slip;
-
-  /// Field over the fault mesh vertices of vector field of cumulative slip.
-  ALE::Obj<real_section_type> _cumSlip;
-
   /// Map label of cohesive cell to label of cells in fault mesh.
   std::map<Mesh::point_type, Mesh::point_type> _cohesiveToFault;
 
-  /// Scalar field for vertex information over fault mesh.
-  ALE::Obj<real_section_type> _bufferVertexScalar;
-
-  /// Vector field for vertex information over fault mesh.
-  ALE::Obj<real_section_type> _bufferVertexVector;
-
-  /// Handle to field managed elsewhere for data over fault mesh.
-  ALE::Obj<real_section_type> _bufferTmp;
-
 }; // class FaultCohesiveKin
 
 #include "FaultCohesiveKin.icc" // inline methods

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/faults/faultsfwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/faults/faultsfwd.hh	2009-04-05 03:11:47 UTC (rev 14596)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/faults/faultsfwd.hh	2009-04-05 04:05:59 UTC (rev 14597)
@@ -27,6 +27,7 @@
     class CohesiveTopology;
 
     class Fault;
+    class FaultCohesive;
     class FaultCohesiveDyn;
     class FaultCohesiveKin;
 



More information about the CIG-COMMITS mailing list