[cig-commits] r4663 - short/3D/PyLith/branches/pylith-0.8/pylith3d/module

willic3 at geodynamics.org willic3 at geodynamics.org
Thu Sep 28 14:35:19 PDT 2006


Author: willic3
Date: 2006-09-28 14:35:19 -0700 (Thu, 28 Sep 2006)
New Revision: 4663

Modified:
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/autoprestr.cc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/elastc.cc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/parser.h
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/pylith3d_externs.h
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.h
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/setup.h
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/viscos.cc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.cc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.h
Log:
Updated all bindings for traction BC.



Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/autoprestr.cc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/autoprestr.cc	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/autoprestr.cc	2006-09-28 21:35:19 UTC (rev 4663)
@@ -101,11 +101,11 @@
   PyObject* pyPointerToIvfamily;
   PyObject* pyPointerToListArrayNpar;
   PyObject* pyPointerToIelindx;
-  PyObject* pyPointerToIelno;                 // Traction BC arrays
-  PyObject* pyPointerToIside;
-  PyObject* pyPointerToIhistry;
-  PyObject* pyPointerToPres;
-  PyObject* pyPointerToPdir;
+  PyObject* pyPointerToTractionverts;         // Traction BC arrays
+  PyObject* pyPointerToTractionvals;
+  PyObject* pyPointerToGauss2d;
+  PyObject* pyPointerToSh2d;
+  PyObject* pyPointerToListArrayElementTypeInfo2d;
   PyObject* pyPointerToListArrayPropertyList; // Material property arrays
   PyObject* pyPointerToMaterialModelInfo;
   PyObject* pyPointerToGauss;                 // Element type arrays
@@ -192,11 +192,11 @@
                             &pyPointerToIvfamily,
                             &pyPointerToListArrayNpar,
                             &pyPointerToIelindx,
-                            &pyPointerToIelno,                 // Traction BC arrays
-                            &pyPointerToIside,
-                            &pyPointerToIhistry,
-                            &pyPointerToPres,
-                            &pyPointerToPdir,
+                            &pyPointerToTractionverts,         // Traction BC arrays
+                            &pyPointerToTractionvals,
+                            &pyPointerToGauss2d,
+                            &pyPointerToSh2d,
+                            &pyPointerToListArrayElementTypeInfo2d,
                             &pyPointerToListArrayPropertyList, // Material property arrays
                             &pyPointerToMaterialModelInfo,
                             &pyPointerToGauss,                 // Element type arrays
@@ -291,11 +291,11 @@
   int*  pointerToIvfamily = (int*) PyCObject_AsVoidPtr(pyPointerToIvfamily);
   int*  pointerToListArrayNpar = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayNpar);
   int*  pointerToIelindx = (int*) PyCObject_AsVoidPtr(pyPointerToIelindx);
-  int*  pointerToIelno = (int*) PyCObject_AsVoidPtr(pyPointerToIelno);
-  int*  pointerToIside = (int*) PyCObject_AsVoidPtr(pyPointerToIside);
-  int*  pointerToIhistry = (int*) PyCObject_AsVoidPtr(pyPointerToIhistry);
-  double*  pointerToPres = (double*) PyCObject_AsVoidPtr(pyPointerToPres);
-  double*  pointerToPdir = (double*) PyCObject_AsVoidPtr(pyPointerToPdir);
+  int*  pointerToTractionverts = (int*) PyCObject_AsVoidPtr(pyPointerToTractionverts);
+  double*  pointerToTractionvals = (double*) PyCObject_AsVoidPtr(pyPointerToTractionvals);
+  double*  pointerToGauss2d = (double*) PyCObject_AsVoidPtr(pyPointerToGauss2d);
+  double*  pointerToSh2d = (double*) PyCObject_AsVoidPtr(pyPointerToSh2d);
+  int*  pointerToListArrayElementTypeInfo2d = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayElementTypeInfo2d);
   double*  pointerToListArrayPropertyList = (double*) PyCObject_AsVoidPtr(pyPointerToListArrayPropertyList);
   int*  pointerToMaterialModelInfo = (int*) PyCObject_AsVoidPtr(pyPointerToMaterialModelInfo);
   double*  pointerToGauss = (double*) PyCObject_AsVoidPtr(pyPointerToGauss);
