Index: /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 22305)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp	(revision 22306)
@@ -136,10 +136,8 @@
 	/*
 	 * A = 1/B^n
-    */
-
-	IssmDouble B,n;
-
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
-	n=this->GetN();
+	 */
+
+	IssmDouble B=this->GetB(gauss);
+	IssmDouble n=this->GetN();
 
 	return pow(B,-n);
@@ -151,8 +149,6 @@
 	 */
 
-	IssmDouble B,n;
-
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBbarEnum);
-	n=this->GetN();
+	IssmDouble B=this->GetBbar(gauss);
+	IssmDouble n=this->GetN();
 
 	return pow(B,-n);
@@ -164,5 +160,6 @@
 	IssmDouble B;
 
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
+	Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input);
+	B_input->GetInputValue(&B,gauss);
 	return B;
 }
@@ -173,5 +170,6 @@
 	IssmDouble Bbar;
 
-	element->inputs->GetInputAverage(&Bbar,MaterialsRheologyBbarEnum);
+	Input* B_input = element->GetInput(MaterialsRheologyBbarEnum); _assert_(B_input);
+	B_input->GetInputValue(&Bbar,gauss);
 	return Bbar;
 }
@@ -191,5 +189,6 @@
 	IssmDouble Ec;
 
-	element->inputs->GetInputAverage(&Ec,MaterialsRheologyEcEnum);
+	Input* Ec_input = element->GetInput(MaterialsRheologyEcEnum); _assert_(Ec_input);
+	Ec_input->GetInputValue(&Ec,gauss);
 	return Ec;
 }
@@ -200,5 +199,6 @@
 	IssmDouble Ecbar;
 
-	element->inputs->GetInputAverage(&Ecbar,MaterialsRheologyEcbarEnum);
+	Input* Ecbar_input = element->GetInput(MaterialsRheologyEcbarEnum); _assert_(Ecbar_input);
+	Ecbar_input->GetInputValue(&Ecbar,gauss);
 	return Ecbar;
 }
@@ -209,5 +209,6 @@
 	IssmDouble Es;
 
-	element->inputs->GetInputAverage(&Es,MaterialsRheologyEsEnum);
+	Input* Es_input = element->GetInput(MaterialsRheologyEsEnum); _assert_(Es_input);
+	Es_input->GetInputValue(&Es,gauss);
 	return Es;
 }
@@ -218,5 +219,6 @@
 	IssmDouble Esbar;
 
-	element->inputs->GetInputAverage(&Esbar,MaterialsRheologyEsbarEnum);
+	Input* Esbar_input = element->GetInput(MaterialsRheologyEsbarEnum); _assert_(Esbar_input);
+	Esbar_input->GetInputValue(&Esbar,gauss);
 	return Esbar;
 }
Index: /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 22305)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matice.cpp	(revision 22306)
@@ -198,8 +198,6 @@
 	 */
 
-	IssmDouble B,n;
-
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
-	n=this->GetN();
+	IssmDouble B=this->GetB(gauss);
+	IssmDouble n=this->GetN();
 
 	return pow(B,-n);
@@ -211,8 +209,6 @@
 	 */
 
-	IssmDouble B,n;
-
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBbarEnum);
-	n=this->GetN();
+	IssmDouble B=this->GetBbar(gauss);
+	IssmDouble n=this->GetN();
 
 	return pow(B,-n);
@@ -224,5 +220,6 @@
 	IssmDouble B;
 
-	element->inputs->GetInputAverage(&B,MaterialsRheologyBEnum);
+	Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input);
+	B_input->GetInputValue(&B,gauss);
 	return B;
 }
@@ -233,5 +230,6 @@
 	IssmDouble Bbar;
 
-	element->inputs->GetInputAverage(&Bbar,MaterialsRheologyBbarEnum);
+	Input* B_input = element->GetInput(MaterialsRheologyBbarEnum); _assert_(B_input);
+	B_input->GetInputValue(&Bbar,gauss);
 	return Bbar;
 }
@@ -242,5 +240,11 @@
 	/*Output*/
 	IssmDouble D;
-	if(this->isdamaged)element->inputs->GetInputAverage(&D,DamageDEnum);
+	if(this->isdamaged){
+		Input* D_input = element->GetInput(DamageDEnum); _assert_(D_input);
+		D_input->GetInputValue(&D,gauss);
+	}
+	else{
+		_error_("Cannot get DamageD for non damaged ice");
+	}
 	return D;
 }
@@ -251,5 +255,11 @@
 	/*Output*/
 	IssmDouble Dbar;
-	if(this->isdamaged)element->inputs->GetInputAverage(&Dbar,DamageDbarEnum);
+	if(this->isdamaged){
+		Input* D_input = element->GetInput(DamageDbarEnum); _assert_(D_input);
+		D_input->GetInputValue(&Dbar,gauss);
+	}
+	else{
+		_error_("Cannot get DamageD for non damaged ice");
+	}
 	return Dbar;
 }
@@ -260,5 +270,6 @@
 	/*Output*/
 	IssmDouble E;
-	if(this->isenhanced)element->inputs->GetInputAverage(&E,MaterialsRheologyEEnum);
+	Input* E_input = element->GetInput(MaterialsRheologyEEnum); _assert_(E_input);
+	E_input->GetInputValue(&E,gauss);
 	return E;
 }
@@ -269,5 +280,6 @@
 	/*Output*/
 	IssmDouble Ebar;
-	if(this->isenhanced)element->inputs->GetInputAverage(&Ebar,MaterialsRheologyEbarEnum);
+	Input* E_input = element->GetInput(MaterialsRheologyEbarEnum); _assert_(E_input);
+	E_input->GetInputValue(&Ebar,gauss);
 	return Ebar;
 }
