Index: /issm/trunk/src/c/EnumDefinitions/EnumAsString.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumAsString.cpp	(revision 4764)
+++ /issm/trunk/src/c/EnumDefinitions/EnumAsString.cpp	(revision 4765)
@@ -62,6 +62,4 @@
 		case SurfaceSlopeXAnalysisEnum : return "SurfaceSlopeXAnalysis";
 		case SurfaceSlopeYAnalysisEnum : return "SurfaceSlopeYAnalysis";
-		case Balancedthickness2SolutionEnum : return "Balancedthickness2Solution";
-		case Balancedthickness2AnalysisEnum : return "Balancedthickness2Analysis";
 		case BalancedthicknessSolutionEnum : return "BalancedthicknessSolution";
 		case BalancedthicknessAnalysisEnum : return "BalancedthicknessAnalysis";
@@ -71,5 +69,4 @@
 		case PrognosticAnalysisEnum : return "PrognosticAnalysis";
 		case MeltingAnalysisEnum : return "MeltingAnalysis";
-		case Mesh2gridAnalysisEnum : return "Mesh2gridAnalysis";
 		case ParametersSolutionEnum : return "ParametersSolution";
 		case ParametersAnalysisEnum : return "ParametersAnalysis";
Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 4764)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 4765)
@@ -66,6 +66,4 @@
 	SurfaceSlopeYAnalysisEnum,
 	//prognostic
-	Balancedthickness2SolutionEnum,
-	Balancedthickness2AnalysisEnum,
 	BalancedthicknessSolutionEnum,
 	BalancedthicknessAnalysisEnum,
@@ -76,6 +74,4 @@
 	//melting
 	MeltingAnalysisEnum,
-	//mesh2grid
-	Mesh2gridAnalysisEnum,
 	//parameters
 	ParametersSolutionEnum,
Index: /issm/trunk/src/c/EnumDefinitions/StringAsEnum.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/StringAsEnum.cpp	(revision 4764)
+++ /issm/trunk/src/c/EnumDefinitions/StringAsEnum.cpp	(revision 4765)
@@ -60,6 +60,4 @@
 	else if (strcmp(name,"SurfaceSlopeXAnalysis")==0) return SurfaceSlopeXAnalysisEnum;
 	else if (strcmp(name,"SurfaceSlopeYAnalysis")==0) return SurfaceSlopeYAnalysisEnum;
-	else if (strcmp(name,"Balancedthickness2Solution")==0) return Balancedthickness2SolutionEnum;
-	else if (strcmp(name,"Balancedthickness2Analysis")==0) return Balancedthickness2AnalysisEnum;
 	else if (strcmp(name,"BalancedthicknessSolution")==0) return BalancedthicknessSolutionEnum;
 	else if (strcmp(name,"BalancedthicknessAnalysis")==0) return BalancedthicknessAnalysisEnum;
@@ -69,5 +67,4 @@
 	else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum;
 	else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum;
-	else if (strcmp(name,"Mesh2gridAnalysis")==0) return Mesh2gridAnalysisEnum;
 	else if (strcmp(name,"ParametersSolution")==0) return ParametersSolutionEnum;
 	else if (strcmp(name,"ParametersAnalysis")==0) return ParametersAnalysisEnum;
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 4764)
+++ /issm/trunk/src/c/Makefile.am	(revision 4765)
@@ -394,8 +394,4 @@
 					./modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
 					./modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/UpdateElementsBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateNodesBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateConstraintsBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateLoadsBalancedthickness2.cpp\
 					./modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp\
 					./modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp\
@@ -950,8 +946,4 @@
 					./modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
 					./modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/UpdateElementsBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateNodesBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateConstraintsBalancedthickness2.cpp\
-					./modules/ModelProcessorx/Balancedthickness2/CreateLoadsBalancedthickness2.cpp\
 					./modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp\
 					./modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp\
