source: issm/trunk/test/NightlyRun/test233.m@ 11027

Last change on this file since 11027 was 11027, checked in by Eric.Larour, 13 years ago

merged trunk-jpl and trunk for revision 11026

File size: 2.4 KB
RevLine 
[11027]1md=triangle(model,'../Exp/Square.exp',150000);
[9641]2md=setmask(md,'all','');
[5337]3md=parameterize(md,'../Par/SquareShelf.par');
[9664]4md=setflowequation(md,'macayeal','all');
[5955]5md.cluster=none;
[5337]6
7%redo the parameter file for this special shelf.
8%constant thickness, constrained (vy=0) flow into an icefront,
9%from 0 m/yr at the grounding line.
10
11%tighten
[9679]12md.diagnostic.restol=10^-4;
[5337]13
14%needed later
[9734]15ymin=min(md.mesh.y);
16ymax=max(md.mesh.y);
17xmin=min(md.mesh.x);
18xmax=max(md.mesh.x);
[5337]19
[9636]20di=md.materials.rho_ice/md.materials.rho_water;
[5337]21
22h=1000;
[9725]23md.geometry.thickness=h*ones(md.mesh.numberofvertices,1);
[9691]24md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
25md.geometry.surface=md.geometry.bed+md.geometry.thickness;
[5337]26
27%Initial velocity and pressure
[9725]28md.initialization.vx=zeros(md.mesh.numberofvertices,1);
29md.initialization.vy=zeros(md.mesh.numberofvertices,1);
30md.initialization.vz=zeros(md.mesh.numberofvertices,1);
31md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
[5337]32
33%Materials
[9725]34md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1);
[9684]35md.materials.rheology_B=paterson(md.initialization.temperature);
[9725]36md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
[5337]37
38%Boundary conditions:
[9725]39md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1);
40md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1);
41md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1);
[5337]42
43%constrain flanks to 0 normal velocity
[9734]44pos=find(md.mesh.x==xmin | md.mesh.x==xmax);
[9679]45md.diagnostic.spcvx(pos)=0;
46md.diagnostic.spcvz(pos)=NaN;
[5337]47
48%constrain grounding line to 0 velocity
[9734]49pos=find(md.mesh.y==ymin);
[9679]50md.diagnostic.spcvx(pos)=0;
51md.diagnostic.spcvy(pos)=0;
[5337]52
53%icefront
[9725]54nodeonicefront=zeros(md.mesh.numberofvertices,1);
[9734]55pos=find(md.mesh.y==ymax); nodeonicefront(pos)=1;
[9714]56pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2))); diagnostic.icefront=md.mesh.segments(pos,:);
[9679]57diagnostic.icefront=[diagnostic.icefront 1*md.mask.elementonfloatingice(diagnostic.icefront(:,end))];
58md.diagnostic.icefront=diagnostic.icefront;
[5337]59
[8295]60md=solve(md,DiagnosticSolutionEnum);
[5337]61
62%create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
[9691]63%ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.geometry.thickness./(4*md.materials.rheology_B)).^3;
[9734]64%vy_c=ey_c.*md.mesh.y*md.constants.yts;
[5337]65
66%Fields and tolerances to track changes
67field_names ={'Vy'};
68field_tolerances={1e-13};
[10981]69field_values={(md.results.DiagnosticSolution.Vy)};
Note: See TracBrowser for help on using the repository browser.