Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5706)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5707)
@@ -229,4 +229,5 @@
 	SurfaceSlopeYEnum,
 	TemperatureEnum,
+	TemporaryTemperatureEnum,
 	TemperatureOldEnum,
 	ThicknessEnum,
Index: /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5706)
+++ /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5707)
@@ -203,4 +203,5 @@
 		case SurfaceSlopeYEnum : return "SurfaceSlopeY";
 		case TemperatureEnum : return "Temperature";
+		case TemporaryTemperatureEnum : return "TemporaryTemperature";
 		case TemperatureOldEnum : return "TemperatureOld";
 		case ThicknessEnum : return "Thickness";
Index: /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5706)
+++ /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5707)
@@ -201,4 +201,5 @@
 	else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
 	else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
+	else if (strcmp(name,"TemporaryTemperature")==0) return TemporaryTemperatureEnum;
 	else if (strcmp(name,"TemperatureOld")==0) return TemperatureOldEnum;
 	else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 5706)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 5707)
@@ -5645,4 +5645,5 @@
 	double       B[numdof];
 	double       B_average;
+	bool         converged;
 
 	/*Get dof list: */
@@ -5654,14 +5655,17 @@
 	}
 
-	B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0);
-	for(i=0;i<numdof;i++){
-		B[i]=B_average;
-	}
-
-	/*Add thickness as inputs to the tria element: */
-	this->inputs->AddInput(new PentaVertexInput(TemperatureEnum,values));
-
-	/*Also update the rheology*/
-	this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B));
+	this->inputs->GetParameterValue(&converged,ConvergedEnum);
+	if(converged){
+		this->inputs->AddInput(new PentaVertexInput(TemperatureEnum,values));
+
+		/*Update Rheology only if convreged (we must make sure that the temperature is below melting point
+		 * otherwise the rheology could be negative*/
+		B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0);
+		for(i=0;i<numdof;i++) B[i]=B_average;
+		this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B));
+	}
+	else{
+		this->inputs->AddInput(new PentaVertexInput(TemporaryTemperatureEnum,values));
+	}
 
 	/*Free ressources:*/
@@ -5760,5 +5764,6 @@
 				name==DragCoefficientEnum ||
 				name==GradientEnum ||
-				name==OldGradientEnum 
+				name==OldGradientEnum  ||
+				name==ConvergedEnum
 				) {
 		return true;
Index: /issm/trunk/src/c/objects/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk/src/c/objects/Inputs/DoubleInput.cpp	(revision 5706)
+++ /issm/trunk/src/c/objects/Inputs/DoubleInput.cpp	(revision 5707)
@@ -157,6 +157,9 @@
 /*FUNCTION DoubleInput::GetParameterValue(bool* pvalue) {{{1*/
 void DoubleInput::GetParameterValue(bool* pvalue){
-
-	ISSMERROR("cannot return a bool");
+#ifdef _SERIAL_
+	*pvalue=(bool)value;
+#else
+	ISSMERROR("Double input of enum %s cannot return a boolean",EnumToString(enum_type));
+#endif
 
 }
Index: /issm/trunk/src/c/objects/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 5706)
+++ /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 5707)
@@ -19,5 +19,5 @@
 	
 /*Pengrid constructors and destructor*/
-/*FUNCTION Pengrid::constructor {{{1*/
+/*FUNCTION Pengrid::Pengrid(){{{1*/
 Pengrid::Pengrid(){
 	this->inputs=NULL;
@@ -72,5 +72,5 @@
 }
 /*}}}*/
