Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9635)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9636)
@@ -46,4 +46,17 @@
 	TimesteppingTimeAdaptEnum,
 	TimesteppingCflCoefficientEnum,
+	MaterialsRheologyBEnum,
+	MaterialsRheologyBbarEnum,
+	MaterialsRheologyNEnum,
+	MaterialsRheologyLawEnum,
+	MaterialsRhoIceEnum,
+	MaterialsRhoWaterEnum,
+	MaterialsHeatcapacityEnum,
+	MaterialsLatentheatEnum,
+	MaterialsBetaEnum,
+	MaterialsThermalconductivityEnum,
+	MaterialsMixedLayerCapacityEnum,
+	MaterialsThermalExchangeVelocityEnum,
+	MaterialsMeltingpointEnum,
 	/*}}}*/
 	/*Datasets {{{1*/
@@ -236,7 +249,4 @@
 	QmuPressureEnum,
 	ResetPenaltiesEnum,
-	RheologyBEnum,
-	RheologyBbarEnum,
-	RheologyNEnum,
 	SegmentOnIceShelfEnum,
 	ShelfDampeningEnum,
@@ -322,11 +332,5 @@
 	SoftMigrationEnum,
 	/*}}}*/
-	/*Material{{{1*/
-	RhoIceEnum,
-	RhoWaterEnum,
-	GravityEnum,
-	MixedLayerCapacityEnum,
-	ThermalExchangeVelocityEnum,
-	/*}}}*/
+
 	/*Solver{{{1*/
 	StokesSolverEnum,
@@ -336,5 +340,4 @@
 	ColinearEnum,
 	SeparateEnum,
-	BetaEnum,
 	CmGradientEnum,
 	CmJumpEnum,
@@ -395,5 +398,4 @@
 	/*}}}*/
 	/*Rheology law (move too Material) {{{1*/
-	RheologyLawEnum,
 	PatersonEnum,
 	ArrheniusEnum,
@@ -448,8 +450,4 @@
 	StokesreconditioningEnum,
 	LowerelementsEnum,
-	HeatcapacityEnum,
-	LatentheatEnum,
-	ThermalconductivityEnum,
-	MeltingpointEnum,
 	DhdtEnum,
 	IsprognosticEnum,
Index: /issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp	(revision 9635)
+++ /issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp	(revision 9636)
@@ -15,6 +15,6 @@
 		case ThicknessEnum : return "thickness";
 		case FrictionCoefficientEnum : return "drag_coefficient";
-		case RheologyBEnum : return "rheology_B";
-		case RheologyBbarEnum : return "rheology_B";
+		case MaterialsRheologyBEnum : return "rheology_B";
+		case MaterialsRheologyBbarEnum : return "rheology_B";
 		case DhdtEnum : return "dhdt";
 		case VxEnum : return "vx";
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9636)
@@ -50,4 +50,17 @@
 		case TimesteppingTimeAdaptEnum : return "TimesteppingTimeAdapt";
 		case TimesteppingCflCoefficientEnum : return "TimesteppingCflCoefficient";
+		case MaterialsRheologyBEnum : return "MaterialsRheologyB";
+		case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar";
+		case MaterialsRheologyNEnum : return "MaterialsRheologyN";
+		case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
+		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
+		case MaterialsRhoWaterEnum : return "MaterialsRhoWater";
+		case MaterialsHeatcapacityEnum : return "MaterialsHeatcapacity";
+		case MaterialsLatentheatEnum : return "MaterialsLatentheat";
+		case MaterialsBetaEnum : return "MaterialsBeta";
+		case MaterialsThermalconductivityEnum : return "MaterialsThermalconductivity";
+		case MaterialsMixedLayerCapacityEnum : return "MaterialsMixedLayerCapacity";
+		case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity";
+		case MaterialsMeltingpointEnum : return "MaterialsMeltingpoint";
 		case ConstraintsEnum : return "Constraints";
 		case ElementsEnum : return "Elements";
@@ -203,7 +216,4 @@
 		case QmuPressureEnum : return "QmuPressure";
 		case ResetPenaltiesEnum : return "ResetPenalties";
-		case RheologyBEnum : return "RheologyB";
-		case RheologyBbarEnum : return "RheologyBbar";
-		case RheologyNEnum : return "RheologyN";
 		case SegmentOnIceShelfEnum : return "SegmentOnIceShelf";
 		case ShelfDampeningEnum : return "ShelfDampening";
@@ -278,14 +288,8 @@
 		case AgressiveMigrationEnum : return "AgressiveMigration";
 		case SoftMigrationEnum : return "SoftMigration";
-		case RhoIceEnum : return "RhoIce";
-		case RhoWaterEnum : return "RhoWater";
-		case GravityEnum : return "Gravity";
-		case MixedLayerCapacityEnum : return "MixedLayerCapacity";
-		case ThermalExchangeVelocityEnum : return "ThermalExchangeVelocity";
 		case StokesSolverEnum : return "StokesSolver";
 		case IntersectEnum : return "Intersect";
 		case ColinearEnum : return "Colinear";
 		case SeparateEnum : return "Separate";
-		case BetaEnum : return "Beta";
 		case CmGradientEnum : return "CmGradient";
 		case CmJumpEnum : return "CmJump";
@@ -340,5 +344,4 @@
 		case OptionDoubleEnum : return "OptionDouble";
 		case OptionLogicalEnum : return "OptionLogical";
-		case RheologyLawEnum : return "RheologyLaw";
 		case PatersonEnum : return "Paterson";
 		case ArrheniusEnum : return "Arrhenius";
@@ -391,8 +394,4 @@
 		case StokesreconditioningEnum : return "Stokesreconditioning";
 		case LowerelementsEnum : return "Lowerelements";
-		case HeatcapacityEnum : return "Heatcapacity";
-		case LatentheatEnum : return "Latentheat";
-		case ThermalconductivityEnum : return "Thermalconductivity";
-		case MeltingpointEnum : return "Meltingpoint";
 		case DhdtEnum : return "Dhdt";
 		case IsprognosticEnum : return "Isprognostic";
Index: /issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 9636)
@@ -47,5 +47,5 @@
 			case VyEnum:   iomodel->FetchData(1,VyEnum); break;
 			case FrictionCoefficientEnum: iomodel->FetchData(1,FrictionCoefficientEnum); break;
-			case RheologyBbarEnum:    iomodel->FetchData(1,RheologyBEnum); break;
+			case MaterialsRheologyBbarEnum:    iomodel->FetchData(1,MaterialsRheologyBEnum); break;
 			default: _error_("Control %s not implemented yet",EnumToStringx((int)iomodel->Data(ControlTypeEnum)[i]));
 		}
@@ -66,4 +66,4 @@
 	
 	/*Free data: */
-	iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum,RheologyBEnum);
+	iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum);
 }
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 9636)
@@ -45,5 +45,5 @@
 	
 	/*Fetch data needed: */
-	iomodel->FetchData(4,ElementsEnum,ElementconnectivityEnum,RheologyBEnum,RheologyNEnum);
+	iomodel->FetchData(4,ElementsEnum,ElementconnectivityEnum,MaterialsRheologyBEnum,MaterialsRheologyNEnum);
 	if(dim==3)          iomodel->FetchData(2,UpperelementsEnum,LowerelementsEnum);
 	if(control_analysis)iomodel->FetchData(3,ControlTypeEnum,CmMinEnum,CmMaxEnum);
