source: issm/trunk-jpl/src/m/plot/plot_icefront.m@ 19203

Last change on this file since 19203 was 19203, checked in by Mathieu Morlighem, 10 years ago

CHG: fixed plot_BC on new version of matlab

File size: 2.8 KB
Line 
1function h2 = plot_icefront(md,options,width,i,data)
2%PLOT_ICEFRONT - plot segment on neumann BC
3%
4% Usage:
5% plot_icefront(md,options,width,i);
6%
7% See also: PLOTMODEL
8
9%plot mesh boundaries
10subplot(width,width,i);
11
12%process mesh and data
13[x y z elements is2d isplanet]=processmesh(md,[],options);
14ice=(md.mask.ice_levelset<0);
15noice=(md.mask.ice_levelset>=0);
16zeroice=(md.mask.ice_levelset==0);
17elementice=sum(ice(md.mesh.elements),2);
18elementnoice=sum(noice(md.mesh.elements),2);
19elementzeroice=sum(zeroice(md.mesh.elements),2);
20
21if dimension(md.mesh)==2,
22 icefront=(elementice & elementnoice) & ~(elementice==2 & elementzeroice);
23
24 %plot mesh
25 A=elements(:,1); B=elements(:,2); C=elements(:,3);
26 h1=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
27 hold on;
28
29 %highlight elements on neumann
30 pos=find(icefront);
31 A=elements(pos,1); B=elements(pos,2); C=elements(pos,3);
32 h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
33 hold on;
34
35 %Plot zero ice_levelset line
36
37else
38 icefront=(elementice & elementnoice) & ~(elementice==4 & elementzeroice);
39
40 %plot mesh
41 A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
42 h1=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
43 patch( 'Faces', [D E F], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
44 patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
45 patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
46 patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
47 hold on;
48
49 %highlight elements on neumann
50 pos=find(icefront);
51 A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
52 h2=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
53 patch( 'Faces', [D E F], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
54 patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
55 patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
56 patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
57end
58
59%legend (disable warnings)
60warning off
61legend([h2],'element on ice front')
62warning on
63
64%apply options
65options=addfielddefault(options,'title','Neumann boundary conditions');
66options=addfielddefault(options,'colorbar',0);
67applyoptions(md,[],options);
Note: See TracBrowser for help on using the repository browser.