@@ -377,11 +377,11 @@
                pointerToIvfamily,
                pointerToListArrayNpar,
                pointerToIelindx,
-               pointerToIelno,                    // Traction BC arrays
-               pointerToIside,
-               pointerToIhistry,
-               pointerToPres,
-               pointerToPdir,
+               pointerToTractionverts,            // Traction BC arrays
+               pointerToTractionvals,
+               pointerToGauss2d,
+               pointerToSh2d,
+               pointerToListArrayElementTypeInfo2d,
                pointerToListArrayPropertyList,    // Material property arrays
                pointerToMaterialModelInfo,
                pointerToGauss,                    // Element type arrays

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/elastc.cc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/elastc.cc	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/elastc.cc	2006-09-28 21:35:19 UTC (rev 4663)
@@ -102,11 +102,11 @@
   PyObject* pyPointerToIvfamily;
   PyObject* pyPointerToListArrayNpar;
   PyObject* pyPointerToIelindx;
-  PyObject* pyPointerToIelno;                 // Traction BC arrays
-  PyObject* pyPointerToIside;
-  PyObject* pyPointerToIhistry;
-  PyObject* pyPointerToPres;
-  PyObject* pyPointerToPdir;
+  PyObject* pyPointerToTractionverts;         // Traction BC arrays
+  PyObject* pyPointerToTractionvals;
+  PyObject* pyPointerToGauss2d;
+  PyObject* pyPointerToSh2d;
+  PyObject* pyPointerToListArrayElementTypeInfo2d;
   PyObject* pyPointerToListArrayPropertyList; // Material property arrays
   PyObject* pyPointerToMaterialModelInfo;
   PyObject* pyPointerToGauss;                 // Element type arrays
@@ -193,11 +193,11 @@
 			    &pyPointerToIvfamily,
 			    &pyPointerToListArrayNpar,
                             &pyPointerToIelindx,
-			    &pyPointerToIelno,                 // Traction BC arrays
-			    &pyPointerToIside,
-			    &pyPointerToIhistry,
-			    &pyPointerToPres,
-			    &pyPointerToPdir,
+                            &pyPointerToTractionverts,         // Traction BC arrays
+                            &pyPointerToTractionvals,
+                            &pyPointerToGauss2d,
+                            &pyPointerToSh2d,
+                            &pyPointerToListArrayElementTypeInfo2d,
 			    &pyPointerToListArrayPropertyList, // Material property arrays
 			    &pyPointerToMaterialModelInfo,
 			    &pyPointerToGauss,                 // Element type arrays
@@ -292,11 +292,11 @@
   int*  pointerToIvfamily = (int*) PyCObject_AsVoidPtr(pyPointerToIvfamily);
   int*  pointerToListArrayNpar = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayNpar);
   int*  pointerToIelindx = (int*) PyCObject_AsVoidPtr(pyPointerToIelindx);
-  int*  pointerToIelno = (int*) PyCObject_AsVoidPtr(pyPointerToIelno);
-  int*  pointerToIside = (int*) PyCObject_AsVoidPtr(pyPointerToIside);
-  int*  pointerToIhistry = (int*) PyCObject_AsVoidPtr(pyPointerToIhistry);
-  double*  pointerToPres = (double*) PyCObject_AsVoidPtr(pyPointerToPres);
-  double*  pointerToPdir = (double*) PyCObject_AsVoidPtr(pyPointerToPdir);
+  int*  pointerToTractionverts = (int*) PyCObject_AsVoidPtr(pyPointerToTractionverts);
+  double*  pointerToTractionvals = (double*) PyCObject_AsVoidPtr(pyPointerToTractionvals);
+  double*  pointerToGauss2d = (double*) PyCObject_AsVoidPtr(pyPointerToGauss2d);
+  double*  pointerToSh2d = (double*) PyCObject_AsVoidPtr(pyPointerToSh2d);
+  int*  pointerToListArrayElementTypeInfo2d = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayElementTypeInfo2d);
   double*  pointerToListArrayPropertyList = (double*) PyCObject_AsVoidPtr(pyPointerToListArrayPropertyList);
   int*  pointerToMaterialModelInfo = (int*) PyCObject_AsVoidPtr(pyPointerToMaterialModelInfo);
   double*  pointerToGauss = (double*) PyCObject_AsVoidPtr(pyPointerToGauss);