-/*FUNCTION Pengrid::destructor {{{1*/
+/*FUNCTION Pengrid::~Pengrid(){{{1*/
 Pengrid::~Pengrid(){
 	delete inputs;
@@ -513,5 +513,5 @@
 	gauss=penta->GaussFromNode(node);
 	penta->inputs->GetParameterValue(&pressure,gauss,PressureEnum);
-	penta->inputs->GetParameterValue(&temperature,gauss,TemperatureEnum);
+	penta->inputs->GetParameterValue(&temperature,gauss,TemporaryTemperatureEnum);
 
 	//Recover our data:
Index: /issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp
===================================================================
--- /issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp	(revision 5706)
+++ /issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp	(revision 5707)
@@ -18,12 +18,10 @@
 	/*intermediary: */
 	Mat Kgg=NULL;
-	Mat Kgg_nopenalty=NULL;
 	Mat Kff=NULL;
 	Mat Kfs=NULL;
 	Vec pg=NULL;
-	Vec pg_nopenalty=NULL;
 	Vec pf=NULL;
 
-	int converged;
+	bool converged;
 	int constraints_converged;
 	int num_unstable_constraints;
@@ -45,63 +43,46 @@
 
 	count=1;
-	converged=0;
+	converged=false;
 
+	if(verbose)_printf_("%s\n","starting direct shooting method");
+	InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,reset_penalties,ResetPenaltiesEnum);
+	InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,false,ConvergedEnum);
 	for(;;){
 
-		if(verbose)_printf_("%s\n","starting direct shooting method");
 
-		if(count==1) reset_penalties=1; else reset_penalties=0;
-		InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,reset_penalties,ResetPenaltiesEnum);
+		SystemMatricesx(&Kgg,&pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 
-		/*===================== DEBUGING ====================*/
-		if (count==1) SystemMatricesx(&Kgg_nopenalty,&pg_nopenalty,NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,true,true,false,false);
-		MatDuplicate(Kgg_nopenalty,MAT_COPY_VALUES,&Kgg);
-		VecDuplicatePatch(&pg,pg_nopenalty);
-		PenaltySystemMatricesx(Kgg, pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,kflag,pflag);
-		/*===================== DEBUGING ====================*/
-		//SystemMatricesx(&Kgg,&pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
-		/*===================== DEBUGING ====================*/
-
-		Reducematrixfromgtofx(&Kff,&Kfs,Kgg,femmodel->nodesets,femmodel->parameters);
-
-		/*Free ressources: */
-		MatFree(&Kgg);
-	
+		Reducematrixfromgtofx(&Kff,&Kfs,Kgg,femmodel->nodesets,femmodel->parameters); MatFree(&Kgg);
 		Reduceloadfromgtofx(&pf, pg, Kfs, femmodel->ys, femmodel->nodesets,femmodel->parameters);
 
-		//no need for pg and Kfs anymore 
 		VecFree(&pg); 
 		MatFree(&Kfs);
 
-		/*Solve: */
 		VecFree(&tf);
 		Solverx(&tf, Kff, pf,tf_old, femmodel->parameters);
 		VecFree(&tf_old); VecDuplicatePatch(&tf_old,tf);
 	
-		//no need for Kff and pf anymore
 		MatFree(&Kff);VecFree(&pf);VecFree(&tg);
 
 		Mergesolutionfromftogx(&tg, tf,femmodel->ys,femmodel->nodesets,femmodel->parameters);
-
 		InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,tg);
 
-		//Deal with penalty loads
 		PenaltyConstraintsx(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 
 		if (!converged){
 			if(verbose)_printf_("%s%i\n","   #unstable constraints = ",num_unstable_constraints);
-			if (num_unstable_constraints <= min_thermal_constraints)converged=1;
+			if (num_unstable_constraints <= min_thermal_constraints)converged=true;
 		}
 		count++;
+
+		InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,converged,ConvergedEnum);
 		
-		if(converged==1)break;
+		if(converged)break;
 	}
 
-	//add melting_offset to inputs:
+	InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,tg);
 	InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,melting_offset,MeltingOffsetEnum);
 
 	/*Free ressources: */
-	MatFree(&Kgg_nopenalty);
-	VecFree(&pg_nopenalty);
 	VecFree(&tg);
 	VecFree(&tf);
