Index: issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4919)
@@ -33,5 +33,5 @@
 	/*Continuous Galerkin partition of nodes: */
 	if(iomodel->prognostic_DG) continuous_galerkin=false;
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*Check in 3d*/
Index: issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp	(revision 4919)
@@ -29,5 +29,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp	(revision 4919)
@@ -29,5 +29,5 @@
 	
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 	
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 4919)
@@ -32,5 +32,5 @@
 	
 	/*First, partition elements and vertices. Nodes will partitioned on a per analysis_type basis. If partitining already done, ignore: */
-	ElementsAndVerticesPartitioning(&iomodel->my_elements, &iomodel->my_vertices, &iomodel->my_bordervertices, iomodel, iomodel_handle);
+	ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel,iomodel_handle);
 	
 	/*Fetch data needed: */
Index: issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp	(revision 4919)
@@ -32,5 +32,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*Create nodes: */
Index: issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp	(revision 4919)
@@ -32,5 +32,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateNodesDiagnosticStokes.cpp	(revision 4919)
@@ -33,5 +33,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 4919)
@@ -32,5 +32,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 	
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 4919)
@@ -18,5 +18,5 @@
 #include "../ModelProcessorx/ModelProcessorx.h"
 
-void  ElementsAndVerticesPartitioning(bool** pmy_elements, bool** pmy_vertices, bool** pmy_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
+void  ElementsAndVerticesPartitioning(bool** pmy_elements, bool** pmy_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
 
 	int i;
@@ -28,5 +28,4 @@
 	bool* my_elements=NULL;
 	bool* my_vertices=NULL;
-	bool* my_bordervertices=NULL;
 
 	/*intermediary: */
@@ -34,6 +33,4 @@
 	int* npart=NULL; //node partitioning.
 	int  elements_width; //number of columns in elements (2d->3, 3d->6)
-	Vec  bordervertices=NULL;
-	double* serial_bordervertices=NULL;
 	int  el1,el2;
 
@@ -121,37 +118,11 @@
 	xfree((void**)&iomodel->penalties);
 
-	#ifdef _PARALLEL_
-		/*From the element partitioning, we can determine which vertices are on the inside of this cpu's 
-		 *element partition, and which are on its border with other vertices:*/
-		bordervertices=NewVec(iomodel->numberofvertices);
-
-		for (i=0;i<iomodel->numberofvertices;i++){
-			if(my_vertices[i])VecSetValue(bordervertices,i,1,ADD_VALUES);
-		}
-		VecAssemblyBegin(bordervertices);
-		VecAssemblyEnd(bordervertices);
-
-		VecToMPISerial(&serial_bordervertices,bordervertices);
-
-		/*now go through serial_bordervertices, and booleanize it: */
-		my_bordervertices=(bool*)xcalloc(iomodel->numberofvertices,sizeof(bool));
-		for(i=0;i<iomodel->numberofvertices;i++){
-			if(serial_bordervertices[i]>1)my_bordervertices[i]=1;
-		}
-	#else
-		/*No border vertices: */
-		my_bordervertices=(bool*)xcalloc(iomodel->numberofvertices,sizeof(bool));
-	#endif
-
 	/*Free ressources:*/
 	xfree((void**)&npart);
 	xfree((void**)&epart);
-	xfree((void**)&serial_bordervertices);
-	VecFree(&bordervertices);
 
 	/*Assign output pointers:*/
 	*pmy_elements=my_elements;
 	*pmy_vertices=my_vertices;
-	*pmy_bordervertices=my_bordervertices;
 }
 
Index: issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp	(revision 4919)
@@ -29,5 +29,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4919)
@@ -91,6 +91,6 @@
 
 /*partitioning: */
-void  ElementsAndVerticesPartitioning(bool** pmy_elements, bool** pmy_vertices, bool** pmy_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
-void  NodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle,bool continuous);
+void  ElementsAndVerticesPartitioning(bool** pmy_elements, bool** pmy_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
+void  NodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices,  IoModel* iomodel, ConstDataHandle iomodel_handle,bool continuous);
 
 /*Connectivity*/
Index: issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 4919)
@@ -18,8 +18,8 @@
 #include "../ModelProcessorx/ModelProcessorx.h"
 
