Changeset 26831


Ignore:
Timestamp:
01/28/22 06:32:40 (3 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added necessary fields for refine to work

File:
1 edited

Legend:

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

    r26526 r26831  
    928928                        x_edges = 0.5*(md.mesh.x(edges(:,1)) + md.mesh.x(edges(:,2)));
    929929                        y_edges = 0.5*(md.mesh.y(edges(:,1)) + md.mesh.y(edges(:,2)));
    930                         md2.mesh.x = [md2.mesh.x;x_edges];
    931                         md2.mesh.y = [md2.mesh.y;y_edges];
    932                         md2.mesh.elements = [...
     930                        xnew = [md2.mesh.x;x_edges];
     931                        ynew = [md2.mesh.y;y_edges];
     932                        indexnew = [...
    933933                                index(:,1)          nbv+edges_tria(:,3) nbv+edges_tria(:,2);...
    934934                                nbv+edges_tria(:,2) nbv+edges_tria(:,3) nbv+edges_tria(:,1);...
    935935                                nbv+edges_tria(:,2) nbv+edges_tria(:,1) index(:,3);...
    936936                                nbv+edges_tria(:,3) index(:,2)          nbv+edges_tria(:,1)];
    937                         md2.mesh.numberofelements = 4*nbe;
    938                         md2.mesh.numberofvertices = nbv + size(edges,1);
     937                        %md2.mesh.numberofelements = 4*nbe;
     938                        %md2.mesh.numberofvertices = nbv + size(edges,1);
     939
     940                        %Call Bamg to update other mesh properties
     941                        [bamgmesh_out bamggeom_out]=BamgConvertMesh(indexnew,xnew,ynew);
     942                        md2.mesh.x              = bamgmesh_out.Vertices(:,1);
     943                        md2.mesh.y              = bamgmesh_out.Vertices(:,2);
     944                        md2.mesh.elements       = bamgmesh_out.Triangles(:,1:3);
     945                        md2.mesh.edges          = bamgmesh_out.IssmEdges;
     946                        md2.mesh.segments       = bamgmesh_out.IssmSegments(:,1:3);
     947                        md2.mesh.segmentmarkers = bamgmesh_out.IssmSegments(:,4);
     948                        md2.mesh.numberofelements = size(md2.mesh.elements,1);
     949                        md2.mesh.numberofvertices = length(md2.mesh.x);
     950                        md2.mesh.numberofedges    = size(md2.mesh.edges,1);
     951                        md2.mesh.vertexonboundary = zeros(md2.mesh.numberofvertices,1); md2.mesh.vertexonboundary(md2.mesh.segments(:,1:2)) = 1;
     952
     953                        %Deal with boudary
     954                        md2.mesh.vertexonboundary = [md.mesh.vertexonboundary;sum(md.mesh.vertexonboundary(edges),2)==2];
     955                        md2.mesh.elementconnectivity=bamgmesh_out.ElementConnectivity;
     956                        md2.mesh.elementconnectivity(find(isnan(md2.mesh.elementconnectivity)))=0;
    939957                        disp(['   Old number of elements: ' num2str(nbe)]);
    940958                        disp(['   New number of elements: ' num2str(4*nbe)]);
Note: See TracChangeset for help on using the changeset viewer.