@@ -378,11 +378,11 @@
 	   pointerToIvfamily,
 	   pointerToListArrayNpar,
 	   pointerToIelindx,
-	   pointerToIelno,                    // Traction BC arrays
-	   pointerToIside,
-	   pointerToIhistry,
-	   pointerToPres,
-	   pointerToPdir,
+	   pointerToTractionverts,            // Traction BC arrays
+	   pointerToTractionvals,
+	   pointerToGauss2d,
+	   pointerToSh2d,
+	   pointerToListArrayElementTypeInfo2d,
 	   pointerToListArrayPropertyList,    // Material property arrays
 	   pointerToMaterialModelInfo,
 	   pointerToGauss,                    // Element type arrays

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/parser.h
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/parser.h	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/parser.h	2006-09-28 21:35:19 UTC (rev 4663)
@@ -111,10 +111,10 @@
 PyObject * pypylith3d_read_timdat(PyObject *, PyObject *);
 
 // read traction boundary conditions
-// extern char pypylith3d_read_traction__name__[];
-// extern char pypylith3d_read_traction__doc__[];
-// extern "C"
-// PyObject * pypylith3d_read_traction(PyObject *, PyObject *);
+extern char pypylith3d_read_tractions__name__[];
+extern char pypylith3d_read_tractions__doc__[];
+extern "C"
+PyObject * pypylith3d_read_tractions(PyObject *, PyObject *);
 
 // read winkler force information
 extern char pypylith3d_read_wink__name__[];

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/pylith3d_externs.h
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/pylith3d_externs.h	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/pylith3d_externs.h	2006-09-28 21:35:19 UTC (rev 4663)
@@ -60,7 +60,7 @@
 #define read_split_f FC_FUNC_(read_split, READ_SPLIT)
 #define read_stateout_f FC_FUNC_(read_stateout, READ_STATEOUT)
 #define read_timdat_f FC_FUNC_(read_timdat, READ_TIMDAT)
-// #define read_traction_f FC_FUNC_(read_traction, READ_TRACTION)
+#define read_tractions_f FC_FUNC_(read_tractions, READ_TRACTIONS)
 #define read_wink_f FC_FUNC_(read_wink, READ_WINK)
 // #define read_winkx_f FC_FUNC_(read_winkx, READ_WINKX)
 #define scan_bc_f FC_FUNC_(scan_bc, SCAN_BC)
@@ -74,7 +74,7 @@
 #define scan_slip_f FC_FUNC_(scan_slip, SCAN_SLIP)
 #define scan_split_f FC_FUNC_(scan_split, SCAN_SPLIT)
 #define scan_timdat_f FC_FUNC_(scan_timdat, SCAN_TIMDAT)
-// #define scan_traction_f FC_FUNC_(scan_traction, SCAN_TRACTION)
+#define scan_tractions_f FC_FUNC_(scan_tractions, SCAN_TRACTIONS)
 #define scan_wink_f FC_FUNC_(scan_wink, SCAN_WINK)
 #define scan_winkx_f FC_FUNC_(scan_winkx, SCAN_WINKX)
 #define sort_elements_f FC_FUNC_(sort_elements, SORT_ELEMENTS)
@@ -173,10 +173,10 @@
 		    int *,
 		    int *,
 		    int *,             // traction
