Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 8286)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 8287)
@@ -38,5 +38,5 @@
 	AdjointSolutionEnum,
 	AdjointHorizAnalysisEnum,
-	AdjointBalancedthicknessAnalysisEnum,
+	AdjointBalancethicknessAnalysisEnum,
 	ControlAnalysisEnum,
 	GradientAnalysisEnum,
@@ -66,8 +66,8 @@
 	SurfaceSlopeYAnalysisEnum,
 	//prognostic
-	BalancedthicknessSolutionEnum,
-	BalancedthicknessAnalysisEnum,
-	BalancedvelocitiesSolutionEnum,
-	BalancedvelocitiesAnalysisEnum,
+	BalancethicknessSolutionEnum,
+	BalancethicknessAnalysisEnum,
+	BalancevelocitiesSolutionEnum,
+	BalancevelocitiesAnalysisEnum,
 	PrognosticSolutionEnum,
 	PrognosticAnalysisEnum,
Index: /issm/trunk/src/c/Makefile.am
===================================================================
--- /issm/trunk/src/c/Makefile.am	(revision 8286)
+++ /issm/trunk/src/c/Makefile.am	(revision 8287)
@@ -459,12 +459,12 @@
 					./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\
 					./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp\
-					./modules/ModelProcessorx/Balancedthickness/UpdateElementsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateConstraintsBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp\
+					./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancevelocities.cpp\
 					./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
 					./modules/NodesDofx/NodesDofx.h\
@@ -1097,12 +1097,12 @@
 					./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\
 					./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp\
-					./modules/ModelProcessorx/Balancedthickness/UpdateElementsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateNodesBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/UpdateElementsBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateNodesBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateConstraintsBalancedvelocities.cpp\
-					./modules/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp\
+					./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\
+					./modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp\
+					./modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancevelocities.cpp\
 					./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
 					./modules/NodesDofx/NodesDofx.h\
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 8286)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 8287)
@@ -36,5 +36,5 @@
 		case AdjointSolutionEnum : return "AdjointSolution";
 		case AdjointHorizAnalysisEnum : return "AdjointHorizAnalysis";
-		case AdjointBalancedthicknessAnalysisEnum : return "AdjointBalancedthicknessAnalysis";
+		case AdjointBalancethicknessAnalysisEnum : return "AdjointBalancethicknessAnalysis";
 		case ControlAnalysisEnum : return "ControlAnalysis";
 		case GradientAnalysisEnum : return "GradientAnalysis";
@@ -59,8 +59,8 @@
 		case SurfaceSlopeXAnalysisEnum : return "SurfaceSlopeXAnalysis";
 		case SurfaceSlopeYAnalysisEnum : return "SurfaceSlopeYAnalysis";
