Index: /issm/trunk/src/c/solutions/balancedthickness_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedthickness_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/balancedthickness_core.cpp	(revision 4837)
@@ -32,5 +32,5 @@
 
 	_printf_("call computational core:\n");
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 
 	if(verbose)_printf_("saving results:\n");
Index: /issm/trunk/src/c/solutions/balancedvelocities_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancedvelocities_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/balancedvelocities_core.cpp	(revision 4837)
@@ -32,5 +32,5 @@
 
 	_printf_("call computational core:\n");
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 
 	if(verbose)_printf_("saving results:\n");
Index: /issm/trunk/src/c/solutions/bedslope_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/bedslope_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/bedslope_core.cpp	(revision 4837)
@@ -28,7 +28,7 @@
 	/*Call on core computations: */
 	femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeXAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 	femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 	
 	if(verbose)_printf_("saving results:\n");
Index: /issm/trunk/src/c/solutions/diagnostic_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/diagnostic_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/diagnostic_core.cpp	(revision 4837)
@@ -56,5 +56,5 @@
 
 		femmodel->SetCurrentConfiguration(DiagnosticHutterAnalysisEnum);
-		solver_linear(NULL,femmodel);
+		solver_linear(femmodel);
 		
 		if (ismacayealpattyn) ResetBoundaryConditions(femmodel,DiagnosticHorizAnalysisEnum);
@@ -73,5 +73,5 @@
 		if(verbose)_printf_("%s\n"," computing vertical velocities...");
 		femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum);
-		solver_linear(NULL,femmodel);
+		solver_linear(femmodel);
 
 		if (isstokes){
Index: /issm/trunk/src/c/solutions/prognostic_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/prognostic_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/prognostic_core.cpp	(revision 4837)
@@ -29,5 +29,5 @@
 	
 	_printf_("call computational core:\n");
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 		
 	if(verbose)_printf_("saving results:\n");
Index: /issm/trunk/src/c/solutions/stokescontrolinit.cpp
===================================================================
--- /issm/trunk/src/c/solutions/stokescontrolinit.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/stokescontrolinit.cpp	(revision 4837)
@@ -43,5 +43,5 @@
 	solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,conserve_loads);
 	femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 
 	if(verbose)_printf_("%s\n"," update boundary conditions for stokes using velocities previously computed...");
Index: /issm/trunk/src/c/solutions/surfaceslope_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/surfaceslope_core.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/surfaceslope_core.cpp	(revision 4837)
@@ -28,7 +28,7 @@
 	/*Call on core computations: */
 	femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeXAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 	femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 	
 	if(verbose)_printf_("saving results:\n");
Index: /issm/trunk/src/c/solutions/thermal_core_step.cpp
===================================================================
--- /issm/trunk/src/c/solutions/thermal_core_step.cpp	(revision 4836)
+++ /issm/trunk/src/c/solutions/thermal_core_step.cpp	(revision 4837)
@@ -25,4 +25,4 @@
 	if(verbose)_printf_("computing melting:\n");
 	femmodel->SetCurrentConfiguration(MeltingAnalysisEnum);
-	solver_linear(NULL,femmodel);
+	solver_linear(femmodel);
 }
Index: /issm/trunk/src/c/solvers/solver_linear.cpp
===================================================================
--- /issm/trunk/src/c/solvers/solver_linear.cpp	(revision 4836)
+++ /issm/trunk/src/c/solvers/solver_linear.cpp	(revision 4837)
@@ -8,5 +8,5 @@
 #include "../modules/modules.h"
 
-void solver_linear(Vec* pug, FemModel* fem){
+void solver_linear(FemModel* fem){
 
 	/*parameters:*/
@@ -60,8 +60,5 @@
 	/*free ressources: */
 	xfree((void**)&solver_string);
+	VecFree(&ug);
 	VecFree(&uf);
-
-	/*Assign output pointers:*/
-	if(pug) *pug=ug;
-	else VecFree(&ug);
 }
Index: /issm/trunk/src/c/solvers/solvers.h
===================================================================
--- /issm/trunk/src/c/solvers/solvers.h	(revision 4836)
+++ /issm/trunk/src/c/solvers/solvers.h	(revision 4837)
@@ -14,7 +14,5 @@
 void solver_thermal_nonlinear(Vec* ptg,double* pmelting_offset,FemModel* femmodel);
 void solver_diagnostic_nonlinear(Vec* pug,Mat* pK_ff0,Mat* pK_fs0, FemModel* femmodel,bool conserve_loads);
-void solver_linear(Vec* pug, FemModel* femmodel);
-void solver_adjoint(Vec* pug, FemModel* femmodel);
-
+void solver_linear(FemModel* femmodel);
 
 #endif
