Index: /issm/trunk/src/c/parallel/diagnostic_core_linear.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic_core_linear.cpp	(revision 567)
+++ /issm/trunk/src/c/parallel/diagnostic_core_linear.cpp	(revision 568)
@@ -43,4 +43,8 @@
 	SystemMatricesx(&Kgg, &pg,fem->elements,fem->nodes,fem->loads,fem->materials,kflag,pflag,connectivity,numberofdofspernode,inputs,analysis_type,sub_analysis_type); 
 
+	if (debug) _printf_("   Generating penalty matrices\n");
+	//*Generate penalty system matrices
+	PenaltySystemMatricesx(Kgg, pg,NULL,fem->elements,fem->nodes,fem->loads,fem->materials,kflag,pflag,inputs,analysis_type,sub_analysis_type); 
+
 	/*!Reduce matrix from g to f size:*/
 	if (debug) _printf_("   reducing matrix from g to f set\n");
@@ -50,4 +54,7 @@
 	if (debug) _printf_("   reducing load from g to f set\n");
 	Reduceloadfromgtofx(&pf, pg, fem->Gmn, Kfs, fem->ys, fem->nodesets);
+	VecView(pf,PETSC_VIEWER_STDOUT_WORLD);
+	MatView(Kff,PETSC_VIEWER_STDOUT_WORLD);
+
 
 	/*Solve: */
Index: /issm/trunk/src/c/parallel/parallel.h
===================================================================
--- /issm/trunk/src/c/parallel/parallel.h	(revision 567)
+++ /issm/trunk/src/c/parallel/parallel.h	(revision 568)
@@ -29,5 +29,5 @@
 //int ParameterUpdate(double* search_vector,int step, WorkspaceParams* workspaceparams,BatchParams* batchparams);
 void OutputDiagnostic(Vec u_g,Vec p_g, FemModel* femmodels,char* filename);
-void OutputThermal(Vec* t_g,Vec* m_g, FemModel* femmodels,char* filename);
+void OutputThermal(Vec* t_g,Vec* m_g, double* time,FemModel* femmodels,char* filename);
 void OutputControl(Vec u_g,double* p_g, double* J, int nsteps, Vec partition,char* filename,NodeSets* nodesets);
 void WriteLockFile(char* filename);
