Changeset 2188
- Timestamp:
- 09/10/09 15:02:06 (16 years ago)
- Location:
- issm/trunk
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/etc/cluster.rc
r2110 r2188 47 47 48 48 cluster_name=gemini 49 cluster_codepath=/workg/ acm/larour/issm-1.0/bin50 cluster_executionpath=/workg/ acm/larour/Testing/Execution49 cluster_codepath=/workg/edw/larour/issm-2.0/bin 50 cluster_executionpath=/workg/edw/larour/Testing/Execution 51 51 52 52 cluster_name=castor 53 cluster_codepath=/workc/ acm/larour/issm-1.0/bin54 cluster_executionpath=/workc/ acm/larour/Testing/Execution53 cluster_codepath=/workc/edw/larour/issm-2.0/bin 54 cluster_executionpath=/workc/edw/larour/Testing/Execution 55 55 56 56 cluster_name=pollux 57 cluster_codepath=/workp/acm/larour/issm-1.0/bin 58 cluster_executionpath=/workp/acm/larour/Testing/Execution 59 60 57 cluster_codepath=/workp/edw/larour/issm-2.0/bin 58 cluster_executionpath=/workp/edw/larour/Testing/Execution 61 59 62 60 end -
issm/trunk/src/c/ModelProcessorx/Control/CreateParametersControl.cpp
r2038 r2188 24 24 25 25 double* fit=NULL; 26 double* cmjump=NULL; 26 27 double* optscal=NULL; 27 28 double* maxiter=NULL; … … 107 108 /*Now, recover fit, optscal and maxiter as vectors: */ 108 109 IoModelFetchData((void**)&iomodel->fit,NULL,NULL,iomodel_handle,"fit","Matrix","Mat"); 110 IoModelFetchData((void**)&iomodel->cmjump,NULL,NULL,iomodel_handle,"cmjump","Matrix","Mat"); 109 111 IoModelFetchData((void**)&iomodel->optscal,NULL,NULL,iomodel_handle,"optscal","Matrix","Mat"); 110 112 IoModelFetchData((void**)&iomodel->maxiter,NULL,NULL,iomodel_handle,"maxiter","Matrix","Mat"); … … 113 115 param= new Param(count,"fit",DOUBLEVEC); 114 116 param->SetDoubleVec(iomodel->fit,iomodel->nsteps); 117 parameters->AddObject(param); 118 119 count++; 120 param= new Param(count,"cmjump",DOUBLEVEC); 121 param->SetDoubleVec(iomodel->cmjump,iomodel->nsteps); 115 122 parameters->AddObject(param); 116 123 … … 126 133 127 134 xfree((void**)&iomodel->fit); 135 xfree((void**)&iomodel->cmjump); 128 136 xfree((void**)&iomodel->optscal); 129 137 xfree((void**)&iomodel->maxiter); -
issm/trunk/src/c/ModelProcessorx/IoModel.cpp
r1916 r2188 108 108 /*!solution parameters: */ 109 109 iomodel->fit=NULL; 110 iomodel->cmjump=NULL; 110 111 iomodel->meanvel=0; 111 112 iomodel->epsvel=0; … … 238 239 xfree((void**)&iomodel->n); 239 240 xfree((void**)&iomodel->fit); 241 xfree((void**)&iomodel->cmjump); 240 242 xfree((void**)&iomodel->optscal); 241 243 xfree((void**)&iomodel->maxiter); -
issm/trunk/src/c/ModelProcessorx/IoModel.h
r1916 r2188 107 107 /*solution parameters: */ 108 108 double* fit; 109 double* cmjump; 109 110 double meanvel,epsvel; 110 111 int artificial_diffusivity; -
issm/trunk/src/c/objects/OptPars.h
r46 r2188 11 11 double xmax; 12 12 double tolerance; 13 double cmjump; 13 14 int maxiter; 14 15 -
issm/trunk/src/c/parallel/control_core.cpp
r2000 r2188 29 29 int gsize; 30 30 double* maxiter=NULL; 31 double* cmjump=NULL; 31 32 double tolx; 32 33 double* param_g=NULL; … … 59 60 model->FindParam(&optscal,"optscal"); 60 61 model->FindParam(&maxiter,"maxiter"); 62 model->FindParam(&cmjump,"cmjump"); 61 63 model->FindParam(&tolx,"tolx"); 62 64 model->FindParam(&mincontrolconstraint,"mincontrolconstraint"); … … 105 107 optargs.model=model; 106 108 optargs.param_g=param_g; optargs.grad_g=grad_g_double; optargs.inputs=inputs;optargs.n=n; 107 optpars.xmin=0; optpars.xmax=1; optpars.tolerance=tolx; optpars.maxiter=(int)maxiter[n]; 109 optpars.xmin=0; optpars.xmax=1; optpars.tolerance=tolx; optpars.maxiter=(int)maxiter[n];optpars.cmjump=cmjump[n]; 108 110 BrentSearch(&search_scalar,J+n,&optpars,&objectivefunctionC,&optargs); 109 111 _printf_("%s\n"," done."); … … 155 157 xfree((void**)&optscal); 156 158 xfree((void**)&maxiter); 159 xfree((void**)&cmjump); 157 160 VecFree(&new_grad_g); //do not VecFree grad_g and grad_g_old, they point to new_grad_g 158 161 xfree((void**)&grad_g_double); -
issm/trunk/src/c/shared/Numerics/BrentSearch.cpp
r2187 r2188 39 39 double tol1,tol2,seps,tolerance; 40 40 int maxiter; 41 double cmjump; 41 42 42 43 /*counters: */ … … 68 69 69 70 //test ration between fxmin and fxmax. if < criterion, return 70 if((fxm in/fxmax)<cmjump){71 if((fxmax/fxmin)<cmjump){ 71 72 72 73 /*Assign output pointers: */ -
issm/trunk/src/m/classes/@model/model.m
r2110 r2188 183 183 md.maxcontrolconstraint=0; 184 184 md.fit=[]; 185 md.cmjump=[]; 185 186 md.epsvel=0; 186 187 md.meanvel=0; -
issm/trunk/src/m/classes/@model/setdefaultparameters.m
r2047 r2188 189 189 md.fit=0*ones(md.nsteps,1); 190 190 191 %cmjump 192 md.cmjump=.7*ones(md.nsteps,1); %30 % decrement. 193 191 194 %minimum velocity to avoid the misfit to be singular 192 195 md.epsvel=eps; -
issm/trunk/src/m/classes/public/display/displaycontrol.m
r1899 r2188 15 15 fielddisplay(md,'optscal','scaling factor on gradient direction during optimization, for each optimization step'); 16 16 fielddisplay(md,'fit','''absolute: 0'', ''relative: 1'', or ''logarithmic: 2''. default is ''absolute: 0'', for each optimization steps'); 17 fielddisplay(md,'cmjump','decrease threshold for misfit, default is 30%'); 17 18 fielddisplay(md,'maxiter','maximum iterations during each optimization step'); 18 19 fielddisplay(md,'tolx','minimum tolerance which will stop one optimization search'); -
issm/trunk/src/m/classes/public/extrude.m
r1996 r2188 183 183 184 184 %increase connectivity if less than 25: 185 if md.connectivity< 25,186 md.connectivity= 70;185 if md.connectivity<=25, 186 md.connectivity=100; 187 187 end 188 188 -
issm/trunk/src/m/classes/public/loadresultsfromcluster.m
r2115 r2188 16 16 packages{end+1}=[md.name '.qmu.err']; 17 17 packages{end+1}=[md.name '.qmu.out']; 18 %packages{end+1}='dakota_tabular.dat'; not for now. 18 if md.qmu_params.tabular_graphics_data==true, 19 packages{end+1}='dakota_tabular.dat'; 20 end 19 21 else 20 22 packages{end+1}=[md.name '.outbin']; -
issm/trunk/src/m/classes/public/marshall.m
r1916 r2188 101 101 %Write solution parameters 102 102 WriteData(fid,md.fit,'Mat','fit'); 103 WriteData(fid,md.cmjump,'Mat','cmjump'); 103 104 WriteData(fid,md.yts,'Scalar','yts'); 104 105 WriteData(fid,md.meanvel,'Scalar','meanvel'); -
issm/trunk/src/m/classes/public/plot/plot_manager.m
r1879 r2188 29 29 case 'segmentnumbering', 30 30 plot_segmentnumbering(md,options_structure,width,i); 31 return;32 case 'importancefactors',33 plot_qmuimportancefactors(md,options_structure,width,i);34 31 return; 35 32 case 'normplot', -
issm/trunk/src/m/solutions/cielo/control_core.m
r1845 r2188 63 63 64 64 displaystring(debug,'\n%s',[' optimizing along gradient direction...']); 65 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,models,inputs,param_g,c(n).grad_g,n,model.parameters .analysis_type,model.parameters.sub_analysis_type);65 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,models,inputs,param_g,c(n).grad_g,n,model.parameters); 66 66 67 67 displaystring(debug,'\n%s',[' updating parameter using optimized search scalar...']); -
issm/trunk/src/m/solutions/dakota/dakota_out_parse.m
r1014 r2188 375 375 376 376 while ~isempty(fline) 377 if fline==-1, 378 break 379 end 377 380 [ntokens,tokens]=fltokens(fline); 378 381 … … 403 406 while ~isempty(fline) && ... 404 407 ~strncmpi(fline,'Cumulative Distribution Function',32) 405 [ntokens,tokens]=fltokens(fline); 408 if fline==-1, 409 break 410 end 411 [ntokens,tokens]=fltokens(fline); 406 412 icdf=icdf+1; 407 413 dresp(idresp).cdf(icdf,1)=tokens{1}{ 1}; -
issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp
r1810 r2188 28 28 mxArray* grad_g=NULL; 29 29 mxArray* n=NULL; 30 int n_value; 31 double* cmjump=NULL; 30 32 31 33 /*Boot module: */ … … 42 44 FetchData((void**)&maxiter,NULL,NULL,mxGetField(OPTIONS,0,"MaxIter"),"Integer",NULL); 43 45 46 /*Parameters: */ 47 FetchData((void**)&cmjump,NULL,NULL,mxGetField(PARAMETERS,0,"cmjump"),"Matrix","Mat"); 48 FetchData((void**)&n_value,NULL,NULL,STEP,"Integer",NULL); 49 44 50 optargs.function_name=function_name; 45 51 optargs.models=MODELS; … … 48 54 optargs.grad_g=GRADIENT; 49 55 optargs.n=STEP; 50 optargs.analysis_type= ANALYSIS;51 optargs.sub_analysis_type= SUBANALYSIS;56 optargs.analysis_type=mxGetField(PARAMETERS,0,"analysis_type"); 57 optargs.sub_analysis_type=mxGetField(PARAMETERS,0,"sub_analysis_type"); 52 58 53 59 optpars.xmin=xmin; … … 55 61 optpars.tolerance=tolerance; 56 62 optpars.maxiter=maxiter; 63 optpars.cmjump=cmjump[n_value-1]; 57 64 58 65 BrentSearch(&search_scalar,&J,&optpars,&OptFunc,&optargs); … … 64 71 /*Free ressources: */ 65 72 xfree((void**)&function_name); 73 xfree((void**)&cmjump); 66 74 67 75 /*end module: */ … … 72 80 { 73 81 _printf_("\n"); 74 _printf_(" usage: [search_scalar J] = %s(function_name,xmin,xmax,options,m,inputs,p_g,grad_g,step, analysis_type,sub_analysis_type)\n",__FUNCT__);82 _printf_(" usage: [search_scalar J] = %s(function_name,xmin,xmax,options,m,inputs,p_g,grad_g,step,parameters)\n",__FUNCT__); 75 83 _printf_("\n"); 76 84 } -
issm/trunk/src/mex/ControlOptimization/ControlOptimization.h
r1810 r2188 26 26 #define GRADIENT (mxArray*)prhs[7] 27 27 #define STEP (mxArray*)prhs[8] 28 #define ANALYSIS (mxArray*)prhs[9] 29 #define SUBANALYSIS (mxArray*)prhs[10] 28 #define PARAMETERS (mxArray*)prhs[9] 30 29 31 30 /* serial output macros: */ … … 37 36 #define NLHS 2 38 37 #undef NRHS 39 #define NRHS 1 138 #define NRHS 10 40 39 41 40 -
issm/trunk/test/Verification/IceSheetIceFrontM2dDakota_25/Square.par
r2184 r2188 54 54 md.qmu_params.evaluation_concurrency=1; 55 55 md.qmu_params.interval_type='forward'; 56 md.qmu_params.tabular_graphics_data=true 56 57 57 58 md.part=0:1:md.numberofgrids-1;
Note:
See TracChangeset
for help on using the changeset viewer.