Index: /issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp	(revision 5706)
+++ /issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp	(revision 5707)
@@ -49,5 +49,2 @@
 
 }
-
-
- 
Index: /issm/trunk/src/m/enum/AbsoluteEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AbsoluteEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/AbsoluteEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=AbsoluteEnum()
 
-macro=243;
+macro=244;
Index: /issm/trunk/src/m/enum/AdjointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdjointEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/AdjointEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=AdjointEnum()
 
-macro=258;
+macro=259;
Index: /issm/trunk/src/m/enum/BetaEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BetaEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/BetaEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=BetaEnum()
 
-macro=253;
+macro=254;
Index: /issm/trunk/src/m/enum/BoolExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BoolExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/BoolExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=BoolExternalResultEnum()
 
-macro=217;
+macro=218;
Index: /issm/trunk/src/m/enum/CmGradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmGradientEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/CmGradientEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=CmGradientEnum()
 
-macro=254;
+macro=255;
Index: /issm/trunk/src/m/enum/CmJumpEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmJumpEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/CmJumpEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=CmJumpEnum()
 
-macro=255;
+macro=256;
Index: /issm/trunk/src/m/enum/CmMaxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmMaxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/CmMaxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=CmMaxEnum()
 
-macro=256;
+macro=257;
Index: /issm/trunk/src/m/enum/CmMinEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmMinEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/CmMinEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=CmMinEnum()
 
-macro=257;
+macro=258;
Index: /issm/trunk/src/m/enum/ColinearEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ColinearEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ColinearEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ColinearEnum()
 
-macro=251;
+macro=252;
Index: /issm/trunk/src/m/enum/ConnectivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ConnectivityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ConnectivityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ConnectivityEnum()
 
-macro=261;
+macro=262;
Index: /issm/trunk/src/m/enum/ControlParameterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ControlParameterEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ControlParameterEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ControlParameterEnum()
 
-macro=262;
+macro=263;
Index: /issm/trunk/src/m/enum/ControlSteadyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ControlSteadyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ControlSteadyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ControlSteadyEnum()
 
-macro=263;
+macro=264;
Index: /issm/trunk/src/m/enum/DakotaParameterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DakotaParameterEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DakotaParameterEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DakotaParameterEnum()
 
-macro=264;
+macro=265;
Index: /issm/trunk/src/m/enum/DimEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DimEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DimEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DimEnum()
 
-macro=265;
+macro=266;
Index: /issm/trunk/src/m/enum/DoubleElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleElementResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DoubleElementResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DoubleElementResultEnum()
 
-macro=214;
+macro=215;
Index: /issm/trunk/src/m/enum/DoubleExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DoubleExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DoubleExternalResultEnum()
 
-macro=218;
+macro=219;
Index: /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DoubleMatExternalResultEnum()
 
-macro=220;
+macro=221;
Index: /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=DoubleVecExternalResultEnum()
 
-macro=219;
+macro=220;
Index: /issm/trunk/src/m/enum/EnumToString.m
===================================================================
--- /issm/trunk/src/m/enum/EnumToString.m	(revision 5706)
+++ /issm/trunk/src/m/enum/EnumToString.m	(revision 5707)
@@ -198,4 +198,5 @@
 case SurfaceSlopeYEnum(), string='SurfaceSlopeY'; return
 case TemperatureEnum(), string='Temperature'; return
+case TemporaryTemperatureEnum(), string='TemporaryTemperature'; return
 case TemperatureOldEnum(), string='TemperatureOld'; return
 case ThicknessEnum(), string='Thickness'; return
Index: /issm/trunk/src/m/enum/EpsAbsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsAbsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/EpsAbsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=EpsAbsEnum()
 
-macro=266;
+macro=267;
Index: /issm/trunk/src/m/enum/EpsCmEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsCmEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/EpsCmEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=EpsCmEnum()
 
