Changeset 3115


Ignore:
Timestamp:
02/24/10 11:11:38 (15 years ago)
Author:
seroussi
Message:

improved findsegments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/mesh/findsegments.m

    r2612 r3115  
    1 function segments=findsegments(md)
     1function segments=findsegments(md,varargin)
    22%FINDSEGMENTS - build segments model field
    33%
     4%   Optional inputs:
     5%      'elementconnectivity'
     6%
    47%   Usage:
    5 %      segments=findsegments(md);
     8%      segments=findsegments(md,varargin);
    69
    7 %Now, build the connectivity tables for this mesh.
    8 if size(md.nodeconnectivity,1)~=md.numberofgrids,
    9         md.nodeconnectivity=NodeConnectivity(md.elements,md.numberofgrids);
    10 end
     10%get options
     11options=pairoptions(varargin{:});
     12
     13%Get connectivity
     14elementconnectivity=getfieldvalue(options,'elementconnectivity',md.elementconnectivity);
     15
     16%Now, build the connectivity tables for this mesh if not correclty done
    1117if size(md.elementconnectivity,1)~=md.numberofelements,
    12         md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity);
     18        if exist(options,'elementconnectivity'),
     19                error(' ''elementconnectivity'' option does not have thge right size.');
     20        else
     21                elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity);
     22        end
    1323end
    1424
    1525%Recreate the segments
    16 elementconnectivity=md.elementconnectivity;
    17 elementonboundary=double(elementconnectivity(:,end)==0);
     26elementonboundary=double(elementconnectivity(:,3)==0);
    1827pos=find(elementonboundary);
    1928num_segments=length(pos);
Note: See TracChangeset for help on using the changeset viewer.