-		    int *,
-		    int *,
 		    double *,
 		    double *,
+		    double *,
+		    int *,
 		    double *,          // material
 		    int *,
 		    double *,          // element type
@@ -290,10 +290,10 @@
 		int *,
 		int *,
 		int *,             // traction
-		int *,
-		int *,
 		double *,
 		double *,
+		double *,
+		int *,
 		double *,          // material
 		int *,
 		double *,          // element type
@@ -414,6 +414,15 @@
 		  int *,
 		  char *,size_t);
 
+  void preshape2d_f(double *,
+		    double *,
+		    int *,
+		    int *,
+		    int *,
+		    int *,
+		    int *,
+		    char *,size_t);
+
   void read_bc_f(double*,
 		 double*,
 		 double*,
@@ -593,23 +602,17 @@
 		     size_t,
 		     size_t);
 
-  // void read_traction_f(double *,
-		       // double *,
-		       // double *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // char *,
-		       // char *,
-		       // size_t,
-		       // size_t);
+  void read_tractions_f(int *,
+			double *,
+		        double *,
+		        int *,
+		        int *,
+		        int *,
+		        char *,
+		        int *,
+		        char *,
+		        size_t,
+		        size_t);
 
   void read_wink_f(double *,
 		   double *,
@@ -755,15 +758,16 @@
 		     size_t,
 		     size_t);
 
-  // void scan_traction_f(int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // int *,
-		       // char *,
-		       // char *,
-		       // size_t,
-		       // size_t);
+  void scan_tractions_f(int *,
+		        int *,
+		        int *,
+		        char *,
+		        char *,
+		        int *,
+		        char *,
+		        size_t,
+		        size_t,
+		        size_t);
 
   void scan_wink_f(int *,
 		   int *,
@@ -873,10 +877,10 @@
 		int *,
 		int *,
 		int *,             // traction
-		int *,
-		int *,
 		double *,
 		double *,
+		double *,
+		int *,
 		double *,          // material
 		int *,             // 60
 		double *,          // element type
@@ -982,10 +986,10 @@
 		int *,
 		int *,
 		int *,             // traction
-		int *,
-		int *,
 		double *,
 		double *,
+		double *,
+		int *,
 		double *,          // material
 		int *,             // 60
 		double *,          // element type
@@ -1262,6 +1266,18 @@
 		       int *,
 		       char *,size_t);
 
