Changeset 773
- Timestamp:
- 06/04/09 14:19:46 (16 years ago)
- Location:
- issm/trunk/src/m/solutions/cielo
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/cielo/control.m
r465 r773 15 15 u_g_obs=m.parameters.u_g_obs; 16 16 u_g=m.parameters.u_g; 17 p _g=m.parameters.p_g;17 param_g=m.parameters.param_g; 18 18 grad_g=zeros(m.nodesets.gsize,1); 19 19 … … 23 23 %initialize inputs, ie m.nparameters on which we invert. 24 24 inputs=inputlist; 25 inputs=add(inputs,m.parameters.control_type,p _g,'doublevec',2,m.parameters.numberofnodes);25 inputs=add(inputs,m.parameters.control_type,param_g,'doublevec',2,m.parameters.numberofnodes); 26 26 inputs=add(inputs,'velocity',u_g,'doublevec',3,m.parameters.numberofnodes); 27 27 … … 35 35 %update inputs with new fit 36 36 inputs=add(inputs,'fit',m.parameters.fit(n),'double'); 37 inputs=add(inputs,m.parameters.control_type,p _g,'doublevec',2,m.parameters.numberofnodes);37 inputs=add(inputs,m.parameters.control_type,param_g,'doublevec',2,m.parameters.numberofnodes); 38 38 39 39 %Update inputs in datasets … … 59 59 60 60 disp(' optimizing along gradient direction...'); 61 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m,inputs,p _g,u_g_obs,c(n).grad_g,n,md.analysis_type,md.sub_analysis_type);61 [search_scalar c(n).J]=ControlOptimization('objectivefunctionC',0,1,options,m,inputs,param_g,u_g_obs,c(n).grad_g,n,md.analysis_type,md.sub_analysis_type); 62 62 disp(' done.'); 63 63 64 64 disp(' updating parameter using optimized search scalar...'); 65 p _g=p_g+search_scalar*m.parameters.optscal(n)*c(n).grad_g;65 param_g=param_g+search_scalar*m.parameters.optscal(n)*c(n).grad_g; 66 66 disp(' done.'); 67 67 68 68 disp(' constraining the new distribution...'); 69 p _g=ControlConstrain(p_g,m.parameters);69 param_g=ControlConstrain(param_g,m.parameters); 70 70 disp(' done.'); 71 71 … … 77 77 %some temporary saving 78 78 if(mod(n,5)==0), 79 solution=controlfinalsol(c,m,p _g,inputs,md.analysis_type,md.sub_analysis_type);79 solution=controlfinalsol(c,m,param_g,inputs,md.analysis_type,md.sub_analysis_type); 80 80 save temporary_control_results solution 81 81 end … … 86 86 %Create final solution 87 87 disp(' preparing final velocity solution...'); 88 solution=controlfinalsol(c,m,p _g,inputs,md.analysis_type,md.sub_analysis_type);88 solution=controlfinalsol(c,m,param_g,inputs,md.analysis_type,md.sub_analysis_type); 89 89 disp(' done.'); 90 90 -
issm/trunk/src/m/solutions/cielo/loadcontrolfinalsol.m
r686 r773 1 1 function md=loadfinalcontrolsol(md,solution); 2 2 3 if isnan(md.results), md.results=struct(); end 3 4 md.results.control.vx=solution.vx*md.yts; 4 5 md.results.control.vy=solution.vy*md.yts;
Note:
See TracChangeset
for help on using the changeset viewer.