[cig-commits] r6174 - in short/3D/PyLith/trunk: . examples/twotri3
modulesrc/feassemble modulesrc/meshio modulesrc/topology
modulesrc/utils pylith/feassemble
pylith/feassemble/quadrature pylith/problems
brad at geodynamics.org
brad at geodynamics.org
Sun Mar 4 20:17:54 PST 2007
Author: brad
Date: 2007-03-04 20:17:53 -0800 (Sun, 04 Mar 2007)
New Revision: 6174
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg
short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
short/3D/PyLith/trunk/modulesrc/utils/petsc.pyxe.src
short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py
short/3D/PyLith/trunk/pylith/problems/Explicit.py
Log:
Added catching C++ exceptions in module. Found major bug in casting C++ objects in module (we lose what type an inherited object really is). Working on verification and fix.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/TODO 2007-03-05 04:17:53 UTC (rev 6174)
@@ -2,6 +2,12 @@
MAIN PRIORITIES (Brad)
======================================================================
+Fix bug related to casting C++ objects in module. This is bad because
+we lose what type the abstract base class is.
+
+Unit tests:
+ petsc module
+
0. Create element families for materials.
a. Move quadrature component from Integrator to Material?
[Integrator will hold material; user configures quadrature w/material]
Modified: short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/examples/twotri3/pylithapp.cfg 2007-03-05 04:17:53 UTC (rev 6174)
@@ -9,6 +9,8 @@
journal.info.meshioascii = 1
journal.info.homogeneous = 1
journal.info.explicitelasticity = 1
+journal.info.quadrature2d = 1
+journal.info.fiatsimplex = 1
# ----------------------------------------------------------------------
# launcher
Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-03-05 04:17:53 UTC (rev 6174)
@@ -22,6 +22,10 @@
#include "pylith/feassemble/Integrator.hh"
#include "pylith/feassemble/IntegratorExplicit.hh"
#include "pylith/feassemble/ExplicitElasticity.hh"
+
+#include <assert.h>
+#include <stdexcept>
+#include <Python.h>
#}header
# ----------------------------------------------------------------------
@@ -72,10 +76,18 @@
"""
# create shim for method 'initialize'
#embed{ void Quadrature_initialize(void* pObj, double* basis, double* basisDeriv, double* quadPts, double* quadWts, int cellDim, int numCorners, int numQuadPts, int spaceDim)
- ((pylith::feassemble::Quadrature*) pObj)->initialize(basis, basisDeriv,
- quadPts, quadWts,
- cellDim, numCorners,
- numQuadPts, spaceDim);
+ try {
+ ((pylith::feassemble::Quadrature*) pObj)->initialize(basis, basisDeriv,
+ quadPts, quadWts,
+ cellDim, numCorners,
+ numQuadPts, spaceDim);
+ } 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
import spatialdata.utils.simplearray
@@ -147,9 +159,17 @@
"""Wrap pointer to C++ object in PyCObject."""
# create shim for destructor
#embed{ void Quadrature_destructor(void* pObj)
- pylith::feassemble::Quadrature* pQ =
- (pylith::feassemble::Quadrature*) pObj;
- delete pQ;
+ try {
+ pylith::feassemble::Quadrature* pQ =
+ (pylith::feassemble::Quadrature*) pObj;
+ delete pQ;
+ } 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
return PyCObject_FromVoidPtr(self.thisptr, Quadrature_destructor)
@@ -159,7 +179,15 @@
"""Set minimum allowable Jacobian."""
# create shim for method 'minJacobian'
#embed{ void Quadrature_minJacobian_set(void* pObj, double value)
- ((pylith::feassemble::Quadrature*) pObj)->minJacobian(value);
+ try {
+ ((pylith::feassemble::Quadrature*) pObj)->minJacobian(value);
+ } 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
Quadrature_minJacobian_set(self.thisptr, value)
@@ -167,7 +195,17 @@
"""Get minimum allowable Jacobian."""
# create shim for method 'minJacobian'
#embed{ double Quadrature_minJacobian_get(void* pObj)
- return ((pylith::feassemble::Quadrature*) pObj)->minJacobian();
+ double result = 0;
+ try {
+ result = ((pylith::feassemble::Quadrature*) pObj)->minJacobian();
+ } 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
+ return result;
#}embed
return Quadrature_minJacobian_get(self.thisptr)
@@ -179,7 +217,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature1D_constructor()
- return (void*)(new pylith::feassemble::Quadrature1D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature1D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -195,7 +243,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature1Din2D_constructor()
- return (void*)(new pylith::feassemble::Quadrature1Din2D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature1Din2D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -211,7 +269,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature1Din3D_constructor()
- return (void*)(new pylith::feassemble::Quadrature1Din3D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature1Din3D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -227,7 +295,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature2D_constructor()
- return (void*)(new pylith::feassemble::Quadrature2D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature2D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -243,7 +321,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature2Din3D_constructor()
- return (void*)(new pylith::feassemble::Quadrature2Din3D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature2Din3D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -259,7 +347,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* Quadrature3D_constructor()
- return (void*)(new pylith::feassemble::Quadrature3D);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::Quadrature3D);
+ } 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
+ return result;
#}embed
Quadrature.__init__(self)
@@ -291,8 +389,16 @@
"""
# create shim for method 'createParameters'
#embed{ void Integrator_createParameters(void* pObj, void* pMeshObj)
- const ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
- ((pylith::feassemble::Integrator*) pObj)->createParameters(*pMesh);
+ 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, \
@@ -307,9 +413,17 @@
"""
# create shim for destructor
#embed{ void Integrator_destructor(void* pObj)
- pylith::feassemble::Integrator* pQ =
- (pylith::feassemble::Integrator*) pObj;
- delete pQ;
+ try {
+ pylith::feassemble::Integrator* pQ =
+ (pylith::feassemble::Integrator*) pObj;
+ delete pQ;
+ } 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
return PyCObject_FromVoidPtr(self.thisptr, Integrator_destructor)
@@ -321,9 +435,22 @@
"""
# create shim for method 'quadrature'
#embed{ void Integrator_quadrature_set(void* pObj, void* qObj)
- pylith::feassemble::Quadrature* quadrature =
- (pylith::feassemble::Quadrature*) qObj;
- ((pylith::feassemble::Integrator*) pObj)->quadrature(quadrature);
+ try {
+ assert(0 != pObj);
+ assert(0 != qObj);
+ // :BUG: Cannot cast void* to Quadrature* because we lose what
+ // type of Quadrature qObj is.
+ assert(0);
+ pylith::feassemble::Quadrature* quadrature =
+ (pylith::feassemble::Quadrature*) qObj;
+ ((pylith::feassemble::Integrator*) pObj)->quadrature(quadrature);
+ } 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 q.name == "pylith_feassemble_Quadrature":
raise TypeError, \
@@ -385,7 +512,17 @@
"""
# create shim for constructor
#embed{ void* ExplicitElasticity_constructor()
- return (void*)(new pylith::feassemble::ExplicitElasticity);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::feassemble::ExplicitElasticity);
+ } 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
+ return result;
#}embed
IntegratorExplicit.__init__(self)
@@ -404,12 +541,20 @@
"""
# create shim for method 'setupMatProp'
#embed{ void ExplicitElasticity_setupMatProp(void* pObj, void* meshObj, void* csObj, void* dbObj)
- 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);
+ 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);
+ } 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":
Modified: short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-03-05 04:17:53 UTC (rev 6174)
@@ -13,6 +13,9 @@
#header{
#include "pylith/meshio/MeshIO.hh"
#include "pylith/meshio/MeshIOAscii.hh"
+
+#include <stdexcept>
+#include <Python.h>
#}header
# ----------------------------------------------------------------------
@@ -54,8 +57,16 @@
"""
# create shim for method 'read'
#embed{ void MeshIO_read(void* pObj, void* pMeshObj)
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
- ((pylith::meshio::MeshIO*) pObj)->read(pMesh);
+ try {
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
+ ((pylith::meshio::MeshIO*) pObj)->read(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
#cdef topology.Mesh mesh
@@ -69,8 +80,16 @@
"""
# create shim for method 'write'
#embed{ void MeshIO_write(void* pObj, void* pMeshObj)
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
- ((pylith::meshio::MeshIO*) pObj)->write(pMesh);
+ try {
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
+ ((pylith::meshio::MeshIO*) pObj)->write(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
MeshIO_write(self.thisptr, ptrFromHandle(mesh))
return
@@ -80,8 +99,16 @@
"""Wrap pointer to C++ object in PyCObject."""
# create shim for destructor
#embed{ void MeshIO_destructor(void* pObj)
- pylith::meshio::MeshIO* pMesh = (pylith::meshio::MeshIO*) pObj;
- delete pMesh;
+ try {
+ pylith::meshio::MeshIO* pMesh = (pylith::meshio::MeshIO*) pObj;
+ delete 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
return PyCObject_FromVoidPtr(self.thisptr, MeshIO_destructor)
@@ -91,7 +118,15 @@
"""Set interpolate."""
# create shim for method 'interpolate'
#embed{ void MeshIO_interpolate_set(void* pObj, int flag)
- ((pylith::meshio::MeshIO*) pObj)->interpolate(flag);
+ try {
+ ((pylith::meshio::MeshIO*) pObj)->interpolate(flag);
+ } 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
MeshIO_interpolate_set(self.thisptr, flag)
@@ -99,7 +134,17 @@
"""Get interpolate."""
# create shim for method 'interpolate'
#embed{ int MeshIO_interpolate_get(void* pObj)
- return ((pylith::meshio::MeshIO*) pObj)->interpolate();
+ int result = 0;
+ try {
+ result = ((pylith::meshio::MeshIO*) pObj)->interpolate();
+ } 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
+ return result;
#}embed
return MeshIO_interpolate_get(self.thisptr)
@@ -111,7 +156,17 @@
"""Constructor."""
# create shim for constructor
#embed{ void* MeshIOAscii_constructor()
- return (void*)(new pylith::meshio::MeshIOAscii);
+ void* result = 0;
+ try {
+ result = (void*)(new pylith::meshio::MeshIOAscii);
+ } 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
+ return result;
#}embed
MeshIO.__init__(self)
@@ -125,7 +180,15 @@
"""Set filename."""
# create shim for method 'filename'
#embed{ void MeshIOAscii_filename_set(void* pObj, char* name)
- ((pylith::meshio::MeshIOAscii*) pObj)->filename(name);
+ try {
+ ((pylith::meshio::MeshIOAscii*) pObj)->filename(name);
+ } 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
MeshIOAscii_filename_set(self.thisptr, name)
@@ -133,7 +196,17 @@
"""Get filename."""
# create shim for method 'filename'
#embed{ char* MeshIOAscii_filename_get(void* pObj)
- return (char*) ((pylith::meshio::MeshIOAscii*) pObj)->filename();
+ char* result = 0;
+ try {
+ result = (char*) ((pylith::meshio::MeshIOAscii*) pObj)->filename();
+ } 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
+ return result;
#}embed
return MeshIOAscii_filename_get(self.thisptr)
Modified: short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-03-05 04:17:53 UTC (rev 6174)
@@ -12,6 +12,9 @@
#header{
#include <Mesh.hh>
+
+#include <stdexcept>
+#include <Python.h>
#}header
# ----------------------------------------------------------------------
@@ -41,7 +44,17 @@
"""
# create shim for constructor
#embed{ void* MeshPtr_constructor()
- return (void*)(new ALE::Obj<ALE::Mesh>);
+ void* result = 0;
+ try {
+ result = (void*)(new ALE::Obj<ALE::Mesh>);
+ } 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
+ return result;
#}embed
self.thisptr = MeshPtr_constructor()
@@ -55,8 +68,16 @@
Wrap pointer to C++ object in PyCObject.
"""
#embed{ void MeshPtr_destructor(void* pObj)
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pObj;
- delete pMesh;
+ try {
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pObj;
+ delete 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
return PyCObject_FromVoidPtr(self.thisptr, MeshPtr_destructor)
Modified: short/3D/PyLith/trunk/modulesrc/utils/petsc.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/utils/petsc.pyxe.src 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/modulesrc/utils/petsc.pyxe.src 2007-03-05 04:17:53 UTC (rev 6174)
@@ -39,8 +39,8 @@
"""
# create shim for 'PetscInitialize'
#embed{ int Petsc_initialize(int* argc, char*** argv)
- PetscErrorCode err = PetscInitialize(argc, argv, NULL, NULL);
- return err;
+ PetscErrorCode err = PetscInitialize(argc, argv, NULL, NULL); CHKERRQ(err);
+ return 0;
#}embed
cdef int err
cdef char** argv
@@ -55,7 +55,8 @@
strcpy(argv[i], arg);
argv[argc] = NULL;
err = Petsc_initialize(&argc, &argv);
- # :TODO: Check error code for success
+ if err:
+ raise RuntimeError("Error initializing PETSc.")
for i from 0 <= i < argc:
free(argv[i])
@@ -69,12 +70,13 @@
"""
# create shim for 'PetscFnitialize'
#embed{ int Petsc_finalize()
- PetscErrorCode err = PetscFinalize();
- return err;
+ PetscErrorCode err = PetscFinalize(); CHKERRQ(err);
+ return 0;
#}embed
cdef int err
err = Petsc_finalize()
- # :TODO: Check error code for success
+ if err:
+ raise RuntimError("Error finalizing PETSc.")
return
Modified: short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/Integrator.py 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/pylith/feassemble/Integrator.py 2007-03-05 04:17:53 UTC (rev 6174)
@@ -44,8 +44,9 @@
"""
Initialize quadrature.
"""
+ self._info.log("Initialize quadrature")
quadrature.initialize()
- self.quadrature = quadrature
+ self.quadrature = quadrature
self.cppHandle.quadrature = self.quadrature.cppHandle
return
Modified: short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/pylith/feassemble/quadrature/Quadrature.py 2007-03-05 04:17:53 UTC (rev 6174)
@@ -73,6 +73,7 @@
"""
self.cppHandle.minJacobian = self.minJacobian
+ self._info.log("Initializing reference cell.")
c = self.cell
c.initialize()
@@ -81,7 +82,8 @@
"dimension of quadrature implementation '%d'." % \
(c.cellDim, self.cellDim))
-
+
+ self._info.log("Initializing C++ quadrature.")
self.cppHandle.initialize(c.basis, c.basisDeriv, c.quadPts, c.quadWts,
c.cellDim, c.numCorners, c.numQuadPts,
self.spaceDim)
Modified: short/3D/PyLith/trunk/pylith/problems/Explicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Explicit.py 2007-03-05 00:32:23 UTC (rev 6173)
+++ short/3D/PyLith/trunk/pylith/problems/Explicit.py 2007-03-05 04:17:53 UTC (rev 6174)
@@ -77,7 +77,7 @@
self.integrators = []
for material in materialsBin.materials:
integrator = ExplicitElasticity()
- #integrator.initQuadrature(material.quadrature)
+ integrator.initQuadrature(material.quadrature)
#integrator.initMaterial(mesh, material)
self.integrators.append(integrator)
return
More information about the cig-commits
mailing list