Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp	(revision 4423)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic2/CreateNodesPrognostic2.cpp	(revision 4424)
@@ -61,5 +61,5 @@
 
 				/*Add node to nodes dataset: */
-				nodes->AddObject(new Node(node_id,node_id-1,vertex_id,io_index,iomodel,Balancedthickness2AnalysisEnum));
+				nodes->AddObject(new Node(node_id,node_id-1,vertex_id,io_index,iomodel,Prognostic2AnalysisEnum));
 
 			}
@@ -75,4 +75,5 @@
 	xfree((void**)&iomodel->gridonicesheet);
 	xfree((void**)&iomodel->gridoniceshelf);
+	xfree((void**)&iomodel->elements);
 
 	/*Assign output pointer: */
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4423)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4424)
@@ -5796,5 +5796,25 @@
 /*FUNCTION Tria::InputUpdateFromSolutionPrognostic2 {{{1*/
 void  Tria::InputUpdateFromSolutionPrognostic2(double* solution){
-	ISSMERROR(" not supported yet!");
+	int i;
+
+	const int    numvertices=3;
+	const int    numdofpervertex=1;
+	const int    numdof=numdofpervertex*numvertices;
+
+	int          doflist[numdof];
+	double       values[numdof];
+
+	int          dummy;
+
+	/*Get dof list: */
+	GetDofList(&doflist[0],&dummy);
+
+	/*Use the dof list to index into the solution vector: */
+	for(i=0;i<numdof;i++){
+		values[i]=solution[doflist[i]];
+	}
+
+	/*Add thickness as inputs to the tria element: */
+	this->inputs->AddInput(new TriaVertexInput(ThicknessEnum,values));
 }
 /*}}}*/