@@ -1129,5 +1121,4 @@
 					./solutions/prognostic_core.cpp\
 					./solutions/balancedthickness_core.cpp\
-					./solutions/balancedthickness2_core.cpp\
 					./solutions/balancedvelocities_core.cpp\
 					./solutions/surfaceslope_core.cpp\
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp	(revision 4764)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp	(revision 4765)
@@ -26,25 +26,29 @@
 	if(!constraints) constraints = new Constraints(ConstraintsEnum);
 
-	/*Fetch data: */
-	IoModelFetchData(&iomodel->spcthickness,NULL,NULL,iomodel_handle,"spcthickness");
+	/*Do not add constraints in DG*/
+	if(!iomodel->prognostic_DG){
 
-	/*Initialize counter*/
-	count=0;
+		/*Fetch data: */
+		IoModelFetchData(&iomodel->spcthickness,NULL,NULL,iomodel_handle,"spcthickness");
 
-	/*Create spcs from x,y,z, as well as the spc values on those spcs: */
-	for (i=0;i<iomodel->numberofvertices;i++){
-		if(iomodel->my_vertices[i]){
-			
-			if ((int)iomodel->spcthickness[2*i]){
-		
-				constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,
-								*(iomodel->spcthickness+2*i+1),BalancedthicknessAnalysisEnum));//we enforce first translation degree of freedom, for temperature
-				count++;
+		/*Initialize counter*/
+		count=0;
+
+		/*Create spcs from x,y,z, as well as the spc values on those spcs: */
+		for (i=0;i<iomodel->numberofvertices;i++){
+			if(iomodel->my_vertices[i]){
+
+				if ((int)iomodel->spcthickness[2*i]){
+
+					constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,
+									*(iomodel->spcthickness+2*i+1),BalancedthicknessAnalysisEnum));//we enforce first translation degree of freedom, for temperature
+					count++;
+				}
 			}
 		}
+
+		/*Free data: */
+		xfree((void**)&iomodel->spcthickness);
 	}
-
-	/*Free data: */
-	xfree((void**)&iomodel->spcthickness);
 
 	/*Assign output pointer: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp	(revision 4764)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp	(revision 4765)
@@ -13,5 +13,9 @@
 void	CreateLoadsBalancedthickness(Loads** ploads, IoModel* iomodel,ConstDataHandle iomodel_handle){
 
-	/*DataSet*/
+	/*Intermediary*/
+	int i;
+	int element;
+
+	/*Output*/
 	Loads*    loads    = NULL;
 
@@ -22,4 +26,31 @@
 	if(!loads) loads = new Loads(LoadsEnum);
 	
+	/*Loads only in DG*/
+	if (iomodel->prognostic_DG){
+
+		/*Get edges and elements*/
+		IoModelFetchData(&iomodel->edges,&iomodel->numberofedges,NULL,iomodel_handle,"edges");
+		IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
+		IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
+
+		/*First load data:*/
+		for (i=0;i<iomodel->numberofedges;i++){
+
+			/*Get left and right elements*/
+			element=(int)iomodel->edges[4*i+2]-1; //edges are [node1 node2 elem1 elem2]
+
+			/*Now, if this element is not in the partition, pass: */
+			if(!iomodel->my_elements[element]) continue;
+
+			/* Add load */
+			loads->AddObject(new Numericalflux(iomodel->loadcounter+i+1,i,iomodel,BalancedthicknessAnalysisEnum));
+		}
+
+		/*Free data: */
+		xfree((void**)&iomodel->edges);
+		xfree((void**)&iomodel->elements);
+		xfree((void**)&iomodel->thickness);
+	}
+
 	/*Assign output pointer: */
 	*ploads=loads;
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4764)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp	(revision 4765)
@@ -16,5 +16,8 @@
 
 	/*Intermediary*/
-	int i;
+	int  i,j;
+	int  node_id;
+	int  vertex_id;
+	int  io_index;
 	bool continuous_galerkin=true;
 
