Index: /issm/trunk/src/c/Qmux/DakotaResponses.cpp
===================================================================
--- /issm/trunk/src/c/Qmux/DakotaResponses.cpp	(revision 3041)
+++ /issm/trunk/src/c/Qmux/DakotaResponses.cpp	(revision 3042)
@@ -17,5 +17,5 @@
 #undef __FUNCT__ 
 #define __FUNCT__ "DakotaResponses"
-void DakotaResponses(double* responses,char** responses_descriptors,int numresponses,Model* model,DataSet* results,DataSet* processed_results,int analysis_type,int sub_analysis_type){
+void DakotaResponses(double* responses,char** responses_descriptors,int numresponses,Model* model,DataSet* results,DataSet* processed_results,ParameterInputs* inputs,int analysis_type,int sub_analysis_type){
 
 	int i,j;
@@ -227,9 +227,10 @@
 			int isstokes,ismacayealpattyn,ishutter;
 			FemModel* femmodel=NULL;
-			ParameterInputs* inputs=NULL; //needed to plug velocity into elements.
 			double J=0;
 			int analysis_type,sub_analysis_type;
 			int numberofdofspernode,numberofnodes;
 			Vec u_g=NULL;
+			double* u_g_double=NULL;
+			double* fit=NULL;
 
 			/*retrieve active fem model: */
@@ -254,22 +255,25 @@
 			femmodel->parameters->FindParam(&numberofdofspernode,"numberofdofspernode");
 			femmodel->parameters->FindParam(&numberofnodes,"numberofnodes");
-	
+			femmodel->parameters->FindParam(&fit,NULL,NULL,"fit");
+
 			/*Recover velocity: */
 			found=results->FindResult(&u_g,"u_g");
+			VecToMPISerial(&u_g_double,u_g);
 			if(!found)throw ErrorException(__FUNCT__," could not find velocity to compute misfit");
 
 			/*Add to inputs: */
-			inputs=new ParameterInputs;
-			inputs->Add("velocity",u_g,numberofdofspernode,numberofnodes);
+			inputs->Add("velocity",u_g_double,numberofdofspernode,numberofnodes);
+			inputs->Add("fit",fit[0]);
 
 			/*Compute misfit: */
-			Misfitx( &J, femmodel->elements,femmodel->nodes, femmodel->loads, femmodel->materials, femmodel->parameters,inputs,analysis_type,sub_analysis_type);
-			
-	
+			Misfitx( &J, femmodel->elements,femmodel->nodes, femmodel->loads, femmodel->materials, femmodel->parameters,inputs,analysis_type,sub_analysis_type,1);
+			
+
 			if(my_rank==0)responses[i]=J;
 
 			/*Some cleanup: */
 			VecFree(&u_g);
-			delete inputs;
+			xfree((void**)&u_g_double);
+			xfree((void**)&fit);
 
 		}
Index: /issm/trunk/src/c/Qmux/Qmux.h
===================================================================
--- /issm/trunk/src/c/Qmux/Qmux.h	(revision 3041)
+++ /issm/trunk/src/c/Qmux/Qmux.h	(revision 3042)
@@ -16,5 +16,5 @@
 void Qmux(Model* model,ParameterInputs* inputs,int analysis_type,int sub_analysis_type);
 void SpawnCoreParallel(double* responses, int numresponses, double* variables, char** variables_descriptors,int numvariables, Model* model,ParameterInputs* inputs,int analysis_type,int sub_analysis_type,int counter);
-void DakotaResponses(double* responses,char** responses_descriptors,int numresponses,Model* model, DataSet* results,DataSet* processed_results,int analysis_type,int sub_analysis_type);
+void DakotaResponses(double* responses,char** responses_descriptors,int numresponses,Model* model, DataSet* results,DataSet* processed_results,ParameterInputs* inputs,int analysis_type,int sub_analysis_type);
 #endif
 
Index: /issm/trunk/src/c/Qmux/SpawnCoreParallel.cpp
===================================================================
--- /issm/trunk/src/c/Qmux/SpawnCoreParallel.cpp	(revision 3041)
+++ /issm/trunk/src/c/Qmux/SpawnCoreParallel.cpp	(revision 3042)
@@ -180,5 +180,5 @@
 	/*compute responses on cpu 0: dummy for now! */
 	if(verbose)_printf_("compute dakota responses:\n");
-	DakotaResponses(responses,responses_descriptors,numresponses,model,results,processed_results,analysis_type,sub_analysis_type);
+	DakotaResponses(responses,responses_descriptors,numresponses,model,results,processed_results,inputs,analysis_type,sub_analysis_type);
 
 	/*Free ressources:*/