@@ -64,5 +64,5 @@
 	/*Free data: */
 	iomodel->DeleteData(9,ElementsEnum,ElementconnectivityEnum,UpperelementsEnum,LowerelementsEnum,
-				RheologyBEnum,RheologyNEnum,ControlTypeEnum,CmMinEnum,CmMaxEnum);
+				MaterialsRheologyBEnum,MaterialsRheologyNEnum,ControlTypeEnum,CmMinEnum,CmMaxEnum);
 
 	/*Add new constrant material property tgo materials, at the end: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9636)
@@ -45,9 +45,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject(SettingsLowmemEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ConnectivityEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(BetaEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(MeltingpointEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(LatentheatEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(HeatcapacityEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(ArtificialDiffusivityEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum));
@@ -67,5 +63,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject(IsprognosticEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(IsthermalEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(RheologyLawEnum));
+	parameters->AddObject(iomodel->CopyConstantObject(MaterialsRheologyLawEnum));
 
 	/*some parameters that did not come with the iomodel: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 9636)
@@ -44,5 +44,5 @@
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 	iomodel->Constant(&g,ConstantsGEnum);
-	iomodel->Constant(&rho_ice,RhoIceEnum);
+	iomodel->Constant(&rho_ice,MaterialsRhoIceEnum);
 	iomodel->Constant(&stokesreconditioning,StokesreconditioningEnum);
 	iomodel->Constant(&isstokes,IsstokesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 9636)
@@ -57,6 +57,6 @@
 	iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
 	iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
-	iomodel->FetchDataToInput(elements,RheologyBEnum);
-	iomodel->FetchDataToInput(elements,RheologyNEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,VxEnum,VxObsEnum,0);
 	iomodel->FetchDataToInput(elements,VyEnum,VyObsEnum,0);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 9636)
@@ -28,5 +28,5 @@
 	iomodel->Constant(&dim,DimEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
-	iomodel->Constant(&heatcapacity,HeatcapacityEnum);
+	iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum);
 	iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 9636)
@@ -50,6 +50,6 @@
 	iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
 	iomodel->FetchDataToInput(elements,ElementsTypeEnum);
-	iomodel->FetchDataToInput(elements,RheologyBEnum);
-	iomodel->FetchDataToInput(elements,RheologyNEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,PressureEnum);
 	iomodel->FetchDataToInput(elements,TemperatureEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp	(revision 9636)
@@ -43,6 +43,6 @@
 	iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
 	iomodel->FetchDataToInput(elements,ElementsTypeEnum);
-	iomodel->FetchDataToInput(elements,RheologyBEnum);
-	iomodel->FetchDataToInput(elements,RheologyNEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,PressureEnum);
 	iomodel->FetchDataToInput(elements,TemperatureEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 9636)
@@ -51,6 +51,6 @@
 	iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
 	iomodel->FetchDataToInput(elements,ElementsTypeEnum);
-	iomodel->FetchDataToInput(elements,RheologyBEnum);
-	iomodel->FetchDataToInput(elements,RheologyNEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum);
 	iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 9636)
@@ -52,6 +52,6 @@
 	iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
 	iomodel->FetchDataToInput(elements,ElementsTypeEnum);
-	iomodel->FetchDataToInput(elements,RheologyBEnum);
-	iomodel->FetchDataToInput(elements,RheologyNEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
+	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,PressureEnum);
 	iomodel->FetchDataToInput(elements,TemperatureEnum);
Index: /issm/trunk/src/c/modules/Responsex/Responsex.cpp
===================================================================
--- /issm/trunk/src/c/modules/Responsex/Responsex.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/Responsex/Responsex.cpp	(revision 9636)
@@ -41,5 +41,5 @@
 		case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx( responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
 		case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
-		case RheologyBbarEnum:RheologyBbarx(responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
+		case MaterialsRheologyBbarEnum:RheologyBbarx(responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
 		case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break;
 		default: _error_(" response descriptor \"%s\" not supported yet!",response_descriptor); break;
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9635)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9636)
@@ -48,4 +48,17 @@
 	else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
 	else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum;
+	else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum;
+	else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum;
+	else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum;
+	else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
+	else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
+	else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
+	else if (strcmp(name,"MaterialsHeatcapacity")==0) return MaterialsHeatcapacityEnum;
+	else if (strcmp(name,"MaterialsLatentheat")==0) return MaterialsLatentheatEnum;
+	else if (strcmp(name,"MaterialsBeta")==0) return MaterialsBetaEnum;
+	else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum;
+	else if (strcmp(name,"MaterialsMixedLayerCapacity")==0) return MaterialsMixedLayerCapacityEnum;
+	else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum;
+	else if (strcmp(name,"MaterialsMeltingpoint")==0) return MaterialsMeltingpointEnum;
 	else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
 	else if (strcmp(name,"Elements")==0) return ElementsEnum;
@@ -201,7 +214,4 @@
 	else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum;
 	else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum;
-	else if (strcmp(name,"RheologyB")==0) return RheologyBEnum;
-	else if (strcmp(name,"RheologyBbar")==0) return RheologyBbarEnum;
-	else if (strcmp(name,"RheologyN")==0) return RheologyNEnum;
 	else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum;
 	else if (strcmp(name,"ShelfDampening")==0) return ShelfDampeningEnum;
@@ -276,14 +286,8 @@
 	else if (strcmp(name,"AgressiveMigration")==0) return AgressiveMigrationEnum;
 	else if (strcmp(name,"SoftMigration")==0) return SoftMigrationEnum;
-	else if (strcmp(name,"RhoIce")==0) return RhoIceEnum;
-	else if (strcmp(name,"RhoWater")==0) return RhoWaterEnum;
-	else if (strcmp(name,"Gravity")==0) return GravityEnum;
-	else if (strcmp(name,"MixedLayerCapacity")==0) return MixedLayerCapacityEnum;
-	else if (strcmp(name,"ThermalExchangeVelocity")==0) return ThermalExchangeVelocityEnum;
 	else if (strcmp(name,"StokesSolver")==0) return StokesSolverEnum;
 	else if (strcmp(name,"Intersect")==0) return IntersectEnum;
 	else if (strcmp(name,"Colinear")==0) return ColinearEnum;
 	else if (strcmp(name,"Separate")==0) return SeparateEnum;
-	else if (strcmp(name,"Beta")==0) return BetaEnum;
 	else if (strcmp(name,"CmGradient")==0) return CmGradientEnum;
 	else if (strcmp(name,"CmJump")==0) return CmJumpEnum;
@@ -338,5 +342,4 @@
 	else if (strcmp(name,"OptionDouble")==0) return OptionDoubleEnum;
 	else if (strcmp(name,"OptionLogical")==0) return OptionLogicalEnum;
-	else if (strcmp(name,"RheologyLaw")==0) return RheologyLawEnum;
 	else if (strcmp(name,"Paterson")==0) return PatersonEnum;
 	else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
@@ -389,8 +392,4 @@
 	else if (strcmp(name,"Stokesreconditioning")==0) return StokesreconditioningEnum;
 	else if (strcmp(name,"Lowerelements")==0) return LowerelementsEnum;
-	else if (strcmp(name,"Heatcapacity")==0) return HeatcapacityEnum;
-	else if (strcmp(name,"Latentheat")==0) return LatentheatEnum;
-	else if (strcmp(name,"Thermalconductivity")==0) return ThermalconductivityEnum;
-	else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum;
 	else if (strcmp(name,"Dhdt")==0) return DhdtEnum;
 	else if (strcmp(name,"Isprognostic")==0) return IsprognosticEnum;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 9635)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 9636)
@@ -530,7 +530,7 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
+	if(enum_type==MaterialsRheologyBbarEnum){
 		if(!IsOnBed()) return;
-		input=(Input*)matice->inputs->GetInput(RheologyBEnum);
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
 	}
 	else{
@@ -549,6 +549,6 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
-		input=(Input*)matice->inputs->GetInput(RheologyBEnum);
+	if(enum_type==MaterialsRheologyBbarEnum){
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
 	}
 	else{
@@ -568,6 +568,6 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
-		input=(Input*)matice->inputs->GetInput(RheologyBEnum);
+	if(enum_type==MaterialsRheologyBbarEnum){
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
 	}
 	else{
@@ -1224,5 +1224,5 @@
 
 	/*Depth Averaging B*/
-	this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
+	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
 	/*Call Tria function*/
@@ -1232,5 +1232,5 @@
 
 	/*Delete B averaged*/
-	this->matice->inputs->DeleteInput(RheologyBbarEnum);
+	this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
 
 	/*clean up and return*/
@@ -4429,5 +4429,5 @@
 			break;
 
-		case RheologyBbarEnum:
+		case MaterialsRheologyBbarEnum:
 			inputs->GetParameterValue(&approximation,ApproximationEnum);
 			switch(approximation){
@@ -4669,5 +4669,5 @@
 
 	/*Depth Average B*/
-	this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
+	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
 	/*Collapse element to the base*/
@@ -4677,5 +4677,5 @@
 
 	/*delete Average B*/
-	this->matice->inputs->DeleteInput(RheologyBbarEnum);
+	this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
 
 } /*}}}*/
@@ -4687,5 +4687,5 @@
 
 	/*Depth Average B*/
-	this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
+	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
 	/*Collapse element to the base*/
@@ -4695,5 +4695,5 @@
 
 	/*delete Average B*/
-	this->matice->inputs->DeleteInput(RheologyBbarEnum);
+	this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
 } /*}}}*/
 /*FUNCTION Penta::GradjBbarStokes {{{1*/
@@ -4704,5 +4704,5 @@
 
 	/*Depth Average B*/
-	this->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
+	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
 	/*Collapse element to the base*/
@@ -4712,5 +4712,5 @@
 
 	/*delete Average B*/
-	this->matice->inputs->DeleteInput(RheologyBbarEnum);
+	this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
 } /*}}}*/
 /*FUNCTION Penta::Sid {{{1*/
@@ -4785,7 +4785,7 @@
 	for(int i=0;i<num_controls;i++){
 
-		if(control_type[i]==RheologyBbarEnum){
+		if(control_type[i]==MaterialsRheologyBbarEnum){
 			if (!IsOnBed()) goto cleanup_and_return;
-			input=(Input*)matice->inputs->GetInput(RheologyBEnum); _assert_(input);
+			input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); _assert_(input);
 		}
 		else{
@@ -4799,6 +4799,6 @@
 		if (save_parameter) ((ControlInput*)input)->SaveValue();
 
-		if(control_type[i]==RheologyBbarEnum){
-			this->InputExtrude(RheologyBEnum,MaterialsEnum);
+		if(control_type[i]==MaterialsRheologyBbarEnum){
+			this->InputExtrude(MaterialsRheologyBEnum,MaterialsEnum);
 		}
 	}
@@ -5096,5 +5096,5 @@
 
 	/*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */
-	if (enum_type==RheologyBbarEnum) input=this->matice->inputs->GetInput(RheologyBEnum);
+	if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(MaterialsRheologyBEnum);
 	else input=this->inputs->GetInput(enum_type);
 	//if (!input) _error_("Input %s not found in penta->inputs",EnumToStringx(enum_type)); why error out? if the requested input does not exist, we should still 
@@ -5204,5 +5204,5 @@
 					}
 					break;
-				case RheologyBbarEnum:
+				case MaterialsRheologyBbarEnum:
 					/*Matice will take care of it*/ break;
 				default:
@@ -6249,5 +6249,5 @@
 		/*Update Rheology only if converged (we must make sure that the temperature is below melting point
 		 * otherwise the rheology could be negative*/
-		this->parameters->FindParam(&rheology_law,RheologyLawEnum);
+		this->parameters->FindParam(&rheology_law,MaterialsRheologyLawEnum);
 		switch(rheology_law){
 			case NoneEnum:
@@ -6257,5 +6257,5 @@
 				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));
+				this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B));
 				break;
 			case ArrheniusEnum:
@@ -6265,5 +6265,5 @@
 							matice->GetN());
 				for(i=0;i<numdof;i++) B[i]=B_average;
-				this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B));
+				this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B));
 				break;
 			default:
@@ -6324,5 +6324,5 @@
 		/*Update Rheology only if converged (we must make sure that the temperature is below melting point
 		 * otherwise the rheology could be negative*/
-		this->parameters->FindParam(&rheology_law,RheologyLawEnum);
+		this->parameters->FindParam(&rheology_law,MaterialsRheologyLawEnum);
 		switch(rheology_law){
 			case NoneEnum:
@@ -6332,5 +6332,5 @@
 				B_average=Paterson((temperatures[0]+temperatures[1]+temperatures[2]+temperatures[3]+temperatures[4]+temperatures[5])/6.0);
 				for(i=0;i<numdof;i++) B[i]=B_average;
-				this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B));
+				this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B));
 				break;
 			case ArrheniusEnum:
@@ -6340,5 +6340,5 @@
 							matice->GetN());
 				for(i=0;i<numdof;i++) B[i]=B_average;
-				this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B));
+				this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B));
 				break;
 			default:
@@ -7081,5 +7081,5 @@
 
 	/*We have found the base under this. Call InputDepthAverageAtBase on it: */
-	base->InputDepthAverageAtBase(RheologyBEnum,RheologyBbarEnum,MaterialsEnum);
+	base->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
 	/*Ok, base->matice now has the Bbar. Ask Bbar from this enum: */
@@ -7507,10 +7507,9 @@
 	iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum);
 	iomodel->Constant(&isstokes,IsstokesEnum);
-	iomodel->Constant(&beta,BetaEnum);
-	iomodel->Constant(&heatcapacity,HeatcapacityEnum);
+	iomodel->Constant(&beta,MaterialsBetaEnum);
+	iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum);
 	iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum);
-	iomodel->Constant(&meltingpoint,MeltingpointEnum);
-	iomodel->Constant(&latentheat,LatentheatEnum);
-
+	iomodel->Constant(&meltingpoint,MaterialsMeltingpointEnum);
+	iomodel->Constant(&latentheat,MaterialsLatentheatEnum);
 
 	/*Checks if debuging*/
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9635)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9636)
@@ -2159,5 +2159,5 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
+	if(enum_type==MaterialsRheologyBbarEnum){
 		input=(Input*)matice->inputs->GetInput(enum_type);
 	}
@@ -2177,5 +2177,5 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
+	if(enum_type==MaterialsRheologyBbarEnum){
 		input=(Input*)matice->inputs->GetInput(enum_type);
 	}
@@ -2196,5 +2196,5 @@
 	Input* input=NULL;
 
-	if(enum_type==RheologyBbarEnum){
+	if(enum_type==MaterialsRheologyBbarEnum){
 		input=(Input*)matice->inputs->GetInput(enum_type);
 	}
@@ -2697,5 +2697,5 @@
 			GradjDragMacAyeal(gradient);
 			break;
-		case RheologyBbarEnum:
+		case MaterialsRheologyBbarEnum:
 			GradjBMacAyeal(gradient);
 			break;
@@ -2759,5 +2759,5 @@
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	GetDofList1(&doflist1[0]);
-	Input* rheologyb_input=matice->inputs->GetInput(RheologyBbarEnum); _assert_(rheologyb_input);
+	Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
 	Input* weights_input=inputs->GetInput(WeightsEnum);                _assert_(weights_input);
 
@@ -2808,5 +2808,5 @@
 	Input* adjointx_input=inputs->GetInput(AdjointxEnum);              _assert_(adjointx_input);
 	Input* adjointy_input=inputs->GetInput(AdjointyEnum);              _assert_(adjointy_input);
-	Input* rheologyb_input=matice->inputs->GetInput(RheologyBbarEnum); _assert_(rheologyb_input);
+	Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
 
 	/* Start  looping on the number of gaussian points: */
@@ -3115,5 +3115,5 @@
 	for(int i=0;i<num_controls;i++){
 
-		if(control_type[i]==RheologyBbarEnum){
+		if(control_type[i]==MaterialsRheologyBbarEnum){
 			input=(Input*)matice->inputs->GetInput(control_type[i]); _assert_(input);
 		}
@@ -3223,5 +3223,5 @@
 
 	/*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */
-	if (enum_type==RheologyBbarEnum) input=this->matice->inputs->GetInput(enum_type);
+	if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(enum_type);
 	else input=this->inputs->GetInput(enum_type);
 	if (!input) _error_("Input %s not found in tria->inputs",EnumToStringx(enum_type));
@@ -3321,5 +3321,5 @@
 					}
 					break;
-				case RheologyBbarEnum:
+				case MaterialsRheologyBbarEnum:
 					/*Matice will take care of it*/ break;
 				default:
@@ -3732,5 +3732,5 @@
 
 			/*update input*/
-			if (name==RheologyBbarEnum || name==RheologyBEnum){
+			if (name==MaterialsRheologyBbarEnum || name==MaterialsRheologyBEnum){
 				matice->inputs->AddInput(new TriaVertexInput(name,values));
 			}
@@ -4504,5 +4504,5 @@
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	Input* weights_input  =inputs->GetInput(WeightsEnum);              _assert_(weights_input);
-	Input* rheologyb_input=matice->inputs->GetInput(RheologyBbarEnum); _assert_(rheologyb_input);
+	Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
 
 	/* Start looping on the number of gaussian points: */
Index: /issm/trunk/src/c/objects/Materials/Matice.cpp
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matice.cpp	(revision 9635)
+++ /issm/trunk/src/c/objects/Materials/Matice.cpp	(revision 9636)
@@ -202,5 +202,5 @@
 	double B;
 
-	inputs->GetParameterAverage(&B,RheologyBEnum);
+	inputs->GetParameterAverage(&B,MaterialsRheologyBEnum);
 	return B;
 }
@@ -212,5 +212,5 @@
 	double Bbar;
 
-	inputs->GetParameterAverage(&Bbar,RheologyBbarEnum);
+	inputs->GetParameterAverage(&Bbar,MaterialsRheologyBbarEnum);
 	return Bbar;
 }
@@ -222,5 +222,5 @@
 	double n;
 
-	inputs->GetParameterAverage(&n,RheologyNEnum);
+	inputs->GetParameterAverage(&n,MaterialsRheologyNEnum);
 	return n;
 }
@@ -594,5 +594,5 @@
 					this->inputs->AddInput(new TriaVertexInput(name,values));
 					/*Special case for rheology B in 2D: Pourave land for this solution{{{2*/
-					if(name==RheologyBEnum){
+					if(name==MaterialsRheologyBEnum){
 						/*Are we in 2D?:*/
 						if(element->Enum()==TriaEnum){
@@ -605,5 +605,5 @@
 						if(dim==2){
 							/*Dupliacte rheology input: */
-							this->inputs->AddInput(new TriaVertexInput(RheologyBbarEnum,values));
+							this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyBbarEnum,values));
 						}
 					}
@@ -674,13 +674,13 @@
 
 		/*Get B*/
-		if (iomodel->Data(RheologyBEnum)) {
-			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];
-			this->inputs->AddInput(new TriaVertexInput(RheologyBbarEnum,nodeinputs));
+		if (iomodel->Data(MaterialsRheologyBEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];
+			this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyBbarEnum,nodeinputs));
 		}
 
 		/*Get n*/
-		if (iomodel->Data(RheologyNEnum)) {
-			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(RheologyNEnum)[index];
-			this->inputs->AddInput(new TriaVertexInput(RheologyNEnum,nodeinputs));
+		if (iomodel->Data(MaterialsRheologyNEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index];
+			this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyNEnum,nodeinputs));
 		}
 
