Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 5822)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 5823)
@@ -722,5 +722,5 @@
 			CreateKMatrixDiagnosticPattyn( Kgg);
 			CreateKMatrixDiagnosticStokes( Kgg);
-			//CreateKMatrixCouplingPattynStokes( Kgg);
+			CreateKMatrixCouplingPattynStokes( Kgg);
 		}
 		else ISSMERROR("Approximation %s not supported yet",EnumToString(approximation));
@@ -2181,4 +2181,51 @@
 }
 /*}}}*/
+/*FUNCTION Penta::CreateKMatrixCouplingPattynStokes{{{1*/
+void Penta::CreateKMatrixCouplingPattynStokes( Mat Kgg){
+
+	int        i,j;
+	/* node data: */
+	const int  numdofp=NDOF2*NUMVERTICES;
+	const int  numdofs=NDOF4*NUMVERTICES;
+	int*       doflistp=NULL;
+	int*       doflists=NULL;
+
+	/*Matrices*/
+	double Kestokes_gg[24][24];
+	double Kepattyn_gg[12][12];
+	double Keps_gg[12][24]={0.0};
+	double Kesp_gg[24][12]={0.0};
+
+	/*Get Pattyn and Stokes doflist*/
+	GetDofList(&doflistp,PattynApproximationEnum,GsetEnum); //Pattyn dof list
+	GetDofList(&doflists,StokesApproximationEnum,GsetEnum); //Stokes dof list
+
+	ISSMERROR("not supported yet");
+//	/*Get CreateKMatrixDiagnosticStokes*/
+//	Kestokes_gg=CreateKMatrixDiagnosticStokes;
+//	
+//	/*Modify it and plug in into Kgg*/
+//	for( i=0; i<numdofs; i++){
+//		for(j=0;j<NUMVERTICES; j++){
+//			Kesp_gg[i][(j-1)*NDOF2+0]+=Kestokes_gg[i][(j-1)*NDOF4+0];
+//			Kesp_gg[i][(j-1)*NDOF2+1]+=Kestokes_gg[i][(j-1)*NDOF4+1];
+//		}
+//	}
+//	MatSetValues(Kgg,numdofs,doflists,numdofp,doflistp,(const double*)Kesp_gg,ADD_VALUES);
+//
+//	/*Get CreateKMatrixDiagnosticPattyn*/
+//	Kepattyn_gg=CreateKMatrixDiagnosticPattyn;
+//
+//	/*Modify it and plug in into Kgg*/
+//	for( i=0; i<numdofp; i++){
+//		for(j=0;j<NUMVERTICES; j++){
+//			Kesp_gg[i][(j-1)*NDOF4+0]+=Kestokes_gg[i][(j-1)*NDOF2+0];
+//			Kesp_gg[i][(j-1)*NDOF4+1]+=Kestokes_gg[i][(j-1)*NDOF2+1];
+//		}
+//	}
+//	MatSetValues(Kgg,numdofp,doflistp,numdofs,doflists,(const double*)Keps_gg,ADD_VALUES);
+
+}
+/*}}}*/
 /*FUNCTION Penta::CreateKMatrixDiagnosticHutter{{{1*/
 void  Penta::CreateKMatrixDiagnosticHutter(Mat Kgg){
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 5822)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 5823)
@@ -122,4 +122,5 @@
 		void	  CreateKMatrixBalancedvelocities(Mat Kggg);
 		void	  CreateKMatrixCouplingMacAyealPattyn( Mat Kgg);
+		void	  CreateKMatrixCouplingPattynStokes( Mat Kgg);
 		void	  CreateKMatrixDiagnosticHutter( Mat Kgg);
 		void	  CreateKMatrixDiagnosticMacAyeal( Mat Kgg);
