Index: /issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp
===================================================================
--- /issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp	(revision 4538)
+++ /issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp	(revision 4539)
@@ -11,5 +11,5 @@
 	double xmin,xmax;
 	double tolerance;
-	int    maxiter;
+	double* maxiter;
 	OptArgs optargs;
 	OptPars optpars;
@@ -20,8 +20,4 @@
 
 	/*arguments to objectivefunctionC: */
-	mxArray* models=NULL;
-	mxArray* pg=NULL;
-	mxArray* grad_g=NULL;
-	mxArray* n=NULL;
 	int      n_value;
 	double*  cm_jump=NULL;
@@ -38,22 +34,18 @@
 	FetchData(&xmax,XMAX);
 	FetchData(&tolerance,mxGetField(OPTIONS,0,"TolX"));
-	FetchData(&maxiter,mxGetField(OPTIONS,0,"MaxIter"));
+	FetchData(&maxiter,NULL,NULL,mxGetField(OPTIONS,0,"MaxIter"));
 
 	/*Parameters: */
-	FetchData(&cm_jump,NULL,NULL,mxGetField(PARAMETERS,0,"cm_jump"));
+	FetchData(&cm_jump,NULL,NULL,mxGetField(PARAMETERS,0,"CmJump"));
 	FetchData(&n_value,STEP);
 
 	optargs.function_name=function_name;
-	optargs.models=MODELS;
-	optargs.param_g=PG; 
-	optargs.grad_g=GRADIENT;
+	optargs.femmodel=FEMMODEL;
 	optargs.n=STEP;
-	optargs.analysis_type=mxGetField(PARAMETERS,0,"analysis_type");
-	optargs.sub_analysis_type=mxGetField(PARAMETERS,0,"sub_analysis_type");
 
 	optpars.xmin=xmin;
 	optpars.xmax=xmax;
 	optpars.tolerance=tolerance;
-	optpars.maxiter=maxiter;
+	optpars.maxiter=(int)maxiter[n_value-1];
 	optpars.cm_jump=cm_jump[n_value-1];
 
@@ -67,4 +59,5 @@
 	xfree((void**)&function_name);
 	xfree((void**)&cm_jump);
+	xfree((void**)&maxiter);
 
 	/*end module: */
@@ -75,5 +68,5 @@
 {
 	_printf_("\n");
-	_printf_("   usage: [search_scalar J] = %s(function_name,xmin,xmax,options,m,p_g,grad_g,step,parameters)\n",__FUNCT__);
+	_printf_("   usage: [search_scalar J] = %s(function_name,xmin,xmax,options,femmodel,step,parameters)\n",__FUNCT__);
 	_printf_("\n");
 }
Index: /issm/trunk/src/mex/ControlOptimization/ControlOptimization.h
===================================================================
--- /issm/trunk/src/mex/ControlOptimization/ControlOptimization.h	(revision 4538)
+++ /issm/trunk/src/mex/ControlOptimization/ControlOptimization.h	(revision 4539)
@@ -21,9 +21,7 @@
 #define XMAX (mxArray*)prhs[2]
 #define OPTIONS (mxArray*)prhs[3]
-#define MODELS (mxArray*)prhs[4]
-#define PG (mxArray*)prhs[5]
-#define GRADIENT (mxArray*)prhs[6]
-#define STEP (mxArray*)prhs[7]
-#define PARAMETERS (mxArray*)prhs[8]
+#define FEMMODEL (mxArray*)prhs[4]
+#define STEP (mxArray*)prhs[5]
+#define PARAMETERS (mxArray*)prhs[6]
 
 /* serial output macros: */
@@ -35,7 +33,5 @@
 #define NLHS  2
 #undef NRHS
-#define NRHS  9 
+#define NRHS  7 
 
 #endif  /* _CONTROLOPTIMIZATION_H */
-
-
