Changeset 12094


Ignore:
Timestamp:
04/20/12 15:03:00 (13 years ago)
Author:
Mathieu Morlighem
Message:

Merging TriMesh and TriMeshRifts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/model/mesh/triangle.m

    r12082 r12094  
    3838
    3939%Mesh using TriMesh
    40 if strcmp(riftname,''),
    41         [md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers]=TriMesh(domainname,area,true);
    42 else
    43         [elements,x,y,segments,segmentmarkers]=TriMeshRifts(domainname,riftname,area,true);
     40[elements,x,y,segments,segmentmarkers]=TriMesh(domainname,riftname,area);
    4441
    45         %check that all the created nodes belong to at least one element
    46         orphan=find(~ismember([1:length(x)],sort(unique(elements(:)))));
    47         for i=1:length(orphan),
    48                 %get rid of the orphan node i
    49                 %update x and y
    50                 x=[x(1:orphan(i)-(i-1)-1); x(orphan(i)-(i-1)+1:end)];
    51                 y=[y(1:orphan(i)-(i-1)-1); y(orphan(i)-(i-1)+1:end)];
    52                 %update elements
    53                 pos=find(elements>orphan(i)-(i-1));
    54                 elements(pos)=elements(pos)-1;
    55                 %update segments
    56                 pos1=find(segments(:,1)>orphan(i)-(i-1));
    57                 pos2=find(segments(:,2)>orphan(i)-(i-1));
    58                 segments(pos1,1)=segments(pos1,1)-1;
    59                 segments(pos2,2)=segments(pos2,2)-1;
    60         end
     42%check that all the created nodes belong to at least one element
     43orphan=find(~ismember([1:length(x)],sort(unique(elements(:)))));
     44for i=1:length(orphan),
     45        disp('WARNING: removing orphans');
     46        %get rid of the orphan node i
     47        %update x and y
     48        x=[x(1:orphan(i)-(i-1)-1); x(orphan(i)-(i-1)+1:end)];
     49        y=[y(1:orphan(i)-(i-1)-1); y(orphan(i)-(i-1)+1:end)];
     50        %update elements
     51        pos=find(elements>orphan(i)-(i-1));
     52        elements(pos)=elements(pos)-1;
     53        %update segments
     54        pos1=find(segments(:,1)>orphan(i)-(i-1));
     55        pos2=find(segments(:,2)>orphan(i)-(i-1));
     56        segments(pos1,1)=segments(pos1,1)-1;
     57        segments(pos2,2)=segments(pos2,2)-1;
     58end
    6159
    62         %plug into md
    63         md.mesh.x=x;
    64         md.mesh.y=y;
    65         md.mesh.elements=elements;
    66         md.mesh.segments=segments;
    67         md.mesh.segmentmarkers=segmentmarkers;
    68 end
     60%plug into md
     61md.mesh.x=x;
     62md.mesh.y=y;
     63md.mesh.elements=elements;
     64md.mesh.segments=segments;
     65md.mesh.segmentmarkers=segmentmarkers;
    6966
    7067%Fill in rest of fields:
Note: See TracChangeset for help on using the changeset viewer.