Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9704)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9705)
@@ -147,4 +147,5 @@
 	AutodiffForwardEnum,
 	AutodiffReverseEnum,
+	MeshAverageVertexConnectivityEnum,
 	/*}}}*/
 	/*Datasets {{{1*/
@@ -409,5 +410,4 @@
 	Gradient3Enum,
 	OldGradientEnum,
-	ConnectivityEnum,
 	ControlSteadyEnum,
 	DimEnum,
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9704)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9705)
@@ -151,4 +151,5 @@
 		case AutodiffForwardEnum : return "AutodiffForward";
 		case AutodiffReverseEnum : return "AutodiffReverse";
+		case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity";
 		case ConstraintsEnum : return "Constraints";
 		case ElementsEnum : return "Elements";
@@ -361,5 +362,4 @@
 		case Gradient3Enum : return "Gradient3";
 		case OldGradientEnum : return "OldGradient";
-		case ConnectivityEnum : return "Connectivity";
 		case ControlSteadyEnum : return "ControlSteady";
 		case DimEnum : return "Dim";
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9704)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9705)
@@ -46,5 +46,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyFactorEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SettingsLowmemEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(ConnectivityEnum));
+	parameters->AddObject(iomodel->CopyConstantObject(MeshAverageVertexConnectivityEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(BalancethicknessStabilizationEnum));
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9704)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9705)
@@ -149,4 +149,5 @@
 	else if (strcmp(name,"AutodiffForward")==0) return AutodiffForwardEnum;
 	else if (strcmp(name,"AutodiffReverse")==0) return AutodiffReverseEnum;
+	else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
 	else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
 	else if (strcmp(name,"Elements")==0) return ElementsEnum;
@@ -359,5 +360,4 @@
 	else if (strcmp(name,"Gradient3")==0) return Gradient3Enum;
 	else if (strcmp(name,"OldGradient")==0) return OldGradientEnum;
-	else if (strcmp(name,"Connectivity")==0) return ConnectivityEnum;
 	else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum;
 	else if (strcmp(name,"Dim")==0) return DimEnum;
Index: /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
===================================================================
--- /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 9704)
+++ /issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp	(revision 9705)
@@ -32,5 +32,5 @@
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-	parameters->FindParam(&connectivity,ConnectivityEnum);
+	parameters->FindParam(&connectivity,MeshAverageVertexConnectivityEnum);
 
 	/*Get size of matrices: */
Index: /issm/trunk/src/m/classes/mesh.m
===================================================================
--- /issm/trunk/src/m/classes/mesh.m	(revision 9705)
+++ /issm/trunk/src/m/classes/mesh.m	(revision 9705)
@@ -0,0 +1,76 @@
+%MESH class definition
+%
+%   Usage:
+%      mesh=mesh();
+
+classdef mesh
+	properties (SetAccess=public) 
+		average_vertex_connectivity = modelfield('default',0,'marshall',true,'format','Integer');
+	end
+	methods
+		function obj = mesh(varargin) % {{{
+			switch nargin
+				case 0
+					obj=setdefaultparameters(obj);
+				case 1
+					in=varargin{1};
+					if (isa(in,'numeric') & in==0),
+						% requesting templates do nothing
+					else
+						error('constructor not supported');
+					end 
+				otherwise
+					error('constructor not supported');
+			end
+		end % }}}
+		function obj = setdefaultparameters(obj) % {{{
+
+			%first, use the defaults provided by the properties definition above. 
+			fieldnames=fields(obj);
+			for i=1:length(fieldnames),
+				fieldname=fieldnames{i};
+				obj.(fieldname)=obj.(fieldname).default;
+			end
+
+			%the connectivity is the avergaded number of nodes linked to a
+			%given node through an edge. This connectivity is used to initially
+			%allocate memory to the stiffness matrix. A value of 16 seems to
+			%give a good memory/time ration. This value can be checked in
+			%trunk/test/Miscellaneous/runme.m
+			obj.average_vertex_connectivity=25;
+		end % }}}
+		function disp(obj) % {{{
+			disp(sprintf('   Mesh:')); 
+
+			if obj.dim==3,
+				disp(sprintf('\n      Elements and nodes of the original 2d mesh:'));
+				fielddisplay(obj,'numberofelements2d','number of elements');
+				fielddisplay(obj,'numberofnodes2d','number of nodes');
+				fielddisplay(obj,'elements2d','index into (x,y,z), coordinates of the nodes');
+				fielddisplay(obj,'x2d','nodes x coordinate');
+				fielddisplay(obj,'y2d','nodes y coordinate');
+
+				disp(sprintf('\n      Elements and nodes of the extruded 3d mesh:'));
+			else
+				disp(sprintf('\n      Elements and nodes:'));
+			end
+			fielddisplay(obj,'numberofelements','number of elements');
+			fielddisplay(obj,'numberofnodes','number of nodes');
+			fielddisplay(obj,'elements','index into (x,y,z), coordinates of the nodes');
+			fielddisplay(obj,'elements_type','element types');
+			fielddisplay(obj,'x','nodes x coordinate');
+			fielddisplay(obj,'y','nodes y coordinate');
+			fielddisplay(obj,'z','nodes z coordinate');
+			fielddisplay(obj,'edges','edges of the 2d mesh (node1 node2 element1 element2)');
+
+			disp(sprintf('\n      Properties:'));
+			fielddisplay(obj,'dim','mesh dimension (2d or 3d)');
+			fielddisplay(obj,'numlayers','number of extrusion layers');
+			fielddisplay(obj,'penalties','penalties list');
+			fielddisplay(obj,'nodeonbed','lower nodes flags list');
+			fielddisplay(obj,'elementonbed','lower elements flags list');
+			fielddisplay(obj,'nodeonsurface','upper nodes flags list');
+			fielddisplay(obj,'elementonsurface','upper elements flags list');
+		end % }}}
+	end
+end
Index: /issm/trunk/src/m/classes/model/model.m
===================================================================
--- /issm/trunk/src/m/classes/model/model.m	(revision 9704)
+++ /issm/trunk/src/m/classes/model/model.m	(revision 9705)
@@ -39,4 +39,5 @@
 		 initialization   = modelfield('default',0,'marshall',true);
 		 geometry         = modelfield('default',0,'marshall',true);