-void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
-void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
+void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
+void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle);
 
-void  NodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle,bool continuous){
+void  NodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle,bool continuous){
 	
 	/*First thing, this is a new partition for a new analysis_type, therefore, to avoid a leak, erase the nodes partition that might come through pmy_nodes: */
@@ -28,10 +28,10 @@
 	/*Now, depending on whether we are running galerkin discontinous or continuous elements, carry out a different partition of the nodes: */
 	if(continuous==true)
-		ContinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, my_bordervertices, iomodel, iomodel_handle);
+		ContinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, iomodel, iomodel_handle);
 	else
-		DiscontinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, my_bordervertices, iomodel, iomodel_handle);
+		DiscontinuousGalerkinNodesPartitioning(pmy_nodes,my_elements, my_vertices, iomodel, iomodel_handle);
 }
 
-void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
+void  ContinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
 
 	/*as many nodes as there are vertices */
@@ -48,5 +48,5 @@
 
 
-void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, bool* my_bordervertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
+void  DiscontinuousGalerkinNodesPartitioning(bool** pmy_nodes,bool* my_elements, bool* my_vertices, IoModel* iomodel, ConstDataHandle iomodel_handle){
 
 	/*each element has it own nodes (as many as vertices) + additional nodes from neighbouring elements for each edge. This yields to a very different partition for 
Index: issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 4919)
@@ -33,5 +33,5 @@
 	/*Create partition of nodes: */
 	if(iomodel->prognostic_DG) continuous_galerkin=false;
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*Check in 3d*/
Index: issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 4919)
@@ -138,5 +138,5 @@
 
 			/*Partition elements and vertices and nodes: */
-			ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices, &iomodel->my_bordervertices, iomodel,iomodel_handle);
+			ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel,iomodel_handle);
 
 			dpart=(double*)xmalloc(iomodel->numberofvertices*sizeof(double));
Index: issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp	(revision 4919)
@@ -29,5 +29,5 @@
 	
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 	
 	/*First fetch data: */
Index: issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 4914)
+++ issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp	(revision 4919)
@@ -29,5 +29,5 @@
 
 	/*Continuous Galerkin partition of nodes: */
-	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements, iomodel->my_vertices, iomodel->my_bordervertices, iomodel, iomodel_handle,continuous_galerkin);
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
 
 	/*Create nodes and vertices: */
Index: issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- issm/trunk/src/c/objects/IoModel.cpp	(revision 4914)
+++ issm/trunk/src/c/objects/IoModel.cpp	(revision 4919)
@@ -97,10 +97,6 @@
 	xfree((void**)&this->repository);
 	xfree((void**)&this->name);
-	
 	xfree((void**)&this->riftinfo);
-	
 	xfree((void**)&this->penalties);
-	xfree((void**)&this->penaltypartitioning);
-	
 	xfree((void**)&this->control_type);
 	xfree((void**)&this->control_parameter);
@@ -110,6 +106,4 @@
 	xfree((void**)&this->my_vertices);
 	xfree((void**)&this->my_nodes);
-	xfree((void**)&this->my_bordervertices);
-	xfree((void**)&this->penaltypartitioning);
 	xfree((void**)&this->singlenodetoelementconnectivity);
 	xfree((void**)&this->numbernodetoelementconnectivity);
@@ -380,6 +374,4 @@
 	this->my_vertices=NULL;
 	this->my_nodes=NULL;
-	this->my_bordervertices=NULL;
-	this->penaltypartitioning=NULL;
 	this->singlenodetoelementconnectivity=NULL;
 	this->numbernodetoelementconnectivity=NULL;
Index: issm/trunk/src/c/objects/IoModel.h
===================================================================
--- issm/trunk/src/c/objects/IoModel.h	(revision 4914)
+++ issm/trunk/src/c/objects/IoModel.h	(revision 4919)
@@ -186,6 +186,4 @@
 		bool*   my_vertices;
 		bool*   my_nodes;
-		bool*   my_bordervertices;
-		int*    penaltypartitioning;
 		int*    singlenodetoelementconnectivity;
 		int*    numbernodetoelementconnectivity;
