[16] | 1 | %Ok, start defining model parameters here
|
---|
| 2 |
|
---|
[904] | 3 | disp(' creating thickness');
|
---|
| 4 | md.surface=2000-md.x*tan(0.1*pi/180); %to have z>0
|
---|
| 5 | md.bed=md.surface-1000;
|
---|
| 6 | md.thickness=md.surface-md.bed;
|
---|
| 7 | md.firn_layer=0*ones(md.numberofgrids,1);
|
---|
[16] | 8 |
|
---|
[904] | 9 | disp(' creating drag');
|
---|
| 10 | md.drag_type=2; %0 none 1 plastic 2 viscous
|
---|
[3768] | 11 | md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)))./(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
|
---|
[904] | 12 | %Take care of iceshelves: no basal drag
|
---|
| 13 | pos=find(md.elementoniceshelf);
|
---|
[3768] | 14 | md.drag_coefficient(md.elements(pos,:))=0;
|
---|
| 15 | md.drag_p=ones(md.numberofelements,1);
|
---|
| 16 | md.drag_q=ones(md.numberofelements,1);
|
---|
[16] | 17 |
|
---|
[904] | 18 | disp(' creating flow law paramter');
|
---|
[3768] | 19 | md.rheology_B=6.8067*10^7*ones(md.numberofgrids,1);
|
---|
| 20 | md.rheology_n=3*ones(md.numberofelements,1);
|
---|
[16] | 21 |
|
---|
[904] | 22 | disp(' boundary conditions for diagnostic model: ');
|
---|
| 23 | %Create grid on boundary fist (because wi can not use mesh)
|
---|
| 24 | md.gridonboundary=zeros(md.numberofgrids,1);
|
---|
| 25 | pos=find(md.x==0 | md.y==0 | md.x==max(md.x) | md.y==max(md.y));
|
---|
| 26 | md.gridonboundary(pos)=1;
|
---|
| 27 | md.gridondirichlet_diag=zeros(md.numberofgrids,1);
|
---|
| 28 | pos=find(md.gridonboundary);md.gridondirichlet_diag(pos)=1;
|
---|
| 29 | md.dirichletvalues_diag=zeros(md.numberofgrids,2);
|
---|
| 30 | md.segmentonneumann_diag=zeros(0,3);
|
---|
| 31 | md.gridondirichlet_thermal=ones(md.numberofgrids,1); %surface temperature
|
---|