+  void write_tractions_f(int *,
+			 double *,
+			 int *,
+			 int *,
+			 int *,
+			 int *,
+			 char *,
+			 int *,
+			 char *,
+			 size_t,
+			 size_t);
+
   void write_timdat_f(double *,
 		      double *,
 		      double *,

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.h
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.h	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.h	2006-09-28 21:35:19 UTC (rev 4663)
@@ -122,10 +122,10 @@
 PyObject * pypylith3d_scan_timdat(PyObject *, PyObject *);
 
 // scan traction boundary conditions file
-// extern char pypylith3d_scan_traction__name__[];
-// extern char pypylith3d_scan_traction__doc__[];
-// extern "C"
-// PyObject * pypylith3d_scan_traction(PyObject *, PyObject *);
+extern char pypylith3d_scan_tractions__name__[];
+extern char pypylith3d_scan_tractions__doc__[];
+extern "C"
+PyObject * pypylith3d_scan_tractions(PyObject *, PyObject *);
 
 // scan winkler forces info file
 extern char pypylith3d_scan_wink__name__[];

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/setup.h
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/setup.h	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/setup.h	2006-09-28 21:35:19 UTC (rev 4663)
@@ -61,6 +61,12 @@
 extern "C"
 PyObject * pypylith3d_preshape(PyObject *, PyObject *);
 
+// Precompute shape function info for element faces
+extern char pypylith3d_preshape2d__name__[];
+extern char pypylith3d_preshape2d__doc__[];
+extern "C"
+PyObject * pypylith3d_preshape2d(PyObject *, PyObject *);
+
 #endif
 
 // version

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/viscos.cc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/viscos.cc	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/viscos.cc	2006-09-28 21:35:19 UTC (rev 4663)
@@ -101,11 +101,11 @@
   PyObject* pyPointerToIvfamily;
   PyObject* pyPointerToListArrayNpar;
   PyObject* pyPointerToIelindx;
-  PyObject* pyPointerToIelno;                 // Traction BC arrays
-  PyObject* pyPointerToIside;
-  PyObject* pyPointerToIhistry;
-  PyObject* pyPointerToPres;
-  PyObject* pyPointerToPdir;
+  PyObject* pyPointerToTractionverts;         // Traction BC arrays
+  PyObject* pyPointerToTractionvals;
+  PyObject* pyPointerToGauss2d;
+  PyObject* pyPointerToSh2d;
+  PyObject* pyPointerToListArrayElementTypeInfo2d;
   PyObject* pyPointerToListArrayPropertyList; // Material property arrays
   PyObject* pyPointerToMaterialModelInfo;
   PyObject* pyPointerToGauss;                 // Element type arrays
@@ -194,11 +194,11 @@
 			    &pyPointerToIvfamily,
 			    &pyPointerToListArrayNpar,
 			    &pyPointerToIelindx,
-			    &pyPointerToIelno,                 // Traction BC arrays
-			    &pyPointerToIside,
-			    &pyPointerToIhistry,
-			    &pyPointerToPres,
-			    &pyPointerToPdir,
+                            &pyPointerToTractionverts,         // Traction BC arrays
+                            &pyPointerToTractionvals,
+                            &pyPointerToGauss2d,
+                            &pyPointerToSh2d,
+                            &pyPointerToListArrayElementTypeInfo2d,
 			    &pyPointerToListArrayPropertyList, // Material property arrays
 			    &pyPointerToMaterialModelInfo,
 			    &pyPointerToGauss,                 // Element type arrays
@@ -293,11 +293,11 @@
   int*  pointerToIvfamily = (int*) PyCObject_AsVoidPtr(pyPointerToIvfamily);
   int*  pointerToListArrayNpar = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayNpar);
   int*  pointerToIelindx = (int*) PyCObject_AsVoidPtr(pyPointerToIelindx);
-  int*  pointerToIelno = (int*) PyCObject_AsVoidPtr(pyPointerToIelno);
-  int*  pointerToIside = (int*) PyCObject_AsVoidPtr(pyPointerToIside);
-  int*  pointerToIhistry = (int*) PyCObject_AsVoidPtr(pyPointerToIhistry);
-  double*  pointerToPres = (double*) PyCObject_AsVoidPtr(pyPointerToPres);
-  double*  pointerToPdir = (double*) PyCObject_AsVoidPtr(pyPointerToPdir);
+  int*  pointerToTractionverts = (int*) PyCObject_AsVoidPtr(pyPointerToTractionverts);
+  double*  pointerToTractionvals = (double*) PyCObject_AsVoidPtr(pyPointerToTractionvals);
+  double*  pointerToGauss2d = (double*) PyCObject_AsVoidPtr(pyPointerToGauss2d);
+  double*  pointerToSh2d = (double*) PyCObject_AsVoidPtr(pyPointerToSh2d);
+  int*  pointerToListArrayElementTypeInfo2d = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayElementTypeInfo2d);
   double*  pointerToListArrayPropertyList = (double*) PyCObject_AsVoidPtr(pyPointerToListArrayPropertyList);
   int*  pointerToMaterialModelInfo = (int*) PyCObject_AsVoidPtr(pyPointerToMaterialModelInfo);
   double*  pointerToGauss = (double*) PyCObject_AsVoidPtr(pyPointerToGauss);
@@ -381,11 +381,11 @@
 	   pointerToIvfamily,
 	   pointerToListArrayNpar,
 	   pointerToIelindx,