@@ -29,5 +32,9 @@
 
 	/*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);
+
+	/*Check in 3d*/
+	if(iomodel->prognostic_DG && iomodel->dim==3) ISSMERROR("DG 3d not implemented yet");
 
 	/*First fetch data: */
@@ -36,4 +43,5 @@
 		IoModelFetchData(&iomodel->uppernodes,NULL,NULL,iomodel_handle,"uppergrids");
 	}
+	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
 	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
 	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
@@ -41,15 +49,43 @@
 	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
 
-	for (i=0;i<iomodel->numberofvertices;i++){
+	if(continuous_galerkin){
 
-		if(iomodel->my_vertices[i]){
+		/*Build Nodes dataset (Continuous Galerkin)*/
+		for (i=0;i<iomodel->numberofvertices;i++){
 
-			/*Add node to nodes dataset: */
-			nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i+1,i,iomodel,BalancedthicknessAnalysisEnum));
+			if(iomodel->my_vertices[i]){
 
+				/*Add node to nodes dataset: */
+				nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i+1,i,iomodel,BalancedthicknessAnalysisEnum));
+
+			}
+		}
+	}
+	else{
+
+		/*Build Nodes dataset -> 3 for each element (Discontinuous Galerkin)*/
+		for (i=0;i<iomodel->numberofelements;i++){
+			for (j=0;j<3;j++){
+
+				if(iomodel->my_nodes[3*i+j]){ 
+
+					//Get index of the vertex on which the current node is located
+					vertex_id=(int)*(iomodel->elements+3*i+j); //(Matlab indexing)
+					io_index=vertex_id-1;                      //(C indexing)
+					ISSMASSERT(vertex_id>0 && vertex_id<=iomodel->numberofvertices);
+
+					//Compute Node id
+					node_id=iomodel->nodecounter+3*i+j+1;
+
+					/*Add node to nodes dataset: */
+					nodes->AddObject(new Node(node_id,node_id-1,vertex_id,io_index,iomodel,BalancedthicknessAnalysisEnum));
+
+				}
+			}
 		}
 	}
 
 	/*Clean fetched data: */
+	xfree((void**)&iomodel->elements);
 	xfree((void**)&iomodel->deadgrids);
 	xfree((void**)&iomodel->gridonbed);
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4764)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 4765)
@@ -99,10 +99,4 @@
 			break;
 
-		case Balancedthickness2AnalysisEnum:
-			CreateNodesBalancedthickness2(pnodes, iomodel,iomodel_handle);
-			CreateConstraintsBalancedthickness2(pconstraints,iomodel,iomodel_handle);
-			CreateLoadsBalancedthickness2(ploads,iomodel,iomodel_handle);
-			UpdateElementsBalancedthickness2(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);
-			break;
 		case BalancedvelocitiesAnalysisEnum:
 			CreateNodesBalancedvelocities(pnodes, iomodel,iomodel_handle);
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4764)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 4765)
@@ -84,9 +84,4 @@
 void	UpdateElementsBalancedthickness(Elements* elements,IoModel* iomodel_handle,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
 
-void	CreateNodesBalancedthickness2(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
-void	CreateConstraintsBalancedthickness2(Constraints** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
-void  CreateLoadsBalancedthickness2(Loads** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
-void	UpdateElementsBalancedthickness2(Elements* elements,IoModel* iomodel_handle,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
-
 /*balancedvelocities:*/
 void	CreateNodesBalancedvelocities(Nodes** pnodes,IoModel* iomodel_handle,ConstDataHandle iomodel_handle);
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4764)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4765)
@@ -394,7 +394,4 @@
 	else if (analysis_type==BalancedthicknessAnalysisEnum){
 		InputUpdateFromSolutionBalancedthickness( solution);
-	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
-		InputUpdateFromSolutionBalancedthickness2( solution);
 	}
 	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
@@ -2646,9 +2643,4 @@
 	/*Add thickness as inputs to the tria element: */
 	this->inputs->AddInput(new PentaVertexInput(ThicknessEnum,values));
-}
-/*}}}*/
-/*FUNCTION Penta::InputUpdateFromSolutionBalancedthickness2 {{{1*/
-void  Penta::InputUpdateFromSolutionBalancedthickness2(double* solution){
-	ISSMERROR(" not supported yet!");
 }
 /*}}}*/
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 4764)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 4765)
@@ -175,5 +175,4 @@
 		void    InputUpdateFromSolutionAdjointStokes( double* solutiong);
 		void    InputUpdateFromSolutionBalancedthickness( double* solutiong);
