Changeset 18271


Ignore:
Timestamp:
07/21/14 14:32:09 (11 years ago)
Author:
schlegel
Message:

CHG: add runme2

Location:
issm/trunk-jpl/examples/Inversion
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/examples/Inversion/runme.m

    r18203 r18271  
    1 step=3;
     1step=1;
    22if step==1
    33        %Generate observation
    44        md = model;
    55        md = triangle(md,'DomainOutline.exp',100000);
    6    
    7         md = setmask(md,'','');
    8    
     6        md = setmask(md,'all','');
    97        md = parameterize(md,'Square.par');
    108        md = setflowequation(md,'SSA','all');
    119        md.cluster = generic('np',2);
    12    
    13     md.geometry.surface=md.geometry.surface+100;
    14     md.geometry.base = md.geometry.base+100;
    15     md.materials.rheology_B(:)=1.8*10^8;
    16     md.friction.coefficient(:)=50;
    17     md.friction.coefficient(find(md.mesh.x>400000 & md.mesh.x<600000))=10;
    18    
    1910        md = solve(md,StressbalanceSolutionEnum);
    20         plotmodel(md,'data',md.friction.coefficient,'caxis',[0 100],'figure',1);
     11        plotmodel(md,'data',md.materials.rheology_B,'caxis',[ 1.3 1.9]*10^8,'figure',1);
    2112        plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 
    2213        save model1 md
     
    2516        %Modify rheology, now constant
    2617        loadmodel('model1.mat');
    27         md.friction.coefficient(:)=50;
     18        md.materials.rheology_B(:) = 1.8*10^8;
    2819
    2920        %results of previous run are taken as observations
     
    3425
    3526        md = solve(md,StressbalanceSolutionEnum);
    36         plotmodel(md,'data',md.friction.coefficient,'caxis',[0 100],'figure',1);
     27        plotmodel(md,'data',md.materials.rheology_B,'caxis',[ 1.3 1.9]*10^8,'figure',1);
    3728        plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 
    3829        save model2 md
     
    4536        maxsteps = 20;
    4637        md.inversion.iscontrol = 1;
    47         md.inversion.control_parameters = {'FrictionCoefficient'};
     38        md.inversion.control_parameters = {'MaterialsRheologyBbar'};
    4839        md.inversion.maxsteps = maxsteps;
    49         md.inversion.dxmin=10^-6;
    50         md.inversion.cost_functions = [103 501];
    51         md.inversion.cost_functions_coefficients = ones(md.mesh.numberofvertices,2);
    52         md.inversion.cost_functions_coefficients(:,2)=0;
    53         md.inversion.min_parameters    = 10^-5*ones(md.mesh.numberofvertices,1);
    54         md.inversion.max_parameters    = 100*ones(md.mesh.numberofvertices,1);
     40        md.inversion.cost_functions = 101;
     41        md.inversion.cost_functions_coefficients = ones(md.mesh.numberofvertices,1);
     42        md.inversion.min_parameters    = paterson(273)*ones(md.mesh.numberofvertices,1);
     43        md.inversion.max_parameters    = paterson(200)*ones(md.mesh.numberofvertices,1);
    5544
    5645        %Go solve!
    5746        md.verbose=verbose(0);
    5847        md=solve(md,StressbalanceSolutionEnum);
    59         plotmodel(md,'data',md.results.StressbalanceSolution.FrictionCoefficient,'caxis',[0 100],'figure',1);
     48        plotmodel(md,'data',md.results.StressbalanceSolution.MaterialsRheologyBbar,'caxis',[ 1.3 1.9]*10^8,'figure',1);
    6049        plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 
    6150end
     51if step==4
     52        %invert for ice rigidity
     53        loadmodel('model2.mat');
     54
     55        %Set up inversion parameters
     56        maxsteps = 20;
     57        md.inversion.iscontrol = 1;
     58        md.inversion.control_parameters = {'MaterialsRheologyBbar'};
     59        md.inversion.maxsteps = maxsteps;
     60        md.inversion.cost_functions = [101 502];
     61        md.inversion.cost_functions_coefficients      = ones(md.mesh.numberofvertices,1);
     62        md.inversion.cost_functions_coefficients(:,2) = 10^-16*ones(md.mesh.numberofvertices,1);
     63        md.inversion.min_parameters    = paterson(273)*ones(md.mesh.numberofvertices,1);
     64        md.inversion.max_parameters    = paterson(200)*ones(md.mesh.numberofvertices,1);
     65
     66        %Go solve!
     67        md.verbose=verbose(0);
     68        md=solve(md,StressbalanceSolutionEnum);
     69        plotmodel(md,'data',md.results.StressbalanceSolution.MaterialsRheologyBbar,'caxis',[ 1.3 1.9]*10^8,'figure',1);
     70        plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 
     71end
Note: See TracChangeset for help on using the changeset viewer.