[cig-commits] r6228 - short/3D/PyLith/trunk/modulesrc/feassemble

brad at geodynamics.org brad at geodynamics.org
Mon Mar 12 09:35:30 PDT 2007


Author: brad
Date: 2007-03-12 09:35:30 -0700 (Mon, 12 Mar 2007)
New Revision: 6228

Modified:
   short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
Log:
Updated to reflect changes in libsrc.

Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src	2007-03-12 16:34:53 UTC (rev 6227)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src	2007-03-12 16:35:30 UTC (rev 6228)
@@ -383,30 +383,6 @@
     return
 
 
-  def createParameters(self, mesh):
-    """
-    Create manager for parameters.
-    """
-    # create shim for method 'createParameters'
-    #embed{ void Integrator_createParameters(void* pObj, void* pMeshObj)
-    try {
-      const ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
-      ((pylith::feassemble::Integrator*) pObj)->createParameters(*pMesh);
-    } catch (const std::exception& err) {
-      PyErr_SetString(PyExc_RuntimeError,
-                      const_cast<char*>(err.what()));
-    } 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 'Mesh'."
-    Integrator_createParameters(self.thisptr, ptrFromHandle(mesh))
-    return
-
-
   def _createHandle(self):
     """
     Wrap pointer to C++ object in PyCObject.
@@ -500,6 +476,27 @@
     return
 
 
+  property timeStep:
+    def __set__(self, dt):
+      """
+      Set timeStep.
+      """
+      # create shim for method 'timeStep'
+      #embed{ void IntegratorExplicit_timeStep_set(void* pObj, double dt)
+      try {
+        assert(0 != pObj);
+        ((pylith::feassemble::IntegratorExplicit*) pObj)->timeStep(dt);
+      } catch (const std::exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.what()));
+      } catch (...) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "Caught unknown C++ exception.");
+      } // try/catch
+      #}embed
+      IntegratorExplicit_timeStep_set(self.thisptr, dt)
+
+
 # ----------------------------------------------------------------------
 cdef class ExplicitElasticity(IntegratorExplicit):
 
@@ -528,23 +525,20 @@
     return
 
 
-  def setupMatProp(self, mesh, cs, db):
+  def initialize(self, mesh, cs):
     """
     Initialize integrator.
 
     @param mesh PETSc mesh
     @param cs Coordinate system associated with mesh vertices
-    @param db Database of material properties
     """
-    # create shim for method 'setupMatProp'
-    #embed{ void ExplicitElasticity_setupMatProp(void* pObj, void* meshObj, void* csObj, void* dbObj)
+    # create shim for method 'initialize'
+    #embed{ void ExplicitElasticity_initialize(void* pObj, void* meshObj, void* csObj)
     try {
       ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshObj;
       spatialdata::geocoords::CoordSys* cs =
         (spatialdata::geocoords::CoordSys*) csObj;
-      spatialdata::spatialdb::SpatialDB* db =
-        (spatialdata::spatialdb::SpatialDB*) dbObj;
-      ((pylith::feassemble::ExplicitElasticity*) pObj)->setupMatProp(*mesh, cs, db);
+      ((pylith::feassemble::ExplicitElasticity*) pObj)->initialize(*mesh, cs);
     } catch (const std::exception& err) {
       PyErr_SetString(PyExc_RuntimeError,
                       const_cast<char*>(err.what()));
@@ -562,15 +556,37 @@
       raise TypeError, \
             "Argument must be extension module type " \
             "'spatialdata::geocoords::CoordSys'."
-    if not db.name == "spatialdata_spatialdb_SpatialDB":
-      raise TypeError, \
-            "Argument must be extension module type " \
-            "'spatialdata::spatialdb::SpatialDB'."
     cdef void* meshObj
     meshObj = <void*> PyCObject_AsVoidPtr(mesh)
-    ExplicitElasticity_setupMatProp(self.thisptr, meshObj,
-                          ptrFromHandle(cs), ptrFromHandle(db))
+    ExplicitElasticity_initialize(self.thisptr, meshObj, ptrFromHandle(cs))
     return
 
 
+  property material:
+    def __set__(self, m):
+      """
+      Set material.
+      """
+      # create shim for method 'material'
+      #embed{ void ExplicitElasticity_material_set(void* pObj, void* mObj)
+      try {
+        assert(0 != pObj);
+        assert(0 != mObj);
+        pylith::materials::ElasticMaterial* material =
+          (pylith::materials::ElasticMaterial*) mObj;
+        ((pylith::feassemble::ExplicitElasticity*) pObj)->material(material);
+      } catch (const std::exception& err) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        const_cast<char*>(err.what()));
+      } catch (...) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "Caught unknown C++ exception.");
+      } // try/catch
+      #}embed
+      if not m.name == "pylith_materials_ElasticMaterial":
+        raise TypeError, \
+              "Argument must be extension module type 'ElasticMaterial'."
+      ExplicitElasticity_material_set(self.thisptr, ptrFromHandle(m))
+
+
 # End of file 



More information about the cig-commits mailing list