-		case BalancedthicknessSolutionEnum : return "BalancedthicknessSolution";
-		case BalancedthicknessAnalysisEnum : return "BalancedthicknessAnalysis";
-		case BalancedvelocitiesSolutionEnum : return "BalancedvelocitiesSolution";
-		case BalancedvelocitiesAnalysisEnum : return "BalancedvelocitiesAnalysis";
+		case BalancethicknessSolutionEnum : return "BalancethicknessSolution";
+		case BalancethicknessAnalysisEnum : return "BalancethicknessAnalysis";
+		case BalancevelocitiesSolutionEnum : return "BalancevelocitiesSolution";
+		case BalancevelocitiesAnalysisEnum : return "BalancevelocitiesAnalysis";
 		case PrognosticSolutionEnum : return "PrognosticSolution";
 		case PrognosticAnalysisEnum : return "PrognosticAnalysis";
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancedthickness.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancedthickness.cpp	(revision 8287)
@@ -0,0 +1,56 @@
+/*
+ * CreateConstraintsBalancedthickness.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../io/io.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../ModelProcessorx.h"
+
+void	CreateConstraintsBalancedthickness(Constraints** pconstraints, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*Intermediary*/
+	int i;
+	int count;
+
+	/*Output*/
+	Constraints* constraints = NULL;
+
+	/*Recover pointer: */
+	constraints=*pconstraints;
+
+	/*Create constraints if they do not exist yet*/
+	if(!constraints) constraints = new Constraints(ConstraintsEnum);
+
+	/*Do not add constraints in DG*/
+	if(!iomodel->prognostic_DG){
+
+		/*Fetch data: */
+		IoModelFetchData(&iomodel->spcthickness,NULL,NULL,iomodel_handle,"spcthickness");
+
+		/*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);
+	}
+
+	/*Assign output pointer: */
+	*pconstraints=constraints;
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancedthickness.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancedthickness.cpp	(revision 8287)
@@ -0,0 +1,57 @@
+/*! \file CreateLoadsBalancedthickness.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void	CreateLoadsBalancedthickness(Loads** ploads, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*Intermediary*/
+	int i;
+	int element;
+
+	/*Output*/
+	Loads*    loads    = NULL;
+
+	/*Recover pointer: */
+	loads=*ploads;
+
+	/*Create loads if they do not exist yet*/
+	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/Balancethickness/CreateNodesBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancedthickness.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancedthickness.cpp	(revision 8287)
@@ -0,0 +1,97 @@
+/*
+ * CreateNodesBalancedthickness.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../../include/include.h"
+#include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../ModelProcessorx.h"
+
+void	CreateNodesBalancedthickness(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*Intermediary*/
+	int  i,j;
+	int  node_id;
+	int  vertex_id;
+	int  io_index;
+	bool continuous_galerkin=true;
+
+	/*DataSets: */
+	Nodes*    nodes = NULL;
+
+	/*Recover pointer: */
+	nodes=*pnodes;
+
+	/*Create nodes if they do not exist yet*/
+	if(!nodes) nodes = new Nodes(NodesEnum);
+
+	/*Continuous Galerkin partition of nodes: */
+	if(iomodel->prognostic_DG) continuous_galerkin=false;
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
+
+	/*Check in 3d*/
+	if(iomodel->prognostic_DG && iomodel->dim==3) _error_("DG 3d not implemented yet");
+
+	/*First fetch data: */
+	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
+	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
+	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
+	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
+	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
+	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+
+	if(continuous_galerkin){
+
+		/*Build Nodes dataset (Continuous Galerkin)*/
+		for (i=0;i<iomodel->numberofvertices;i++){
+
+			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)
+					_assert_(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->gridonbed);
+	xfree((void**)&iomodel->gridonsurface);
+	xfree((void**)&iomodel->gridonicesheet);
+	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->vertices_type);
+
+	/*Assign output pointer: */
+	*pnodes=nodes;
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancedthickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancedthickness.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancedthickness.cpp	(revision 8287)
@@ -0,0 +1,62 @@
+/*
+ * UpdateElementsBalancedthickness:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void	UpdateElementsBalancedthickness(Elements* elements, IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type){
+
+	/*Intermediary*/
+	int i;
+	int counter;
+	Element* element=NULL;
+
+	/*Fetch data needed: */
+	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
+	IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
+	IoModelFetchData(&iomodel->surface,NULL,NULL,iomodel_handle,"surface");
+	IoModelFetchData(&iomodel->bed,NULL,NULL,iomodel_handle,"bed");
+	IoModelFetchData(&iomodel->elementoniceshelf,NULL,NULL,iomodel_handle,"elementoniceshelf");
+	IoModelFetchData(&iomodel->elementonwater,NULL,NULL,iomodel_handle,"elementonwater");
+	IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx");
+	IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy");
+	IoModelFetchData(&iomodel->melting_rate,NULL,NULL,iomodel_handle,"melting_rate");
+	IoModelFetchData(&iomodel->accumulation_rate,NULL,NULL,iomodel_handle,"accumulation_rate");
+	IoModelFetchData(&iomodel->dhdt,NULL,NULL,iomodel_handle,"dhdt");
+	if (iomodel->dim==3){
+		IoModelFetchData(&iomodel->elementonbed,NULL,NULL,iomodel_handle,"elementonbed");
+		IoModelFetchData(&iomodel->elementonsurface,NULL,NULL,iomodel_handle,"elementonsurface");
+	}
+
+	/*Update elements: */
+	counter=0;
+	for (i=0;i<iomodel->numberofelements;i++){
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter,analysis_type); //we need i to index into elements.
+			counter++;
+		}
+	}
+
+	/*Free data: */
+	xfree((void**)&iomodel->elements);
+	xfree((void**)&iomodel->thickness);
+	xfree((void**)&iomodel->surface);
+	xfree((void**)&iomodel->bed);
+	xfree((void**)&iomodel->elementoniceshelf);
+	xfree((void**)&iomodel->elementonbed);
+	xfree((void**)&iomodel->elementonsurface);
+	xfree((void**)&iomodel->elementonwater);
+	xfree((void**)&iomodel->vx);
+	xfree((void**)&iomodel->vy);
+	xfree((void**)&iomodel->melting_rate);
+	xfree((void**)&iomodel->accumulation_rate);
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancedvelocities.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancedvelocities.cpp	(revision 8287)
@@ -0,0 +1,53 @@
+/*
+ * CreateConstraintsBalancevelocities.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../ModelProcessorx.h"
+
+void	CreateConstraintsBalancevelocities(Constraints** pconstraints, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*Intermediary*/
+	int i;
+	int count=0;
+	
+	/*Output*/
+	Constraints* constraints = NULL;
+	Spc*    spc  = NULL;
+
+	/*Recover pointer: */
+	constraints=*pconstraints;
+
+	/*Create constraints if they do not exist yet*/
+	if(!constraints) constraints = new Constraints(ConstraintsEnum);
+
+	/*Fetch data: */
+	IoModelFetchData(&iomodel->spcvelocity,NULL,NULL,iomodel_handle,"spcvelocity");
+
+	count=1; //matlab indexing
+	/*Create spcs from x,y,z, as well as the spc values on those spcs: */
+	for (i=0;i<iomodel->numberofvertices;i++){
+		/*keep only this partition's nodes:*/
+		if((iomodel->my_vertices[i])){
+
+			if ((int)iomodel->spcvelocity[6*i+0] && (int)iomodel->spcvelocity[6*i+1]){ //spc if vx and vy are constrained
+
+				/*This grid needs to be spc'd: */
+				constraints->AddObject(new Spc(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,
+								pow( pow(*(iomodel->spcvelocity+6*i+4),2.0) + pow(*(iomodel->spcvelocity+6*i+5),2.0) ,0.5),BalancevelocitiesAnalysisEnum));
+				count++;
+			}
+		} //if((my_vertices[i]))
+	}
+
+	/*Free data: */
+	xfree((void**)&iomodel->spcvelocity);
+	
+	/*Assign output pointer: */
+	*pconstraints=constraints;
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancedvelocities.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancedvelocities.cpp	(revision 8287)
@@ -0,0 +1,26 @@
+/*! \file CreateLoadsBalancevelocities.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void	CreateLoadsBalancevelocities(Loads** ploads, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*DataSet*/
+	Loads* loads=NULL;
+
+	/*Recover pointer: */
+	loads=*ploads;
+
+	/*Create loads if they do not exist yet*/
+	if(!loads) loads = new Loads(LoadsEnum);
+
+	/*Assign output pointer: */
+	*ploads=loads;
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancedvelocities.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/CreateNodesBalancedvelocities.cpp	(revision 8287)
@@ -0,0 +1,60 @@
+/*
+ * CreateNodesBalancevelocities.c:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void	CreateNodesBalancevelocities(Nodes** pnodes, IoModel* iomodel,ConstDataHandle iomodel_handle){
+
+	/*Intermediary*/
+	int i;
+	bool continuous_galerkin=true;
+
+	/*DataSets: */
+	Nodes*    nodes = NULL;
+
+	/*Recover pointer: */
+	nodes=*pnodes;
+
+	/*Create nodes if they do not exist yet*/
+	if(!nodes) nodes = new Nodes(NodesEnum);
+
+	/*Continuous Galerkin partition of nodes: */
+	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,iomodel_handle,continuous_galerkin);
+
+	/*First fetch data: */
+	IoModelFetchData(&iomodel->gridonbed,NULL,NULL,iomodel_handle,"gridonbed");
+	IoModelFetchData(&iomodel->gridonsurface,NULL,NULL,iomodel_handle,"gridonsurface");
+	IoModelFetchData(&iomodel->gridonicesheet,NULL,NULL,iomodel_handle,"gridonicesheet");
+	IoModelFetchData(&iomodel->gridoniceshelf,NULL,NULL,iomodel_handle,"gridoniceshelf");
+	IoModelFetchData(&iomodel->vertices_type,NULL,NULL,iomodel_handle,"vertices_type");
+	IoModelFetchData(&iomodel->gridonwater,NULL,NULL,iomodel_handle,"gridonwater");
+	for (i=0;i<iomodel->numberofvertices;i++){
+
+		if(iomodel->my_vertices[i]){
+			
+			/*Add node to nodes dataset: */
+			nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i+1,i,iomodel,BalancevelocitiesAnalysisEnum));
+
+		}
+	}
+
+	/*Clean fetched data: */
+	xfree((void**)&iomodel->gridonbed);
+	xfree((void**)&iomodel->gridonsurface);
+	xfree((void**)&iomodel->gridonicesheet);
+	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->gridonwater);
+	xfree((void**)&iomodel->vertices_type);	
+
+	/*Assign output pointer: */
+	*pnodes=nodes;
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancedvelocities.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancedvelocities.cpp	(revision 8287)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancedvelocities.cpp	(revision 8287)
@@ -0,0 +1,63 @@
+/*
+ * UpdateElementsBalancevelocities:
+ */
+
+#include "../../../Container/Container.h"
+#include "../../../toolkits/toolkits.h"
+#include "../../../io/io.h"
+#include "../../../EnumDefinitions/EnumDefinitions.h"
+#include "../../../objects/objects.h"
+#include "../../../shared/shared.h"
+#include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../../include/include.h"
+#include "../ModelProcessorx.h"
+
+void	UpdateElementsBalancevelocities(Elements* elements, IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type){
+
+	/*Intermediary*/
+	int i;
+	int counter;
+	Element* element=NULL;
+
+	/*Fetch data needed: */
+	IoModelFetchData(&iomodel->elements,NULL,NULL,iomodel_handle,"elements");
+	IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
+	IoModelFetchData(&iomodel->surface,NULL,NULL,iomodel_handle,"surface");
+	IoModelFetchData(&iomodel->bed,NULL,NULL,iomodel_handle,"bed");
+	IoModelFetchData(&iomodel->elementoniceshelf,NULL,NULL,iomodel_handle,"elementoniceshelf");
+	IoModelFetchData(&iomodel->elementonwater,NULL,NULL,iomodel_handle,"elementonwater");
+	IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx");
+	IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy");
+	IoModelFetchData(&iomodel->melting_rate,NULL,NULL,iomodel_handle,"melting_rate");
+	IoModelFetchData(&iomodel->accumulation_rate,NULL,NULL,iomodel_handle,"accumulation_rate");
+
+	if (iomodel->dim==3){
+		IoModelFetchData(&iomodel->elementonbed,NULL,NULL,iomodel_handle,"elementonbed");
+		IoModelFetchData(&iomodel->elementonsurface,NULL,NULL,iomodel_handle,"elementonsurface");
+	}
+
+	/*Update elements: */
+	counter=0;
+	for (i=0;i<iomodel->numberofelements;i++){
+		if(iomodel->my_elements[i]){
+			element=(Element*)elements->GetObjectByOffset(counter);
+			element->Update(i,iomodel,analysis_counter,analysis_type); //we need i to index into elements.
+			counter++;
+		}
+	}
+
+	/*Free data: */
+	xfree((void**)&iomodel->elements);
+	xfree((void**)&iomodel->thickness);
+	xfree((void**)&iomodel->surface);
+	xfree((void**)&iomodel->bed);
+	xfree((void**)&iomodel->elementoniceshelf);
+	xfree((void**)&iomodel->elementonwater);
+	xfree((void**)&iomodel->elementonbed);
+	xfree((void**)&iomodel->elementonsurface);
+	xfree((void**)&iomodel->vx);
+	xfree((void**)&iomodel->vy);
+	xfree((void**)&iomodel->vz);
+	xfree((void**)&iomodel->melting_rate);
+	xfree((void**)&iomodel->accumulation_rate);
+}
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 8286)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 8287)
@@ -94,16 +94,16 @@
 			break;
 
-		case BalancedthicknessAnalysisEnum:
-			CreateNodesBalancedthickness(pnodes, iomodel,iomodel_handle);
-			CreateConstraintsBalancedthickness(pconstraints,iomodel,iomodel_handle);
-			CreateLoadsBalancedthickness(ploads,iomodel,iomodel_handle);
-			UpdateElementsBalancedthickness(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);
+		case BalancethicknessAnalysisEnum:
+			CreateNodesBalancethickness(pnodes, iomodel,iomodel_handle);
+			CreateConstraintsBalancethickness(pconstraints,iomodel,iomodel_handle);
+			CreateLoadsBalancethickness(ploads,iomodel,iomodel_handle);
+			UpdateElementsBalancethickness(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);
 			break;
 