-macro=267;
+macro=268;
Index: /issm/trunk/src/m/enum/EpsRelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsRelEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/EpsRelEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=EpsRelEnum()
 
-macro=268;
+macro=269;
Index: /issm/trunk/src/m/enum/EpsResEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsResEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/EpsResEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=EpsResEnum()
 
-macro=269;
+macro=270;
Index: /issm/trunk/src/m/enum/GradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GradientEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/GradientEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=GradientEnum()
 
-macro=259;
+macro=260;
Index: /issm/trunk/src/m/enum/GravityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GravityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/GravityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=GravityEnum()
 
-macro=246;
+macro=247;
Index: /issm/trunk/src/m/enum/HeatCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/HeatCapacityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/HeatCapacityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=HeatCapacityEnum()
 
-macro=270;
+macro=271;
Index: /issm/trunk/src/m/enum/IndexEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IndexEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IndexEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IndexEnum()
 
-macro=302;
+macro=303;
Index: /issm/trunk/src/m/enum/IndexedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IndexedEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IndexedEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IndexedEnum()
 
-macro=300;
+macro=301;
Index: /issm/trunk/src/m/enum/IntExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IntExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IntExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IntExternalResultEnum()
 
-macro=221;
+macro=222;
Index: /issm/trunk/src/m/enum/IntersectEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IntersectEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IntersectEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IntersectEnum()
 
-macro=250;
+macro=251;
Index: /issm/trunk/src/m/enum/IsHutterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsHutterEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IsHutterEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IsHutterEnum()
 
-macro=271;
+macro=272;
Index: /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IsMacAyealPattynEnum()
 
-macro=272;
+macro=273;
Index: /issm/trunk/src/m/enum/IsStokesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsStokesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/IsStokesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=IsStokesEnum()
 
-macro=273;
+macro=274;
Index: /issm/trunk/src/m/enum/JEnum.m
===================================================================
--- /issm/trunk/src/m/enum/JEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/JEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=JEnum()
 
-macro=224;
+macro=225;
Index: /issm/trunk/src/m/enum/LatentHeatEnum.m
===================================================================
--- /issm/trunk/src/m/enum/LatentHeatEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/LatentHeatEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=LatentHeatEnum()
 
-macro=274;
+macro=275;
Index: /issm/trunk/src/m/enum/LowmemEnum.m
===================================================================
--- /issm/trunk/src/m/enum/LowmemEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/LowmemEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=LowmemEnum()
 
-macro=275;
+macro=276;
Index: /issm/trunk/src/m/enum/MaxAbsVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxAbsVxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVxEnum()
 
-macro=234;
+macro=235;
Index: /issm/trunk/src/m/enum/MaxAbsVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxAbsVyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVyEnum()
 
-macro=237;
+macro=238;
Index: /issm/trunk/src/m/enum/MaxAbsVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVzEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxAbsVzEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVzEnum()
 
-macro=240;
+macro=241;
Index: /issm/trunk/src/m/enum/MaxIterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxIterEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxIterEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxIterEnum()
 
-macro=276;
+macro=277;
Index: /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxNonlinearIterationsEnum()
 
-macro=277;
+macro=278;
Index: /issm/trunk/src/m/enum/MaxVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVelEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxVelEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxVelEnum()
 
-macro=231;
+macro=232;
Index: /issm/trunk/src/m/enum/MaxVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxVxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxVxEnum()
 
-macro=233;
+macro=234;
Index: /issm/trunk/src/m/enum/MaxVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxVyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxVyEnum()
 
-macro=236;
+macro=237;
Index: /issm/trunk/src/m/enum/MaxVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVzEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MaxVzEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MaxVzEnum()
 
-macro=239;
+macro=240;
Index: /issm/trunk/src/m/enum/MeltingPointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeltingPointEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MeltingPointEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MeltingPointEnum()
 
