source: issm/trunk/test/Par/ValleyGlacierShelf.par@ 24313

Last change on this file since 24313 was 24313, checked in by Mathieu Morlighem, 5 years ago

merged trunk-jpl and trunk for revision 24310

File size: 3.0 KB
Line 
1%Start defining model parameters here
2x = md.mesh.x;
3y = md.mesh.y;
4xmin = min(x);
5xmax = max(x);
6ymin = min(y);
7ymax = max(y);
8Lx = (xmax-xmin);
9Ly = (ymax-ymin);
10xm = (xmin+xmax)/2.;
11ym = (ymin+ymax)/2.;
12
13%Geometry: U-shaped valley in y direction
14thk_center = 1000.;
15thk_margin = 0.5*thk_center;
16bmax = 0.;
17bmin = -thk_center*md.materials.rho_ice/md.materials.rho_water;
18
19alpha = 2./3.;
20slope = 0.9*(bmin-bmax)*(x-xmin)/(Lx*alpha) + 0.1*(bmin-bmax)*(y-ymin)/(Ly) + bmax;
21md.geometry.surface = (thk_center+bmax) + slope ;
22md.geometry.base = bmax + slope + 4./Ly^2*(thk_center-thk_margin)*(y-ym).^2;
23md.geometry.thickness = md.geometry.surface - md.geometry.base;
24md.geometry.bed = md.geometry.base;
25
26%Mask
27md.mask.ice_levelset = x - alpha*Lx;
28md.mask.groundedice_levelset = ones(md.mesh.numberofvertices,1);
29
30%Initial velocity
31md.initialization.vx = zeros(md.mesh.numberofvertices,1);
32md.initialization.vy = zeros(md.mesh.numberofvertices,1);
33md.initialization.vz = zeros(md.mesh.numberofvertices,1);
34md.initialization.pressure = zeros(md.mesh.numberofvertices,1);
35
36%Materials
37md.initialization.temperature = (273.15-5.)*ones(md.mesh.numberofvertices,1);
38md.initialization.waterfraction = zeros(md.mesh.numberofvertices,1);
39md.initialization.watercolumn = zeros(md.mesh.numberofvertices,1);
40md.materials.rheology_B = paterson(md.initialization.temperature);
41md.materials.rheology_n = 3.*ones(md.mesh.numberofelements,1);
42
43%Thermal
44md.thermal.isenthalpy = 0;
45md.thermal.spctemperature = NaN(md.mesh.numberofvertices,1);
46
47%Groundingline
48md.groundingline.migration = 'SubelementMigration';
49
50%Surface mass balance and basal melting
51md.smb.mass_balance = 0.3*ones(md.mesh.numberofvertices,1);
52md.basalforcings.floatingice_melting_rate = md.smb.mass_balance;
53md.basalforcings.groundedice_melting_rate = md.smb.mass_balance;
54
55%Friction
56md.friction.coefficient = 20.*ones(md.mesh.numberofvertices,1);
57md.friction.coefficient(find(md.mask.groundedice_levelset<0.)) = 0.;
58md.friction.p = ones(md.mesh.numberofelements,1);
59md.friction.q = ones(md.mesh.numberofelements,1);
60
61%Transient
62md.transient.isstressbalance = 1;
63md.transient.ismovingfront = 1;
64md.transient.ismasstransport = 0;
65md.transient.isthermal = 0;
66md.transient.isgroundingline = 1;
67md.transient.isgia = 0;
68
69%Stressbalance
70md.stressbalance.maxiter = 100;
71md.stressbalance.restol = 0.05;
72md.stressbalance.reltol = 0.05;
73md.stressbalance.abstol = NaN;
74
75%Masstransport;
76md.calving.calvingrate = 0.*ones(md.mesh.numberofvertices,1);
77md.frontalforcings.meltingrate = 0.*ones(md.mesh.numberofvertices,1);
78md.levelset.spclevelset=NaN(md.mesh.numberofvertices,1);
79md.masstransport.stabilization = 1.;
80
81%Numerical parameters
82md.thermal.stabilization = 1.;
83md.settings.waitonlock = 30;
84md.steadystate.reltol = 0.05;
85md.timestepping.time_step = 1.;
86md.timestepping.final_time = 3.;
87
88%Verbose
89md.verbose = verbose(0);
90
91%Deal with boundary conditions:
92md = SetIceShelfBC(md);
93
94%Change name so that no test have the same name;
95A = dbstack;
96if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
Note: See TracBrowser for help on using the repository browser.