-		case BalancedvelocitiesAnalysisEnum:
-			CreateNodesBalancedvelocities(pnodes, iomodel,iomodel_handle);
-			CreateConstraintsBalancedvelocities(pconstraints,iomodel,iomodel_handle);
-			CreateLoadsBalancedvelocities(ploads,iomodel,iomodel_handle);
-			UpdateElementsBalancedvelocities(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);
+		case BalancevelocitiesAnalysisEnum:
+			CreateNodesBalancevelocities(pnodes, iomodel,iomodel_handle);
+			CreateConstraintsBalancevelocities(pconstraints,iomodel,iomodel_handle);
+			CreateLoadsBalancevelocities(ploads,iomodel,iomodel_handle);
+			UpdateElementsBalancevelocities(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);
 			break;
 		default:
Index: /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 8286)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 8287)
@@ -84,8 +84,8 @@
 		numdofs=1;
 	}
-	else if (analysis_type==BalancedthicknessAnalysisEnum){
+	else if (analysis_type==BalancethicknessAnalysisEnum){
 		numdofs=1;
 	}
-	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
+	else if (analysis_type==BalancevelocitiesAnalysisEnum){
 		numdofs=1;
 	}
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 8286)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h	(revision 8287)
@@ -81,14 +81,14 @@
 
 /*balancedthickness:*/
