Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 13891)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Element.h	(revision 13892)
@@ -36,4 +36,6 @@
 		virtual int    GetNodeIndex(Node* node)=0;
 		virtual int    GetNumberOfNodes(void)=0;
+		virtual void   GetNodesSidList(int* sidlist)=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 13891)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 13892)
@@ -889,4 +889,15 @@
 	_error_("Node provided not found among element nodes");
 
+}
+/*}}}*/
+/*FUNCTION Penta::GetNodesSidList{{{*/
+void Penta::GetNodesSidList(int* sidlist){
+
+	_assert_(sidlist);
+	_assert_(nodes);
+
+	for(int i=0;i<NUMVERTICES;i++){
+		sidlist[i]=nodes[i]->Sid();
+	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13891)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13892)
@@ -87,4 +87,5 @@
 		void   DeleteResults(void);
 		int    GetNodeIndex(Node* node);
+		void   GetNodesSidList(int* sidlist);
 		int    GetNumberOfNodes(void);
 		void   GetSolutionFromInputs(Vector<IssmDouble>* solution);
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13891)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13892)
@@ -1136,4 +1136,15 @@
 	}
 	_error_("Node provided not found among element nodes");
+}
+/*}}}*/
+/*FUNCTION Tria::GetNodesSidList{{{*/
+void Tria::GetNodesSidList(int* sidlist){
+
+	_assert_(sidlist);
+	_assert_(nodes);
+
+	for(int i=0;i<NUMVERTICES;i++){
+		sidlist[i]=nodes[i]->Sid();
+	}
 }
 /*}}}*/
Index: /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13891)
+++ /issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13892)
@@ -83,4 +83,5 @@
 		int    GetNodeIndex(Node* node);
 		int    GetNumberOfNodes(void);
+		void   GetNodesSidList(int* sidlist);
 		int    Sid();
 		bool   IsOnBed();
