Changeset 20951
- Timestamp:
- 07/19/16 14:34:26 (9 years ago)
- Location:
- issm/trunk-jpl/examples
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/examples/Inversion/runme.m
r20947 r20951 1 step= 3;1 step=1; 2 2 if step==1 3 %Generate observation 3 %Generate observations 4 4 md = model; 5 5 md = triangle(md,'DomainOutline.exp',100000); 6 md = setmask(md,' ','');6 md = setmask(md,'all',''); 7 7 md = parameterize(md,'Square.par'); 8 8 md = setflowequation(md,'SSA','all'); 9 md.geometry.base = md.geometry.base + 100;10 md.geometry.surface = md.geometry.surface + 100;11 md.materials.rheology_B(:) = 1.8*10^8;12 md.friction.coefficient(:) = 50;13 pos = find(md.mesh.x < 600000 & md.mesh.x > 400000);14 md.friction.coefficient(pos) = 10;15 9 md.cluster = generic('np',2); 16 17 18 md = solve(md,StressbalanceSolutionEnum); 19 20 plotmodel(md,'data',md.friction.coefficient,'caxis',[0 100],'figure',1,'gridded#all',1); 21 plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2,'gridded#all',1); 22 10 md = solve(md,StressbalanceSolutionEnum()); 11 plotmodel(md,'axis#all','tight','data',md.materials.rheology_B,'caxis',[ 1.3 1.9]*10^8,'title','"True" B',... 12 'data',md.results.StressbalanceSolution.Vel,'title','"observed velocities"') 23 13 save model1 md 24 14 end … … 27 17 loadmodel('model1.mat'); 28 18 md.materials.rheology_B(:) = 1.8*10^8; 29 md.friction.coefficient(:) = 50; 30 19 31 20 %results of previous run are taken as observations 32 21 md.inversion=m1qn3inversion(); … … 35 24 md.inversion.vel_obs = md.results.StressbalanceSolution.Vel; 36 25 37 md = solve(md,StressbalanceSolutionEnum); 38 39 plotmodel(md,'data',md.friction.coefficient,'caxis',[0 100],'figure',1); 40 plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 41 26 md = solve(md,StressbalanceSolutionEnum()); 27 plotmodel(md,'axis#all','tight','data',md.materials.rheology_B,'caxis',[ 1.3 1.9]*10^8,'title','B first guess',... 28 'data',md.results.StressbalanceSolution.Vel,'title','modeled velocities') 42 29 save model2 md 43 30 end … … 49 36 maxsteps = 20; 50 37 md.inversion.iscontrol = 1; 51 md.inversion.control_parameters = {' FrictionCoefficient'};38 md.inversion.control_parameters = {'MaterialsRheologyBbar'}; 52 39 md.inversion.maxsteps = maxsteps; 53 md.inversion.cost_functions = [101 103 501]; 54 md.inversion.cost_functions_coefficients = ones(md.mesh.numberofvertices,3); 55 md.inversion.cost_functions_coefficients(:,1) = 1000; 56 md.inversion.cost_functions_coefficients(:,3) = 0.05; 57 md.inversion.min_parameters = 1*ones(md.mesh.numberofvertices,1); 58 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 = cuffey(273)*ones(md.mesh.numberofvertices,1); 43 md.inversion.max_parameters = cuffey(200)*ones(md.mesh.numberofvertices,1); 59 44 60 45 %Go solve! 61 46 md.verbose=verbose(0); 62 md=solve(md,StressbalanceSolutionEnum); 63 64 plotmodel(md,'data',md.results.StressbalanceSolution.FrictionCoefficient,'caxis',[0 100],'figure',1); 65 plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 47 md=solve(md,StressbalanceSolutionEnum()); 48 plotmodel(md,'axis#all','tight','data',md.results.StressbalanceSolution.MaterialsRheologyBbar,'caxis',[ 1.3 1.9]*10^8,'title','inferred B',... 49 'data',md.results.StressbalanceSolution.Vel,'title','modeled velocities') 66 50 end 67 51 if step==4 … … 77 61 md.inversion.cost_functions_coefficients = ones(md.mesh.numberofvertices,1); 78 62 md.inversion.cost_functions_coefficients(:,2) = 10^-16*ones(md.mesh.numberofvertices,1); 79 md.inversion.min_parameters = paterson(273)*ones(md.mesh.numberofvertices,1);80 md.inversion.max_parameters = paterson(200)*ones(md.mesh.numberofvertices,1);63 md.inversion.min_parameters = cuffey(273)*ones(md.mesh.numberofvertices,1); 64 md.inversion.max_parameters = cuffey(200)*ones(md.mesh.numberofvertices,1); 81 65 82 66 %Go solve! 83 67 md.verbose=verbose(0); 84 md=solve(md,StressbalanceSolutionEnum); 85 86 plotmodel(md,'data',md.results.StressbalanceSolution.MaterialsRheologyBbar,'caxis',[ 1.3 1.9]*10^8,'figure',1); 87 plotmodel(md,'data',md.results.StressbalanceSolution.Vel,'figure',2); 68 md=solve(md,StressbalanceSolutionEnum()); 69 plotmodel(md,'axis#all','tight','data',md.results.StressbalanceSolution.MaterialsRheologyBbar,'caxis',[ 1.3 1.9]*10^8,'title','inferred B',... 70 'data',md.results.StressbalanceSolution.Vel,'title','modeled velocities') 88 71 end -
issm/trunk-jpl/examples/Pig/runme.m
r20947 r20951 138 138 139 139 % Save model 140 <<<<<<< .mine141 save ./Models/PIG_ModelHO md;142 =======143 140 save ./Models/PIG_Control_drag md; 144 >>>>>>> .r20806145 141 end 146 142 … … 165 161 166 162 % Load Model 167 md = loadmodel('./Models/PIG_Control_drag.mat'); 163 168 164 % Disable inversion 169 md.inversion.iscontrol = 0; 165 170 166 % Extrude Mesh 171 md = extrude(md, 10, 1); 167 172 168 % Set Flowequation 173 md = setflowequation(md,'HO','all'); 169 174 170 % Solve 175 md.cluster=generic('name',oshostname,'np',2); 176 md=solve(md,StressbalanceSolutionEnum); 171 177 172 % Save Model 178 save ./Models/PIG_Control_drag md;179 180 173 181 174 end
Note:
See TracChangeset
for help on using the changeset viewer.