-macro=278;
+macro=279;
Index: /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinMechanicalConstraintsEnum()
 
-macro=279;
+macro=280;
Index: /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinThermalConstraintsEnum()
 
-macro=280;
+macro=281;
Index: /issm/trunk/src/m/enum/MinVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVelEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinVelEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinVelEnum()
 
-macro=230;
+macro=231;
Index: /issm/trunk/src/m/enum/MinVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinVxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinVxEnum()
 
-macro=232;
+macro=233;
Index: /issm/trunk/src/m/enum/MinVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinVyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinVyEnum()
 
-macro=235;
+macro=236;
Index: /issm/trunk/src/m/enum/MinVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVzEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MinVzEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MinVzEnum()
 
-macro=238;
+macro=239;
Index: /issm/trunk/src/m/enum/MiniEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MiniEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MiniEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MiniEnum()
 
-macro=213;
+macro=214;
Index: /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=MixedLayerCapacityEnum()
 
-macro=248;
+macro=249;
Index: /issm/trunk/src/m/enum/NStepsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NStepsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NStepsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NStepsEnum()
 
-macro=281;
+macro=282;
Index: /issm/trunk/src/m/enum/NdtEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NdtEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NdtEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NdtEnum()
 
-macro=282;
+macro=283;
Index: /issm/trunk/src/m/enum/NodalEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodalEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NodalEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NodalEnum()
 
-macro=304;
+macro=305;
Index: /issm/trunk/src/m/enum/NumOutputEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumOutputEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NumOutputEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NumOutputEnum()
 
-macro=283;
+macro=284;
Index: /issm/trunk/src/m/enum/NumRiftsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumRiftsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NumRiftsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NumRiftsEnum()
 
-macro=284;
+macro=285;
Index: /issm/trunk/src/m/enum/NumberOfElementsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfElementsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NumberOfElementsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NumberOfElementsEnum()
 
-macro=285;
+macro=286;
Index: /issm/trunk/src/m/enum/NumberOfNodesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfNodesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NumberOfNodesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NumberOfNodesEnum()
 
-macro=286;
+macro=287;
Index: /issm/trunk/src/m/enum/NumberOfVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfVerticesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/NumberOfVerticesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=NumberOfVerticesEnum()
 
-macro=287;
+macro=288;
Index: /issm/trunk/src/m/enum/OldGradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OldGradientEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/OldGradientEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=OldGradientEnum()
 
-macro=260;
+macro=261;
Index: /issm/trunk/src/m/enum/OptScalEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OptScalEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/OptScalEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=OptScalEnum()
 
-macro=288;
+macro=289;
Index: /issm/trunk/src/m/enum/OutputFilePointerEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OutputFilePointerEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/OutputFilePointerEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=OutputFilePointerEnum()
 
-macro=289;
+macro=290;
Index: /issm/trunk/src/m/enum/OutputFrequencyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OutputFrequencyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/OutputFrequencyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=OutputFrequencyEnum()
 
-macro=229;
+macro=230;
Index: /issm/trunk/src/m/enum/P0Enum.m
===================================================================
--- /issm/trunk/src/m/enum/P0Enum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/P0Enum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=P0Enum()
 
-macro=210;
+macro=211;
Index: /issm/trunk/src/m/enum/P1DGEnum.m
===================================================================
--- /issm/trunk/src/m/enum/P1DGEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/P1DGEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=P1DGEnum()
 
-macro=212;
+macro=213;
Index: /issm/trunk/src/m/enum/P1Enum.m
===================================================================
--- /issm/trunk/src/m/enum/P1Enum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/P1Enum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=P1Enum()
 
-macro=211;
+macro=212;
Index: /issm/trunk/src/m/enum/ParameterOutputEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ParameterOutputEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ParameterOutputEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ParameterOutputEnum()
 
-macro=290;
+macro=291;
Index: /issm/trunk/src/m/enum/PatchEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PatchEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PatchEnum()
 
