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

Last change on this file since 26744 was 26744, checked in by Mathieu Morlighem, 3 years ago

merged trunk-jpl and trunk for revision 26742

File size: 2.9 KB
RevLine 
[17467]1%Start defining model parameters here
[17469]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.;
[17467]12
13%Geometry: U-shaped valley in y direction
[17469]14thk_center = 1000.;
15thk_margin = 0.5*thk_center;
16bmax = 0.;
17bmin = -thk_center*md.materials.rho_ice/md.materials.rho_water;
[17467]18
[17469]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 ;
[17590]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;
[17467]25
26%Mask
[17469]27md.mask.ice_levelset = x - alpha*Lx;
[25836]28md.mask.ocean_levelset = ones(md.mesh.numberofvertices,1);
[17467]29
30%Initial velocity
[17469]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);
[17467]35
36%Materials
[17469]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);
[17467]42
43%Thermal
[17469]44md.thermal.isenthalpy = 0;
45md.thermal.spctemperature = NaN(md.mesh.numberofvertices,1);
[17467]46
47%Groundingline
[17469]48md.groundingline.migration = 'SubelementMigration';
[17467]49
50%Surface mass balance and basal melting
[20500]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;
[17467]54
55%Friction
[17469]56md.friction.coefficient = 20.*ones(md.mesh.numberofvertices,1);
[25836]57md.friction.coefficient(find(md.mask.ocean_levelset<0.)) = 0.;
[17469]58md.friction.p = ones(md.mesh.numberofelements,1);
59md.friction.q = ones(md.mesh.numberofelements,1);
[17467]60
61%Transient
[17469]62md.transient.isstressbalance = 1;
[20500]63md.transient.ismovingfront = 1;
[17469]64md.transient.ismasstransport = 0;
65md.transient.isthermal = 0;
66md.transient.isgroundingline = 1;
[17467]67
68%Stressbalance
[17469]69md.stressbalance.maxiter = 100;
70md.stressbalance.restol = 0.05;
71md.stressbalance.reltol = 0.05;
72md.stressbalance.abstol = NaN;
[17467]73
[17469]74%Masstransport;
[19105]75md.calving.calvingrate = 0.*ones(md.mesh.numberofvertices,1);
[24313]76md.frontalforcings.meltingrate = 0.*ones(md.mesh.numberofvertices,1);
[20500]77md.levelset.spclevelset=NaN(md.mesh.numberofvertices,1);
[17469]78md.masstransport.stabilization = 1.;
[17467]79
80%Numerical parameters
[17469]81md.thermal.stabilization = 1.;
82md.settings.waitonlock = 30;
83md.steadystate.reltol = 0.05;
84md.timestepping.time_step = 1.;
85md.timestepping.final_time = 3.;
[17467]86
87%Verbose
[17469]88md.verbose = verbose(0);
[17467]89
90%Deal with boundary conditions:
[17469]91md = SetIceShelfBC(md);
[17467]92
[17469]93%Change name so that no test have the same name;
[17467]94A = dbstack;
95if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
Note: See TracBrowser for help on using the repository browser.