-	   pointerToIelno,                    // Traction BC arrays
-	   pointerToIside,
-	   pointerToIhistry,
-	   pointerToPres,
-	   pointerToPdir,
+	   pointerToTractionverts,            // Traction BC arrays
+	   pointerToTractionvals,
+	   pointerToGauss2d,
+	   pointerToSh2d,
+	   pointerToListArrayElementTypeInfo2d,
 	   pointerToListArrayPropertyList,    // Material property arrays
 	   pointerToMaterialModelInfo,        // 60
 	   pointerToGauss,                    // Element type arrays
@@ -502,11 +502,11 @@
   PyObject* pyPointerToIvfamily;
   PyObject* pyPointerToListArrayNpar;
   PyObject* pyPointerToIelindx;
-  PyObject* pyPointerToIelno;                 // Traction BC arrays
-  PyObject* pyPointerToIside;
-  PyObject* pyPointerToIhistry;
-  PyObject* pyPointerToPres;
-  PyObject* pyPointerToPdir;
+  PyObject* pyPointerToTractionverts;         // Traction BC arrays
+  PyObject* pyPointerToTractionvals;
+  PyObject* pyPointerToGauss2d;
+  PyObject* pyPointerToSh2d;
+  PyObject* pyPointerToListArrayElementTypeInfo2d;
   PyObject* pyPointerToListArrayPropertyList; // Material property arrays
   PyObject* pyPointerToMaterialModelInfo;
   PyObject* pyPointerToGauss;                 // Element type arrays
@@ -598,11 +598,11 @@
 			    &pyPointerToIvfamily,
 			    &pyPointerToListArrayNpar,
 			    &pyPointerToIelindx,
-			    &pyPointerToIelno,                 // Traction BC arrays
-			    &pyPointerToIside,
-			    &pyPointerToIhistry,
-			    &pyPointerToPres,
-			    &pyPointerToPdir,
+                            &pyPointerToTractionverts,         // Traction BC arrays
+                            &pyPointerToTractionvals,
+                            &pyPointerToGauss2d,
+                            &pyPointerToSh2d,
+                            &pyPointerToListArrayElementTypeInfo2d,
 			    &pyPointerToListArrayPropertyList, // Material property arrays
 			    &pyPointerToMaterialModelInfo,
 			    &pyPointerToGauss,                 // Element type arrays
@@ -710,11 +710,11 @@
   int*  pointerToIvfamily = (int*) PyCObject_AsVoidPtr(pyPointerToIvfamily);
   int*  pointerToListArrayNpar = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayNpar);
   int*  pointerToIelindx = (int*) PyCObject_AsVoidPtr(pyPointerToIelindx);
-  int*  pointerToIelno = (int*) PyCObject_AsVoidPtr(pyPointerToIelno);
-  int*  pointerToIside = (int*) PyCObject_AsVoidPtr(pyPointerToIside);
-  int*  pointerToIhistry = (int*) PyCObject_AsVoidPtr(pyPointerToIhistry);
-  double*  pointerToPres = (double*) PyCObject_AsVoidPtr(pyPointerToPres);
-  double*  pointerToPdir = (double*) PyCObject_AsVoidPtr(pyPointerToPdir);
+  int*  pointerToTractionverts = (int*) PyCObject_AsVoidPtr(pyPointerToTractionverts);
+  double*  pointerToTractionvals = (double*) PyCObject_AsVoidPtr(pyPointerToTractionvals);
+  double*  pointerToGauss2d = (double*) PyCObject_AsVoidPtr(pyPointerToGauss2d);
+  double*  pointerToSh2d = (double*) PyCObject_AsVoidPtr(pyPointerToSh2d);
+  int*  pointerToListArrayElementTypeInfo2d = (int*) PyCObject_AsVoidPtr(pyPointerToListArrayElementTypeInfo2d);
   double*  pointerToListArrayPropertyList = (double*) PyCObject_AsVoidPtr(pyPointerToListArrayPropertyList);
   int*  pointerToMaterialModelInfo = (int*) PyCObject_AsVoidPtr(pyPointerToMaterialModelInfo);
   double*  pointerToGauss = (double*) PyCObject_AsVoidPtr(pyPointerToGauss);
