Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 14631)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 14632)
@@ -198,4 +198,5 @@
 					./shared/Numerics/UnitConversion.cpp\
 					./shared/Numerics/OptionsFromAnalysis.cpp\
+					./shared/Numerics/ToolkitsOptionsFromAnalysis.cpp\
 					./shared/Exceptions/exceptions.h\
 					./shared/Exceptions/Exceptions.cpp\
@@ -728,5 +729,4 @@
 					./toolkits/petsc/objects/PetscVec.cpp\
 					./toolkits/petsc/petscincludes.h\
-					./shared/Numerics/PetscOptionsFromAnalysis.cpp\
 					./modules/Solverx/SolverxPetsc.cpp\
 					./modules/Solverx/DofTypesToIndexSet.cpp
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 14631)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 14632)
@@ -270,11 +270,9 @@
 	this->loads->SetCurrentConfiguration(elements, loads, nodes,vertices, materials,parameters);
 
-	#ifdef _HAVE_PETSC_
-	/*take care of petsc options, that depend on this analysis type (present only after model processor)*/
-	if(this->parameters->Exist(PetscOptionsStringsEnum)){
-		PetscOptionsFromAnalysis(this->parameters,analysis_type);
-		if(VerboseSolver()) _pprintLine_("      petsc Options set for analysis type: " << EnumToStringx(analysis_type));
-	}
-	#endif
+	/*take care of toolkits options, that depend on this analysis type (present only after model processor)*/
+	if(this->parameters->Exist(ToolkitsOptionsStringsEnum)){
+		ToolkitsOptionsFromAnalysis(this->parameters,analysis_type);
+		if(VerboseSolver()) _pprintLine_("      toolkits Options set for analysis type: " << EnumToStringx(analysis_type));
+	}
 
 }
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 14631)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 14632)
@@ -69,5 +69,5 @@
 #include "./SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h"
 #include "./ModelProcessorx/ModelProcessorx.h"
-#include "./ParsePetscOptionsx/ParsePetscOptionsx.h"
+#include "./ParseToolkitsOptionsx/ParseToolkitsOptionsx.h"
 #include "./NodalValuex/NodalValuex.h"
 #include "./NodeConnectivityx/NodeConnectivityx.h"
Index: /issm/trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp	(revision 14631)
+++ /issm/trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp	(revision 14632)
@@ -30,7 +30,7 @@
 
 	numanalyses=0;
-	parameters->FindParam(&strings,&numanalyses,PetscOptionsStringsEnum);
+	parameters->FindParam(&strings,&numanalyses,ToolkitsOptionsStringsEnum);
 
-	parameters->FindParam(&analyses,&dummy,PetscOptionsAnalysesEnum);
+	parameters->FindParam(&analyses,&dummy,ToolkitsOptionsAnalysesEnum);
 
 	if(numanalyses==0)return NULL; //we did not find petsc options, don't bother.
Index: sm/trunk-jpl/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp	(revision 14631)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*!\file:  PetscOptionsFromAnalysis.cpp
- * \brief: change petsc options using analysis type and parameters
- */ 
-
-#ifdef HAVE_CONFIG_H
-	#include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include "../../classes/objects/objects.h"
-#include "../../Container/Parameters.h"
-#include "../../toolkits/toolkits.h"
-
-void PetscOptionsFromAnalysis(Parameters* parameters,int analysis_type){
-
-	/*intermediary: */
-	char* options=NULL;
-
-	/*Recover first the options string for this analysis: */
-	options=OptionsFromAnalysis(parameters,analysis_type);
-
-	/*now, reset the options database with this string. Taken from petsc/install/src/sys/objects/pinit.c. This 
-	 *capability is not covered by Petsc!: */
-
-	#if _PETSC_MAJOR_ == 2 
-	PetscOptionsDestroy();
-	PetscOptionsCreate();
-	//PetscOptionsCheckInitial_Private();
-	//PetscOptionsCheckInitial_Components();
-	PetscOptionsSetFromOptions();
-	PetscOptionsInsertMultipleString(options); //our patch
-	#else
-	PetscOptionsSetFromOptions();
-	PetscOptionsClear();
-	//PetscOptionsSetFromOptions();
-	PetscOptionsInsertMultipleString(options); //our patch
-	#endif
-
-	/*Free ressources:*/
-	xDelete<char>(options);
-}
Index: /issm/trunk-jpl/src/c/shared/Numerics/ToolkitsOptionsFromAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/ToolkitsOptionsFromAnalysis.cpp	(revision 14632)
+++ /issm/trunk-jpl/src/c/shared/Numerics/ToolkitsOptionsFromAnalysis.cpp	(revision 14632)
@@ -0,0 +1,48 @@
+/*!\file:  ToolkitsOptionsFromAnalysis.cpp
+ * \brief: this is mainly for the case where we run our toolkits using petsc. In this case, we need to 
+ * plug our toolkits options directly into the petsc options database. This is the case for each analysis type 
+ * and parameters
+ */ 
+
+#ifdef HAVE_CONFIG_H
+	#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../../classes/objects/objects.h"
+#include "../../Container/Parameters.h"
+#include "../../toolkits/toolkits.h"
+
+void ToolkitsOptionsFromAnalysis(Parameters* parameters,int analysis_type){
+
+	/*intermediary: */
+	char* options=NULL;
+
+	/*Recover first the options string for this analysis: */
+	options=OptionsFromAnalysis(parameters,analysis_type);
+
+	/*now, reset the petsc options database with this string. Taken from petsc/install/src/sys/objects/pinit.c. This 
+	 *capability is not covered by Petsc!: */
+
+	#ifdef _HAVE_PETSC_
+
+	#if _PETSC_MAJOR_ == 2 
+	PetscOptionsDestroy();
+	PetscOptionsCreate();
+	//PetscOptionsCheckInitial_Private();
+	//PetscOptionsCheckInitial_Components();
+	PetscOptionsSetFromOptions();
+	PetscOptionsInsertMultipleString(options); //our patch
+	#else
+	PetscOptionsSetFromOptions();
+	PetscOptionsClear();
+	//PetscOptionsSetFromOptions();
+	PetscOptionsInsertMultipleString(options); //our patch
+	#endif
+
+	#endif
+
+	/*Free ressources:*/
+	xDelete<char>(options);
+}
Index: /issm/trunk-jpl/src/c/shared/Numerics/numerics.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/numerics.h	(revision 14631)
+++ /issm/trunk-jpl/src/c/shared/Numerics/numerics.h	(revision 14632)
@@ -31,7 +31,5 @@
 void        XZvectorsToCoordinateSystem(IssmDouble *T,IssmDouble*xzvectors);
 int         cubic(IssmDouble a, IssmDouble b, IssmDouble c, IssmDouble d, double X[3], int *num);
-#ifdef _HAVE_PETSC_
-void   PetscOptionsFromAnalysis(Parameters* parameters,int analysis_type);
-#endif
+void        ToolkitsOptionsFromAnalysis(Parameters* parameters,int analysis_type);
 
 #endif //ifndef _NUMERICS_H_
