Index: /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumDefinitions.h	(revision 11367)
+++ /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumDefinitions.h	(revision 11368)
@@ -99,4 +99,6 @@
 	MaterialsRheologyLawEnum,
 	MaterialsRheologyNEnum,
+	MaterialsRheologyZEnum,
+	MaterialsRheologyZbarEnum,
 	MaterialsRhoIceEnum,
 	MaterialsRhoWaterEnum,
Index: /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumToModelField.cpp
===================================================================
--- /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumToModelField.cpp	(revision 11367)
+++ /issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumToModelField.cpp	(revision 11368)
@@ -17,4 +17,6 @@
 		case MaterialsRheologyBEnum : return "rheology_B";
 		case MaterialsRheologyBbarEnum : return "rheology_B";
+		case MaterialsRheologyZEnum : return "rheology_Z";
+		case MaterialsRheologyZbarEnum : return "rheology_Z";
 		case BalancethicknessThickeningRateEnum: return "dhdt";
 		case VxEnum : return "vx";
Index: /issm/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 11367)
+++ /issm/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 11368)
@@ -103,4 +103,6 @@
 		case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
 		case MaterialsRheologyNEnum : return "MaterialsRheologyN";
+		case MaterialsRheologyZEnum : return "MaterialsRheologyZ";
+		case MaterialsRheologyZbarEnum : return "MaterialsRheologyZbar";
 		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
 		case MaterialsRhoWaterEnum : return "MaterialsRhoWater";
Index: /issm/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 11367)
+++ /issm/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 11368)
@@ -101,4 +101,6 @@
 	else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
 	else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum;
+	else if (strcmp(name,"MaterialsRheologyZ")==0) return MaterialsRheologyZEnum;
+	else if (strcmp(name,"MaterialsRheologyZbar")==0) return MaterialsRheologyZbarEnum;
 	else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
 	else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
Index: /issm/trunk-jpl-damage/src/m/classes/materials.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/classes/materials.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/classes/materials.m	(revision 11368)
@@ -17,4 +17,5 @@
 		thermal_exchange_velocity  = 0;
 		rheology_B   = NaN;
+		rheology_Z   = NaN;
 		rheology_n   = NaN;
 		rheology_law = '';
@@ -68,4 +69,7 @@
 			obj.thermal_exchange_velocity=1.00*10^-4;
 
+			%damage effect variable is 1 by default (no damage mechanics)
+			obj.rheology_Z=1;
+
 			%Rheology law: what is the temperature dependence of B with T
 			%available: none, paterson and arrhenius
@@ -77,4 +81,5 @@
 			checkfield(md,'materials.mu_water','>',0);
 			checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
+			checkfield(md,'materials.rheology_Z','>',0,'size',[md.mesh.numberofvertices 1]);
 			checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
 			checkfield(md,'materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius'});
