Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 17176)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 17177)
@@ -145,5 +145,5 @@
 	Input* vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
 	Input* vy_input=NULL;
-	if(dim>1) basalelement->GetInput(VyEnum); _assert_(vy_input);
+	if(dim>1){basalelement->GetInput(VyEnum); _assert_(vy_input);}
 	h = basalelement->CharacteristicLength();
 
@@ -165,6 +165,6 @@
 					&Ke->values[0],1);
 
-		GetB(B,element,dim,xyz_list,gauss);
-		GetBprime(Bprime,element,dim,xyz_list,gauss);
+		GetB(B,basalelement,dim,xyz_list,gauss);
+		GetBprime(Bprime,basalelement,dim,xyz_list,gauss);
 
 		D_scalar=dt*gauss->weight*Jdet;
Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp	(revision 17176)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp	(revision 17177)
@@ -174,6 +174,6 @@
 					&Ke->values[0],1);
 
-		GetB(B,element,dim,xyz_list,gauss);
-		GetBprime(Bprime,element,dim,xyz_list,gauss);
+		GetB(B,topelement,dim,xyz_list,gauss);
+		GetBprime(Bprime,topelement,dim,xyz_list,gauss);
 
 		D_scalar=dt*gauss->weight*Jdet;
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 17176)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.cpp	(revision 17177)
@@ -51,4 +51,18 @@
 /*}}}*/
 
+/*FUNCTION Seg::CharacteristicLength{{{*/
+IssmDouble Seg::CharacteristicLength(void){
+
+	IssmDouble xyz_list[NUMVERTICES][3];
+	IssmDouble x1,y1,x2,y2;
+
+	/*Get xyz list: */
+	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
+	x1=xyz_list[0][0]; y1=xyz_list[0][1];
+	x2=xyz_list[1][0]; y2=xyz_list[1][1];
+
+	return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
+}
+/*}}}*/
 /*FUNCTION Seg::Echo{{{*/
 void Seg::Echo(void){
@@ -124,18 +138,4 @@
 /*}}}*/
 
-/*FUNCTION Seg::GetSize{{{*/
-IssmDouble Seg::GetSize(void){
-
-	IssmDouble xyz_list[NUMVERTICES][3];
-	IssmDouble x1,y1,x2,y2;
-
-	/*Get xyz list: */
-	::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
-	x1=xyz_list[0][0]; y1=xyz_list[0][1];
-	x2=xyz_list[1][0]; y2=xyz_list[1][1];
-
-	return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
-}
-/*}}}*/
 /*FUNCTION Seg::GetNumberOfNodes;{{{*/
 int Seg::GetNumberOfNodes(void){
Index: /issm/trunk-jpl/src/c/classes/Elements/Seg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17176)
+++ /issm/trunk-jpl/src/c/classes/Elements/Seg.h	(revision 17177)
@@ -62,5 +62,5 @@
 		void        AddInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
 		void        AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");};
-		IssmDouble  CharacteristicLength(void){_error_("not implemented yet");};
+		IssmDouble  CharacteristicLength(void);
 		void        ComputeBasalStress(Vector<IssmDouble>* sigma_b){_error_("not implemented yet");};
 		void        ComputeStrainRate(Vector<IssmDouble>* eps){_error_("not implemented yet");};
@@ -256,6 +256,4 @@
 #endif
 		/*}}}*/
-		/*Seg specific routines:*/
-		IssmDouble     GetSize(void);
 };
 #endif  /* _SEG_H */
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17176)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 17177)
@@ -185,5 +185,5 @@
 }
 /*}}}*/
-/*FUNCTION Tria::AddInput{{{*/
+/*FUNCTION Tria::CharacteristicLength{{{*/
 IssmDouble Tria::CharacteristicLength(void){
 
