0001 function md=meshrefine(md,areas)
0002
0003
0004
0005
0006
0007
0008 if ((nargin~=2) | (nargout~=1)),
0009 meshrefineusage();
0010 error('meshrefine error message');
0011 end
0012 if ( (isempty(areas)) | (length(areas)~=md.numberofelements) | (length(find(isnan(areas))))),
0013 meshrefineusage();
0014 error('meshrefine error message');
0015 end
0016
0017
0018
0019 [md.elements,md.x,md.y,md.segments,md.segmentmarkers]=TriMeshRefine(md.elements,md.x,md.y,md.segments,md.segmentmarkers,areas,'yes');
0020
0021
0022 md.numberofelements=length(md.elements);
0023 md.numberofgrids=length(md.x);
0024 md.z=zeros(md.numberofgrids,1);
0025 md.gridonboundary=zeros(md.numberofgrids,1); md.gridonboundary(md.segments(:,1:2))=1;
0026 md.gridonbed=ones(md.numberofgrids,1);
0027 md.gridonsurface=ones(md.numberofgrids,1);
0028 md.elementonbed=ones(md.numberofelements,1);
0029 md.elementonsurface=ones(md.numberofelements,1);
0030
0031
0032 md.type='2d';
0033
0034
0035 md.counter=1;
0036 end
0037
0038 function meshrefineusage(),
0039 disp('usage: md=meshrefine(md,areas)');
0040 end