Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 17094)
@@ -328,9 +328,6 @@
 	 * A X^3 + A |rho g (s-z) grad(s)|^2 X - |eps_b|_// = 0     */
 
-	int        i;
 	IssmDouble z,s,viscosity,p,q,delta;
 	IssmDouble tau_perp,tau_par,eps_b,A;
-	IssmDouble epsilonvx[5]; /*exx eyy exy exz eyz*/
-	IssmDouble epsilonvy[5]; /*exx eyy exy exz eyz*/
 	IssmDouble epsilon[5];   /*exx eyy exy exz eyz*/
 	IssmDouble slope[3];
@@ -346,7 +343,5 @@
 
 	/* Get eps_b*/
-	vx_input->GetVxStrainRate3dHO(epsilonvx,xyz_list,gauss);
-	vy_input->GetVyStrainRate3dHO(epsilonvy,xyz_list,gauss);
-	for(i=0;i<5;i++) epsilon[i]=epsilonvx[i]+epsilonvy[i];
+	this->StrainRateHO(&epsilon[0],xyz_list,gauss,vx_input,vy_input);
 	eps_b = sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[0]*epsilon[1] + epsilon[2]*epsilon[2]);
 	if(eps_b==0.){
Index: /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h	(revision 17094)
@@ -50,11 +50,4 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(IssmDouble* psquaremin, Parameters* parameters);
Index: /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h	(revision 17094)
@@ -59,11 +59,4 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h	(revision 17094)
@@ -55,11 +55,4 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp	(revision 17094)
@@ -123,46 +123,4 @@
 void DoubleInput::GetInputValue(IssmDouble* pvalue,Gauss* gauss){*pvalue=this->value;}
 /*}}}*/
-/*FUNCTION DoubleInput::GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vx is constant over the element*/
-	for(int i=0;i<3;i++) epsilonvx[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vy is constant over the element*/
-	for(int i=0;i<3;i++) epsilonvy[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vx is constant over the element*/
-	for(int i=0;i<6;i++) epsilonvx[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vy is constant over the element*/
-	for(int i=0;i<6;i++) epsilonvy[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vz is constant over the element*/
-	for(int i=0;i<6;i++) epsilonvz[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vx is constant over the element*/
-	for(int i=0;i<5;i++) epsilonvx[i]=0;
-}
-/*}}}*/
-/*FUNCTION DoubleInput::GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){{{*/
-void DoubleInput::GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){
-	/*Epsilon is zero as vy is constant over the element*/
-	for(int i=0;i<5;i++) epsilonvy[i]=0;
-}
-/*}}}*/
 /*FUNCTION DoubleInput::ChangeEnum{{{*/
 void DoubleInput::ChangeEnum(int newenumtype){
Index: /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h	(revision 17094)
@@ -53,11 +53,4 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
 		void ChangeEnum(int newenumtype);
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
Index: /issm/trunk-jpl/src/c/classes/Inputs/Input.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/Input.h	(revision 17094)
@@ -36,11 +36,4 @@
 		virtual void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes)=0;
 		virtual void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime)=0;
-		virtual void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss)=0;
-		virtual void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss)=0;
 		virtual void ChangeEnum(int newenumtype)=0;
 		virtual void Configure(Parameters* parameters)=0;
Index: /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/IntInput.h	(revision 17094)
@@ -54,12 +54,4 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.cpp	(revision 17094)
@@ -154,131 +154,4 @@
 }
 /*}}}*/