-macro=225;
+macro=226;
Index: /issm/trunk/src/m/enum/PatchNodesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchNodesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PatchNodesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PatchNodesEnum()
 
-macro=227;
+macro=228;
Index: /issm/trunk/src/m/enum/PatchVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchVerticesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PatchVerticesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PatchVerticesEnum()
 
-macro=226;
+macro=227;
Index: /issm/trunk/src/m/enum/PenaltyMeltingEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PenaltyMeltingEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PenaltyMeltingEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PenaltyMeltingEnum()
 
-macro=291;
+macro=292;
Index: /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PentaVertexElementResultEnum()
 
-macro=216;
+macro=217;
Index: /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=PetscVecExternalResultEnum()
 
-macro=222;
+macro=223;
Index: /issm/trunk/src/m/enum/QmuAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuAnalysisEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuAnalysisEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuAnalysisEnum()
 
-macro=292;
+macro=293;
Index: /issm/trunk/src/m/enum/QmuErrNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuErrNameEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuErrNameEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuErrNameEnum()
 
-macro=293;
+macro=294;
Index: /issm/trunk/src/m/enum/QmuInNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuInNameEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuInNameEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuInNameEnum()
 
-macro=294;
+macro=295;
Index: /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuMassFluxSegmentsEnum()
 
-macro=295;
+macro=296;
Index: /issm/trunk/src/m/enum/QmuNPartEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuNPartEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuNPartEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuNPartEnum()
 
-macro=296;
+macro=297;
Index: /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuNumberOfResponsesEnum()
 
-macro=299;
+macro=300;
Index: /issm/trunk/src/m/enum/QmuOutNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuOutNameEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuOutNameEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuOutNameEnum()
 
-macro=297;
+macro=298;
Index: /issm/trunk/src/m/enum/QmuPartEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuPartEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuPartEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuPartEnum()
 
-macro=298;
+macro=299;
Index: /issm/trunk/src/m/enum/QmuVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuVxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuVxEnum()
 
-macro=198;
+macro=199;
Index: /issm/trunk/src/m/enum/QmuVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuVyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuVyEnum()
 
-macro=203;
+macro=204;
Index: /issm/trunk/src/m/enum/QmuVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVzEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/QmuVzEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=QmuVzEnum()
 
-macro=208;
+macro=209;
Index: /issm/trunk/src/m/enum/RegularEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RegularEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/RegularEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=RegularEnum()
 
-macro=301;
+macro=302;
Index: /issm/trunk/src/m/enum/RelativeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RelativeEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/RelativeEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=RelativeEnum()
 
-macro=241;
+macro=242;
Index: /issm/trunk/src/m/enum/ResidualEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResidualEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ResidualEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ResidualEnum()
 
-macro=242;
+macro=243;
Index: /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ResponseDescriptorsEnum()
 
-macro=305;
+macro=306;
Index: /issm/trunk/src/m/enum/RhoIceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoIceEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/RhoIceEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=RhoIceEnum()
 
-macro=244;
+macro=245;
Index: /issm/trunk/src/m/enum/RhoWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoWaterEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/RhoWaterEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=RhoWaterEnum()
 
-macro=245;
+macro=246;
Index: /issm/trunk/src/m/enum/ScaledEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ScaledEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ScaledEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ScaledEnum()
 
-macro=303;
+macro=304;
Index: /issm/trunk/src/m/enum/SeparateEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SeparateEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/SeparateEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=SeparateEnum()
 
-macro=252;
+macro=253;
Index: /issm/trunk/src/m/enum/SolverStringEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SolverStringEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/SolverStringEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=SolverStringEnum()
 
-macro=306;
+macro=307;
Index: /issm/trunk/src/m/enum/SparsityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SparsityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/SparsityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=SparsityEnum()
 
-macro=307;
+macro=308;
Index: /issm/trunk/src/m/enum/StringExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StringExternalResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/StringExternalResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=StringExternalResultEnum()
 
