Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17198)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17199)
@@ -5041,5 +5041,10 @@
 					
 				/*Relaxation stuff*/
-				thickness[i] = preceding_thickness[i]+0.8*(thickness[i]-preceding_thickness[i]);
+				if(thickness[i]<10.0*init_thick){
+					thickness[i] = preceding_thickness[i]+0.8*(thickness[i]-preceding_thickness[i]);
+				}
+				else{
+					thickness[i] = 10.0*init_thick;
+				}
 			}
 		}
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 17198)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 17199)
@@ -11,4 +11,5 @@
 		penalty_lock             = 0;
 		rel_tol                  = 0;
+		max_iter                 = 0;
 		sedimentlimit_flag       = 0;
 		sedimentlimit            = 0;
@@ -44,9 +45,10 @@
 		function obj = setdefaultparameters(obj) 
 
-		%Parameters from de Fleurian 2013
+		%Parameters from de Fleurian 2014
 			obj.water_compressibility    = 5.04e-10;
 			obj.isefficientlayer         = 1;
 			obj.penalty_factor           = 3;
 			obj.rel_tol                  = 1.0e-06;
+			obj.max_iter                 = 100;
 			obj.sedimentlimit_flag       = 0;
 			obj.sedimentlimit            = 0;
@@ -77,4 +79,5 @@
 			md = checkfield(md,'fieldname','hydrology.penalty_factor','>',0,'numel',1);
 			md = checkfield(md,'fieldname','hydrology.rel_tol','>',0,'numel',1);
+			md = checkfield(md,'fieldname','hydrology.max_iter','>',0,'numel',1);
 			md = checkfield(md,'fieldname','hydrology.sedimentlimit_flag','numel',[1],'values',[0 1 2 3]);
 			md = checkfield(md,'fieldname','hydrology.transfer_flag','numel',[1],'values',[0 1]);
@@ -111,4 +114,5 @@
 			fielddisplay(obj,'penalty_lock','stabilize unstable constraints that keep zigzagging after n iteration (default is 0, no stabilization)');
 			fielddisplay(obj,'rel_tol','tolerance of the nonlinear iteration for the transfer between layers [dimensionless]');
+			fielddisplay(obj,'max_iter','maximum number of nonlinear iteration');
 			fielddisplay(obj,'sedimentlimit_flag','what kind of upper limit is applied for the inefficient layer');
 			disp(sprintf('%55s  0: no limit',' '));
@@ -152,4 +156,5 @@
 			WriteData(fid,'object',obj,'fieldname','penalty_lock','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','rel_tol','format','Double');
+			WriteData(fid,'object',obj,'fieldname','max_iter','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','sedimentlimit_flag','format','Integer');
 			WriteData(fid,'object',obj,'fieldname','transfer_flag','format','Integer');
