Changeset 18405


Ignore:
Timestamp:
08/15/14 16:04:12 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added new cost fonctions to other inversion classes

Location:
issm/trunk-jpl/src/m/classes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/m/classes/inversion.m

    r18403 r18405  
    133133                        md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',...
    134134                                {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness',...
    135                                 'BalancethicknessNux' 'BalancethicknessNuy' 'BalancethicknessApparentMassbalance'});
     135                                'BalancethicknessNu' 'BalancethicknessApparentMassbalance'});
    136136                        md = checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0);
    137137                        md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
    138138                        md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps 1]);
    139                         md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:507]);
     139                        md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506 601:604]);
    140140                        md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
    141141                        md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]);
     
    239239                        pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
    240240                        pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
    241                         pos=find(obj.cost_functions==507); data(pos)=Balancethickness2MisfitEnum();
     241                        pos=find(obj.cost_functions==601); data(pos)=IrrotationalH2MisfitEnum();
     242                        pos=find(obj.cost_functions==602); data(pos)=IrrotationalDirectionMisfitEnum();
     243                        pos=find(obj.cost_functions==603); data(pos)=IrrotationalVelMisfitEnum();
     244                        pos=find(obj.cost_functions==604); data(pos)=IrrotationalAlongGradientNuEnum();
     245                        pos=find(obj.cost_functions==605); data(pos)=IrrotationalAcrossGradientNuEnum();
    242246                        WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3);
    243247                        WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
  • TabularUnified issm/trunk-jpl/src/m/classes/m1qn3inversion.m

    r18076 r18405  
    7171                        md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
    7272                        md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',...
    73                                 {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'MaterialsRheologyZbar' 'Vx' 'Vy' 'Thickness' 'BalancethicknessApparentMassbalance'});
     73                                {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar',...
     74                                'Vx' 'Vy' 'Thickness' 'BalancethicknessNu' 'BalancethicknessApparentMassbalance'});
    7475                        md = checkfield(md,'fieldname','inversion.maxsteps','numel',1,'>=',0);
    7576                        md = checkfield(md,'fieldname','inversion.maxiter','numel',1,'>=',0);
    7677                        md = checkfield(md,'fieldname','inversion.dxmin','numel',1,'>',0);
    7778                        md = checkfield(md,'fieldname','inversion.gttol','numel',1,'>',0);
    78                         md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:507]);
     79                        md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506 601:604]);
    7980                        md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0);
    8081                        md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]);
     
    169170                        pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
    170171                        pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
    171                         pos=find(obj.cost_functions==507); data(pos)=Balancethickness2MisfitEnum();
     172                        pos=find(obj.cost_functions==601); data(pos)=IrrotationalH2MisfitEnum();
     173                        pos=find(obj.cost_functions==602); data(pos)=IrrotationalDirectionMisfitEnum();
     174                        pos=find(obj.cost_functions==603); data(pos)=IrrotationalVelMisfitEnum();
     175                        pos=find(obj.cost_functions==604); data(pos)=IrrotationalAlongGradientNuEnum();
     176                        pos=find(obj.cost_functions==605); data(pos)=IrrotationalAcrossGradientNuEnum();
    172177                        WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3);
    173178                        WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
Note: See TracChangeset for help on using the changeset viewer.