-macro=223;
+macro=224;
Index: /issm/trunk/src/m/enum/StringToEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StringToEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/StringToEnum.m	(revision 5707)
@@ -196,4 +196,5 @@
 			elseif (strcmpi(name,'SurfaceSlopeY')), enum=SurfaceSlopeYEnum(); return
 			elseif (strcmpi(name,'Temperature')), enum=TemperatureEnum(); return
+			elseif (strcmpi(name,'TemporaryTemperature')), enum=TemporaryTemperatureEnum(); return
 			elseif (strcmpi(name,'TemperatureOld')), enum=TemperatureOldEnum(); return
 			elseif (strcmpi(name,'Thickness')), enum=ThicknessEnum(); return
Index: /issm/trunk/src/m/enum/TemperatureOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TemperatureOldEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/TemperatureOldEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=TemperatureOldEnum()
 
-macro=187;
+macro=188;
Index: /issm/trunk/src/m/enum/ThermalConductivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalConductivityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ThermalConductivityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ThermalConductivityEnum()
 
-macro=247;
+macro=248;
Index: /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ThermalExchangeVelocityEnum()
 
-macro=249;
+macro=250;
Index: /issm/trunk/src/m/enum/ThicknessEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ThicknessEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ThicknessEnum()
 
-macro=188;
+macro=189;
Index: /issm/trunk/src/m/enum/ThicknessObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessObsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ThicknessObsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ThicknessObsEnum()
 
-macro=189;
+macro=190;
Index: /issm/trunk/src/m/enum/TimeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TimeEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/TimeEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=TimeEnum()
 
-macro=228;
+macro=229;
Index: /issm/trunk/src/m/enum/TolXEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TolXEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/TolXEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=TolXEnum()
 
-macro=308;
+macro=309;
Index: /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=TriaVertexElementResultEnum()
 
-macro=215;
+macro=216;
Index: /issm/trunk/src/m/enum/TypeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TypeEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/TypeEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=TypeEnum()
 
-macro=190;
+macro=191;
Index: /issm/trunk/src/m/enum/VariableDescriptorsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VariableDescriptorsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VariableDescriptorsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VariableDescriptorsEnum()
 
-macro=309;
+macro=310;
Index: /issm/trunk/src/m/enum/VelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VelEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VelEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VelEnum()
 
-macro=191;
+macro=192;
Index: /issm/trunk/src/m/enum/VelObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VelObsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VelObsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VelObsEnum()
 
-macro=192;
+macro=193;
Index: /issm/trunk/src/m/enum/VerboseEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VerboseEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VerboseEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VerboseEnum()
 
-macro=310;
+macro=311;
Index: /issm/trunk/src/m/enum/ViscosityOvershootEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ViscosityOvershootEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/ViscosityOvershootEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=ViscosityOvershootEnum()
 
-macro=193;
+macro=194;
Index: /issm/trunk/src/m/enum/VxAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxAverageEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VxAverageEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VxAverageEnum()
 
-macro=194;
+macro=195;
Index: /issm/trunk/src/m/enum/VxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VxEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VxEnum()
 
-macro=195;
+macro=196;
Index: /issm/trunk/src/m/enum/VxObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxObsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VxObsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VxObsEnum()
 
-macro=196;
+macro=197;
Index: /issm/trunk/src/m/enum/VxOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxOldEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VxOldEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VxOldEnum()
 
-macro=197;
+macro=198;
Index: /issm/trunk/src/m/enum/VyAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyAverageEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VyAverageEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VyAverageEnum()
 
-macro=199;
+macro=200;
Index: /issm/trunk/src/m/enum/VyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VyEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VyEnum()
 
-macro=200;
+macro=201;
Index: /issm/trunk/src/m/enum/VyObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyObsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VyObsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VyObsEnum()
 
