Changeset 379


Ignore:
Timestamp:
05/13/09 09:44:00 (16 years ago)
Author:
Mathieu Morlighem
Message:

the input velocity is computed after each iteration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/cielo/control.m

    r377 r379  
    1313        %initialize control parameters, gradients and observations
    1414        u_g_obs=m.parameters.u_g_obs;
     15        u_g=m.parameters.u_g;
    1516        p_g=m.parameters.p_g;
    1617        grad_g=zeros(m.nodesets.gsize,1);
     
    2122        %initialize inputs, ie m.nparameters on which we invert.
    2223        inputs=inputlist;
    23         inputs=add(inputs,'velocity',m.parameters.u_g,'doublevec',3,m.parameters.numberofnodes);
     24        inputs=add(inputs,m.parameters.control_type,p_g,'doublevec',2,m.parameters.numberofnodes);
     25        inputs=add(inputs,'velocity',u_g,'doublevec',3,m.parameters.numberofnodes);
    2426
    2527        for n=1:m.parameters.nsteps,
     
    3032                disp(sprintf('\n%s%s%s%s\n',['   control method step ' num2str(n) '/' num2str(m.parameters.nsteps)]));
    3133
    32                 %update inputs with new parameter and fit
    33                 inputs=add(inputs,m.parameters.control_type,p_g,'doublevec',2,m.parameters.numberofnodes);
     34                %update inputs with new fit
    3435                inputs=add(inputs,'fit',m.parameters.fit(n),'double');
    3536
     
    7273                end
    7374
     75                disp('      update velocity...');   
     76                inputs=add(inputs,m.parameters.control_type,p_g,'doublevec',2,m.parameters.numberofnodes);
     77                u_g=diagnostic_core_nonlinear(m,inputs,md.analysis_type);
     78                inputs=add(inputs,'velocity',u_g,'doublevec',2,m.parameters.numberofnodes);
     79                disp('      done.');
     80
    7481                %some temporary saving
    7582                if(mod(n,5)==0),
Note: See TracChangeset for help on using the changeset viewer.