Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 13885)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 13886)
@@ -35,4 +35,5 @@
 		virtual void   GetSolutionFromInputs(Vector<IssmDouble>* solution)=0;
 		virtual int    GetNodeIndex(Node* node)=0;
+		virtual int    GetNumberOfNodes(void)=0;
 		virtual int    Sid()=0;
 		virtual bool   IsFloating()=0; 
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 13885)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 13886)
@@ -889,4 +889,17 @@
 	_error_("Node provided not found among element nodes");
 
+}
+/*}}}*/
+/*FUNCTION Penta::GetNumberOfNodes{{{*/
+int Penta::GetNumberOfNodes(void){
+
+	switch(this->element_type){
+		case P1Enum:
+			return 6;
+		case P1DGEnum:
+			return 6;
+		default:
+			_error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet");
+	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13885)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13886)
@@ -87,4 +87,5 @@
 		void   DeleteResults(void);
 		int    GetNodeIndex(Node* node);
+		int    GetNumberOfNodes(void);
 		void   GetSolutionFromInputs(Vector<IssmDouble>* solution);
 		IssmDouble GetZcoord(GaussPenta* gauss);
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13885)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13886)
@@ -1136,4 +1136,17 @@
 	}
 	_error_("Node provided not found among element nodes");
+}
+/*}}}*/
+/*FUNCTION Tria::GetNumberOfNodes{{{*/
+int Tria::GetNumberOfNodes(void){
+
+	switch(this->element_type){
+		case P1Enum:
+			return 3;
+		case P1DGEnum:
+			return 3;
+		default:
+			_error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet");
+	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13885)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13886)
@@ -82,4 +82,5 @@
 		void   Delta18oParameterization(void);
 		int    GetNodeIndex(Node* node);
+		int    GetNumberOfNodes(void);
 		int    Sid();
 		bool   IsOnBed();
