Changeset 3099
- Timestamp:
- 02/23/10 16:09:26 (15 years ago)
- Location:
- issm/trunk/src/m
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/collapse.m
r2689 r3099 67 67 %in 2d, segmentonnumann is: [grid1 grid2 element] 68 68 numberofneumann2d=size(md.pressureload,1)/md.numlayers; 69 md.pressureload=[md.pressureload(1:numberofneumann2d,1:2) md.pressureload(1:numberofneumann2d,5 )]; %Add two columns on the first layer69 md.pressureload=[md.pressureload(1:numberofneumann2d,1:2) md.pressureload(1:numberofneumann2d,5:6)]; %Add two columns on the first layer 70 70 71 71 %materials -
issm/trunk/src/m/classes/public/extrude.m
r2521 r3099 185 185 %Extrusion of Neumann BC 186 186 %in 3d, segmentonnumann is: [grid1 grid2 grid3 grid4 element] 187 oldpressureload=md.pressureload; 188 pressureload_layer1=[oldpressureload(:,1:2) oldpressureload(:,2)+md.numberofgrids2d oldpressureload(:,1)+md.numberofgrids2d oldpressureload(:,3)]; %Add two columns on the first layer 187 pressureload_layer1=[md.pressureload(:,1:2) md.pressureload(:,2)+md.numberofgrids2d md.pressureload(:,1)+md.numberofgrids2d md.pressureload(:,3:4)]; %Add two columns on the first layer 189 188 pressureload=[]; 190 189 for i=1:numlayers-1, 191 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];190 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d pressureload_layer1(:,6)]; 192 191 end 193 192 -
issm/trunk/src/m/classes/public/geography2.m
r2986 r3099 160 160 md.elementonicesheet=elementonicesheet; 161 161 162 md.pressureload=segments;163 162 md.counter=2; 164 163 md.segmentmarkers(:)=1; -
issm/trunk/src/m/classes/public/ismodelselfconsistent.m
r3055 r3099 76 76 if strcmpi(md.type,'2d'), 77 77 fields={'pressureload'}; 78 checksize(md,fields,[NaN 3]);78 checksize(md,fields,[NaN 4]); 79 79 elseif strcmpi(md.type,'3d'), 80 80 fields={'pressureload'}; 81 checksize(md,fields,[NaN 5]);81 checksize(md,fields,[NaN 6]); 82 82 end 83 83 -
issm/trunk/src/m/classes/public/modelextract.m
r2988 r3099 198 198 md2.pressureload(:,1)=Pgrid(md1.pressureload(:,1)); 199 199 md2.pressureload(:,2)=Pgrid(md1.pressureload(:,2)); 200 md2.pressureload(:,end )=Pelem(md1.pressureload(:,end));200 md2.pressureload(:,end-1)=Pelem(md1.pressureload(:,end-1)); 201 201 if strcmpi(md1.type,'3d') 202 202 md2.pressureload(:,3)=Pgrid(md1.pressureload(:,3)); -
issm/trunk/src/m/classes/public/plot/plot_pressureload.m
r2513 r3099 22 22 23 23 %highlight elements on neumann in Green 24 pos=pressureload(:,end );24 pos=pressureload(:,end-1); 25 25 A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 26 26 h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black'); … … 28 28 29 29 %display arrows pointing outward 30 xstart=mean(x(pressureload(:,1:end- 1)),2);31 ystart=mean(y(pressureload(:,1:end- 1)),2);30 xstart=mean(x(pressureload(:,1:end-2)),2); 31 ystart=mean(y(pressureload(:,1:end-2)),2); 32 32 length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 ); 33 33 normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1))))); … … 49 49 50 50 %highlight elements on neumann in Green 51 pos=pressureload(:,end );51 pos=pressureload(:,end-1); 52 52 A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6); 53 53 h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black'); … … 59 59 60 60 %display arrows pointing outward 61 xstart=mean(x(pressureload(:,1:end- 1)),2);62 ystart=mean(y(pressureload(:,1:end- 1)),2);63 zstart=mean(z(pressureload(:,1:end- 1)),2);61 xstart=mean(x(pressureload(:,1:end-2)),2); 62 ystart=mean(y(pressureload(:,1:end-2)),2); 63 zstart=mean(z(pressureload(:,1:end-2)),2); 64 64 length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 ); 65 65 normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1))))); -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r2330 r3099 22 22 %segment on neumann (Ice Front) -> none 23 23 if strcmpi(md.type,'2d') 24 md.pressureload=zeros(0, 3);24 md.pressureload=zeros(0,4); 25 25 else 26 md.pressureload=zeros(0, 5);26 md.pressureload=zeros(0,6); 27 27 end 28 28 -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r2330 r3099 33 33 34 34 %segment on Ice Front 35 %segment on Neumann (Ice Front) 35 36 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); 36 pressureload=md.segments(pos,:); 37 if strcmpi(md.type,'3d') 38 oldpressureload=pressureload; 39 pressureload_layer1=[ oldpressureload(:,1:2) oldpressureload(:,2)+md.numberofgrids2d oldpressureload(:,1)+md.numberofgrids2d oldpressureload(:,3)];37 if strcmpi(md.type,'2d') 38 pressureload=md.segments(pos,:); 39 elseif strcmpi(md.type,'3d') 40 pressureload_layer1=[md.segments(pos,1:2) md.segments(pos,2)+md.numberofgrids2d md.segments(pos,1)+md.numberofgrids2d md.segments(pos,3)]; 40 41 pressureload=[]; 41 42 for i=1:md.numlayers-1, … … 43 44 end 44 45 end 46 47 %Add water or air enum depending on the element 48 pressureload=[pressureload WaterEnum*md.elementoniceshelf(pressureload(:,end))]; 49 50 %plug onto model 45 51 md.pressureload=pressureload; 46 52 -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r2330 r3099 46 46 %segment on Neumann (Ice Front) 47 47 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); 48 pressureload=md.segments(pos,:); 49 if strcmpi(md.type,'3d') 50 oldpressureload=pressureload; 51 pressureload_layer1=[ oldpressureload(:,1:2) oldpressureload(:,2)+md.numberofgrids2d oldpressureload(:,1)+md.numberofgrids2d oldpressureload(:,3)];48 if strcmpi(md.type,'2d') 49 pressureload=md.segments(pos,:); 50 elseif strcmpi(md.type,'3d') 51 pressureload_layer1=[md.segments(pos,1:2) md.segments(pos,2)+md.numberofgrids2d md.segments(pos,1)+md.numberofgrids2d md.segments(pos,3)]; 52 52 pressureload=[]; 53 53 for i=1:md.numlayers-1, … … 55 55 end 56 56 end 57 58 %Add water or air enum depending on the element 59 pressureload=[pressureload WaterEnum*md.elementoniceshelf(pressureload(:,end))+AirEnum*md.elementonicesheet(pressureload(:,end))]; 60 61 %plug onto model 57 62 md.pressureload=pressureload; 58 63
Note:
See TracChangeset
for help on using the changeset viewer.