source: issm/trunk/test/Par/RoundSheetStaticEISMINT.par@ 16560

Last change on this file since 16560 was 16560, checked in by Mathieu Morlighem, 11 years ago

merged trunk-jpl and trunk for revision 16554

  • Property svn:executable set to *
File size: 2.3 KB
RevLine 
[5117]1disp(' creating thickness');
2hmin=0.01;
3hmax=2756.7;
[14310]4radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2);
[5117]5radiusmax=max(radius);
[14310]6radius(find(radius>(1.-10^-9)*radiusmax))=radiusmax; %eliminate roundoff issues in next statement
7md.geometry.thickness=hmin*ones(size(md.mesh.x,1),1)+hmax*(4.*((1./2.)^(4./3.)*ones(size(md.mesh.x,1),1)-((radius)./(2.*radiusmax)).^(4./3.))).^(3./8.);
8md.geometry.bed=0.*md.geometry.thickness;
[9691]9md.geometry.surface=md.geometry.bed+md.geometry.thickness;
[5117]10
11disp(' creating drag');
[16137]12md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1);
13md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
[9725]14md.friction.p=ones(md.mesh.numberofelements,1);
15md.friction.q=ones(md.mesh.numberofelements,1);
[5117]16
17disp(' creating temperatures');
18tmin=238.15; %K
[14310]19st=1.67*10^-2/1000.; %k/m
20md.initialization.temperature=tmin+st*radius;
[9725]21md.basalforcings.geothermalflux=4.2*10^-2*ones(md.mesh.numberofvertices,1);
[5117]22
[14310]23disp(' creating flow law parameter');
24md.materials.rheology_B=6.81*10^7*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution
25md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1);
[5117]26
[16560]27%Damage
28md.damage.D=zeros(md.mesh.numberofvertices,1);
29
[8399]30disp(' creating surface mass balance');
31smb_max=0.5; %m/yr
[14310]32sb=10^-2/1000.; %m/yr/m
33rel=450.*1000.; %m
[9607]34md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius));
[5117]35
36disp(' creating velocities');
37constant=0.3;
[14310]38md.inversion.vx_obs=constant/2.*md.mesh.x.*(md.geometry.thickness).^-1;
39md.inversion.vy_obs=constant/2.*md.mesh.y.*(md.geometry.thickness).^-1;
40md.inversion.vel_obs=sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2);
[9725]41md.initialization.vx=zeros(md.mesh.numberofvertices,1);
42md.initialization.vy=zeros(md.mesh.numberofvertices,1);
43md.initialization.vz=zeros(md.mesh.numberofvertices,1);
44md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
[5117]45
46%Deal with boundary conditions:
[16137]47disp(' boundary conditions for stressbalance model:');
[5117]48md=SetMarineIceSheetBC(md,'../Exp/RoundFrontEISMINT.exp');
49
[14310]50radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2);
[5117]51pos=find(radius==min(radius));
[14310]52md.mesh.x(pos)=0.; md.mesh.y(pos)=0.; %the closest node to the center is changed to be exactly at the center
[5117]53
[16137]54md.stressbalance.spcvx(pos)=0.;
55md.stressbalance.spcvy(pos)=0.;
56md.stressbalance.spcvz(pos)=0.;
Note: See TracBrowser for help on using the repository browser.