Skip to content

Commit 3f70c7c

Browse files
committed
NEW: Added test to check floating ice in SHAKTI
1 parent 20c8fdf commit 3f70c7c

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

test/Archives/Archive550.arch

4.32 MB
Binary file not shown.

test/NightlyRun/test550.m

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
%Test Name: PigShakti
2+
md=triangle(model(),'../Exp/Pig.exp',500.);
3+
md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp');
4+
md=parameterize(md,'../Par/Pig.par');
5+
md=setflowequation(md,'SSA','all');
6+
md.timestepping.start_time = 0;
7+
md.timestepping.time_step = 1*3600/md.constants.yts;;
8+
md.timestepping.final_time = 3/24/365;
9+
10+
% Turn on SHAKTI and turn off other transient processes for now
11+
md.transient=deactivateall(md.transient);
12+
md.transient.isstressbalance=0; % Solve for ice velocity 1, turn off 0
13+
md.transient.ishydrology=1;
14+
15+
% HYDROLOGY SPECIFIC PARAMETERIZATION:
16+
% Change hydrology class to SHAKTI model
17+
md.hydrology=hydrologyshakti();
18+
19+
% Define distributed englacial input to the subglacial system (m/yr)
20+
md.hydrology.englacial_input = 0.0*ones(md.mesh.numberofvertices,1);
21+
22+
% Define initial water head such that water pressure is 50% of ice overburden pressure
23+
md.hydrology.head = 0.5*md.materials.rho_ice/md.materials.rho_freshwater*md.geometry.thickness + md.geometry.base;
24+
25+
% Initial subglacial gap height of 0.001m everywhere
26+
md.hydrology.gap_height = 0.001*ones(md.mesh.numberofelements,1);
27+
28+
% Typical bed bump bump spacing
29+
md.hydrology.bump_spacing = 1.0*ones(md.mesh.numberofelements,1);
30+
31+
% Typical bed bump height
32+
md.hydrology.bump_height = 0.0*ones(md.mesh.numberofelements,1);
33+
34+
% Initial Reynolds number (start at Re=1000 everywhere)
35+
md.hydrology.reynolds= 1000*ones(md.mesh.numberofelements,1);
36+
37+
% Deal with boundary conditions
38+
md.hydrology.spchead = NaN(md.mesh.numberofvertices,1);
39+
md.hydrology.spchead(md.mask.ocean_levelset<=0)=0;
40+
41+
md.hydrology.moulin_input = zeros(md.mesh.numberofvertices,1);
42+
md.hydrology.neumannflux=zeros(md.mesh.numberofelements,1);
43+
44+
% Friction
45+
Neff = md.materials.rho_ice*md.constants.g*md.geometry.thickness-md.materials.rho_water*md.constants.g*(md.hydrology.head - md.geometry.base);
46+
md.friction.effective_pressure=Neff;
47+
md.friction.effective_pressure_limit(:)=0;
48+
md.friction.coupling = 4;
49+
50+
md.cluster=generic('name',oshostname(),'np',8);
51+
md=solve(md,'Transient');
52+
53+
%Fields and tolerances to track changes
54+
field_names ={...
55+
'HydrologyHead1','HydrologyGapHeight1',...
56+
'HydrologyHead2','HydrologyGapHeight2',...
57+
'HydrologyHead3','HydrologyGapHeight3'};
58+
field_tolerances={...
59+
1e-13, 1e-13,...
60+
1e-13, 1e-13,...
61+
1e-13, 1e-13};
62+
field_values={...
63+
md.results.TransientSolution(1).HydrologyHead, ...
64+
md.results.TransientSolution(1).HydrologyGapHeight,...
65+
md.results.TransientSolution(2).HydrologyHead, ...
66+
md.results.TransientSolution(2).HydrologyGapHeight,...
67+
md.results.TransientSolution(3).HydrologyHead, ...
68+
md.results.TransientSolution(3).HydrologyGapHeight};
69+

0 commit comments

Comments
 (0)