-		void    InputUpdateFromSolutionBalancedthickness2( double* solutiong);
 		void    InputUpdateFromSolutionBalancedvelocities( double* solutiong);
 		void    InputUpdateFromSolutionDiagnosticHoriz( double* solutiong);
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4764)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4765)
@@ -394,7 +394,4 @@
 		InputUpdateFromSolutionBalancedthickness( solution);
 	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
-		InputUpdateFromSolutionBalancedthickness2( solution);
-	}
 	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
 		InputUpdateFromSolutionBalancedvelocities( solution);
@@ -688,8 +685,10 @@
 	}
 	else if (analysis_type==BalancedthicknessAnalysisEnum){
-		CreateKMatrixBalancedthickness( Kgg);
-	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
-		CreateKMatrixBalancedthickness2( Kgg);
+		if (GetElementType()==P1Enum)
+		 CreateKMatrixBalancedthickness_CG( Kgg);
+		else if (GetElementType()==P1DGEnum)
+		 CreateKMatrixBalancedthickness_DG( Kgg);
+		else
+		 ISSMERROR("Element type %s not supported yet",EnumAsString(GetElementType()));
 	}
 	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
@@ -737,8 +736,10 @@
 	}
 	else if (analysis_type==BalancedthicknessAnalysisEnum){
-		CreatePVectorBalancedthickness( pg);
-	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
-		CreatePVectorBalancedthickness2( pg);
+		if (GetElementType()==P1Enum)
+		 CreatePVectorBalancedthickness_CG( pg);
+		else if (GetElementType()==P1DGEnum)
+		 CreatePVectorBalancedthickness_DG( pg);
+		else
+		 ISSMERROR("Element type %s not supported yet",EnumAsString(GetElementType()));
 	}
 	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
@@ -2264,5 +2265,5 @@
 
 	/*Recover element type*/
