Changeset 1368 for issm/trunk/src/m/classes/public/modelextract2.m
- Timestamp:
- 07/24/09 10:08:54 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/modelextract2.m
r1361 r1368 1 function md2=modelextract2(md1,area ,varargin)1 function md2=modelextract2(md1,area) 2 2 %modelextract2 - extract a model according to an Argus contour or flag list 3 3 % … … 12 12 % 13 13 % Usage: 14 % md2=modelextract2(md1,area ,varargin);14 % md2=modelextract2(md1,area); 15 15 % 16 16 % Examples: 17 17 % md2=modelextract2(md,'Domain.exp'); 18 % md2=modelextract2(md,'Domain.exp',1);19 18 % md2=modelextract2(md,md.elementoniceshelf); 20 19 % … … 22 21 23 22 %some checks 24 if ((nargin~=2 & nargin~=3) | (nargout~=1)),23 if ((nargin~=2) | (nargout~=1)), 25 24 help modelextract2 26 25 error('modelextract2 error message: bad usage'); 27 end28 if strcmpi(md1.type,'3d'),29 error('modelextract2 error message: only 2d model supported yet. Use BasinConstrain instead');30 26 end 31 27 … … 87 83 numberofgrids2=length(pos_grid); 88 84 numberofelements2=length(pos_elem); 85 flag_grid=zeros(numberofgrids1,1); 86 flag_grid(pos_grid)=1; 89 87 90 88 %Create Pelem and Pgrid (transform old grids in new grids and same thing for the elements) … … 138 136 md2.elements=elements_2; 139 137 138 %uppernodes lowernodes 139 if strcmpi(md1.type,'3d') 140 md2.uppergrids=md1.uppergrids(pos_grid); 141 pos=find(~isnan(md2.uppergrids)); 142 md2.uppergrids(pos)=Pgrid(md2.uppergrids(pos)); 143 144 md2.lowergrids=md1.lowergrids(pos_grid); 145 pos=find(~isnan(md2.lowergrids)); 146 md2.lowergrids(pos)=Pgrid(md2.lowergrids(pos)); 147 end 148 140 149 %Initial 2d mesh 141 150 if strcmpi(md1.type,'3d') … … 167 176 168 177 %recreate segments 169 md2.segments=findsegments(md2);170 md2.gridonboundary=zeros(numberofgrids2,1); md1.gridonboundary(md2.segments(:,1:2))=1;171 172 if ~isnan(md2.elements_type), md2.elements_type=md1.elements_type(pos_elem,:);end178 if strcmpi(md1.type,'2d') 179 md2.segments=findsegments(md2); 180 md2.gridonboundary=zeros(numberofgrids2,1); md1.gridonboundary(md2.segments(:,1:2))=1; 181 end 173 182 174 183 %Boundary conditions: Dirichlets on new boundary
Note:
See TracChangeset
for help on using the changeset viewer.