Index: /issm/trunk/src/c/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp	(revision 3679)
+++ /issm/trunk/src/c/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp	(revision 3679)
@@ -0,0 +1,52 @@
+/*!\file:  CreateSingleNodeToElementConnectivity.cpp
+ * \brief: create connectivity table
+ */ 
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "./IoModel.h"
+#include "../shared/shared.h"
+#include "../include/macros.h"
+#include "../include/typedefs.h"
+#include "./ModelProcessorx.h"
+
+CreateSingleNodeToElementConnectivity(IoModel* iomodel){
+
+	/*Intermediary*/
+	int i,j;
+	int vertexid;
+
+	/*output*/
+	double* connectivity=NULL;
+
+	/*Some checks if debugging*/
+	ISSMASSERT(iomodel->numberofvertices);
+	ISSMASSERT(iomodel->numberofelements);
+	ISSMASSERT(iomodel->elements);
+
+	/*Allocate ouput*/
+	connectivity=(double*)xcalloc(iomodel->numberofvertices*sizeof(double));
+
+	if (strcmp(iomodel->meshtype,"2d")==0){
+		for (i=0;i<iomodel->numberofelements;i++){
+			for (j=0;j<3;j++){
+				vertexid=iomodel->elements[3*i+j];
+				ISSMASSERT(vertexid-1<iomodel->numberofvertices);
+				connectivity[vertexid-1]=i;
+			}
+		}
+	}
+	else{
+		for (i=0;i<iomodel->numberofelements;i++){
+			for (j=0;j<6;j++){
+				vertexid=iomodel->elements[6*i+j];
+				ISSMASSERT(vertexid-1<iomodel->numberofvertices);
+				connectivity[vertexid-1]=i;
+			}
+		}
+	}
+}
Index: /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp	(revision 3679)
@@ -68,5 +68,5 @@
 	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
 	IoModelFetchData(&iomodel->gridonstokes,NULL,NULL,iomodel_handle,"gridonstokes");
-	iomodel->CreateSingleNodeToElementConnectivity();
+	CreateSingleNodeToElementConnectivity(iomodel);
 	
 	for (i=0;i<iomodel->numberofvertices;i++){
Index: /issm/trunk/src/c/ModelProcessorx/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/IoModel.cpp	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/IoModel.cpp	(revision 3679)
@@ -403,8 +403,2 @@
 }
 /*}}}*/
-/*FUNCTION IoModel::CreateSingleNodeToElementConnectivity(void){{{1*/
-void IoModel::CreateSingleNodeToElementConnectivity(void){
-
-	ISSMERROR(" not supported yet!");
-}
-/*}}}*/
Index: /issm/trunk/src/c/ModelProcessorx/IoModel.h
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/IoModel.h	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/IoModel.h	(revision 3679)
@@ -191,5 +191,4 @@
 		void IoModelInit(void);
 		void Echo(int which_part,int rank);
-		void CreateSingleNodeToElementConnectivity(void);
 		/*}}}*/
 
Index: /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 3679)
@@ -24,5 +24,5 @@
 	//create penalties for grids: no grid can have a temperature over the melting point
 	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
-	iomodel->CreateSingleNodeToElementConnectivity();
+	CreateSingleNodeToElementConnectivity(iomodel);
 
 	for (i=0;i<iomodel->numberofvertices;i++){
Index: /issm/trunk/src/c/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/ModelProcessorx.h	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/ModelProcessorx.h	(revision 3679)
@@ -10,7 +10,5 @@
 /*Creation of fem datasets: general drivers*/
 void  CreateDataSets(DataSet** pelements,DataSet** pnodes,DataSet** pvertices, DataSet** pmaterials, DataSet** pconstraints, DataSet** ploads,Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle);
-	
 void  CreateParameters(Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle);
-
 
 /*Create of fem datasets: specialised drivers: */
@@ -93,3 +91,6 @@
 void  Partitioning(bool** pmy_elements, bool** pmy_vertices, bool** pmy_nodes, bool** pmy_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
 
+/*Conectivity*/
+void CreateSingleNodeToElementConnectivity(IoModel* iomodel);
+
 #endif
Index: /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 3678)
+++ /issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 3679)
@@ -25,5 +25,5 @@
 	//create penalties for grids: no grid can have a temperature over the melting point
 	IoModelFetchData(&iomodel->spctemperature,NULL,NULL,iomodel_handle,"spctemperature");
-	iomodel->CreateSingleNodeToElementConnectivity();
+	CreateSingleNodeToElementConnectivity(iomodel);
 
 	for (i=0;i<iomodel->numberofvertices;i++){