+		 mesh             = modelfield('default',0,'marshall',true);
 
 		 %FIXME: all other fields should belong to other classes
@@ -89,7 +90,4 @@
 		 %Boundary conditions
 		 nodeonboundary = modelfield('default',NaN,'marshall',false);
-
-		 %Statics parameters
-		 connectivity             = modelfield('default',0,'marshall',true,'format','Integer');
 		 %}}}
 	 end
@@ -331,4 +329,5 @@
 			 if isfield(structmd,'bathymetry'), md.geometry.bathymetry=structmd.bathymetry; end
 			 if isfield(structmd,'thickness_coeff'), md.geometry.hydrostatic_ratio=structmd.thickness_coeff; end
+			 if isfield(structmd,'connectivity'), md.mesh.average_vertex_connectivity=structmd.connectivity; end
 
 			 %Field changes
@@ -412,13 +411,4 @@
 		 end% }}}
 		 function md = setdefaultparameters(md) % {{{1
-		 %SETDEFAULTPARAMETERS - plug default parameters onto model
-		 %
-		 %   Although the model parameterization should be done in
-		 %   the parameter file, some parameters are initialized here
-		 %   with a default value.
-		 %   These default values can be changed if necessary.
-		 %
-		 %   Usage:
-		 %      md=setdefaultparameters(md);
 
 			 %first, use the defaults provided by the properties definition above. 
@@ -462,11 +452,5 @@
 			 md.geometry         = geometry;
 			 md.verbose          = verbose('solution',true,'qmu',true,'control',true);
-
-			 %the connectivity is the avergaded number of nodes linked to a
-			 %given node through an edge. This connectivity is used to initially
-			 %allocate memory to the stiffness matrix. A value of 16 seems to
-			 %give a good memory/time ration. This value can be checked in
-			 %trunk/test/Miscellaneous/runme.m
-			 md.connectivity=25;
+			 md.mesh             = mesh;
 		 end
 		 %}}}
Index: /issm/trunk/src/m/enum/MeshAverageVertexConnectivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeshAverageVertexConnectivityEnum.m	(revision 9705)
+++ /issm/trunk/src/m/enum/MeshAverageVertexConnectivityEnum.m	(revision 9705)
@@ -0,0 +1,11 @@
+function macro=MeshAverageVertexConnectivityEnum()
+%MESHAVERAGEVERTEXCONNECTIVITYENUM - Enum of MeshAverageVertexConnectivity
+%
+%   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=MeshAverageVertexConnectivityEnum()
+
+macro=StringToEnum('MeshAverageVertexConnectivity');
Index: /issm/trunk/src/m/model/collapse.m
===================================================================
--- /issm/trunk/src/m/model/collapse.m	(revision 9704)
+++ /issm/trunk/src/m/model/collapse.m	(revision 9705)
@@ -73,5 +73,5 @@
 
 %update of connectivity matrix
-md.connectivity=25;
+md.mesh.average_vertex_connectivity=25;
 
 %Collapse the mesh
Index: /issm/trunk/src/m/model/extrude.m
===================================================================
--- /issm/trunk/src/m/model/extrude.m	(revision 9704)
+++ /issm/trunk/src/m/model/extrude.m	(revision 9705)
@@ -223,5 +223,5 @@
 
 %increase connectivity if less than 25:
-if md.connectivity<=25,
-	md.connectivity=100;
-end
+if md.mesh.average_vertex_connectivity<=25,
+	md.mesh.average_vertex_connectivity=100;
+end
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9704)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9705)
@@ -188,10 +188,10 @@
 %CONNECTIVITY {{{1
 if (md.dim==2),
-	if md.connectivity<9, 
+	if md.mesh.average_vertex_connectivity<9, 
 		message('model not consistent: connectivity should be at least 9 for 2d models');
 	end
 end
 if md.dim==3,
-	if md.connectivity<24, 
+	if md.mesh.average_vertex_connectivity<24, 
 		message('model not consistent: connectivity should be at least 24 for 3d models');
 	end
Index: /issm/trunk/test/Miscellaneous/Bump/Bump.par
===================================================================
--- /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9704)
+++ /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9705)
@@ -33,3 +33,3 @@
 %Parallel options
 md.settings.waitonlock=1;
-md.connectivity=100;
+md.average_vertex_connectivity=100;
Index: /issm/trunk/test/Miscellaneous/connectivity/runme.m
===================================================================
--- /issm/trunk/test/Miscellaneous/connectivity/runme.m	(revision 9704)
+++ /issm/trunk/test/Miscellaneous/connectivity/runme.m	(revision 9705)
@@ -36,5 +36,5 @@
 		md=setmask(md,'all','');
 		md=parameterize(md,'Square.par');
-		md.connectivity=connectivity;
+		md.average_vertex_connectivity=connectivity;
 		md.np=np;
 		if is3d,
Index: /issm/trunk/test/Par/ISMIPF.par
===================================================================
--- /issm/trunk/test/Par/ISMIPF.par	(revision 9704)
+++ /issm/trunk/test/Par/ISMIPF.par	(revision 9705)
@@ -37,5 +37,5 @@
 
 %Parallel options
-md.connectivity=200;
+md.average_vertex_connectivity=200;
 
 %Transient options
