meshrefine

PURPOSE ^

MESHREFINE: refined the mesh from a model, according to an area metric.

SYNOPSIS ^

function md=meshrefine(md,areas)

DESCRIPTION ^

MESHREFINE:  refined the mesh from a model, according to an area metric.

   Usage:
      md=meshrefine(md,metric)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function md=meshrefine(md,areas)
0002 %MESHREFINE:  refined the mesh from a model, according to an area metric.
0003 %
0004 %   Usage:
0005 %      md=meshrefine(md,metric)
0006 
0007 %some checks on list of arguments
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 %Refine using TriMeshRefine
0018 %[md.elements,md.x,md.y,md.segments,md.rifts]=TriMeshRefine(md.elements,md.x,md.y,md.segments,md.rifts,areas,'yes');
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 %Fill in rest of fields:
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 %type of model
0032 md.type='2d';
0033     
0034 %augment counter  keeping track of what has been done to this model
0035 md.counter=1;
0036 end
0037 
0038 function meshrefineusage(),
0039 disp('usage: md=meshrefine(md,areas)');
0040 end

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003