source: issm/trunk/test/Validation/EISMINT/MassConservation/runme.m@ 4869

Last change on this file since 4869 was 4869, checked in by seroussi, 15 years ago

eismint tests (shelves)

File size: 1.8 KB
RevLine 
[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);
6md=bamg(model,'domain','DomainOutline.exp','hmax',3000);
[16]7md=geography(md,'all','');
8md=parameterize(md,'Square.par');
9md=setelementstype(md,'macayeal','all');
10
11%Evolution of the ice shelf
[3573]12md.ndt=500;
13md.dt=1;
14md.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:
19md.cluster=oshostname();
20md.np=8;
21i=0;
22time=0;
23md.dummy=struct();
24pos=find(md.y>199999.9);
25connectivity=full(sparse(md.elements(:),1,1));
26while(time<500),
27 disp(['step ' num2str(i) '/' num2str(500/md.dt)]);
28 i=i+1;
29 time=time+md.dt;
[4869]30 md=solve(md,'analysis_type',PrognosticSolutionEnum);
31 thickness =zeros(md.numberofgrids,1);
32 connectivity=sparse(md.results.PrognosticSolution.Thickness.index(:),1,1);
33 thickness =sparse(md.results.PrognosticSolution.Thickness.index(:),1,md.results.PrognosticSolution.Thickness.value(:));
34 md.thickness=full(thickness./connectivity);
[3573]35 md.thickness(pos)=500+100*sin(2*pi*time/200)*ones(size(pos,1),1);
36 md.surface=md.bed+md.thickness;
37 md.dummy(i).thickness=md.thickness;
38 %plotmodel(md,'data',md.thickness,'sectionvalue','CrossLine.exp')
39end
[16]40
41%plot results
[3573]42plotmodel(md,'data',[md.thickness 500+100*sin(2*pi/200*(500-md.y/400))],'sectionvalue','CrossLine.exp')
[16]43
44%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
45%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46%pos=find(m_p.ys~=0);
47%m_p.ys(pos)=500+500/5*sin(2*pi*time/(200*md.yts))*ones(size(pos,1),1);
48%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the repository browser.