Index: /issm/trunk-jpl/src/c/modules/AutodiffDriversx/AutodiffDriversx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/AutodiffDriversx/AutodiffDriversx.cpp	(revision 13445)
+++ /issm/trunk-jpl/src/c/modules/AutodiffDriversx/AutodiffDriversx.cpp	(revision 13446)
@@ -20,7 +20,4 @@
 	int         num_independents;
 	IssmDouble *axp                = NULL;
-	int         configuration_type;
-	int         solveSize;
-	int         edf_n                ,edf_m;
 	double     *xp                 = NULL;
 	int         anIndepNum;
@@ -48,10 +45,4 @@
 			}
 
-			/* get the dimension for the solverx arguments*/
-			parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-			solveSize=nodes->NumberOfDofs(configuration_type,FsetEnum);
-			edf_n=solveSize*(solveSize+1);
-			edf_m=solveSize;
-
 			/*get the EDF pointer:*/
 			ext_diff_fct *anEDF_for_solverx_p=dynamic_cast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p;
@@ -65,14 +56,14 @@
 			
 			/*allocate the space for the parameters to invoke the forward methods:*/
-			anEDF_for_solverx_p->dp_x=xNew<double>(edf_n);
-			anEDF_for_solverx_p->dp_X=xNew<double>(edf_n);
-			anEDF_for_solverx_p->dpp_X=xNew<double>(edf_n, num_independents);
-			anEDF_for_solverx_p->dp_y=xNew<double>(edf_m);
-			anEDF_for_solverx_p->dp_Y=xNew<double>(edf_m);
-			anEDF_for_solverx_p->dpp_Y=xNew<double>(edf_m, num_independents);
-			anEDF_for_solverx_p->dp_U=xNew<double>(edf_m);
-			anEDF_for_solverx_p->dpp_U=xNew<double>(num_dependents,edf_m);
-			anEDF_for_solverx_p->dp_Z=xNew<double>(edf_n);
-			anEDF_for_solverx_p->dpp_Z=xNew<double>(num_dependents,edf_n);
+			anEDF_for_solverx_p->dp_x=xNew<double>(anEDF_for_solverx_p->max_n);
+			anEDF_for_solverx_p->dp_X=xNew<double>(anEDF_for_solverx_p->max_n);
+			anEDF_for_solverx_p->dpp_X=xNew<double>(anEDF_for_solverx_p->max_n, num_independents);
+			anEDF_for_solverx_p->dp_y=xNew<double>(anEDF_for_solverx_p->max_m);
+			anEDF_for_solverx_p->dp_Y=xNew<double>(anEDF_for_solverx_p->max_m);
+			anEDF_for_solverx_p->dpp_Y=xNew<double>(anEDF_for_solverx_p->max_m, num_independents);
+			anEDF_for_solverx_p->dp_U=xNew<double>(anEDF_for_solverx_p->max_m);
+			anEDF_for_solverx_p->dpp_U=xNew<double>(num_dependents,anEDF_for_solverx_p->max_m);
+			anEDF_for_solverx_p->dp_Z=xNew<double>(anEDF_for_solverx_p->max_n);
+			anEDF_for_solverx_p->dpp_Z=xNew<double>(num_dependents,anEDF_for_solverx_p->max_n);
 
 			/* Call AD driver:*/