-/*FUNCTION PentaInput::GetVxStrainRate3d{{{*/
-void PentaInput::GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-
-	/*Intermediary*/
-	int         numnodes=this->NumberofNodes();
-	IssmDouble* B=xNew<IssmDouble>(numnodes*(NDOF3*numnodes));
-	IssmDouble* velocity=xNew<IssmDouble>(numnodes*NDOF3);
-
-	/*Get B matrix: */
-	GetBFSstrainrate(B,xyz_list,gauss);
-
-	/*Here, we are computing the strain rate of (vx,0,0)*/
-	for(int i=0;i<numnodes;i++){
-		velocity[NDOF3*i+0]=this->values[i];
-		velocity[NDOF3*i+1]=0.;
-		velocity[NDOF3*i+2]=0.;
-	}
-	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(B,numnodes,NDOF3*numnodes,0,velocity,NDOF3*numnodes,1,0,epsilonvx,0);
-
-	/*Clean-up*/
-	xDelete<IssmDouble>(B);
-	xDelete<IssmDouble>(velocity);
-
-}
-/*}}}*/
-/*FUNCTION PentaInput::GetVyStrainRate3d{{{*/
-void PentaInput::GetVyStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-
-	/*Intermediary*/
-	int         numnodes=this->NumberofNodes();
-	IssmDouble* B=xNew<IssmDouble>(numnodes*(NDOF3*numnodes));
-	IssmDouble* velocity=xNew<IssmDouble>(numnodes*NDOF3);
-
-	/*Get B matrix: */
-	GetBFSstrainrate(B,xyz_list,gauss);
-
-	/*Here, we are computing the strain rate of (0,vy,0)*/
-	for(int i=0;i<numnodes;i++){
-		velocity[NDOF3*i+0]=0.;
-		velocity[NDOF3*i+1]=this->values[i];
-		velocity[NDOF3*i+2]=0.;
-	}
-	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(B,numnodes,NDOF3*numnodes,0,velocity,NDOF3*numnodes,1,0,epsilonvx,0);
-
-	/*Clean-up*/
-	xDelete<IssmDouble>(B);
-	xDelete<IssmDouble>(velocity);
-}
-/*}}}*/
-/*FUNCTION PentaInput::GetVzStrainRate3d{{{*/
-void PentaInput::GetVzStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-
-	/*Intermediary*/
-	int         numnodes=this->NumberofNodes();
-	IssmDouble* B=xNew<IssmDouble>(numnodes*(NDOF3*numnodes));
-	IssmDouble* velocity=xNew<IssmDouble>(numnodes*NDOF3);
-
-	/*Get B matrix: */
-	GetBFSstrainrate(B,xyz_list,gauss);
-
-	/*Here, we are computing the strain rate of (0,0,vz)*/
-	for(int i=0;i<numnodes;i++){
-		velocity[NDOF3*i+0]=0.;
-		velocity[NDOF3*i+1]=0.;
-		velocity[NDOF3*i+2]=this->values[i];
-	}
-	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply(B,numnodes,NDOF3*numnodes,0,velocity,NDOF3*numnodes,1,0,epsilonvx,0);
-
-	/*Clean-up*/
-	xDelete<IssmDouble>(B);
-	xDelete<IssmDouble>(velocity);
-}
-/*}}}*/
-/*FUNCTION PentaInput::GetVxStrainRate3dHO{{{*/
-void PentaInput::GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-
-	int i;
-	const int numnodes=6;
-	IssmDouble B[5][NDOF2*numnodes];
-	IssmDouble velocity[numnodes][NDOF2];
-
-	/*Get B matrix: */
-	GetBHO(&B[0][0], xyz_list, gauss);
-
-	_assert_(this->NumberofNodes()==6); //Check Tria too
-
-	/*Here, we are computing the strain rate of (vx,0)*/
-	for(i=0;i<numnodes;i++){
-		velocity[i][0]=this->values[i];
-		velocity[i][1]=0.0;
-	}
-
-	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply( &B[0][0],5,NDOF2*numnodes,0,
-				&velocity[0][0],NDOF2*numnodes,1,0,
-				epsilonvx,0);
-
-}
-/*}}}*/
-/*FUNCTION PentaInput::GetVyStrainRate3dHO{{{*/
-void PentaInput::GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){
-
-	int i;
-	const int numnodes=6;
-	IssmDouble B[5][NDOF2*numnodes];
-	IssmDouble velocity[numnodes][NDOF2];
-
-	/*Get B matrix: */
-	GetBHO(&B[0][0], xyz_list, gauss);
-	_assert_(this->NumberofNodes()==6); //Check Tria too
-
-	/*Here, we are computing the strain rate of (0,vy)*/
-	for(i=0;i<numnodes;i++){
-		velocity[i][0]=0.0;
-		velocity[i][1]=this->values[i];
-	}
-
-	/*Multiply B by velocity, to get strain rate: */
-	MatrixMultiply( &B[0][0],5,NDOF2*numnodes,0,
-				&velocity[0][0],NDOF2*numnodes,1,0,
-				epsilonvy,0);
-
-}
-/*}}}*/
 /*FUNCTION PentaInput::ChangeEnum{{{*/
 void PentaInput::ChangeEnum(int newenumtype){
Index: /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/PentaInput.h	(revision 17094)
@@ -53,14 +53,5 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
 		void ChangeEnum(int newenumtype);
-
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
Index: /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/SegInput.h	(revision 17094)
@@ -54,13 +54,5 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
-
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");};
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h	(revision 17094)
@@ -59,13 +59,5 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes);
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime);
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
-
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp	(revision 17094)
@@ -141,56 +141,4 @@
 }
 /*}}}*/
