1 | %Parameterization for ISMIP F experiment
|
---|
2 |
|
---|
3 | %Set the Simulation generic name #md.miscellaneous
|
---|
4 | %->
|
---|
5 |
|
---|
6 | %Geometry
|
---|
7 | disp(' Constructing Geometry');
|
---|
8 |
|
---|
9 | %Define the geometry of the simulation #md.geometry
|
---|
10 | %surface is [-x*tan(3.0*pi/180)] #md.mesh
|
---|
11 | %->
|
---|
12 | md.geometry.surface=md.mesh.x*tan(3.0*pi/180.0);
|
---|
13 | %base is [surface-1000+100*exp(-((x-L/2).^2+(y-L/2).^2)/(10000.^2))]
|
---|
14 | %L is the size of the side of the square #max(md.mesh.x)-min(md.mesh.x)
|
---|
15 | %->
|
---|
16 | L=max(md.mesh.x)-min(md.mesh.x);
|
---|
17 | %->
|
---|
18 | md.geometry.base=md.geometry.surface-1000.0+100.0*exp(-((md.mesh.x-L/2.0).^2.0+(md.mesh.y-L/2.0).^2.0)/(10000.^2.0));
|
---|
19 | %thickness is the difference between surface and base #md.geometry
|
---|
20 | %->
|
---|
21 | md.geometry.thickness=md.geometry.surface-md.geometry.base;
|
---|
22 | %plot the geometry to check it out
|
---|
23 | %->
|
---|
24 | plotmodel(md,'data',md.geometry.thickness);
|
---|
25 |
|
---|
26 | disp(' Defining friction parameters');
|
---|
27 |
|
---|
28 | %These parameters will not be used but need to be fixed #md.friction
|
---|
29 | %one friciton coefficient per node (md.mesh.numberofvertices,1)
|
---|
30 | %conversion form year to seconds with #md.constants.yts
|
---|
31 | %->
|
---|
32 | md.friction.coefficient=sqrt(md.constants.yts/(1000*2.140373*10^-7))*ones(md.mesh.numberofvertices,1);
|
---|
33 | %one friciton exponent (p,q) per element
|
---|
34 | %->
|
---|
35 | md.friction.p=ones(md.mesh.numberofelements,1);
|
---|
36 | %->
|
---|
37 | md.friction.q=zeros(md.mesh.numberofelements,1);
|
---|
38 |
|
---|
39 | disp(' Construct ice rheological properties');
|
---|
40 |
|
---|
41 | %The rheology parameters sit in the material section #md.materials
|
---|
42 | %B has one value per vertex
|
---|
43 | %->
|
---|
44 | md.materials.rheology_B=(1/(2.140373*10^-7/md.constants.yts))*ones(md.mesh.numberofvertices,1);
|
---|
45 | %n has one value per element
|
---|
46 | %->
|
---|
47 | md.materials.rheology_n=1*ones(md.mesh.numberofelements,1);
|
---|
48 |
|
---|
49 | disp(' Set boundary conditions');
|
---|
50 |
|
---|
51 | %Set the default boundary conditions for an ice-sheet
|
---|
52 | % #help SetIceSheetBC
|
---|
53 | %->
|
---|
54 | md=SetIceSheetBC(md);
|
---|
55 |
|
---|
56 | disp(' Initializing velocity and pressure');
|
---|
57 |
|
---|
58 | %initialize the velocity and pressurefields of #md.initialization
|
---|
59 | %->
|
---|
60 | md.initialization.vx=zeros(md.mesh.numberofvertices,1);
|
---|
61 | %->
|
---|
62 | md.initialization.vy=zeros(md.mesh.numberofvertices,1);
|
---|
63 | %->
|
---|
64 | md.initialization.vz=zeros(md.mesh.numberofvertices,1);
|
---|
65 | %->
|
---|
66 | md.initialization.pressure=zeros(md.mesh.numberofvertices,1); |
---|