@@ -689,11 +689,11 @@
 			for(i=0;i<num_control_type;i++){
 				switch((int)iomodel->Data(ControlTypeEnum)[i]){
-					case RheologyBbarEnum:
-						if (iomodel->Data(RheologyBEnum)){
-							_assert_(iomodel->Data(RheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 
-							for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];
+					case MaterialsRheologyBbarEnum:
+						if (iomodel->Data(MaterialsRheologyBEnum)){
+							_assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 
+							for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];
 							for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];
 							for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];
-							this->inputs->AddInput(new ControlInput(RheologyBbarEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
+							this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
 						}
 						break;
@@ -713,13 +713,13 @@
 
 		/*Get B*/
-		if (iomodel->Data(RheologyBEnum)) {
-			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];
-			this->inputs->AddInput(new PentaVertexInput(RheologyBEnum,nodeinputs));
+		if (iomodel->Data(MaterialsRheologyBEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];
+			this->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,nodeinputs));
 		}
 
 		/*Get n*/
-		if (iomodel->Data(RheologyNEnum)) {
-			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(RheologyNEnum)[index];
-			this->inputs->AddInput(new PentaVertexInput(RheologyNEnum,nodeinputs));
+		if (iomodel->Data(MaterialsRheologyNEnum)) {
+			for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index];
+			this->inputs->AddInput(new PentaVertexInput(MaterialsRheologyNEnum,nodeinputs));
 		}
 
@@ -728,11 +728,11 @@
 			for(i=0;i<num_control_type;i++){
 				switch((int)iomodel->Data(ControlTypeEnum)[i]){
-					case RheologyBbarEnum:
-						if (iomodel->Data(RheologyBEnum)){
-							_assert_(iomodel->Data(RheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 
-							for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];
+					case MaterialsRheologyBbarEnum:
+						if (iomodel->Data(MaterialsRheologyBEnum)){
+							_assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 
+							for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];
 							for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];
 							for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i];
-							this->inputs->AddInput(new ControlInput(RheologyBEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
+							this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
 						}
 						break;
@@ -751,7 +751,7 @@
 bool Matice::IsInput(int name){
 	if (
-				name==RheologyBEnum ||
-				name==RheologyBbarEnum ||
-				name==RheologyNEnum
+				name==MaterialsRheologyBEnum ||
+				name==MaterialsRheologyBbarEnum ||
+				name==MaterialsRheologyNEnum
 		){
 		return true;
Index: /issm/trunk/src/c/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 9635)
+++ /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 9636)
@@ -26,14 +26,14 @@
 
 	this->mid                       = matpar_mid;
-	iomodel->Constant(&this->rho_ice,RhoIceEnum);
-	iomodel->Constant(&this->rho_water,RhoWaterEnum);
-	iomodel->Constant(&this->heatcapacity,HeatcapacityEnum);
-	iomodel->Constant(&this->thermalconductivity,ThermalconductivityEnum);
-	iomodel->Constant(&this->latentheat,LatentheatEnum);
-	iomodel->Constant(&this->beta,BetaEnum);
-	iomodel->Constant(&this->meltingpoint,MeltingpointEnum);
+	iomodel->Constant(&this->rho_ice,MaterialsRhoIceEnum);
+	iomodel->Constant(&this->rho_water,MaterialsRhoWaterEnum);
+	iomodel->Constant(&this->heatcapacity,MaterialsHeatcapacityEnum);
+	iomodel->Constant(&this->thermalconductivity,MaterialsThermalconductivityEnum);
+	iomodel->Constant(&this->latentheat,MaterialsLatentheatEnum);
+	iomodel->Constant(&this->beta,MaterialsBetaEnum);
+	iomodel->Constant(&this->meltingpoint,MaterialsMeltingpointEnum);
 	iomodel->Constant(&this->referencetemperature,ConstantsReferencetemperatureEnum);
-	iomodel->Constant(&this->mixed_layer_capacity,MixedLayerCapacityEnum);
-	iomodel->Constant(&this->thermal_exchange_velocity,ThermalExchangeVelocityEnum);
+	iomodel->Constant(&this->mixed_layer_capacity,MaterialsMixedLayerCapacityEnum);
+	iomodel->Constant(&this->thermal_exchange_velocity,MaterialsThermalExchangeVelocityEnum);
 	iomodel->Constant(&this->g,ConstantsGEnum);
 	
@@ -227,29 +227,29 @@
 
 	switch(name){
-		case RhoIceEnum:
+		case MaterialsRhoIceEnum:
 			this->rho_ice=constant;
 			break;
 
-		case  RhoWaterEnum:
+		case MaterialsRhoWaterEnum:
 			this->rho_water=constant;
 			break;
 
-		case  HeatcapacityEnum:
+		case MaterialsHeatcapacityEnum:
 			this->heatcapacity=constant;
 			break;
 
-		case  ThermalconductivityEnum:
+		case MaterialsThermalconductivityEnum:
 			this->thermalconductivity=constant;
 			break;
 
-		case  LatentheatEnum:
+		case  MaterialsLatentheatEnum:
 			this->latentheat=constant;
 			break;
 
-		case  BetaEnum:
+		case  MaterialsBetaEnum:
 			this->beta=constant;
 			break;
 
-		case  MeltingpointEnum:
+		case  MaterialsMeltingpointEnum:
 			this->meltingpoint=constant;
 			break;
@@ -259,13 +259,13 @@
 			break;
 
-		case  MixedLayerCapacityEnum:
+		case  MaterialsMixedLayerCapacityEnum:
 			this->mixed_layer_capacity=constant;
 			break;
 
-		case  ThermalExchangeVelocityEnum:
+		case  MaterialsThermalExchangeVelocityEnum:
 			this->thermalconductivity=constant;
 			break;
 
-		case  GravityEnum:
+		case  ConstantsGEnum:
 			this->g=constant;
 			break;
Index: /issm/trunk/src/c/solutions/controltao_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/controltao_core.cpp	(revision 9635)
+++ /issm/trunk/src/c/solutions/controltao_core.cpp	(revision 9636)
@@ -51,5 +51,5 @@
 
 	/*Set up and solve TAO*/
-	GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,RheologyBbarEnum,VertexEnum);
+	GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,MaterialsRheologyBbarEnum,VertexEnum);
 	info = TaoCreate(PETSC_COMM_WORLD,method,&tao); if(info) _error_("STOP");
 	info = TaoApplicationCreate(PETSC_COMM_WORLD,&controlapp); if(info) _error_("STOP");
@@ -107,7 +107,7 @@
 
 	InputUpdateFromConstantx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,SurfaceAbsVelMisfitEnum,CmResponseEnum);
-	InputUpdateFromVectorx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,X,RheologyBbarEnum,VertexEnum);
+	InputUpdateFromVectorx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,X,MaterialsRheologyBbarEnum,VertexEnum);
 	adjointdiagnostic_core(user->femmodel);
-	Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, RheologyBbarEnum);
+	Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, MaterialsRheologyBbarEnum);
 	VecScale(gradient,10e7);
 	//VecScale(gradient,-1.);
