[16] | 1 | %This test is a test from the EISMINT for Ice shelves
|
---|
| 2 | % Vincent Rommelaere 1996
|
---|
| 3 |
|
---|
| 4 | %The goal is to test the prognostic model
|
---|
[3573] | 5 | %md=bamg(model,'domain','DomainOutline.exp','hmax',4550);
|
---|
| 6 | md=bamg(model,'domain','DomainOutline.exp','hmax',3000);
|
---|
[16] | 7 | md=geography(md,'all','');
|
---|
| 8 | md=parameterize(md,'Square.par');
|
---|
| 9 | md=setelementstype(md,'macayeal','all');
|
---|
| 10 |
|
---|
| 11 | %Evolution of the ice shelf
|
---|
[3573] | 12 | md.ndt=500;
|
---|
| 13 | md.dt=1;
|
---|
| 14 | md.artificial_diffusivity=0; %Better result with no artificial diffusivity
|
---|
[16] | 15 |
|
---|
[3573] | 16 | %0launch transient solution
|
---|
| 17 | %md=solve(md,'analysis_type','transient');
|
---|
| 18 | %FOR NOW:
|
---|
| 19 | md.cluster=oshostname();
|
---|
| 20 | md.np=8;
|
---|
| 21 | i=0;
|
---|
| 22 | time=0;
|
---|
| 23 | md.dummy=struct();
|
---|
| 24 | pos=find(md.y>199999.9);
|
---|
| 25 | connectivity=full(sparse(md.elements(:),1,1));
|
---|
| 26 | while(time<500),
|
---|
| 27 | disp(['step ' num2str(i) '/' num2str(500/md.dt)]);
|
---|
| 28 | i=i+1;
|
---|
| 29 | time=time+md.dt;
|
---|
| 30 | md=solve(md,'analysis_type','prognostic2','package','ice');
|
---|
| 31 | %thickness=full(sparse(reshape(md.elements',3*md.numberofelements,1),1,md.results.prognostic2.thickness));
|
---|
| 32 | %md.thickness=thickness./connectivity;
|
---|
| 33 | md.thickness=md.results.prognostic2.thickness;
|
---|
| 34 | md.thickness(pos)=500+100*sin(2*pi*time/200)*ones(size(pos,1),1);
|
---|
| 35 | md.surface=md.bed+md.thickness;
|
---|
| 36 | md.dummy(i).thickness=md.thickness;
|
---|
| 37 | %plotmodel(md,'data',md.thickness,'sectionvalue','CrossLine.exp')
|
---|
| 38 | end
|
---|
[16] | 39 |
|
---|
| 40 | %plot results
|
---|
[3573] | 41 | plotmodel(md,'data',[md.thickness 500+100*sin(2*pi/200*(500-md.y/400))],'sectionvalue','CrossLine.exp')
|
---|
[16] | 42 |
|
---|
| 43 | %Don't forget to add these lines in icetransient2d.m, just before the computation of the thickness to change the thickness on the upper boundary condition
|
---|
| 44 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 45 | %pos=find(m_p.ys~=0);
|
---|
| 46 | %m_p.ys(pos)=500+500/5*sin(2*pi*time/(200*md.yts))*ones(size(pos,1),1);
|
---|
| 47 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|