source: issm/trunk/src/m/plot/plot_icefront.m@ 20500

Last change on this file since 20500 was 20500, checked in by Mathieu Morlighem, 9 years ago

merged trunk-jpl and trunk for revision 20497

File size: 2.8 KB
RevLine 
[20500]1function h2 = plot_icefront(md,options,width,i,data)
[11249]2%PLOT_ICEFRONT - plot segment on neumann BC
[1758]3%
4% Usage:
[11249]5% plot_icefront(md,options,width,i);
[1758]6%
7% See also: PLOTMODEL
8
9%plot mesh boundaries
10subplot(width,width,i);
11
12%process mesh and data
[8472]13[x y z elements is2d isplanet]=processmesh(md,[],options);
[17806]14ice=(md.mask.ice_levelset<0);
15noice=(md.mask.ice_levelset>=0);
[16137]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);
[1758]20
[17806]21if dimension(md.mesh)==2,
[16137]22 icefront=(elementice & elementnoice) & ~(elementice==2 & elementzeroice);
[1758]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
[3103]29 %highlight elements on neumann
[16137]30 pos=find(icefront);
[1758]31 A=elements(pos,1); B=elements(pos,2); C=elements(pos,3);
[3103]32 h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
[16137]33 hold on;
[1758]34
[16137]35 %Plot zero ice_levelset line
[7315]36
[1758]37else
[16137]38 icefront=(elementice & elementnoice) & ~(elementice==4 & elementzeroice);
[1758]39
40 %plot mesh
41 A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
[5617]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');
[1758]47 hold on;
48
[3103]49 %highlight elements on neumann
[16137]50 pos=find(icefront);
[1758]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);
[5617]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');
[1758]57end
58
[2513]59%legend (disable warnings)
60warning off
[16137]61legend([h2],'element on ice front')
[2513]62warning on
[1758]63
64%apply options
[2439]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.