-void	CreateNodesBalancedthickness(Nodes** pnodes,IoModel* iomodel,ConstDataHandle iomodel_handle);
-void	CreateConstraintsBalancedthickness(Constraints** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
-void  CreateLoadsBalancedthickness(Loads** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
-void	UpdateElementsBalancedthickness(Elements* elements,IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
+void	CreateNodesBalancethickness(Nodes** pnodes,IoModel* iomodel,ConstDataHandle iomodel_handle);
+void	CreateConstraintsBalancethickness(Constraints** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
+void  CreateLoadsBalancethickness(Loads** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
+void	UpdateElementsBalancethickness(Elements* elements,IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
 
 /*balancedvelocities:*/
-void	CreateNodesBalancedvelocities(Nodes** pnodes,IoModel* iomodel,ConstDataHandle iomodel_handle);
-void	CreateConstraintsBalancedvelocities(Constraints** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
-void  CreateLoadsBalancedvelocities(Loads** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
-void	UpdateElementsBalancedvelocities(Elements* elements,IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
+void	CreateNodesBalancevelocities(Nodes** pnodes,IoModel* iomodel,ConstDataHandle iomodel_handle);
+void	CreateConstraintsBalancevelocities(Constraints** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
+void  CreateLoadsBalancevelocities(Loads** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
+void	UpdateElementsBalancevelocities(Elements* elements,IoModel* iomodel,ConstDataHandle iomodel_handle,int analysis_counter,int analysis_type);
 
 /*partitioning: */
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 8286)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 8287)
@@ -34,5 +34,5 @@
 	else if (strcmp(name,"AdjointSolution")==0) return AdjointSolutionEnum;
 	else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
-	else if (strcmp(name,"AdjointBalancedthicknessAnalysis")==0) return AdjointBalancedthicknessAnalysisEnum;
+	else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
 	else if (strcmp(name,"ControlAnalysis")==0) return ControlAnalysisEnum;
 	else if (strcmp(name,"GradientAnalysis")==0) return GradientAnalysisEnum;
@@ -57,8 +57,8 @@
 	else if (strcmp(name,"SurfaceSlopeXAnalysis")==0) return SurfaceSlopeXAnalysisEnum;
 	else if (strcmp(name,"SurfaceSlopeYAnalysis")==0) return SurfaceSlopeYAnalysisEnum;
-	else if (strcmp(name,"BalancedthicknessSolution")==0) return BalancedthicknessSolutionEnum;
-	else if (strcmp(name,"BalancedthicknessAnalysis")==0) return BalancedthicknessAnalysisEnum;
-	else if (strcmp(name,"BalancedvelocitiesSolution")==0) return BalancedvelocitiesSolutionEnum;
-	else if (strcmp(name,"BalancedvelocitiesAnalysis")==0) return BalancedvelocitiesAnalysisEnum;
+	else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
+	else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum;
+	else if (strcmp(name,"BalancevelocitiesSolution")==0) return BalancevelocitiesSolutionEnum;
+	else if (strcmp(name,"BalancevelocitiesAnalysis")==0) return BalancevelocitiesAnalysisEnum;
 	else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum;
 	else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8286)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8287)
@@ -561,9 +561,9 @@
 			Ke=CreateKMatrixPrognostic();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			Ke=CreateKMatrixBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			Ke=CreateKMatrixBalancethickness();
 			break;
-		case BalancedvelocitiesAnalysisEnum:
-			Ke=CreateKMatrixBalancedvelocities();
+		case BalancevelocitiesAnalysisEnum:
+			Ke=CreateKMatrixBalancevelocities();
 			break;
 		case ThermalAnalysisEnum:
@@ -589,6 +589,6 @@
 }
 /*}}}*/
-/*FUNCTION Penta::CreateKMatrixBalancedthickness {{{1*/
-ElementMatrix* Penta::CreateKMatrixBalancedthickness(void){
+/*FUNCTION Penta::CreateKMatrixBalancethickness {{{1*/
+ElementMatrix* Penta::CreateKMatrixBalancethickness(void){
 
 	/*Figure out if this penta is collapsed. If so, then bailout, except if it is at the 
@@ -603,5 +603,5 @@
 	/*Spawn Tria element from the base of the Penta: */
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
-	ElementMatrix* Ke=tria->CreateKMatrixBalancedthickness();
+	ElementMatrix* Ke=tria->CreateKMatrixBalancethickness();
 	delete tria->matice; delete tria;
 
@@ -614,6 +614,6 @@
 }
 /*}}}*/
-/*FUNCTION Penta::CreateKMatrixBalancedvelocities {{{1*/
-ElementMatrix* Penta::CreateKMatrixBalancedvelocities(void){
+/*FUNCTION Penta::CreateKMatrixBalancevelocities {{{1*/
+ElementMatrix* Penta::CreateKMatrixBalancevelocities(void){
 
 	/*Figure out if this penta is collapsed. If so, then bailout, except if it is at the 
@@ -628,5 +628,5 @@
 	/*Spawn Tria element from the base of the Penta: */
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
-	ElementMatrix* Ke=tria->CreateKMatrixBalancedvelocities();
+	ElementMatrix* Ke=tria->CreateKMatrixBalancevelocities();
 	delete tria->matice; delete tria;
 
@@ -1908,9 +1908,9 @@
 			pe=CreatePVectorPrognostic();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			pe=CreatePVectorBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			pe=CreatePVectorBalancethickness();
 			break;
-		case BalancedvelocitiesAnalysisEnum:
-			pe=CreatePVectorBalancedvelocities();
+		case BalancevelocitiesAnalysisEnum:
+			pe=CreatePVectorBalancevelocities();
 			break;
 		case ThermalAnalysisEnum:
@@ -1979,6 +1979,6 @@
 }
 /*}}}*/
-/*FUNCTION Penta::CreatePVectorBalancedthickness {{{1*/
-ElementVector* Penta::CreatePVectorBalancedthickness(void){
+/*FUNCTION Penta::CreatePVectorBalancethickness {{{1*/
+ElementVector* Penta::CreatePVectorBalancethickness(void){
 
 	if (!IsOnBed()) return NULL;
@@ -1990,5 +1990,5 @@
 	/*Call Tria function*/
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
-	ElementVector* pe=tria->CreatePVectorBalancedthickness();
+	ElementVector* pe=tria->CreatePVectorBalancethickness();
 	delete tria->matice; delete tria;
 
@@ -2001,6 +2001,6 @@
 }
 /*}}}*/
-/*FUNCTION Penta::CreatePVectorBalancedvelocities {{{1*/
-ElementVector* Penta::CreatePVectorBalancedvelocities(void){
+/*FUNCTION Penta::CreatePVectorBalancevelocities {{{1*/
+ElementVector* Penta::CreatePVectorBalancevelocities(void){
 
 	if (!IsOnBed()) return NULL;
@@ -2012,5 +2012,5 @@
 	/*Call Tria function*/
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //grids 0, 1 and 2 make the new tria.
-	ElementVector* pe=tria->CreatePVectorBalancedvelocities();
+	ElementVector* pe=tria->CreatePVectorBalancevelocities();
 	delete tria->matice; delete tria;
 
@@ -4183,8 +4183,8 @@
 		InputUpdateFromSolutionPrognostic(solution);
 	}
-	else if (analysis_type==BalancedthicknessAnalysisEnum){
+	else if (analysis_type==BalancethicknessAnalysisEnum){
 		InputUpdateFromSolutionOneDofCollapsed(solution,ThicknessEnum);
 	}
-	else if (analysis_type==BalancedvelocitiesAnalysisEnum){
+	else if (analysis_type==BalancevelocitiesAnalysisEnum){
 		InputUpdateFromSolutionOneDofCollapsed(solution,VelEnum);
 	}
@@ -6155,5 +6155,5 @@
 
 	/*Recover element type*/
-	if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancedthicknessAnalysisEnum) && iomodel->prognostic_DG){
+	if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && iomodel->prognostic_DG){
 		/*P1 Discontinuous Galerkin*/
 		penta_type=P1DGEnum;
Index: /issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.h	(revision 8286)
+++ /issm/trunk/src/c/objects/Elements/Penta.h	(revision 8287)
@@ -137,6 +137,6 @@
 		/*Penta specific routines:{{{1*/
 		void	  BedNormal(double* bed_normal, double xyz_list[3][3]);
-		ElementMatrix* CreateKMatrixBalancedthickness(void);
-		ElementMatrix* CreateKMatrixBalancedvelocities(void);
+		ElementMatrix* CreateKMatrixBalancethickness(void);
+		ElementMatrix* CreateKMatrixBalancevelocities(void);
 		ElementMatrix* CreateKMatrixCouplingMacAyealPattyn(void);
 		ElementMatrix* CreateKMatrixCouplingMacAyealPattynViscous(void);
@@ -172,6 +172,6 @@
 		ElementMatrix* CreateKMatrixThermalVolume(void);
 		ElementMatrix* CreateKMatrixThermalShelf(void);
-		ElementVector* CreatePVectorBalancedthickness(void);
-		ElementVector* CreatePVectorBalancedvelocities(void);
+		ElementVector* CreatePVectorBalancethickness(void);
+		ElementVector* CreatePVectorBalancevelocities(void);
 		ElementVector* CreatePVectorAdjointHoriz(void);
 		ElementVector* CreatePVectorAdjointMacAyeal(void);
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 8286)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 8287)
@@ -408,12 +408,12 @@
 			Ke=CreateKMatrixHydrology();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			Ke=CreateKMatrixBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			Ke=CreateKMatrixBalancethickness();
 			break;
-		case AdjointBalancedthicknessAnalysisEnum:
-			Ke=CreateKMatrixAdjointBalancedthickness();
+		case AdjointBalancethicknessAnalysisEnum:
+			Ke=CreateKMatrixAdjointBalancethickness();
 			break;
-		case BalancedvelocitiesAnalysisEnum:
-			Ke=CreateKMatrixBalancedvelocities();
+		case BalancevelocitiesAnalysisEnum:
+			Ke=CreateKMatrixBalancevelocities();
 			break;
 		default:
@@ -428,6 +428,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixAdjointBalancedthickness {{{1*/
-ElementMatrix* Tria::CreateKMatrixAdjointBalancedthickness(void){
+/*FUNCTION Tria::CreateKMatrixAdjointBalancethickness {{{1*/
+ElementMatrix* Tria::CreateKMatrixAdjointBalancethickness(void){
 
 	ElementMatrix* Ke=NULL;
@@ -436,8 +436,8 @@
 	switch(GetElementType()){
 		case P1Enum:
-			Ke=CreateKMatrixBalancedthickness_CG();
+			Ke=CreateKMatrixBalancethickness_CG();
 			break;
 		case P1DGEnum:
-			Ke=CreateKMatrixBalancedthickness_DG();
+			Ke=CreateKMatrixBalancethickness_DG();
 			break;
 		default:
@@ -450,12 +450,12 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixBalancedthickness {{{1*/
-ElementMatrix* Tria::CreateKMatrixBalancedthickness(void){
+/*FUNCTION Tria::CreateKMatrixBalancethickness {{{1*/
+ElementMatrix* Tria::CreateKMatrixBalancethickness(void){
 
 	switch(GetElementType()){
 		case P1Enum:
-			return CreateKMatrixBalancedthickness_CG();
+			return CreateKMatrixBalancethickness_CG();
 		case P1DGEnum:
-			return CreateKMatrixBalancedthickness_DG();
+			return CreateKMatrixBalancethickness_DG();
 		default:
 			_error_("Element type %s not supported yet",EnumToStringx(GetElementType()));
@@ -464,6 +464,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixBalancedthickness_CG {{{1*/
-ElementMatrix* Tria::CreateKMatrixBalancedthickness_CG(void){
+/*FUNCTION Tria::CreateKMatrixBalancethickness_CG {{{1*/
+ElementMatrix* Tria::CreateKMatrixBalancethickness_CG(void){
 
 	/*Constants*/
@@ -576,6 +576,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixBalancedthickness_DG {{{1*/
-ElementMatrix* Tria::CreateKMatrixBalancedthickness_DG(void){
+/*FUNCTION Tria::CreateKMatrixBalancethickness_DG {{{1*/
+ElementMatrix* Tria::CreateKMatrixBalancethickness_DG(void){
 
 	/*Constants*/
@@ -633,6 +633,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreateKMatrixBalancedvelocities {{{1*/
-ElementMatrix* Tria::CreateKMatrixBalancedvelocities(void){
+/*FUNCTION Tria::CreateKMatrixBalancevelocities {{{1*/
+ElementMatrix* Tria::CreateKMatrixBalancevelocities(void){
 
 	/*Constants*/
@@ -1618,12 +1618,12 @@
 			pe=CreatePVectorHydrology();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			pe=CreatePVectorBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			pe=CreatePVectorBalancethickness();
 			break;
-		case AdjointBalancedthicknessAnalysisEnum:
-			pe=CreatePVectorAdjointBalancedthickness();
+		case AdjointBalancethicknessAnalysisEnum:
+			pe=CreatePVectorAdjointBalancethickness();
 			break;
-		case BalancedvelocitiesAnalysisEnum:
-			pe=CreatePVectorBalancedvelocities();
+		case BalancevelocitiesAnalysisEnum:
+			pe=CreatePVectorBalancevelocities();
 			break;
 		default:
@@ -1638,13 +1638,13 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedthickness{{{1*/
-ElementVector* Tria::CreatePVectorBalancedthickness(void){
+/*FUNCTION Tria::CreatePVectorBalancethickness{{{1*/
+ElementVector* Tria::CreatePVectorBalancethickness(void){
 
 	switch(GetElementType()){
 		case P1Enum:
-			return CreatePVectorBalancedthickness_CG();
+			return CreatePVectorBalancethickness_CG();
 			break;
 		case P1DGEnum:
-			return CreatePVectorBalancedthickness_DG();
+			return CreatePVectorBalancethickness_DG();
 		default:
 			_error_("Element type %s not supported yet",EnumToStringx(GetElementType()));
@@ -1652,6 +1652,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedthickness_CG{{{1*/
-ElementVector* Tria::CreatePVectorBalancedthickness_CG(void){
+/*FUNCTION Tria::CreatePVectorBalancethickness_CG{{{1*/
+ElementVector* Tria::CreatePVectorBalancethickness_CG(void){
 
 	/*Constants*/
@@ -1695,6 +1695,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedthickness_DG {{{1*/
-ElementVector* Tria::CreatePVectorBalancedthickness_DG(void){
+/*FUNCTION Tria::CreatePVectorBalancethickness_DG {{{1*/
+ElementVector* Tria::CreatePVectorBalancethickness_DG(void){
 
 	/*Constants*/
@@ -1738,6 +1738,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorBalancedvelocities {{{1*/
-ElementVector* Tria::CreatePVectorBalancedvelocities(void){
+/*FUNCTION Tria::CreatePVectorBalancevelocities {{{1*/
+ElementVector* Tria::CreatePVectorBalancevelocities(void){
 
 	/*Constants*/
@@ -1905,6 +1905,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::CreatePVectorAdjointBalancedthickness{{{1*/
-ElementVector* Tria::CreatePVectorAdjointBalancedthickness(void){
+/*FUNCTION Tria::CreatePVectorAdjointBalancethickness{{{1*/
+ElementVector* Tria::CreatePVectorAdjointBalancethickness(void){
 
 	/*Constants*/
@@ -1946,7 +1946,7 @@
 
 		for(i=0;i<numdof;i++) pe->values[i]+=(thicknessobs-thickness)*weight*Jdet*gauss->weight*l1l2l3[i];
-		/*Regularization of the constraint: 20000000*/
-		//for(i=0;i<numdof;i++) pe->values[i]+= - 1*2000000*dH[0]*dbasis[0][i]*Jdet*gauss->weight;
-		//for(i=0;i<numdof;i++) pe->values[i]+= - 1*2000000*dH[1]*dbasis[1][i]*weight*Jdet*gauss->weight;
+		/*Regularization of the constraint: 2000000 79 N*/
+		//for(i=0;i<numdof;i++) pe->values[i]+= - 1*100000*dH[0]*dbasis[0][i]*Jdet*gauss->weight;
+		//for(i=0;i<numdof;i++) pe->values[i]+= - 1*100000*dH[1]*dbasis[1][i]*weight*Jdet*gauss->weight;
 	}
 
@@ -4022,11 +4022,11 @@
 			InputUpdateFromSolutionHydrology(solution);
 			break;
-		case BalancedthicknessAnalysisEnum:
+		case BalancethicknessAnalysisEnum:
 			InputUpdateFromSolutionOneDof(solution,ThicknessEnum);
 			break;
-		case AdjointBalancedthicknessAnalysisEnum:
-			InputUpdateFromSolutionAdjointBalancedthickness( solution);
+		case AdjointBalancethicknessAnalysisEnum:
+			InputUpdateFromSolutionAdjointBalancethickness( solution);
 			break;
-		case BalancedvelocitiesAnalysisEnum:
+		case BalancevelocitiesAnalysisEnum:
 			InputUpdateFromSolutionOneDof(solution,VelEnum);
 			break;
@@ -4036,6 +4036,6 @@
 }
 /*}}}*/
-/*FUNCTION Tria::InputUpdateFromSolutionAdjointBalancedthickness {{{1*/
-void  Tria::InputUpdateFromSolutionAdjointBalancedthickness(double* solution){
+/*FUNCTION Tria::InputUpdateFromSolutionAdjointBalancethickness {{{1*/
+void  Tria::InputUpdateFromSolutionAdjointBalancethickness(double* solution){
 
 	const int numdof=NDOF1*NUMVERTICES;
@@ -5782,5 +5782,5 @@
 
 	/*Recover element type*/
-	if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancedthicknessAnalysisEnum) && iomodel->prognostic_DG){
+	if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && iomodel->prognostic_DG){
 		/*P1 Discontinuous Galerkin*/
 		tria_type=P1DGEnum;
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 8286)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 8287)
@@ -141,9 +141,9 @@
 		/*}}}*/
 		/*Tria specific routines:{{{1*/
-		ElementMatrix* CreateKMatrixAdjointBalancedthickness(void);
-		ElementMatrix* CreateKMatrixBalancedthickness(void);
-		ElementMatrix* CreateKMatrixBalancedthickness_DG(void);
-		ElementMatrix* CreateKMatrixBalancedthickness_CG(void);
-		ElementMatrix* CreateKMatrixBalancedvelocities(void);
+		ElementMatrix* CreateKMatrixAdjointBalancethickness(void);
+		ElementMatrix* CreateKMatrixBalancethickness(void);
+		ElementMatrix* CreateKMatrixBalancethickness_DG(void);
+		ElementMatrix* CreateKMatrixBalancethickness_CG(void);
+		ElementMatrix* CreateKMatrixBalancevelocities(void);
 		ElementMatrix* CreateKMatrixDiagnosticMacAyeal(void);
 		ElementMatrix* CreateKMatrixDiagnosticMacAyealViscous(void);
@@ -160,13 +160,13 @@
 		ElementMatrix* CreateKMatrixSlope(void);
 		ElementMatrix* CreateKMatrixThermal(void);
-		ElementVector* CreatePVectorBalancedthickness(void);
-		ElementVector* CreatePVectorBalancedthickness_DG(void);
-		ElementVector* CreatePVectorBalancedthickness_CG(void);
-		ElementVector* CreatePVectorBalancedvelocities(void);
+		ElementVector* CreatePVectorBalancethickness(void);
+		ElementVector* CreatePVectorBalancethickness_DG(void);
+		ElementVector* CreatePVectorBalancethickness_CG(void);
+		ElementVector* CreatePVectorBalancevelocities(void);
 		ElementVector* CreatePVectorDiagnosticBaseVert(void);
 		ElementVector* CreatePVectorDiagnosticMacAyeal(void);
 		ElementVector* CreatePVectorAdjointHoriz(void);
 		ElementVector* CreatePVectorAdjointStokes(void);
-		ElementVector* CreatePVectorAdjointBalancedthickness(void);
+		ElementVector* CreatePVectorAdjointBalancethickness(void);
 		ElementVector* CreatePVectorDiagnosticHutter(void);
 		ElementVector* CreatePVectorHydrology(void);
@@ -190,5 +190,5 @@
 		void    GetStrainRate2d(double* epsilon,double* xyz_list, GaussTria* gauss, Input* vx_input, Input* vy_input);
 		void	  GradjDragStokes(Vec gradient);
-		void	  InputUpdateFromSolutionAdjointBalancedthickness( double* solution);
+		void	  InputUpdateFromSolutionAdjointBalancethickness( double* solution);
 		void	  InputUpdateFromSolutionAdjointHoriz( double* solution);
 		void	  InputUpdateFromSolutionDiagnosticHoriz( double* solution);
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 8286)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 8287)
@@ -339,9 +339,9 @@
 			Ke=CreateKMatrixPrognostic();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			Ke=CreateKMatrixBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			Ke=CreateKMatrixBalancethickness();
 			break;
-		case AdjointBalancedthicknessAnalysisEnum:
-			Ke=CreateKMatrixAdjointBalancedthickness();
+		case AdjointBalancethicknessAnalysisEnum:
+			Ke=CreateKMatrixAdjointBalancethickness();
 			break;
 		default:
@@ -369,9 +369,9 @@
 			pe=CreatePVectorPrognostic();
 			break;
-		case BalancedthicknessAnalysisEnum:
-			pe=CreatePVectorBalancedthickness();
+		case BalancethicknessAnalysisEnum:
+			pe=CreatePVectorBalancethickness();
 			break;
-		case AdjointBalancedthicknessAnalysisEnum:
-			pe=CreatePVectorAdjointBalancedthickness();
+		case AdjointBalancethicknessAnalysisEnum:
+			pe=CreatePVectorAdjointBalancethickness();
 			break;
 		default:
@@ -564,6 +564,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixBalancedthickness{{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixBalancedthickness(void){
+/*FUNCTION Numericalflux::CreateKMatrixBalancethickness{{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixBalancethickness(void){
 
 	int type;
@@ -572,7 +572,7 @@
 	switch(type){
 		case InternalEnum:
-			return CreateKMatrixBalancedthicknessInternal();
+			return CreateKMatrixBalancethicknessInternal();
 		case BoundaryEnum:
-			return CreateKMatrixBalancedthicknessBoundary();
+			return CreateKMatrixBalancethicknessBoundary();
 		default:
 			_error_("type not supported yet");
@@ -580,6 +580,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixBalancedthicknessInternal {{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixBalancedthicknessInternal(void){
+/*FUNCTION Numericalflux::CreateKMatrixBalancethicknessInternal {{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixBalancethicknessInternal(void){
 
 	/* constants*/
@@ -644,6 +644,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixBalancedthicknessBoundary {{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixBalancedthicknessBoundary(void){
+/*FUNCTION Numericalflux::CreateKMatrixBalancethicknessBoundary {{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixBalancethicknessBoundary(void){
 
 	/* constants*/
@@ -715,6 +715,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancedthickness{{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancedthickness(void){
+/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancethickness{{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancethickness(void){
 
 	int type;
@@ -723,7 +723,7 @@
 	switch(type){
 		case InternalEnum:
-			return CreateKMatrixAdjointBalancedthicknessInternal();
+			return CreateKMatrixAdjointBalancethicknessInternal();
 		case BoundaryEnum:
-			return CreateKMatrixAdjointBalancedthicknessBoundary();
+			return CreateKMatrixAdjointBalancethicknessBoundary();
 		default:
 			_error_("type not supported yet");
@@ -731,16 +731,16 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancedthicknessInternal {{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancedthicknessInternal(void){
-
-	ElementMatrix* Ke=CreateKMatrixBalancedthicknessInternal();
+/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancethicknessInternal {{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancethicknessInternal(void){
+
+	ElementMatrix* Ke=CreateKMatrixBalancethicknessInternal();
 	if (Ke) Ke->Transpose();
 	return Ke;
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancedthicknessBoundary {{{1*/
-ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancedthicknessBoundary(void){
-
-	ElementMatrix* Ke=CreateKMatrixBalancedthicknessBoundary();
+/*FUNCTION Numericalflux::CreateKMatrixAdjointBalancethicknessBoundary {{{1*/
+ElementMatrix* Numericalflux::CreateKMatrixAdjointBalancethicknessBoundary(void){
+
+	ElementMatrix* Ke=CreateKMatrixBalancethicknessBoundary();
 	if(Ke) Ke->Transpose();
 	return Ke;
@@ -839,6 +839,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreatePVectorBalancedthickness{{{1*/
-ElementVector* Numericalflux::CreatePVectorBalancedthickness(void){
+/*FUNCTION Numericalflux::CreatePVectorBalancethickness{{{1*/
+ElementVector* Numericalflux::CreatePVectorBalancethickness(void){
 
 	int type;
@@ -847,7 +847,7 @@
 	switch(type){
 		case InternalEnum:
-			return CreatePVectorBalancedthicknessInternal();
+			return CreatePVectorBalancethicknessInternal();
 		case BoundaryEnum:
-			return CreatePVectorBalancedthicknessBoundary();
+			return CreatePVectorBalancethicknessBoundary();
 		default:
 			_error_("type not supported yet");
@@ -855,6 +855,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreatePVectorBalancedthicknessInternal{{{1*/
-ElementVector* Numericalflux::CreatePVectorBalancedthicknessInternal(void){
+/*FUNCTION Numericalflux::CreatePVectorBalancethicknessInternal{{{1*/
+ElementVector* Numericalflux::CreatePVectorBalancethicknessInternal(void){
 
 	/*Nothing added to PVector*/
@@ -863,6 +863,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreatePVectorBalancedthicknessBoundary{{{1*/
-ElementVector* Numericalflux::CreatePVectorBalancedthicknessBoundary(void){
+/*FUNCTION Numericalflux::CreatePVectorBalancethicknessBoundary{{{1*/
+ElementVector* Numericalflux::CreatePVectorBalancethicknessBoundary(void){
 
 	/* constants*/
@@ -929,6 +929,6 @@
 }
 /*}}}*/
-/*FUNCTION Numericalflux::CreatePVectorAdjointBalancedthickness{{{1*/
-ElementVector* Numericalflux::CreatePVectorAdjointBalancedthickness(void){
+/*FUNCTION Numericalflux::CreatePVectorAdjointBalancethickness{{{1*/
+ElementVector* Numericalflux::CreatePVectorAdjointBalancethickness(void){
 
 	/*No PVector for the Adjoint*/
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.h
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 8286)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.h	(revision 8287)
@@ -78,17 +78,17 @@
 		ElementMatrix* CreateKMatrixPrognosticInternal(void);
 		ElementMatrix* CreateKMatrixPrognosticBoundary(void);
-		ElementMatrix* CreateKMatrixBalancedthickness(void);
-		ElementMatrix* CreateKMatrixBalancedthicknessInternal(void);
-		ElementMatrix* CreateKMatrixBalancedthicknessBoundary(void);
-		ElementMatrix* CreateKMatrixAdjointBalancedthickness(void);
-		ElementMatrix* CreateKMatrixAdjointBalancedthicknessInternal(void);
-		ElementMatrix* CreateKMatrixAdjointBalancedthicknessBoundary(void);
+		ElementMatrix* CreateKMatrixBalancethickness(void);
+		ElementMatrix* CreateKMatrixBalancethicknessInternal(void);
+		ElementMatrix* CreateKMatrixBalancethicknessBoundary(void);
+		ElementMatrix* CreateKMatrixAdjointBalancethickness(void);
+		ElementMatrix* CreateKMatrixAdjointBalancethicknessInternal(void);
+		ElementMatrix* CreateKMatrixAdjointBalancethicknessBoundary(void);
 		ElementVector* CreatePVectorPrognostic(void);
 		ElementVector* CreatePVectorPrognosticInternal(void);
 		ElementVector* CreatePVectorPrognosticBoundary(void);
-		ElementVector* CreatePVectorBalancedthickness(void);
-		ElementVector* CreatePVectorBalancedthicknessInternal(void);
-		ElementVector* CreatePVectorBalancedthicknessBoundary(void);
-		ElementVector* CreatePVectorAdjointBalancedthickness(void);
+		ElementVector* CreatePVectorBalancethickness(void);
+		ElementVector* CreatePVectorBalancethicknessInternal(void);
+		ElementVector* CreatePVectorBalancethicknessBoundary(void);
+		ElementVector* CreatePVectorAdjointBalancethickness(void);
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Node.cpp
===================================================================
--- /issm/trunk/src/c/objects/Node.cpp	(revision 8286)
+++ /issm/trunk/src/c/objects/Node.cpp	(revision 8287)
@@ -108,5 +108,5 @@
 	}
 
-	/*Prognostic/ Melting/ Slopecompute/ Balancedvelocities/ Balancedthickness*/
+	/*Prognostic/ Melting/ Slopecompute/ Balancevelocities/ Balancethickness*/
 	if (
 				analysis_type==PrognosticAnalysisEnum || 
@@ -114,6 +114,6 @@
 				analysis_type==BedSlopeAnalysisEnum || 
 				analysis_type==SurfaceSlopeAnalysisEnum || 
-				analysis_type==BalancedvelocitiesAnalysisEnum || 
-				analysis_type==BalancedthicknessAnalysisEnum
+				analysis_type==BalancevelocitiesAnalysisEnum || 
+				analysis_type==BalancethicknessAnalysisEnum
 				){
 		if (iomodel->dim==3){
Index: /issm/trunk/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp
===================================================================
--- /issm/trunk/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp	(revision 8286)
+++ /issm/trunk/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp	(revision 8287)
@@ -31,5 +31,5 @@
 			adjointcore=&adjointdiagnostic_core;
 			break;
-		case BalancedthicknessSolutionEnum:
+		case BalancethicknessSolutionEnum:
 			adjointcore=&adjointbalancedthickness_core;
 			break;
Index: /issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp
===================================================================
--- /issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp	(revision 8286)
+++ /issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp	(revision 8287)
@@ -37,8 +37,8 @@
 			solutioncore=&prognostic_core;
 			break;
-		case BalancedthicknessSolutionEnum:
+		case BalancethicknessSolutionEnum:
 			solutioncore=&balancedthickness_core;
 			break;
-		case BalancedvelocitiesSolutionEnum:
+		case BalancevelocitiesSolutionEnum:
 			solutioncore=&balancedvelocities_core;
 			break;
Index: /issm/trunk/src/c/solutions/SolutionConfiguration.cpp
===================================================================
--- /issm/trunk/src/c/solutions/SolutionConfiguration.cpp	(revision 8286)
+++ /issm/trunk/src/c/solutions/SolutionConfiguration.cpp	(revision 8287)
@@ -75,14 +75,14 @@
 			break;
 
-		case BalancedthicknessSolutionEnum:
+		case BalancethicknessSolutionEnum:
 			numanalyses=1;
 			analyses=(int*)xmalloc(numanalyses*sizeof(int));
-			analyses[0]=BalancedthicknessAnalysisEnum;
+			analyses[0]=BalancethicknessAnalysisEnum;
 			break;
 
-		case BalancedvelocitiesSolutionEnum:
+		case BalancevelocitiesSolutionEnum:
 			numanalyses=1;
 			analyses=(int*)xmalloc(numanalyses*sizeof(int));
-			analyses[0]=BalancedvelocitiesAnalysisEnum;
+			analyses[0]=BalancevelocitiesAnalysisEnum;
 			break;
 
Index: /issm/trunk/src/c/solutions/adjointbalancedthickness_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/adjointbalancedthickness_core.cpp	(revision 8286)
+++ /issm/trunk/src/c/solutions/adjointbalancedthickness_core.cpp	(revision 8287)
@@ -24,5 +24,5 @@
 	/*compute thickness */
 	_printf_(VerboseSolution(),"%s\n","   computing thickness");
-	femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum);
+	femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
 	solver_linear(femmodel);
 
@@ -32,5 +32,5 @@
 	/*compute adjoint*/
 	_printf_(VerboseSolution(),"%s\n","   computing adjoint");
-	femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum,AdjointBalancedthicknessAnalysisEnum);
+	femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum,AdjointBalancethicknessAnalysisEnum);
 	solver_adjoint_linear(femmodel);
 	
Index: sm/trunk/src/c/solutions/balancedthickness_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedthickness_core.cpp	(revision 8286)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*!\file: balancedthickness_core.cpp
- * \brief: core of the balancedthickness 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 balancedthickness_core(FemModel* femmodel){
-
-	/*parameters: */
-	int  dim;
-	int  solution_type;
-	bool control_analysis;
-
-	/*activate formulation: */
-	femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum);
-	
-	/*recover parameters: */
-	femmodel->parameters->FindParam(&dim,DimEnum);
-	femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
-	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
-
-	_printf_(VerboseSolution(),"call computational core:\n");
-	solver_linear(femmodel);
-
-	if(solution_type==BalancedthicknessSolutionEnum && !control_analysis){
-		_printf_(VerboseSolution(),"   saving results\n");
-		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
-	}
-
-}
Index: sm/trunk/src/c/solutions/balancedvelocities_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedvelocities_core.cpp	(revision 8286)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/*!\file: balancedvelocities_core.cpp
- * \brief: core of the balancedvelocities solution 
- */ 
-
-#include "../toolkits/toolkits.h"
-#include "../objects/objects.h"
-#include "../shared/shared.h"
-#include "../EnumDefinitions/EnumDefinitions.h"
-#include "./solutions.h"
-#include "../modules/modules.h"
-#include "../solvers/solvers.h"
-
-void balancedvelocities_core(FemModel* femmodel){
-
-	/*flags: */
-	int  dim;
-	bool control_analysis;
-	int  solution_type;
-
-	/*activate formulation: */
-	femmodel->SetCurrentConfiguration(BalancedvelocitiesAnalysisEnum);
-	
-	/*recover parameters: */
-	femmodel->parameters->FindParam(&dim,DimEnum);
-	femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
-	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
-
-	_printf_(VerboseSolution(),"   call computational core\n");
-	solver_linear(femmodel);
-
-	if(solution_type==BalancedvelocitiesSolutionEnum && !control_analysis){
-		_printf_(VerboseSolution(),"   saving results\n");
-		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum);
-	}
-
-}
Index: /issm/trunk/src/c/solutions/balancethickness_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancethickness_core.cpp	(revision 8287)
+++ /issm/trunk/src/c/solutions/balancethickness_core.cpp	(revision 8287)
@@ -0,0 +1,37 @@
+/*!\file: balancedthickness_core.cpp
+ * \brief: core of the balancedthickness 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 balancedthickness_core(FemModel* femmodel){
+
+	/*parameters: */
+	int  dim;
+	int  solution_type;
+	bool control_analysis;
+
+	/*activate formulation: */
+	femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
+	
+	/*recover parameters: */
+	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
+	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+
+	_printf_(VerboseSolution(),"call computational core:\n");
+	solver_linear(femmodel);
+
+	if(solution_type==BalancethicknessSolutionEnum && !control_analysis){
+		_printf_(VerboseSolution(),"   saving results\n");
+		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
+	}
+
+}
Index: /issm/trunk/src/c/solutions/balancevelocities_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancevelocities_core.cpp	(revision 8287)
+++ /issm/trunk/src/c/solutions/balancevelocities_core.cpp	(revision 8287)
@@ -0,0 +1,36 @@
+/*!\file: balancedvelocities_core.cpp
+ * \brief: core of the balancedvelocities solution 
+ */ 
+
+#include "../toolkits/toolkits.h"
+#include "../objects/objects.h"
+#include "../shared/shared.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+#include "./solutions.h"
+#include "../modules/modules.h"
+#include "../solvers/solvers.h"
+
+void balancedvelocities_core(FemModel* femmodel){
+
+	/*flags: */
+	int  dim;
+	bool control_analysis;
+	int  solution_type;
+
+	/*activate formulation: */
+	femmodel->SetCurrentConfiguration(BalancevelocitiesAnalysisEnum);
+	
+	/*recover parameters: */
+	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
+	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+
+	_printf_(VerboseSolution(),"   call computational core\n");
+	solver_linear(femmodel);
+
+	if(solution_type==BalancevelocitiesSolutionEnum && !control_analysis){
+		_printf_(VerboseSolution(),"   saving results\n");
+		InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum);
+	}
+
+}
Index: /issm/trunk/src/c/solutions/objectivefunctionC.cpp
===================================================================
--- /issm/trunk/src/c/solutions/objectivefunctionC.cpp	(revision 8286)
+++ /issm/trunk/src/c/solutions/objectivefunctionC.cpp	(revision 8287)
@@ -51,6 +51,6 @@
 		femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
 	}
-	else if (solution_type==BalancedthicknessSolutionEnum){
-		femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum);
+	else if (solution_type==BalancethicknessSolutionEnum){
+		femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
 	}
 	else{
@@ -68,5 +68,5 @@
 		solver_nonlinear(femmodel,conserve_loads); 
 	}
-	else if (solution_type==BalancedthicknessSolutionEnum){
+	else if (solution_type==BalancethicknessSolutionEnum){
 		solver_linear(femmodel); 
 	}
Index: sm/trunk/src/m/enum/AdjointBalancedthicknessAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdjointBalancedthicknessAnalysisEnum.m	(revision 8286)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdjointBalancedthicknessAnalysisEnum()
-%ADJOINTBALANCEDTHICKNESSANALYSISENUM - Enum of AdjointBalancedthicknessAnalysis
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=AdjointBalancedthicknessAnalysisEnum()
-
-macro=StringToEnum('AdjointBalancedthicknessAnalysis');
Index: /issm/trunk/src/m/enum/AdjointBalancethicknessAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdjointBalancethicknessAnalysisEnum.m	(revision 8287)
+++ /issm/trunk/src/m/enum/AdjointBalancethicknessAnalysisEnum.m	(revision 8287)
@@ -0,0 +1,11 @@
+function macro=AdjointBalancethicknessAnalysisEnum()
+%ADJOINTBALANCETHICKNESSANALYSISENUM - Enum of AdjointBalancethicknessAnalysis
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=AdjointBalancethicknessAnalysisEnum()
+
+macro=StringToEnum('AdjointBalancethicknessAnalysis');
Index: sm/trunk/src/m/enum/BalancedthicknessAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancedthicknessAnalysisEnum.m	(revision 8286)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=BalancedthicknessAnalysisEnum()
-%BALANCEDTHICKNESSANALYSISENUM - Enum of BalancedthicknessAnalysis
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=BalancedthicknessAnalysisEnum()
-
-macro=StringToEnum('BalancedthicknessAnalysis');
Index: sm/trunk/src/m/enum/BalancedthicknessSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancedthicknessSolutionEnum.m	(revision 8286)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=BalancedthicknessSolutionEnum()
-%BALANCEDTHICKNESSSOLUTIONENUM - Enum of BalancedthicknessSolution
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=BalancedthicknessSolutionEnum()
-
-macro=StringToEnum('BalancedthicknessSolution');
Index: sm/trunk/src/m/enum/BalancedvelocitiesAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancedvelocitiesAnalysisEnum.m	(revision 8286)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=BalancedvelocitiesAnalysisEnum()
-%BALANCEDVELOCITIESANALYSISENUM - Enum of BalancedvelocitiesAnalysis
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=BalancedvelocitiesAnalysisEnum()
-
-macro=StringToEnum('BalancedvelocitiesAnalysis');
Index: sm/trunk/src/m/enum/BalancedvelocitiesSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancedvelocitiesSolutionEnum.m	(revision 8286)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=BalancedvelocitiesSolutionEnum()
-%BALANCEDVELOCITIESSOLUTIONENUM - Enum of BalancedvelocitiesSolution
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=BalancedvelocitiesSolutionEnum()
-
-macro=StringToEnum('BalancedvelocitiesSolution');
Index: /issm/trunk/src/m/enum/BalancethicknessAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancethicknessAnalysisEnum.m	(revision 8287)
+++ /issm/trunk/src/m/enum/BalancethicknessAnalysisEnum.m	(revision 8287)
@@ -0,0 +1,11 @@
+function macro=BalancethicknessAnalysisEnum()
+%BALANCETHICKNESSANALYSISENUM - Enum of BalancethicknessAnalysis
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=BalancethicknessAnalysisEnum()
+
+macro=StringToEnum('BalancethicknessAnalysis');
Index: /issm/trunk/src/m/enum/BalancethicknessSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancethicknessSolutionEnum.m	(revision 8287)
+++ /issm/trunk/src/m/enum/BalancethicknessSolutionEnum.m	(revision 8287)
@@ -0,0 +1,11 @@
+function macro=BalancethicknessSolutionEnum()
+%BALANCETHICKNESSSOLUTIONENUM - Enum of BalancethicknessSolution
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=BalancethicknessSolutionEnum()
+
+macro=StringToEnum('BalancethicknessSolution');
Index: /issm/trunk/src/m/enum/BalancevelocitiesAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancevelocitiesAnalysisEnum.m	(revision 8287)
+++ /issm/trunk/src/m/enum/BalancevelocitiesAnalysisEnum.m	(revision 8287)
@@ -0,0 +1,11 @@
+function macro=BalancevelocitiesAnalysisEnum()
+%BALANCEVELOCITIESANALYSISENUM - Enum of BalancevelocitiesAnalysis
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=BalancevelocitiesAnalysisEnum()
+
+macro=StringToEnum('BalancevelocitiesAnalysis');
Index: /issm/trunk/src/m/enum/BalancevelocitiesSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BalancevelocitiesSolutionEnum.m	(revision 8287)
+++ /issm/trunk/src/m/enum/BalancevelocitiesSolutionEnum.m	(revision 8287)
@@ -0,0 +1,11 @@
+function macro=BalancevelocitiesSolutionEnum()
+%BALANCEVELOCITIESSOLUTIONENUM - Enum of BalancevelocitiesSolution
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=BalancevelocitiesSolutionEnum()
+
+macro=StringToEnum('BalancevelocitiesSolution');
Index: /issm/trunk/src/m/enum/EnumToModelField.m
===================================================================
--- /issm/trunk/src/m/enum/EnumToModelField.m	(revision 8286)
+++ /issm/trunk/src/m/enum/EnumToModelField.m	(revision 8287)
@@ -11,15 +11,2 @@
 switch enum,
 
-		case ThicknessEnum(), string='thickness'; return
-		case DragCoefficientEnum(), string='drag_coefficient'; return
-		case RheologyBEnum(), string='rheology_B'; return
-		case RheologyBbarEnum(), string='rheology_B'; return
-		case DhDtEnum(), string='dhdt'; return
-		case VxEnum(), string='vx'; return
-		case VxObsEnum(), string='vx_obs'; return
-		case VyEnum(), string='vy'; return
-		case VyObsEnum(), string='vy_obs'; return
-		case GroundingLineMigrationEnum(), string='gl_migration'; return
-		otherwise, error(['Enum ' num2str(enum)  ' not found associated to any model field']);
-
-end
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8286)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8287)
@@ -199,5 +199,5 @@
 
 	%OBSERVED VELOCITIES
-	if md.solution_type==BalancedthicknessSolutionEnum
+	if md.solution_type==BalancethicknessSolutionEnum
 		fields={'thickness_obs'};
 		checksize(md,fields,[md.numberofgrids 1]);
@@ -484,5 +484,5 @@
 			% No checks for now
 			%}}}
-		case BalancedthicknessAnalysisEnum,
+		case BalancethicknessAnalysisEnum,
 			% {{{2
 			%VELOCITIES MELTING AND ACCUMULATION
@@ -503,5 +503,5 @@
 			end
 			%}}}
-		case BalancedvelocitiesAnalysisEnum,
+		case BalancevelocitiesAnalysisEnum,
 			% {{{2
 			%VELOCITIES MELTING AND ACCUMULATION
Index: /issm/trunk/src/m/solutions/AdjointCorePointerFromSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/solutions/AdjointCorePointerFromSolutionEnum.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/AdjointCorePointerFromSolutionEnum.m	(revision 8287)
@@ -9,5 +9,5 @@
 	case DiagnosticSolutionEnum,         adjointcore='adjointdiagnostic_core';
 	case SteadystateSolutionEnum,        adjointcore='adjointdiagnostic_core';
-	case BalancedthicknessSolutionEnum,  adjointcore='adjointbalancedthickness_core';
+	case BalancethicknessSolutionEnum,   adjointcore='adjointbalancethickness_core';
 	otherwise error('%s%s%s',' solution type: ',EnumToString(solutiontype),' not supported yet!');
 
Index: /issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m
===================================================================
--- /issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m	(revision 8287)
@@ -11,6 +11,6 @@
 	case ThermalSolutionEnum,                  solutioncore='thermal_core';
 	case PrognosticSolutionEnum,               solutioncore='prognostic_core';
-	case BalancedthicknessSolutionEnum,        solutioncore='balancedthickness_core';
-	case BalancedvelocitiesSolutionEnum,       solutioncore='balancedvelocities_core';
+	case BalancethicknessSolutionEnum,         solutioncore='balancethickness_core';
+	case BalancevelocitiesSolutionEnum,        solutioncore='balancevelocities_core';
 	case SurfaceSlopeSolutionEnum,             solutioncore='surfaceslope_core';
 	case BedSlopeSolutionEnum,                 solutioncore='bedslope_core';
Index: /issm/trunk/src/m/solutions/SolutionConfiguration.m
===================================================================
--- /issm/trunk/src/m/solutions/SolutionConfiguration.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/SolutionConfiguration.m	(revision 8287)
@@ -26,11 +26,11 @@
 		analyses=[PrognosticAnalysisEnum];
 
-	case BalancedthicknessSolutionEnum,
+	case BalancethicknessSolutionEnum,
 		numanalyses=1; 
-		analyses=[BalancedthicknessAnalysisEnum];
+		analyses=[BalancethicknessAnalysisEnum];
 
-	case BalancedvelocitiesSolutionEnum,
+	case BalancevelocitiesSolutionEnum,
 		numanalyses=1; 
-		analyses=[BalancedvelocitiesAnalysisEnum];
+		analyses=[BalancevelocitiesAnalysisEnum];
 
 	case SurfaceSlopeSolutionEnum,
Index: /issm/trunk/src/m/solutions/adjointbalancedthickness_core.m
===================================================================
--- /issm/trunk/src/m/solutions/adjointbalancedthickness_core.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/adjointbalancedthickness_core.m	(revision 8287)
@@ -1,7 +1,7 @@
-function femmodel=adjointbalancedthickness_core(femmodel),
+function femmodel=adjointbalancethickness_core(femmodel),
 %ADJOINT_CORE - compute inverse method adjoint state
 %
 %   Usage:
-%      femmodel=adjointbalancedthickness_core(femmodel)
+%      femmodel=adjointbalancethickness_core(femmodel)
 
 	%recover parameters common to all solutions
@@ -11,5 +11,5 @@
 	%set analysis type to compute velocity:
 	issmprintf(VerboseSolution,'   computing thickness');
-	femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum);
+	femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
 	femmodel=solver_linear(femmodel);
 
@@ -19,5 +19,5 @@
 	%compute adjoint
 	issmprintf(VerboseSolution,'   computing adjoint');
-	femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum,AdjointBalancedthicknessAnalysisEnum);
+	femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum,AdjointBalancethicknessAnalysisEnum);
 	femmodel=solver_adjoint_linear(femmodel);
 
Index: /issm/trunk/src/m/solutions/balancedthickness_core.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedthickness_core.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/balancedthickness_core.m	(revision 8287)
@@ -1,7 +1,7 @@
-function femmodel=balancedthickness_core(femmodel)
+function femmodel=balancethickness_core(femmodel)
 %BALANCEDTHICKNESS_CORE - linear solution sequence
 %
 %   Usage:
-%      femmodel=balancedthickness_core(femmode)
+%      femmodel=balancethickness_core(femmode)
 
 	%recover parameters common to all solutions
@@ -11,10 +11,10 @@
 
 	%Activate formulation
-	femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum);
+	femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
 
 	issmprintf(VerboseSolution,'   call computational core');
 	femmodel=solver_linear(femmodel);
 
-	if (solution_type==BalancedthicknessSolutionEnum & ~control_analysis),
+	if (solution_type==BalancethicknessSolutionEnum & ~control_analysis),
 		issmprintf(VerboseSolution,'   saving results');
 		femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
Index: /issm/trunk/src/m/solutions/balancedvelocities_core.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedvelocities_core.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/balancedvelocities_core.m	(revision 8287)
@@ -1,7 +1,7 @@
-function femmodel=balancedvelocities_core(femmdoel)
+function femmodel=balancevelocities_core(femmdoel)
 %BALANCEDVELOCITIES_CORE - linear solution sequence
 %
 %   Usage:
-%      femmodel=balancedvelocities_core(femmodel)
+%      femmodel=balancevelocities_core(femmodel)
 
 	%recover parameters common to all solutions
@@ -11,10 +11,10 @@
 
 	%Activate formulation
-	femmodel=SetCurrentConfiguration(femmodel,BalancedvelocitiesAnalysisEnum);
+	femmodel=SetCurrentConfiguration(femmodel,BalancevelocitiesAnalysisEnum);
 
 	issmprintf(VerboseSolution,'   call computational core');
 	femmodel=solver_linear(femmodel);
 	
-	if (solution_type==BalancedvelocitiesSolutionEnum & ~control_analysis),
+	if (solution_type==BalancevelocitiesSolutionEnum & ~control_analysis),
 		issmprintf(VerboseSolution,'   saving results');
 		femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum);
Index: /issm/trunk/src/m/solutions/objectivefunctionC.m
===================================================================
--- /issm/trunk/src/m/solutions/objectivefunctionC.m	(revision 8286)
+++ /issm/trunk/src/m/solutions/objectivefunctionC.m	(revision 8287)
@@ -12,6 +12,6 @@
 if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum)
 	femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum);
-elseif (solution_type==BalancedthicknessSolutionEnum)
-	femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum);
+elseif (solution_type==BalancethicknessSolutionEnum)
+	femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
 else
 	error('solution not implemented yet');
@@ -26,5 +26,5 @@
 elseif (solution_type==SteadystateSolutionEnum)
 	femmodel=diagnostic_core(femmodel);  %We need a 3D velocity!! (vz is required for the next thermal run)
-elseif (solution_type==BalancedthicknessSolutionEnum)
+elseif (solution_type==BalancethicknessSolutionEnum)
 	femmodel=solver_linear(femmodel);
 else