@@ -809,12 +809,12 @@
 	   pointerToLmf,                      // 50
 	   pointerToIvfamily,
 	   pointerToListArrayNpar,
-	   pointerToIelindx,
-	   pointerToIelno,                    // Traction BC arrays
-	   pointerToIside,
-	   pointerToIhistry,
-	   pointerToPres,
-	   pointerToPdir,
+		pointerToIelindx,
+		pointerToTractionverts,            // Traction BC arrays
+	   pointerToTractionvals,
+	   pointerToGauss2d,
+	   pointerToSh2d,
+	   pointerToListArrayElementTypeInfo2d,
 	   pointerToListArrayPropertyList,    // Material property arrays
 	   pointerToMaterialModelInfo,        // 60
 	   pointerToGauss,                    // Element type arrays

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.cc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.cc	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.cc	2006-09-28 21:35:19 UTC (rev 4663)
@@ -1201,6 +1201,68 @@
 }
 
 
+// Write traction BC
+
+char pypylith3d_write_tractions__doc__[] = "";
+char pypylith3d_write_tractions__name__[] = "write_tractions";
+
+PyObject * pypylith3d_write_tractions(PyObject *, PyObject *args)
+{
+  PyObject* pyPointerToTractionverts;
+  PyObject* pyPointerToTractionvals;
+  int numberTractionBc;
+  int numberSurfaceElementNodes;
+  int f77AsciiOutput;
+  int asciiOutputInt;
+  char* asciiOutputFile;
+
+  int ok = PyArg_ParseTuple(args, "OOiiiis:write_tractions",
+			    &pyPointerToTractionverts,
+			    &pyPointerToTractionvals,
+			    &numberTractionBc,
+			    &numberSurfaceElementNodes,
+			    &f77AsciiOutput,
+			    &asciiOutputInt,
+			    &asciiOutputFile);
+
+  if (!ok) {
+    return 0;
+  }
+
+  int errorcode = 0;
+  const int maxsize = 4096;
+  char errorstring[maxsize];
+  int* pointerToTractionverts = (int*) PyCObject_AsVoidPtr(pyPointerToTractionverts);
+  double* pointerToTractionvals = (double*) PyCObject_AsVoidPtr(pyPointerToTractionvals);
+
+  write_tractions_f(pointerToTractionverts,
+		    pointerToTractionvals,
+		    &numberTractionBc,
+		    &numberSurfaceElementNodes,
+		    &f77AsciiOutput,
+		    &asciiOutputInt,
+		    asciiOutputFile,
+		    &errorcode,
+		    errorstring,
+		    strlen(asciiOutputFile),
+		    sizeof(errorstring));
+    
+  if(0 != exceptionhandler(errorcode, errorstring)) {
+    return 0;
+  }
+
+  journal::debug_t debug("pylith3d");
+  debug
+    << journal::at(__HERE__)
+    << "numberTractionBc:" << numberTractionBc
+    << journal::endl;
+
+  // return
+  Py_INCREF(Py_None);
+  return Py_None;
+}
+
+
 // Write mesh info to UCD file
 
 char pypylith3d_write_ucd_mesh__doc__[] = "";

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.h
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.h	2006-09-28 21:20:25 UTC (rev 4662)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/write_modelinfo.h	2006-09-28 21:35:19 UTC (rev 4663)
@@ -139,6 +139,12 @@
 extern "C"
 PyObject * pypylith3d_write_timdat(PyObject *, PyObject *);
 
+// write traction BC
+extern char pypylith3d_write_tractions__name__[];
+extern char pypylith3d_write_tractions__doc__[];
+extern "C"
+PyObject * pypylith3d_write_tractions(PyObject *, PyObject *);
+
 // write mesh info to UCD file
 extern char pypylith3d_write_ucd_mesh__name__[];
 extern char pypylith3d_write_ucd_mesh__doc__[];



More information about the cig-commits mailing list