Index: /issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp	(revision 18039)
@@ -199,4 +199,5 @@
 
 	/*Intermediaries */
+	int         Hinterpolation;
 	IssmDouble  vx,vy,vbar,nux,nuy,normdphi,dphi[2];
 	IssmDouble* xyz_list = NULL;
@@ -232,7 +233,12 @@
 	Input* nuy_input       = element->GetInput(BalancethicknessNuyEnum);   _assert_(nuy_input);
 
+	switch(element->GetElementType()){
+		case P1Enum: Hinterpolation = P0Enum; break;
+		default:     _error_("not implemented");
+	}
+
 	Gauss* gauss=element->NewGauss();
-	for (int iv=0;iv<numvertices;iv++){
-		gauss->GaussVertex(iv);
+	for (int iv=0;iv<1;iv++){
+		gauss->GaussNode(Hinterpolation,iv);//P0 Only for now
 
 		vx_input->GetInputValue(&vx,gauss);
@@ -250,7 +256,7 @@
 		vy_list[iv]        = -1./thickness_list[iv] * dphi[1];
 	}
-	element->AddInput(ThicknessEnum,thickness_list,P1Enum);
-	element->AddInput(VxEnum,vx_list,P1Enum);
-	element->AddInput(VyEnum,vy_list,P1Enum);
+	element->AddInput(ThicknessEnum,thickness_list,Hinterpolation);
+	element->AddInput(VxEnum,vx_list,Hinterpolation);
+	element->AddInput(VyEnum,vy_list,Hinterpolation);
 
 	/*Clean up and return*/
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18039)
@@ -904,5 +904,7 @@
 					break;
 				default:
-					_error_("Input of type "<<EnumToStringx(input->GetResultInterpolation())<<" not supported");
+					Gauss* gauss = this->NewGauss();
+					input->GetInputValue(&value,gauss);
+					delete gauss;
 			}
 			vector->SetValue(this->Sid(),value,INS_VAL);
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 18039)
@@ -121,4 +121,7 @@
 int  PentaInput::GetResultInterpolation(void){
 
+	if(this->element_type==P0Enum){
+		return P0Enum;
+	}
 	return P1Enum;
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TetraInput.cpp	(revision 18039)
@@ -84,4 +84,7 @@
 int  TetraInput::GetResultInterpolation(void){
 
+	if(this->element_type==P0Enum){
+		return P0Enum;
+	}
 	return P1Enum;
 
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 18039)
@@ -124,4 +124,7 @@
 int  TriaInput::GetResultInterpolation(void){
 
+	if(this->element_type==P0Enum){
+		return P0Enum;
+	}
 	return P1Enum;
 
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 18038)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 18039)
@@ -442,4 +442,10 @@
 	/*update static arrays*/
 	switch(finiteelement){
+		case P0Enum:
+			switch(iv){
+				case 0: coord1=1./3.; coord2=1./3.; coord3=1./3.; break;
+				default: _error_("node index should be 0");
+			}
+			break;
 		case P1Enum: case P1DGEnum:
 			switch(iv){