-/*FUNCTION TriaInput::GetVxStrainRate2d{{{*/
-void TriaInput::GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){
-
-	/*Intermediary*/
-	int numnodes=this->NumberofNodes();
-	IssmDouble* B=xNew<IssmDouble>(numnodes*(NDOF2*numnodes));
-	IssmDouble* velocity=xNew<IssmDouble>(numnodes*NDOF2);
-
-	/*Get B matrix: */
-	GetBSSA(&B[0],xyz_list,gauss);
-
-	/*Here, we are computing the strain rate of (vx,0)*/
-	for(int i=0;i<numnodes;i++){
-		velocity[2*i+0]=this->values[i];
-		velocity[2*i+1]=0.;
-	}
-	/*Get epsilon(vx) = B*velocity*/
-	MatrixMultiply(&B[0],numnodes,NDOF2*numnodes,0,
-				&velocity[0],NDOF2*numnodes,1,0,
-				epsilonvx,0);
-
-	/*clean up*/
-	xDelete<IssmDouble>(B);
-	xDelete<IssmDouble>(velocity);
-}
-/*}}}*/
-/*FUNCTION TriaInput::GetVyStrainRate2d{{{*/
-void TriaInput::GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){
-
-	/*Intermediary*/
-	int numnodes=this->NumberofNodes();
-	IssmDouble* B=xNew<IssmDouble>(numnodes*(NDOF2*numnodes));
-	IssmDouble* velocity=xNew<IssmDouble>(numnodes*NDOF2);
-
-	/*Get B matrix: */
-	GetBSSA(&B[0],xyz_list,gauss);
-
-	/*Here, we are computing the strain rate of (0,vy)*/
-	for(int i=0;i<numnodes;i++){
-		velocity[2*i+0]=0.;
-		velocity[2*i+1]=this->values[i];
-	}
-	/*Get epsilon(vy) = B*velocity*/
-	MatrixMultiply(&B[0],numnodes,NDOF2*numnodes,0,
-				&velocity[0],NDOF2*numnodes,1,0,
-				epsilonvy,0);
-
-	/*clean up*/
-	xDelete<IssmDouble>(B);
-	xDelete<IssmDouble>(velocity);
-}
-/*}}}*/
 /*FUNCTION TriaInput::ChangeEnum{{{*/
 void TriaInput::ChangeEnum(int newenumtype){
Index: /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 17093)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TriaInput.h	(revision 17094)
@@ -54,13 +54,5 @@
 		void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes);
 		void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime);
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss);
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVxStrainRate3dHO(IssmDouble* epsilonvx,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
-		void GetVyStrainRate3dHO(IssmDouble* epsilonvy,IssmDouble* xyz_list, Gauss* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
-
 		void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
