Index: /issm/trunk/src/c/objects/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Penta.h	(revision 95)
+++ /issm/trunk/src/c/objects/Penta.h	(revision 96)
@@ -11,4 +11,5 @@
 #include "./Matice.h"
 #include "./Node.h"
+#include "./Tria.h"
 
 class Penta: public Element{
@@ -55,5 +56,5 @@
 
 		Penta();
-		Penta( int id, int mid, int mparid, int g[6], double h[6], double s[6], double b[6], double k[6], int    friction_type, 
+		Penta( int id, int mid, int mparid, int node_ids[6], double h[6], double s[6], double b[6], double k[6], int    friction_type, 
 				double p, double q, int    shelf, int    onbed, int    onsurface, double meanvel,double epsvel, 
 				int    collapse, double melting[6], double accumulation[6], double geothermalflux[6], 
@@ -71,6 +72,8 @@
 		void  Configure(void* loads,void* nodes,void* materials);
 		void  CreateKMatrix(Mat Kgg,ParameterInputs* inputs,int analysis_type);
+		void  CreateKMatrixDiagnosticHoriz( Mat Kgg, ParameterInputs* inputs, int analysis_type);
 		void  CreatePVector(Vec pg, ParameterInputs* inputs, int analysis_type);
 		void  UpdateFromInputs(ParameterInputs* inputs);
+		void  GetDofList(int* doflist,int* pnumberofdofs);
 		Matpar* GetMatPar();
 		int   GetShelf();
@@ -86,7 +89,22 @@
 		void          GetBedList(double* bed_list);
 		Object* copy();
+		Tria*  SpawnTria(int g0, int g1, int g2);
 
-
+		void  GetStrainRate(double* epsilon, double* velocity, double* xyz_list, double* gauss_l1l2l3l4);
+		void  GetB(double* pB, double* xyz_list, double* gauss_l1l2l3l4);
+		void  GetBPrime(double* B, double* xyz_list, double* gauss_l1l2l3l4);
+		void  GetJacobianDeterminant(double*  Jdet, double* xyz_list,double* gauss_l1l2l3l4);
+		void  GetNodalFunctionsDerivativesBasic(double* dh1dh2dh3dh4dh5dh6_basic,double* xyz_list, double* gauss_l1l2l3l4);
+		void  GetJacobian(double* J, double* xyz_list,double* gauss_l1l2l3l4);
+		void  GetNodalFunctionsDerivativesParams(double* dl1dl2dl3dl4dl5dl6,double* gauss_l1l2l3l4);
+		void  GetJacobianInvert(double*  Jinv, double* xyz_list,double* gauss_l1l2l3l4);
+		void  CreatePVectorDiagnosticHoriz( Vec pg, ParameterInputs* inputs,int analysis_type);
+		void  GetParameterValue(double* pvalue, double* v_list,double* gauss_l1l2l3l4);
+		void  GetParameterDerivativeValue(double* p, double* p_list,double* xyz_list, double* gauss_l1l2l3l4);
+		void  GetNodalFunctions(double* l1l2l3l4l5l6, double* gauss_l1l2l3l4);
+		void  VelocityExtrude(Vec ug,double* ug_serial);
 
 };
 #endif  /* _PENTA_H */
+	
+
