Index: /issm/branches/trunk-jpl-damage/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/branches/trunk-jpl-damage/src/c/objects/Elements/Penta.cpp	(revision 12274)
+++ /issm/branches/trunk-jpl-damage/src/c/objects/Elements/Penta.cpp	(revision 12275)
@@ -1308,5 +1308,5 @@
 	for(;;){
 
-		/*Step1: Get original input (to be depth avegaged): */
+		/*Step1: Get original input (to be depth averaged): */
 		if (object_enum==MeshElementsEnum)
 		 original_input=(Input*)penta->inputs->GetInput(enum_type);
@@ -4475,7 +4475,11 @@
 	Input* input=NULL;
 
-	if(enum_type==MaterialsRheologyBbarEnum || enum_type==MaterialsRheologyZbarEnum){
+	if(enum_type==MaterialsRheologyBbarEnum){
 		if(!IsOnBed()) return;
-		input=(Input*)matice->inputs->GetInput(enum_type);
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
+	}
+	else if(enum_type==MaterialsRheologyZbarEnum){
+		if(!IsOnBed()) return;
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
 	}
 	else{
@@ -4494,6 +4498,9 @@
 	Input* input=NULL;
 
-	if(enum_type==MaterialsRheologyBbarEnum || enum_type==MaterialsRheologyZbarEnum){
-		input=(Input*)matice->inputs->GetInput(enum_type);
+	if(enum_type==MaterialsRheologyBbarEnum){
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
+	}
+	else if(enum_type==MaterialsRheologyZbarEnum){
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
 	}
 	else{
@@ -4513,6 +4520,9 @@
 	Input* input=NULL;
 
-	if(enum_type==MaterialsRheologyBbarEnum || enum_type==MaterialsRheologyZbarEnum){
-		input=(Input*)matice->inputs->GetInput(enum_type);
+	if(enum_type==MaterialsRheologyBbarEnum) {
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
+	}
+	else if(enum_type==MaterialsRheologyZbarEnum) {
+		input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
 	}
 	else{
@@ -4559,4 +4569,7 @@
 	this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum);
 
+	/*Depth Averaging Z*/
+	this->InputDepthAverageAtBase(MaterialsRheologyZEnum,MaterialsRheologyZbarEnum,MaterialsEnum);
+
 	/*Call Tria function*/
 	Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
@@ -4566,4 +4579,7 @@
 	/*Delete B averaged*/
 	this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
+
+	/*Delete Z averaged*/
+	this->matice->inputs->DeleteInput(MaterialsRheologyZbarEnum);
 
 	/*clean up and return*/
@@ -5135,7 +5151,11 @@
 	for(int i=0;i<num_controls;i++){
 
-		if(control_type[i]==MaterialsRheologyBbarEnum || control_type[i]==MaterialsRheologyZbarEnum){
+		if(control_type[i]==MaterialsRheologyBbarEnum){
 			if (!IsOnBed()) goto cleanup_and_return;
-			input=(Input*)matice->inputs->GetInput(control_type[i]); _assert_(input);
+			input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); _assert_(input);
+		}
+		else if(control_type[i]==MaterialsRheologyZbarEnum){
+			if (!IsOnBed()) goto cleanup_and_return;
+			input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum); _assert_(input);
 		}
 		else{
@@ -5149,6 +5169,9 @@
 		if (save_parameter) ((ControlInput*)input)->SaveValue();
 
-		if(control_type[i]==MaterialsRheologyBbarEnum || control_type[i]==MaterialsRheologyZbarEnum){
-			this->InputExtrude(control_type[i],MaterialsEnum);
+		if(control_type[i]==MaterialsRheologyBbarEnum){
+			this->InputExtrude(MaterialsRheologyBEnum,MaterialsEnum);
+		}
+		else if(control_type[i]==MaterialsRheologyZbarEnum){
+			this->InputExtrude(MaterialsRheologyZEnum,MaterialsEnum);
 		}
 	}
Index: /issm/branches/trunk-jpl-damage/src/c/objects/Materials/Matice.cpp
===================================================================
--- /issm/branches/trunk-jpl-damage/src/c/objects/Materials/Matice.cpp	(revision 12274)
+++ /issm/branches/trunk-jpl-damage/src/c/objects/Materials/Matice.cpp	(revision 12275)
@@ -173,5 +173,5 @@
 	/*Output*/
 	double Zbar;
-
+	
 	inputs->GetInputAverage(&Zbar,MaterialsRheologyZbarEnum);
 	return Zbar;