@@ -94,4 +99,5 @@
 			fielddisplay(obj,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
 			fielddisplay(obj,'rheology_B','flow law parameter [Pa/s^(1/n)]');
+			fielddisplay(obj,'rheology_Z','dimensionless damage effect variable, equal to (1-D), Z=1 turns damage mechanics off');
 			fielddisplay(obj,'rheology_n','Glen''s flow law exponent');
 			fielddisplay(obj,'rheology_law','law for the temperature dependance of the rheology: ''None'', ''Paterson'' or ''Arrhenius''');
@@ -109,4 +115,5 @@
 			WriteData(fid,'object',obj,'fieldname','thermal_exchange_velocity','format','Double');
 			WriteData(fid,'object',obj,'fieldname','rheology_B','format','DoubleMat','mattype',1);
+			WriteData(fid,'object',obj,'fieldname','rheology_Z','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','rheology_n','format','DoubleMat','mattype',2);
 			WriteData(fid,'data',StringToEnum(obj.rheology_law),'enum',MaterialsRheologyLawEnum,'format','Integer');
Index: /issm/trunk-jpl-damage/src/m/classes/model/model.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/classes/model/model.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/classes/model/model.m	(revision 11368)
@@ -192,6 +192,8 @@
 			 if isfield(structmd,'B'), md.materials.rheology_B=structmd.B; end
 			 if isfield(structmd,'n'), md.materials.rheology_n=structmd.n; end
+			 if isfield(structmd,'Z'), md.materials.rheology_Z=structmd.Z; end
 			 if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.rheology_B; end
 			 if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.rheology_n; end
+			 if isfield(structmd,'rheology_Z'), md.materials.rheology_Z=structmd.rheology_Z; end
 			 if isfield(structmd,'elementoniceshelf'), md.mask.elementonfloatingice=structmd.elementoniceshelf; end
 			 if isfield(structmd,'elementonicesheet'), md.mask.elementongroundedice=structmd.elementonicesheet; end
Index: /issm/trunk-jpl-damage/src/m/enum/EnumToModelField.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/EnumToModelField.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/enum/EnumToModelField.m	(revision 11368)
@@ -15,4 +15,6 @@
 		case MaterialsRheologyBEnum(), string='rheology_B'; return
 		case MaterialsRheologyBbarEnum(), string='rheology_B'; return
+		case MaterialsRheologyZEnum(), string='rheology_Z'; return
+		case MaterialsRheologyZbarEnum(), string='rheology_Z'; return
 		case BalancethicknessThickeningRateEnum: string='dhdt'; return
 		case VxEnum(), string='vx'; return
Index: /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyZEnum()
+%MATERIALSRHEOLOGYZENUM - Enum of MaterialsRheologyZ
+%
+%   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=MaterialsRheologyZEnum()
+
+macro=StringToEnum('MaterialsRheologyZ');
Index: /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZbarEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZbarEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/MaterialsRheologyZbarEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyZbarEnum()
+%MATERIALSRHEOLOGYZBARENUM - Enum of MaterialsRheologyZbar
+%
+%   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=MaterialsRheologyZbarEnum()
+
+macro=StringToEnum('MaterialsRheologyZbar');
Index: /issm/trunk-jpl-damage/src/m/enum/PentaP1ElementResultEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/PentaP1ElementResultEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/PentaP1ElementResultEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=PentaP1ElementResultEnum()
+%PENTAP1ELEMENTRESULTENUM - Enum of PentaP1ElementResult
+%
+%   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=PentaP1ElementResultEnum()
+
+macro=StringToEnum('PentaP1ElementResult');
Index: /issm/trunk-jpl-damage/src/m/enum/PentaP1InputEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/PentaP1InputEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/PentaP1InputEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=PentaP1InputEnum()
+%PENTAP1INPUTENUM - Enum of PentaP1Input
+%
+%   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=PentaP1InputEnum()
+
+macro=StringToEnum('PentaP1Input');
Index: /issm/trunk-jpl-damage/src/m/enum/TriaP1ElementResultEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/TriaP1ElementResultEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/TriaP1ElementResultEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=TriaP1ElementResultEnum()
+%TRIAP1ELEMENTRESULTENUM - Enum of TriaP1ElementResult
+%
+%   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=TriaP1ElementResultEnum()
+
+macro=StringToEnum('TriaP1ElementResult');
Index: /issm/trunk-jpl-damage/src/m/enum/TriaP1InputEnum.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/enum/TriaP1InputEnum.m	(revision 11368)
+++ /issm/trunk-jpl-damage/src/m/enum/TriaP1InputEnum.m	(revision 11368)
@@ -0,0 +1,11 @@
+function macro=TriaP1InputEnum()
+%TRIAP1INPUTENUM - Enum of TriaP1Input
+%
+%   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=TriaP1InputEnum()
+
+macro=StringToEnum('TriaP1Input');
Index: /issm/trunk-jpl-damage/src/m/model/collapse.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/model/collapse.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/model/collapse.m	(revision 11368)
@@ -66,4 +66,5 @@
 %materials
 md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B);
+md.materials.rheology_Z=DepthAverage(md,md.materials.rheology_Z);
 md.materials.rheology_n=project2d(md,md.materials.rheology_n,1);
 
Index: /issm/trunk-jpl-damage/src/m/model/extrude.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/model/extrude.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/model/extrude.m	(revision 11368)
@@ -200,4 +200,5 @@
 %materials
 md.materials.rheology_B=project3d(md,'vector',md.materials.rheology_B,'type','node');
+md.materials.rheology_Z=project3d(md,'vector',md.materials.rheology_Z,'type','node');
 md.materials.rheology_n=project3d(md,'vector',md.materials.rheology_n,'type','element');
 
Index: /issm/trunk-jpl-damage/src/m/model/mechanicalproperties.m
===================================================================
--- /issm/trunk-jpl-damage/src/m/model/mechanicalproperties.m	(revision 11367)
+++ /issm/trunk-jpl-damage/src/m/model/mechanicalproperties.m	(revision 11368)
@@ -1,4 +1,4 @@
 function md=mechanicalproperties(md,vx,vy)
-%MECHANICALPROPERTIES - compute stress and strain rate for a goven velocity
+%MECHANICALPROPERTIES - compute stress and strain rate for a given velocity
 %
 %   this routine computes the components of the stress tensor
@@ -48,5 +48,5 @@
 %compute viscosity
 nu=zeros(numberofelements,1);
-B_bar=md.materials.rheology_B(index)*summation/3;
+B_bar=md.materials.rheology_Z(index).*md.materials.rheology_B(index)*summation/3;
 power=(md.materials.rheology_n-1)./(2*md.materials.rheology_n);
 second_inv=(ux.^2+vy.^2+((uy+vx).^2)/4+ux.*vy);