-	if ((analysis_type==PrognosticAnalysisEnum && iomodel->prognostic_DG) || analysis_type==Balancedthickness2AnalysisEnum){
+	if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancedthicknessAnalysisEnum) && iomodel->prognostic_DG){
 
 		/*P1 Discontinuous Galerkin*/
@@ -2473,6 +2474,6 @@
 
 /*Tria specific routines: */
-/*FUNCTION Tria::CreateKMatrixBalancedthickness {{{1*/
-void  Tria::CreateKMatrixBalancedthickness(Mat Kgg){
+/*FUNCTION Tria::CreateKMatrixBalancedthickness_CG {{{1*/
+void  Tria::CreateKMatrixBalancedthickness_CG(Mat Kgg){
 
 	/* local declarations */
@@ -2629,6 +2630,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixBalancedthickness2 {{{1*/
-void  Tria::CreateKMatrixBalancedthickness2(Mat Kgg){
+/*FUNCTION Tria::CreateKMatrixBalancedthickness_DG {{{1*/
+void  Tria::CreateKMatrixBalancedthickness_DG(Mat Kgg){
 
 	/* local declarations */
@@ -3860,6 +3861,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedthickness {{{1*/
-void  Tria::CreatePVectorBalancedthickness(Vec pg ){
+/*FUNCTION Tria::CreatePVectorBalancedthickness_CG{{{1*/
+void  Tria::CreatePVectorBalancedthickness_CG(Vec pg ){
 
 
@@ -3934,6 +3935,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedthickness2 {{{1*/
-void  Tria::CreatePVectorBalancedthickness2(Vec pg){
+/*FUNCTION Tria::CreatePVectorBalancedthickness_DG {{{1*/
+void  Tria::CreatePVectorBalancedthickness_DG(Vec pg){
 
 
@@ -6028,29 +6029,4 @@
 	double       values[numdof];
 	double       thickness[numvertices];
-
-	int          dummy;
-
-	/*Get dof list: */
-	GetDofList(&doflist[0],&dummy);
-
-	/*Use the dof list to index into the solution vector: */
-	for(i=0;i<numdof;i++){
-		values[i]=solution[doflist[i]];
-	}
-
-	/*Add thickness as inputs to the tria element: */
-	this->inputs->AddInput(new TriaVertexInput(ThicknessEnum,values));
-}
-/*}}}*/
-/*FUNCTION Tria::InputUpdateFromSolutionBalancedthickness2 {{{1*/
-void  Tria::InputUpdateFromSolutionBalancedthickness2(double* solution){
-	int i;
-
-	const int    numvertices=3;
-	const int    numdofpervertex=1;
-	const int    numdof=numdofpervertex*numvertices;
-
-	int          doflist[numdof];
-	double       values[numdof];
 
 	int          dummy;
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 4764)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 4765)
@@ -111,6 +111,6 @@
 		/*}}}*/
 		/*Tria specific routines:{{{1*/
-		void	  CreateKMatrixBalancedthickness(Mat Kgg);
-		void	  CreateKMatrixBalancedthickness2(Mat Kgg);
+		void	  CreateKMatrixBalancedthickness_DG(Mat Kgg);
+		void	  CreateKMatrixBalancedthickness_CG(Mat Kgg);
 		void	  CreateKMatrixBalancedvelocities(Mat Kgg);
 		void	  CreateKMatrixDiagnosticHoriz(Mat Kgg);
@@ -123,6 +123,6 @@
 		void	  CreateKMatrixSlope(Mat Kgg);
 		void	  CreateKMatrixThermal(Mat Kgg);
-		void	  CreatePVectorBalancedthickness(Vec pg);
-		void	  CreatePVectorBalancedthickness2(Vec pg);
+		void	  CreatePVectorBalancedthickness_DG(Vec pg);
+		void	  CreatePVectorBalancedthickness_CG(Vec pg);
 		void	  CreatePVectorBalancedvelocities(Vec pg);
 		void	  CreatePVectorDiagnosticBaseVert(Vec pg);
@@ -169,5 +169,4 @@
 		void	  InputUpdateFromSolutionPrognostic( double* solution);
 		void	  InputUpdateFromSolutionBalancedthickness( double* solution);
-		void	  InputUpdateFromSolutionBalancedthickness2( double* solution);
 		void	  InputUpdateFromSolutionBalancedvelocities( double* solution);
 		bool	  IsInput(int name);
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4764)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4765)
@@ -415,5 +415,5 @@
 		parameters->FindParam(&dt,DtEnum);
 	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
+	else if (analysis_type==BalancedthicknessAnalysisEnum){
 		/*No transient term is involved*/
 		dt=1;
@@ -447,5 +447,5 @@
 		
 		UdotN=vx*normal[0]+vy*normal[1];
-		if (fabs(UdotN)<1.0e-9 && analysis_type==Balancedthickness2AnalysisEnum) printf("Edge number %i has a flux very small (u.n = %g ), which could lead to unaccurate results\n",id,UdotN);
+		if (fabs(UdotN)<1.0e-9 && analysis_type==BalancedthicknessAnalysisEnum) printf("Edge number %i has a flux very small (u.n = %g ), which could lead to unaccurate results\n",id,UdotN);
 
 		/*Get L and B: */
@@ -532,5 +532,5 @@
 		parameters->FindParam(&dt,DtEnum);
 	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
+	else if (analysis_type==BalancedthicknessAnalysisEnum){
 		/*No transient term is involved*/
 		dt=1;
@@ -659,5 +659,5 @@
 		parameters->FindParam(&dt,DtEnum);
 	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
+	else if (analysis_type==BalancedthicknessAnalysisEnum){
 		/*No transient term is involved*/
 		dt=1;
Index: /issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp
===================================================================
--- /issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp	(revision 4764)
+++ /issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp	(revision 4765)
@@ -40,7 +40,4 @@
 		numdofs=1;
 	}
-	else if (analysis_type==Balancedthickness2AnalysisEnum){
-		numdofs=1;
-	}
 	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
 		numdofs=1;
Index: /issm/trunk/src/c/solutions/SolutionConfiguration.cpp
===================================================================
--- /issm/trunk/src/c/solutions/SolutionConfiguration.cpp	(revision 4764)
+++ /issm/trunk/src/c/solutions/SolutionConfiguration.cpp	(revision 4765)
@@ -76,11 +76,4 @@
 			break;
 
-		case Balancedthickness2SolutionEnum:
-			numanalyses=1;
-			analyses=(int*)xmalloc(numanalyses*sizeof(int));
-			analyses[0]=Balancedthickness2AnalysisEnum;
-			solutioncore=&balancedthickness2_core;
-			break;
-
 		case BalancedvelocitiesSolutionEnum:
 			numanalyses=1;
Index: sm/trunk/src/c/solutions/balancedthickness2_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedthickness2_core.cpp	(revision 4764)
+++ 	(revision )
@@ -1,48 +1,0 @@
-/*!\file: balancedthickness2_core.cpp
- * \brief: core of the balancedthickness2 solution 
- */ 
-
-#include "../toolkits/toolkits.h"
-#include "../objects/objects.h"
-#include "../shared/shared.h"
-#include "../include/include.h"
-#include "../EnumDefinitions/EnumDefinitions.h"
-#include "./solutions.h"
-#include "../modules/modules.h"
-#include "../solvers/solvers.h"
-
-void balancedthickness2_core(FemModel* femmodel){
-
-	/*flags: */
-	int verbose=0;
-	int dim;
-	int solution_type;
-
-	/*activate formulation: */
-	femmodel->SetCurrentConfiguration(Balancedthickness2AnalysisEnum);
-	
-	/*recover parameters: */
-	femmodel->parameters->FindParam(&verbose,VerboseEnum);
-	femmodel->parameters->FindParam(&dim,DimEnum);
-	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
-
-	_printf_("depth averaging velocity...\n");
-	InputDepthAveragex(femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters,VxEnum,VxAverageEnum);
-	InputDepthAveragex(femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters,VyEnum,VyAverageEnum);
-
-	_printf_("call computational core:\n");
-	solver_linear(NULL,femmodel);
-
-	//_printf_("Averaging over vertices:\n");
-	//FieldAverageOntoVerticesx(&h_g,fem_p->elements,fem_p->nodes,fem_p->vertices,fem_p->loads,fem_p->materials,fem_p->parameters);
-
-	//	_printf_("extrude computed thickness on all layers:\n");
-	//	FieldExtrudex( h_g, fem_p->elements,fem_p->nodes, fem_p->vertices,fem_p->loads, fem_p->materials,fem_p->parameters,"thickness",0);
-
-	if(verbose)_printf_("saving results:\n");
-	if(solution_type==Balancedthickness2SolutionEnum){
-		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
-	}
-
-
-}
Index: /issm/trunk/src/c/solutions/solutions.h
===================================================================
--- /issm/trunk/src/c/solutions/solutions.h	(revision 4764)
+++ /issm/trunk/src/c/solutions/solutions.h	(revision 4765)
@@ -23,5 +23,4 @@
 void prognostic_core(FemModel* femmodel);
 void balancedthickness_core(FemModel* femmodel);
-void balancedthickness2_core(FemModel* femmodel);
 void balancedvelocities_core(FemModel* femmodel);
 void slopecompute_core(FemModel* femmodel);