Index: /issm/trunk/src/m/classes/materials.m
===================================================================
--- /issm/trunk/src/m/classes/materials.m	(revision 9636)
+++ /issm/trunk/src/m/classes/materials.m	(revision 9636)
@@ -0,0 +1,94 @@
+%MATERIALS class definition
+%
+%   Usage:
+%      materials=materials();
+
+classdef materials
+	properties (SetAccess=public) 
+		rho_ice                    = modelfield('default',0,'marshall',true,'format','Double');
+		rho_water                  = modelfield('default',0,'marshall',true,'format','Double');
+		heatcapacity               = modelfield('default',0,'marshall',true,'format','Double');
+		latentheat                 = modelfield('default',0,'marshall',true,'format','Double');
+		thermalconductivity        = modelfield('default',0,'marshall',true,'format','Double');
+		meltingpoint               = modelfield('default',0,'marshall',true,'format','Double');
+		beta                       = modelfield('default',0,'marshall',true,'format','Double');
+		mixed_layer_capacity       = modelfield('default',0,'marshall',true,'format','Double');
+		thermal_exchange_velocity  = modelfield('default',0,'marshall',true,'format','Double');
+		rheology_B   = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
+		rheology_n   = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
+		rheology_law = modelfield('default','','marshall',true,'preprocess','StringToEnum','format','Integer');
+	end
+	methods
+		function obj = materials(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
+
+			%ice density (kg/m^3)
+			obj.rho_ice=917;
+
+			%water density (kg/m^3)
+			obj.rho_water=1023;
+
+			%ice heat capacity cp (J/kg/K)
+			obj.heatcapacity=2093;
+
+			%ice latent heat of fusion L (J/kg)
+			obj.latentheat=3.34*10^5;
+
+			%ice thermal conductivity (W/m/K)
+			obj.thermalconductivity=2.4;
+
+			%the melting point of ice at 1 atmosphere of pressure in K
+			obj.meltingpoint=273.15;
+
+			%rate of change of melting point with pressure (K/Pa)
+			obj.beta=9.8*10^-8;
+
+			%mixed layer (ice-water interface) heat capacity (J/kg/K)
+			obj.mixed_layer_capacity=3974;
+
+			%thermal exchange velocity (ice-water interface) (m/s)
+			obj.thermal_exchange_velocity=1.00*10^-4;
+
+			%Rheology law: what is the temperature dependence of B with T
+			%available: none, paterson and arrhenius
+			obj.rheology_law='Paterson';
+		end % }}}
+		function disp(obj) % {{{
+			disp(sprintf('   Materials:\n'));
+
+			fielddisplay(obj,'rho_ice','ice density [kg/m^3]');
+			fielddisplay(obj,'rho_water','water density [kg/m^3]');
+			fielddisplay(obj,'heatcapacity','heat capacity [J/kg/K]');
+			fielddisplay(obj,'thermalconductivity','ice thermal conductivity [W/m/K]');
+			fielddisplay(obj,'meltingpoint','melting point of ice at 1atm in K');
+			fielddisplay(obj,'latentheat','latent heat of fusion [J/m^3]');
+			fielddisplay(obj,'beta','rate of change of melting point with pressure [K/Pa]');
+			fielddisplay(obj,'mixed_layer_capacity','mixed layer capacity [W/kg/K]');
+			fielddisplay(obj,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
+			fielddisplay(obj,'rheology_B','flow law parameter [Pa/s^(1/n)]');
+			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''');
+		end % }}}
+	end
+end
Index: /issm/trunk/src/m/classes/model/model.m
===================================================================
--- /issm/trunk/src/m/classes/model/model.m	(revision 9635)
+++ /issm/trunk/src/m/classes/model/model.m	(revision 9636)
@@ -27,4 +27,5 @@
 		 timestepping = modelfield('default',0,'marshall',true);
 		 groundingline = modelfield('default',0,'marshall',true);
+		 materials = modelfield('default',0,'marshall',true);
 
 		 %FIXME: all other fields should belong to other classes
@@ -103,20 +104,6 @@
 
 		 %Materials parameters
-		 rho_ice                    = modelfield('default',0,'marshall',true,'format','Double');
-		 rho_water                  = modelfield('default',0,'marshall',true,'format','Double');
-		 heatcapacity               = modelfield('default',0,'marshall',true,'format','Double');
-		 latentheat                 = modelfield('default',0,'marshall',true,'format','Double');
-		 thermalconductivity        = modelfield('default',0,'marshall',true,'format','Double');
-		 meltingpoint               = modelfield('default',0,'marshall',true,'format','Double');
-		 beta                       = modelfield('default',0,'marshall',true,'format','Double');
-		 mixed_layer_capacity       = modelfield('default',0,'marshall',true,'format','Double');
-		 thermal_exchange_velocity  = modelfield('default',0,'marshall',true,'format','Double');
+
 		 min_mechanical_constraints = modelfield('default',0,'marshall',true,'format','Integer');
-
-		 %Physical parameters
-
-		 rheology_B       = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
-		 rheology_n       = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
-		 rheology_law     = modelfield('default','','marshall',true,'preprocess','StringToEnum','format','Integer');
 
 		 %Geometrical parameters
@@ -362,6 +349,4 @@
 			 if isfield(structmd,'p'), md.friction.p=structmd.p; end
 			 if isfield(structmd,'q'), md.friction.q=structmd.p; end
-			 if isfield(structmd,'B'), md.rheology_B=structmd.B; end
-			 if isfield(structmd,'n'), md.rheology_n=structmd.n; end
 			 if isfield(structmd,'melting'), md.basalforcings.melting_rate=structmd.melting; end
 			 if isfield(structmd,'melting_rate'), md.basalforcings.melting_rate=structmd.melting_rate; end
@@ -420,4 +405,6 @@
 			 if isfield(structmd,'time_adapt'), md.timestepping.time_adapt=structmd.time_adapt; end
 			 if isfield(structmd,'cfl_coefficient'), md.timestepping.cfl_coefficient=structmd.cfl_coefficient; end
+			 if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.B; end
+			 if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.n; end
 
 			 %Field changes
@@ -461,7 +448,7 @@
 			 end
 			 if isnumeric(structmd.rheology_law),
-				 if (structmd.rheology_law==272), md.rheology_law='None';      end
-				 if (structmd.rheology_law==368), md.rheology_law='Paterson';  end
-				 if (structmd.rheology_law==369), md.rheology_law='Arrhenius'; end
+				 if (structmd.rheology_law==272), md.materials.rheology_law='None';      end
+				 if (structmd.rheology_law==368), md.materials.rheology_law='Paterson';  end
+				 if (structmd.rheology_law==369), md.materials.rheology_law='Arrhenius'; end
 			 end
 			 if isnumeric(structmd.groundingline_migration),
@@ -538,33 +525,6 @@
 			 md.timestepping=timestepping;
 			 md.groundingline=groundingline;
-
-			 %Materials parameters
-
-			 %ice density (kg/m^3)
-			 md.rho_ice=917;
-
-			 %water density (kg/m^3)
-			 md.rho_water=1023;
-
-			 %ice heat capacity cp (J/kg/K)
-			 md.heatcapacity=2093;
-
-			 %ice latent heat of fusion L (J/kg)
-			 md.latentheat=3.34*10^5;
-
-			 %ice thermal conductivity lamda (W/m/K)
-			 md.thermalconductivity=2.4;
-
-			 %the melting point of ice at 1 atmosphere of pressure in K
-			 md.meltingpoint=273.15;
-
-			 %rate of change of melting point with pressure (K/Pa)
-			 md.beta=9.8*10^-8;
-
-			 %mixed layer (ice-water interface) heat capacity (J/kg/K)
-			 md.mixed_layer_capacity=3974;
-
-			 %thermal exchange velocity (ice-water interface) (m/s)
-			 md.thermal_exchange_velocity=1.00*10^-4;
+			 md.materials=materials;
+
 
 			 %Physical parameters
@@ -692,8 +652,4 @@
 			 %0 to desactivate
 			 md.waitonlock=Inf;
-
-			 %Rheology law: what is the temperature dependence of B with T
-			 %available: none, paterson and arrhenius
-			 md.rheology_law='Paterson';
 
 		 end
Index: sm/trunk/src/m/enum/BetaEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BetaEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=BetaEnum()
-%BETAENUM - Enum of Beta
-%
-%   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=BetaEnum()
-
-macro=StringToEnum('Beta');
Index: /issm/trunk/src/m/enum/EnumToModelField.m
===================================================================
--- /issm/trunk/src/m/enum/EnumToModelField.m	(revision 9635)
+++ /issm/trunk/src/m/enum/EnumToModelField.m	(revision 9636)
@@ -13,6 +13,6 @@
 		case ThicknessEnum(), string='thickness'; return
 		case FrictionCoefficientEnum(), string='drag_coefficient'; return
-		case RheologyBEnum(), string='rheology_B'; return
-		case RheologyBbarEnum(), string='rheology_B'; return
+		case MaterialsRheologyBEnum(), string='rheology_B'; return
+		case MaterialsRheologyBbarEnum(), string='rheology_B'; return
 		case DhdtEnum(), string='dhdt'; return
 		case VxEnum(), string='vx'; return
Index: sm/trunk/src/m/enum/GravityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GravityEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=GravityEnum()
-%GRAVITYENUM - Enum of Gravity
-%
-%   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=GravityEnum()
-
-macro=StringToEnum('Gravity');
Index: sm/trunk/src/m/enum/HeatcapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/HeatcapacityEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=HeatcapacityEnum()
-%HEATCAPACITYENUM - Enum of Heatcapacity
-%
-%   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=HeatcapacityEnum()
-
-macro=StringToEnum('Heatcapacity');
Index: sm/trunk/src/m/enum/LatentheatEnum.m
===================================================================
--- /issm/trunk/src/m/enum/LatentheatEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=LatentheatEnum()
-%LATENTHEATENUM - Enum of Latentheat
-%
-%   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=LatentheatEnum()
-
-macro=StringToEnum('Latentheat');
Index: /issm/trunk/src/m/enum/MaterialsHeatcapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsHeatcapacityEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsHeatcapacityEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsHeatcapacityEnum()
+%MATERIALSHEATCAPACITYENUM - Enum of MaterialsHeatcapacity
+%
+%   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=MaterialsHeatcapacityEnum()
+
+macro=StringToEnum('MaterialsHeatcapacity');
Index: /issm/trunk/src/m/enum/MaterialsLatentheatEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsLatentheatEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsLatentheatEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsLatentheatEnum()
+%MATERIALSLATENTHEATENUM - Enum of MaterialsLatentheat
+%
+%   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=MaterialsLatentheatEnum()
+
+macro=StringToEnum('MaterialsLatentheat');
Index: /issm/trunk/src/m/enum/MaterialsMeltingpointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsMeltingpointEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsMeltingpointEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsMeltingpointEnum()
+%MATERIALSMELTINGPOINTENUM - Enum of MaterialsMeltingpoint
+%
+%   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=MaterialsMeltingpointEnum()
+
+macro=StringToEnum('MaterialsMeltingpoint');
Index: /issm/trunk/src/m/enum/MaterialsMixedLayerCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsMixedLayerCapacityEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsMixedLayerCapacityEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsMixedLayerCapacityEnum()
+%MATERIALSMIXEDLAYERCAPACITYENUM - Enum of MaterialsMixedLayerCapacity
+%
+%   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=MaterialsMixedLayerCapacityEnum()
+
+macro=StringToEnum('MaterialsMixedLayerCapacity');
Index: /issm/trunk/src/m/enum/MaterialsRheologyBEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRheologyBEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRheologyBEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyBEnum()
+%MATERIALSRHEOLOGYBENUM - Enum of MaterialsRheologyB
+%
+%   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=MaterialsRheologyBEnum()
+
+macro=StringToEnum('MaterialsRheologyB');
Index: /issm/trunk/src/m/enum/MaterialsRheologyBbarEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRheologyBbarEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRheologyBbarEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyBbarEnum()
+%MATERIALSRHEOLOGYBBARENUM - Enum of MaterialsRheologyBbar
+%
+%   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=MaterialsRheologyBbarEnum()
+
+macro=StringToEnum('MaterialsRheologyBbar');
Index: /issm/trunk/src/m/enum/MaterialsRheologyLawEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRheologyLawEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRheologyLawEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyLawEnum()
+%MATERIALSRHEOLOGYLAWENUM - Enum of MaterialsRheologyLaw
+%
+%   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=MaterialsRheologyLawEnum()
+
+macro=StringToEnum('MaterialsRheologyLaw');
Index: /issm/trunk/src/m/enum/MaterialsRheologyNEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRheologyNEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRheologyNEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRheologyNEnum()
+%MATERIALSRHEOLOGYNENUM - Enum of MaterialsRheologyN
+%
+%   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=MaterialsRheologyNEnum()
+
+macro=StringToEnum('MaterialsRheologyN');
Index: /issm/trunk/src/m/enum/MaterialsRhoIceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRhoIceEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRhoIceEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRhoIceEnum()
+%MATERIALSRHOICEENUM - Enum of MaterialsRhoIce
+%
+%   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=MaterialsRhoIceEnum()
+
+macro=StringToEnum('MaterialsRhoIce');
Index: /issm/trunk/src/m/enum/MaterialsRhoWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRhoWaterEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsRhoWaterEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsRhoWaterEnum()
+%MATERIALSRHOWATERENUM - Enum of MaterialsRhoWater
+%
+%   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=MaterialsRhoWaterEnum()
+
+macro=StringToEnum('MaterialsRhoWater');
Index: /issm/trunk/src/m/enum/MaterialsThermalExchangeVelocityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsThermalExchangeVelocityEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsThermalExchangeVelocityEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsThermalExchangeVelocityEnum()
+%MATERIALSTHERMALEXCHANGEVELOCITYENUM - Enum of MaterialsThermalExchangeVelocity
+%
+%   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=MaterialsThermalExchangeVelocityEnum()
+
+macro=StringToEnum('MaterialsThermalExchangeVelocity');
Index: /issm/trunk/src/m/enum/MaterialsThermalconductivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsThermalconductivityEnum.m	(revision 9636)
+++ /issm/trunk/src/m/enum/MaterialsThermalconductivityEnum.m	(revision 9636)
@@ -0,0 +1,11 @@
+function macro=MaterialsThermalconductivityEnum()
+%MATERIALSTHERMALCONDUCTIVITYENUM - Enum of MaterialsThermalconductivity
+%
+%   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=MaterialsThermalconductivityEnum()
+
+macro=StringToEnum('MaterialsThermalconductivity');
Index: sm/trunk/src/m/enum/MeltingpointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeltingpointEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MeltingpointEnum()
-%MELTINGPOINTENUM - Enum of Meltingpoint
-%
-%   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=MeltingpointEnum()
-
-macro=StringToEnum('Meltingpoint');
Index: sm/trunk/src/m/enum/MixedLayerCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MixedLayerCapacityEnum()
-%MIXEDLAYERCAPACITYENUM - Enum of MixedLayerCapacity
-%
-%   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=MixedLayerCapacityEnum()
-
-macro=StringToEnum('MixedLayerCapacity');
Index: sm/trunk/src/m/enum/RheologyBEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyBEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RheologyBEnum()
-%RHEOLOGYBENUM - Enum of RheologyB
-%
-%   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=RheologyBEnum()
-
-macro=StringToEnum('RheologyB');
Index: sm/trunk/src/m/enum/RheologyBbarEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyBbarEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RheologyBbarEnum()
-%RHEOLOGYBBARENUM - Enum of RheologyBbar
-%
-%   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=RheologyBbarEnum()
-
-macro=StringToEnum('RheologyBbar');
Index: sm/trunk/src/m/enum/RheologyLawEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyLawEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RheologyLawEnum()
-%RHEOLOGYLAWENUM - Enum of RheologyLaw
-%
-%   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=RheologyLawEnum()
-
-macro=StringToEnum('RheologyLaw');
Index: sm/trunk/src/m/enum/RheologyNEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyNEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RheologyNEnum()
-%RHEOLOGYNENUM - Enum of RheologyN
-%
-%   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=RheologyNEnum()
-
-macro=StringToEnum('RheologyN');
Index: sm/trunk/src/m/enum/RhoIceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoIceEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RhoIceEnum()
-%RHOICEENUM - Enum of RhoIce
-%
-%   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=RhoIceEnum()
-
-macro=StringToEnum('RhoIce');
Index: sm/trunk/src/m/enum/RhoWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoWaterEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=RhoWaterEnum()
-%RHOWATERENUM - Enum of RhoWater
-%
-%   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=RhoWaterEnum()
-
-macro=StringToEnum('RhoWater');
Index: sm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ThermalExchangeVelocityEnum()
-%THERMALEXCHANGEVELOCITYENUM - Enum of ThermalExchangeVelocity
-%
-%   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=ThermalExchangeVelocityEnum()
-
-macro=StringToEnum('ThermalExchangeVelocity');
Index: sm/trunk/src/m/enum/ThermalconductivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalconductivityEnum.m	(revision 9635)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ThermalconductivityEnum()
-%THERMALCONDUCTIVITYENUM - Enum of Thermalconductivity
-%
-%   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=ThermalconductivityEnum()
-
-macro=StringToEnum('Thermalconductivity');
Index: /issm/trunk/src/m/model/ThicknessCorrection.m
===================================================================
--- /issm/trunk/src/m/model/ThicknessCorrection.m	(revision 9635)
+++ /issm/trunk/src/m/model/ThicknessCorrection.m	(revision 9636)
@@ -19,5 +19,5 @@
 %initialize thickness with the observations, and get hydrostatic thickness from the dem
 thickness=md.thickness;
-thickness_hydro=md.surface/(1-md.rho_ice/md.rho_water);
+thickness_hydro=md.surface/(1-md.materials.rho_ice/md.materials.rho_water);
 thickness_coeff=zeros(size(md.thickness));
 
@@ -67,5 +67,5 @@
 
 %check the computed thickness
-minth=1/(1-md.rho_ice/md.rho_water);
+minth=1/(1-md.materials.rho_ice/md.materials.rho_water);
 pos=find(isnan(thickness) | (thickness<=0));
 thickness(pos)=minth;
Index: /issm/trunk/src/m/model/basalstress.m
===================================================================
--- /issm/trunk/src/m/model/basalstress.m	(revision 9635)
+++ /issm/trunk/src/m/model/basalstress.m	(revision 9636)
@@ -18,5 +18,5 @@
 
 %compute basal drag
-bx=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
-by=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
-b=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
+bx=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
+by=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
+b=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
Index: /issm/trunk/src/m/model/basevert.m
===================================================================
--- /issm/trunk/src/m/model/basevert.m	(revision 9635)
+++ /issm/trunk/src/m/model/basevert.m	(revision 9636)
@@ -33,3 +33,3 @@
 dbdy=(md.bed(md.elements).*beta)*summation;
 
-wb=-md.rho_ice/md.rho_water*(hux+hvy)+uelem.*dbdx+velem.*dbdy;
+wb=-md.materials.rho_ice/md.materials.rho_water*(hux+hvy)+uelem.*dbdx+velem.*dbdy;
Index: /issm/trunk/src/m/model/collapse.m
===================================================================
--- /issm/trunk/src/m/model/collapse.m	(revision 9635)
+++ /issm/trunk/src/m/model/collapse.m	(revision 9636)
@@ -69,6 +69,6 @@
 
 %materials
-md.rheology_B=DepthAverage(md,md.rheology_B);
-md.rheology_n=project2d(md,md.rheology_n,1);
+md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B);
+md.materials.rheology_n=project2d(md,md.materials.rheology_n,1);
 
 %special for thermal modeling:
Index: /issm/trunk/src/m/model/contourmassbalance.m
===================================================================
--- /issm/trunk/src/m/model/contourmassbalance.m	(revision 9635)
+++ /issm/trunk/src/m/model/contourmassbalance.m	(revision 9636)
@@ -34,8 +34,8 @@
 ny=sin(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1)))));
 L=sqrt((x(segments(:,1))-x(segments(:,2))).^2+(y(segments(:,2))-y(segments(:,1))).^2);
-flux = - md.rho_ice*sum(L.*H.*(vx.*nx+vy.*ny)); %outflux is negative!
+flux = - md.materials.rho_ice*sum(L.*H.*(vx.*nx+vy.*ny)); %outflux is negative!
 disp(['mass outflux on ' file ' = ' num2str(-flux/10^9) ' Gt/yr']);
 areas=GetAreas(md.elements,md.x,md.y);
-dhdt=flux/(sum(areas(find(elemin)))*md.rho_ice);
+dhdt=flux/(sum(areas(find(elemin)))*md.materials.rho_ice);
 disp(['dhdt on ' file ' (Flux  method) = ' num2str(dhdt) ' m/yr']);
 
Index: sm/trunk/src/m/model/display/displaymaterials.m
===================================================================
--- /issm/trunk/src/m/model/display/displaymaterials.m	(revision 9635)
+++ 	(revision )
@@ -1,24 +1,0 @@
-function displaymaterials(md)
-%DISPLAYCONTROL - display material parameters
-%
-%   To avoid clobbering display.m with every field from model md, 
-%   we create this routine that displays material parameters from model md, 
-%   only if requested.
-%
-%   Usage:
-%      displaymaterials(md)
-
-disp(sprintf('   Materials:\n'));
-
-fielddisplay(md,'rho_ice','ice density [kg/m^3]');
-fielddisplay(md,'rho_water','water density [kg/m^3]');
-fielddisplay(md,'rheology_B','flow law parameter [Pa/s^(1/n)]');
-fielddisplay(md,'rheology_n','Glen''s flow law exponent');
-fielddisplay(md,'rheology_law','law for the temperature dependance of the rheology: ''None'', ''Paterson'' or ''Arrhenius''');
-fielddisplay(md,'heatcapacity','heat capacity [J/kg/K]');
-fielddisplay(md,'thermalconductivity','ice thermal conductivity [W/m/K]');
-fielddisplay(md,'meltingpoint','melting point of ice at 1atm in K');
-fielddisplay(md,'latentheat','latent heat of fusion [J/m^3]');
-fielddisplay(md,'beta','rate of change of melting point with pressure [K/Pa]');
-fielddisplay(md,'mixed_layer_capacity','mixed layer capacity [W/kg/K]');
-fielddisplay(md,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
Index: /issm/trunk/src/m/model/drivingstress.m
===================================================================
--- /issm/trunk/src/m/model/drivingstress.m	(revision 9635)
+++ /issm/trunk/src/m/model/drivingstress.m	(revision 9636)
@@ -14,5 +14,5 @@
 thickness_bar=(md.thickness(md.elements(:,1))+md.thickness(md.elements(:,2))+md.thickness(md.elements(:,3)))/3;
 
-px=md.rho_ice*md.constants.g*thickness_bar.*sx;
-py=md.rho_ice*md.constants.g*thickness_bar.*sy;
+px=md.materials.rho_ice*md.constants.g*thickness_bar.*sx;
+py=md.materials.rho_ice*md.constants.g*thickness_bar.*sy;
 pmag=sqrt(px.^2+py.^2);
Index: /issm/trunk/src/m/model/effectivepressure.m
===================================================================
--- /issm/trunk/src/m/model/effectivepressure.m	(revision 9635)
+++ /issm/trunk/src/m/model/effectivepressure.m	(revision 9636)
@@ -8,5 +8,5 @@
 %      Neff=effectivepressure(md)
 
-Neff=md.rho_ice*md.constants.g*md.thickness+md.rho_ice*md.constants.g*md.bed;
+Neff=md.materials.rho_ice*md.constants.g*md.thickness+md.materials.rho_ice*md.constants.g*md.bed;
 pos=find(Neff<0);
 Neff(pos)=0;
Index: /issm/trunk/src/m/model/extrude.m
===================================================================
--- /issm/trunk/src/m/model/extrude.m	(revision 9635)
+++ /issm/trunk/src/m/model/extrude.m	(revision 9636)
@@ -197,6 +197,6 @@
 
 %materials
-md.rheology_B=project3d(md,'vector',md.rheology_B,'type','node');
-md.rheology_n=project3d(md,'vector',md.rheology_n,'type','element');
+md.materials.rheology_B=project3d(md,'vector',md.materials.rheology_B,'type','node');
+md.materials.rheology_n=project3d(md,'vector',md.materials.rheology_n,'type','element');
 
 %parameters
@@ -217,5 +217,5 @@
 %Put lithostatic pressure is there is an existing pressure
 if ~isnan(md.pressure),
-	md.pressure=md.constants.g*md.rho_ice*(md.surface-md.z);
+	md.pressure=md.constants.g*md.materials.rho_ice*(md.surface-md.z);
 end
 
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9635)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9636)
@@ -83,25 +83,25 @@
 %NO NAN {{{1
 fields={'numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',...
-	'rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','settings.lowmem','nsteps','maxiter',...
-	'eps_res','max_nonlinear_iterations','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};
+	'materials.rho_ice','materials.rho_water','materials.rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','settings.lowmem','nsteps','maxiter',...
+	'eps_res','max_nonlinear_iterations','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};
 checknan(md,fields);
 %}}}}
 %FIELDS >= 0 {{{1
 fields={'numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',...
-	'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...
-	'settings.lowmem','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};
+	'materials.rho_ice','materials.rho_water','materials.rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...
+	'settings.lowmem','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};
 checkgreater(md,fields,0);
 %}}}
 %FIELDS > 0 {{{1
 fields={'numberofelements','numberofnodes','elements','friction.p',...
-	'rho_ice','rho_water','rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};
+	'materials.rho_ice','materials.rho_water','materials.rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};
 checkgreaterstrict(md,fields,0);
 %}}}
 %SIZE NUMBEROFELEMENTS {{{1
-fields={'friction.p','friction.q','elementoniceshelf','rheology_n','elementonbed'};
+fields={'friction.p','friction.q','elementoniceshelf','materials.rheology_n','elementonbed'};
 checksize(md,fields,[md.numberofelements 1]);
 %}}}
 %SIZE NUMBEROFNODES {{{1
-fields={'x','y','z','rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
+fields={'x','y','z','materials.rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
 checksize(md,fields,[md.numberofnodes 1]);
 %}}}
@@ -181,5 +181,5 @@
 	message(['model not consistent: model ' md.miscellaneous.name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']);
 end
-if ~ismember({md.rheology_law},{'None' 'Paterson' 'Arrhenius'}),
+if ~ismember({md.materials.rheology_law},{'None' 'Paterson' 'Arrhenius'}),
 	message(['model not consistent: model ' md.miscellaneous.name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']);
 end
Index: /issm/trunk/src/m/model/mechanicalproperties.m
===================================================================
--- /issm/trunk/src/m/model/mechanicalproperties.m	(revision 9635)
+++ /issm/trunk/src/m/model/mechanicalproperties.m	(revision 9636)
@@ -48,6 +48,6 @@
 %compute viscosity
 nu=zeros(numberofelements,1);
-B_bar=md.rheology_B(index)*summation/3;
-power=(md.rheology_n-1)./(2*md.rheology_n);
+B_bar=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);
 %some corrections
Index: /issm/trunk/src/m/model/plot/plot_basaldrag.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_basaldrag.m	(revision 9635)
+++ /issm/trunk/src/m/model/plot/plot_basaldrag.m	(revision 9636)
@@ -30,5 +30,5 @@
 
 %compute basal drag
-drag=(max(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
+drag=(max(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
 
 %Figure out if this is a Section plot
Index: /issm/trunk/src/m/model/sia.m
===================================================================
--- /issm/trunk/src/m/model/sia.m	(revision 9635)
+++ /issm/trunk/src/m/model/sia.m	(revision 9636)
@@ -22,5 +22,5 @@
 Ael=Bel.^(-3);
 
-velx=-2*(md.rho_ice*md.constants.g)^3*s.^2.*sx.*Ael/4.*hel.^4;
-vely=-2*(md.rho_ice*md.constants.g)^3*s.^2.*sy.*Ael/4.*hel.^4;
+velx=-2*(md.materials.rho_ice*md.constants.g)^3*s.^2.*sx.*Ael/4.*hel.^4;
+vely=-2*(md.materials.rho_ice*md.constants.g)^3*s.^2.*sy.*Ael/4.*hel.^4;
 vel=sqrt(velx.^2+vely.^2);
Index: /issm/trunk/template
===================================================================
--- /issm/trunk/template	(revision 9635)
+++ /issm/trunk/template	(revision 9636)
@@ -63,18 +63,4 @@
 	elementonwater
 
-}}}
-materials{{{
-	rho_ice
-	rho_water
-	heatcapacity
-	latentheat
-	thermalconductivity
-	meltingpoint
-	beta
-	mixed_layer_capacity
-	thermal_exchange_velocity
-	rheology_B
-	rheology_n
-	rheology_law
 }}}
 flowequation{{{
@@ -186,7 +172,4 @@
 	qmu_params
 	dakotaresults ->results
-	dakotain ->check
-	dakotaout ->check
-	dakotadat ->check
 	qmu_analysis -> isqmu
 	part ->partition
Index: /issm/trunk/test/Miscellaneous/Bump/Bump.par
===================================================================
--- /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9635)
+++ /issm/trunk/test/Miscellaneous/Bump/Bump.par	(revision 9636)
@@ -8,7 +8,7 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness+10;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+10;
 md.surface=md.bed+md.thickness;
-md.bed=-md.rho_ice/md.rho_water*md.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10;
 md.thickness=md.surface-md.bed;
 
@@ -23,6 +23,6 @@
 md.observed_temperature=(273-20)*ones(md.numberofnodes,1);
 
-md.rheology_B=paterson(md.observed_temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.observed_temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Deal with boundary conditions:
Index: /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
===================================================================
--- /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par	(revision 9635)
+++ /issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par	(revision 9636)
@@ -7,11 +7,11 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
 %Materials
 md.observed_temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.observed_temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.observed_temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 md.temperature=md.observed_temperature;
 
Index: /issm/trunk/test/Miscellaneous/Regularization/Square.par
===================================================================
--- /issm/trunk/test/Miscellaneous/Regularization/Square.par	(revision 9635)
+++ /issm/trunk/test/Miscellaneous/Regularization/Square.par	(revision 9636)
@@ -5,5 +5,5 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness+10;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+10;
 md.surface=md.bed+md.thickness;
 
@@ -19,6 +19,6 @@
 md.observed_temperature=(273-20)*ones(md.numberofnodes,1);
 
-md.rheology_B=paterson(md.observed_temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.observed_temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Deal with boundary conditions:
Index: /issm/trunk/test/Miscellaneous/connectivity/Square.par
===================================================================
--- /issm/trunk/test/Miscellaneous/connectivity/Square.par	(revision 9635)
+++ /issm/trunk/test/Miscellaneous/connectivity/Square.par	(revision 9636)
@@ -12,5 +12,5 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -26,6 +26,6 @@
 md.observed_temperature=(273-20)*ones(md.numberofnodes,1);
 
-md.rheology_B=paterson(md.observed_temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.observed_temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Deal with boundary conditions:
Index: /issm/trunk/test/NightlyRun/test1301.m
===================================================================
--- /issm/trunk/test/NightlyRun/test1301.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test1301.m	(revision 9636)
@@ -17,10 +17,10 @@
 pos=find(md.nodeonsurface);
 md.thermal.spctemperature(pos)=md.temperature(pos);
-md.rheology_B=paterson(md.temperature);
+md.materials.rheology_B=paterson(md.temperature);
 
 %analytical results
 %melting heat = geothermal flux
 %Mb*L*rho=G   => Mb=G/L*rho
-melting=md.basalforcings.geothermalflux/(md.rho_ice*md.latentheat)*md.constants.yts;
+melting=md.basalforcings.geothermalflux/(md.materials.rho_ice*md.materials.latentheat)*md.constants.yts;
 
 %modeled  results
Index: /issm/trunk/test/NightlyRun/test1302.m
===================================================================
--- /issm/trunk/test/NightlyRun/test1302.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test1302.m	(revision 9636)
@@ -20,5 +20,5 @@
 %analytical results
 %d2T/dz2-w*rho_ice*c/k*dT/dz=0   T(surface)=0  T(bed)=10   => T=A exp(alpha z)+B
-alpha=0.1/md.constants.yts*md.rho_ice*md.heatcapacity/md.thermalconductivity;   %alpha=w rho_ice c /k  and w=0.1m/an
+alpha=0.1/md.constants.yts*md.materials.rho_ice*md.heatcapacity/md.thermalconductivity;   %alpha=w rho_ice c /k  and w=0.1m/an
 A=10/(exp(alpha*(-1000))-1);    %A=T(bed)/(exp(alpha*bed)-1)  with bed=-1000 T(bed)=10
 B=-A;
Index: /issm/trunk/test/NightlyRun/test233.m
===================================================================
--- /issm/trunk/test/NightlyRun/test233.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test233.m	(revision 9636)
@@ -18,9 +18,9 @@
 xmax=max(md.x);
 
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 
 h=1000;
 md.thickness=h*ones(md.numberofnodes,1);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -33,6 +33,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Boundary conditions:
@@ -61,5 +61,5 @@
 
 %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
-%ey_c=(md.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
+%ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3;
 %vy_c=ey_c.*md.y*md.constants.yts;
 
Index: /issm/trunk/test/NightlyRun/test234.m
===================================================================
--- /issm/trunk/test/NightlyRun/test234.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test234.m	(revision 9636)
@@ -18,9 +18,9 @@
 xmax=max(md.x);
 
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 
 h=1000;
 md.thickness=h*ones(md.numberofnodes,1);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -33,6 +33,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Boundary conditions:
@@ -61,5 +61,5 @@
 
 %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
-%ey_c=(md.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
+%ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3;
 %vy_c=ey_c.*md.y*md.constants.yts;
 
Index: /issm/trunk/test/NightlyRun/test235.m
===================================================================
--- /issm/trunk/test/NightlyRun/test235.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test235.m	(revision 9636)
@@ -15,9 +15,9 @@
 xmax=max(md.x);
 
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 
 h=1000;
 md.thickness=h*ones(md.numberofnodes,1);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -30,6 +30,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Boundary conditions:
Index: /issm/trunk/test/NightlyRun/test236.m
===================================================================
--- /issm/trunk/test/NightlyRun/test236.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test236.m	(revision 9636)
@@ -15,9 +15,9 @@
 xmax=max(md.x);
 
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 
 h=1000;
 md.thickness=h*ones(md.numberofnodes,1);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -30,6 +30,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Boundary conditions:
Index: /issm/trunk/test/NightlyRun/test423.m
===================================================================
--- /issm/trunk/test/NightlyRun/test423.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test423.m	(revision 9636)
@@ -13,5 +13,5 @@
 %Dakota options
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01);
 %md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01*ones(md.npart,1));
Index: /issm/trunk/test/NightlyRun/test424.m
===================================================================
--- /issm/trunk/test/NightlyRun/test424.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test424.m	(revision 9636)
@@ -14,5 +14,5 @@
 %Dakota options
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
 
Index: /issm/trunk/test/NightlyRun/test425.m
===================================================================
--- /issm/trunk/test/NightlyRun/test425.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test425.m	(revision 9636)
@@ -13,5 +13,5 @@
 
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
 
Index: /issm/trunk/test/NightlyRun/test426.m
===================================================================
--- /issm/trunk/test/NightlyRun/test426.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test426.m	(revision 9636)
@@ -13,5 +13,5 @@
 
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
 
Index: /issm/trunk/test/NightlyRun/test427.m
===================================================================
--- /issm/trunk/test/NightlyRun/test427.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test427.m	(revision 9636)
@@ -4,5 +4,5 @@
 md=setelementstype(md,'macayeal','all');
 md.cluster=none;
-md.rho_ice=10^7; %involved in the mass flux, make it easy
+md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
 md.thickness(:)=1; %make it easy
 
Index: /issm/trunk/test/NightlyRun/test428.m
===================================================================
--- /issm/trunk/test/NightlyRun/test428.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test428.m	(revision 9636)
@@ -4,5 +4,5 @@
 md=setelementstype(md,'macayeal','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md.rho_ice=10^7; %involved in the mass flux, make it easy
+md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
 md.thickness(:)=1; %make it easy
 
Index: /issm/trunk/test/NightlyRun/test434.m
===================================================================
--- /issm/trunk/test/NightlyRun/test434.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test434.m	(revision 9636)
@@ -4,5 +4,5 @@
 md=setelementstype(md,'macayeal','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md.rho_ice=10^7; %involved in the mass flux, make it easy
+md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
 md.thickness(:)=1; %make it easy
 
Index: /issm/trunk/test/NightlyRun/test439.m
===================================================================
--- /issm/trunk/test/NightlyRun/test439.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test439.m	(revision 9636)
@@ -13,5 +13,5 @@
 %Dakota options
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 
 %responses
Index: /issm/trunk/test/NightlyRun/test440.m
===================================================================
--- /issm/trunk/test/NightlyRun/test440.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test440.m	(revision 9636)
@@ -13,5 +13,5 @@
 %Dakota options
 %variables
-md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
+md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01);
 
 %responses
Index: /issm/trunk/test/NightlyRun/test446.m
===================================================================
--- /issm/trunk/test/NightlyRun/test446.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test446.m	(revision 9636)
@@ -23,5 +23,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 %plug holes into the ice sheet, to test for grounding line migration. {{{1
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 rad=sqrt((md.x).*md.x+(md.y).*md.y);
 pos=find(rad<200000);
Index: /issm/trunk/test/NightlyRun/test521.m
===================================================================
--- /issm/trunk/test/NightlyRun/test521.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test521.m	(revision 9636)
@@ -4,5 +4,5 @@
 
 %impose hydrostatic equilibrium (required by Stokes)
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 md=extrude(md,3,1);
Index: /issm/trunk/test/NightlyRun/test522.m
===================================================================
--- /issm/trunk/test/NightlyRun/test522.m	(revision 9635)
+++ /issm/trunk/test/NightlyRun/test522.m	(revision 9636)
@@ -4,5 +4,5 @@
 
 %impose hydrostatic equilibrium (required by Stokes)
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 md=extrude(md,3,1);
Index: /issm/trunk/test/Par/79North.par
===================================================================
--- /issm/trunk/test/Par/79North.par	(revision 9635)
+++ /issm/trunk/test/Par/79North.par	(revision 9636)
@@ -12,6 +12,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Friction
Index: /issm/trunk/test/Par/ISMIPA.par
===================================================================
--- /issm/trunk/test/Par/ISMIPA.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPA.par	(revision 9636)
@@ -15,6 +15,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      boundary conditions for diagnostic model');
Index: /issm/trunk/test/Par/ISMIPB.par
===================================================================
--- /issm/trunk/test/Par/ISMIPB.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPB.par	(revision 9636)
@@ -15,6 +15,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      boundary conditions for diagnostic model');
Index: /issm/trunk/test/Par/ISMIPC.par
===================================================================
--- /issm/trunk/test/Par/ISMIPC.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPC.par	(revision 9636)
@@ -7,5 +7,5 @@
 
 disp('      creating drag');
-%md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
+%md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)));
 md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
 %Take care of iceshelves: no basal drag
@@ -16,6 +16,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      boundary conditions for diagnostic model: ');
Index: /issm/trunk/test/Par/ISMIPD.par
===================================================================
--- /issm/trunk/test/Par/ISMIPD.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPD.par	(revision 9636)
@@ -15,6 +15,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      boundary conditions for diagnostic model: ');
Index: /issm/trunk/test/Par/ISMIPE.par
===================================================================
--- /issm/trunk/test/Par/ISMIPE.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPE.par	(revision 9636)
@@ -24,6 +24,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      boundary conditions for diagnostic model: ');
Index: /issm/trunk/test/Par/ISMIPF.par
===================================================================
--- /issm/trunk/test/Par/ISMIPF.par	(revision 9635)
+++ /issm/trunk/test/Par/ISMIPF.par	(revision 9636)
@@ -14,7 +14,7 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=1.4734*10^14*ones(md.numberofnodes,1);
-md.rheology_n=1*ones(md.numberofelements,1);
-md.rheology_law='None';
+md.materials.rheology_B=1.4734*10^14*ones(md.numberofnodes,1);
+md.materials.rheology_n=1*ones(md.numberofelements,1);
+md.materials.rheology_law='None';
 
 disp('      boundary conditions for diagnostic model');
Index: /issm/trunk/test/Par/Pig.par
===================================================================
--- /issm/trunk/test/Par/Pig.par	(revision 9635)
+++ /issm/trunk/test/Par/Pig.par	(revision 9636)
@@ -16,6 +16,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 md.temperature=md.temperature;
 
Index: /issm/trunk/test/Par/RoundSheetEISMINT.par
===================================================================
--- /issm/trunk/test/Par/RoundSheetEISMINT.par	(revision 9635)
+++ /issm/trunk/test/Par/RoundSheetEISMINT.par	(revision 9636)
@@ -18,6 +18,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      creating surface mass balance');
@@ -53,7 +53,7 @@
 
 %Constants
-md.rho_ice=910;
-md.thermalconductivity=2.1;
-md.latentheat=3.35*10^5;
-md.beta=8.66*10^-4/(md.rho_ice*md.constants.g); %conversion from K/m to K/Pa
+md.materials.rho_ice=910;
+md.materials.thermalconductivity=2.1;
+md.materials.latentheat=3.35*10^5;
+md.materials.beta=8.66*10^-4/(md.materials.rho_ice*md.constants.g); %conversion from K/m to K/Pa
 md.constants.yts=31556926;
Index: /issm/trunk/test/Par/RoundSheetShelf.par
===================================================================
--- /issm/trunk/test/Par/RoundSheetShelf.par	(revision 9635)
+++ /issm/trunk/test/Par/RoundSheetShelf.par	(revision 9636)
@@ -1,5 +1,5 @@
 %Start defining model parameters here
 
-di=md.rho_ice/md.rho_water;
+di=md.materials.rho_ice/md.materials.rho_water;
 rad=1e6;
 shelfextent=2e5;
@@ -11,5 +11,5 @@
 ymax=max(radius);
 md.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 
 pos=find(md.nodeonicesheet);
@@ -41,6 +41,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Surface mass balance and basal melting
Index: /issm/trunk/test/Par/RoundSheetStaticEISMINT.par
===================================================================
--- /issm/trunk/test/Par/RoundSheetStaticEISMINT.par	(revision 9635)
+++ /issm/trunk/test/Par/RoundSheetStaticEISMINT.par	(revision 9636)
@@ -23,6 +23,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      creating surface mass balance');
Index: /issm/trunk/test/Par/SquareEISMINT.par
===================================================================
--- /issm/trunk/test/Par/SquareEISMINT.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareEISMINT.par	(revision 9636)
@@ -5,5 +5,5 @@
 ymax=max(md.y);
 md.thickness=500*ones(md.numberofnodes,1);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -20,6 +20,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=1.7687*10^8*ones(md.numberofnodes,1);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=1.7687*10^8*ones(md.numberofnodes,1);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      creating surface mass balance');
Index: /issm/trunk/test/Par/SquareSheetConstrained.par
===================================================================
--- /issm/trunk/test/Par/SquareSheetConstrained.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareSheetConstrained.par	(revision 9636)
@@ -7,5 +7,5 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness+20;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+20;
 md.surface=md.bed+md.thickness;
 
@@ -20,6 +20,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Friction
Index: /issm/trunk/test/Par/SquareSheetShelf.par
===================================================================
--- /issm/trunk/test/Par/SquareSheetShelf.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareSheetShelf.par	(revision 9636)
@@ -7,6 +7,6 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
-bed_sheet=-md.rho_ice/md.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin));
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
+bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin));
 pos=find(md.y<=ymax/2);
 md.bed(pos)=bed_sheet;
@@ -23,6 +23,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Accumulation and melting
Index: /issm/trunk/test/Par/SquareShelf.par
===================================================================
--- /issm/trunk/test/Par/SquareShelf.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareShelf.par	(revision 9636)
@@ -7,5 +7,5 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -20,6 +20,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Friction
Index: /issm/trunk/test/Par/SquareShelfConstrained.par
===================================================================
--- /issm/trunk/test/Par/SquareShelfConstrained.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareShelfConstrained.par	(revision 9636)
@@ -7,5 +7,5 @@
 ymax=max(md.y);
 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin);
-md.bed=-md.rho_ice/md.rho_water*md.thickness;
+md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness;
 md.surface=md.bed+md.thickness;
 
@@ -20,6 +20,6 @@
 %Materials
 md.temperature=(273-20)*ones(md.numberofnodes,1);
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 %Surface mass balance and basal melting
Index: /issm/trunk/test/Par/SquareThermal.par
===================================================================
--- /issm/trunk/test/Par/SquareThermal.par	(revision 9635)
+++ /issm/trunk/test/Par/SquareThermal.par	(revision 9636)
@@ -26,6 +26,6 @@
 
 disp('      creating flow law paramter');
-md.rheology_B=paterson(md.temperature);
-md.rheology_n=3*ones(md.numberofelements,1);
+md.materials.rheology_B=paterson(md.temperature);
+md.materials.rheology_n=3*ones(md.numberofelements,1);
 
 disp('      creating surface mass balance');