-macro=201;
+macro=202;
Index: /issm/trunk/src/m/enum/VyOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyOldEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VyOldEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VyOldEnum()
 
-macro=202;
+macro=203;
Index: /issm/trunk/src/m/enum/VzAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzAverageEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VzAverageEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VzAverageEnum()
 
-macro=204;
+macro=205;
Index: /issm/trunk/src/m/enum/VzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VzEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VzEnum()
 
-macro=205;
+macro=206;
Index: /issm/trunk/src/m/enum/VzObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzObsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VzObsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VzObsEnum()
 
-macro=206;
+macro=207;
Index: /issm/trunk/src/m/enum/VzOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzOldEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/VzOldEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=VzOldEnum()
 
-macro=207;
+macro=208;
Index: /issm/trunk/src/m/enum/WaitOnLockEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WaitOnLockEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/WaitOnLockEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=WaitOnLockEnum()
 
-macro=311;
+macro=312;
Index: /issm/trunk/src/m/enum/WeightsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WeightsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/WeightsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=WeightsEnum()
 
-macro=209;
+macro=210;
Index: /issm/trunk/src/m/enum/YtsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/YtsEnum.m	(revision 5706)
+++ /issm/trunk/src/m/enum/YtsEnum.m	(revision 5707)
@@ -9,3 +9,3 @@
 %      macro=YtsEnum()
 
-macro=315;
+macro=316;
Index: /issm/trunk/src/m/solvers/solver_thermal_nonlinear.m
===================================================================
--- /issm/trunk/src/m/solvers/solver_thermal_nonlinear.m	(revision 5706)
+++ /issm/trunk/src/m/solvers/solver_thermal_nonlinear.m	(revision 5707)
@@ -13,18 +13,12 @@
 
 	displaystring(femmodel.parameters.Verbose,'\n%s',['   starting direct shooting method']);
+
+	%Reset penalties and initialize convergence as false
+	[femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,0,ConvergedEnum);
+	[femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,1,ResetPenaltiesEnum);
+
 	while(~converged),
 
-		%Update inputs in datasets
-		if count==1 reset_penalties=0; else reset_penalties=1; end
-		[femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,reset_penalties,ResetPenaltiesEnum);
-
-		% ================= DEBUG FOR NOW ====================
-		if count==1 
-			[K_gg_nopenalty,p_g_nopenalty,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,true,true,false,false);
-		end
-		[K_gg , p_g, melting_offset]=PenaltySystemMatrices(K_gg_nopenalty,p_g_nopenalty,femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
-		% ================= DEBUG FOR NOW ====================
-		%[K_gg,p_g,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
-		% ================= DEBUG FOR NOW ====================
+		[K_gg,p_g,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
 
 		[K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters); 
@@ -33,23 +27,20 @@
 		displaystring(femmodel.parameters.Verbose,'%s%g','   condition number of stiffness matrix: ',condest(K_ff));
 		t_f=Solver(K_ff,p_f,[],femmodel.parameters);
+		t_g= Mergesolutionfromftog( t_f, femmodel.ys, femmodel.nodesets,femmodel.parameters); 
 
-		t_g= Mergesolutionfromftog( t_f, femmodel.ys, femmodel.nodesets,femmodel.parameters); 
 		[femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,t_g);
-
 		[femmodel.loads,constraints_converged,num_unstable_constraints] =PenaltyConstraints(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads, femmodel.materials,femmodel.parameters);
 	
 		if ~converged,
 			displaystring(femmodel.parameters.Verbose,'%s%i','   #unstable constraints ',num_unstable_constraints);
-			
 			if num_unstable_constraints<=femmodel.parameters.MinThermalConstraints,
 				converged=1;
 			end
 		end
-
+		[femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,double(converged),ConvergedEnum);
 		count=count+1;
 	end
 
-	%add melting_offset  into inputs
+	[femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,t_g);
 	[femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,melting_offset,MeltingOffsetEnum);
 end
-
