source: issm/trunk/src/m/model/mesh/meshconvert.m@ 9729

Last change on this file since 9729 was 9729, checked in by seroussi, 14 years ago

added mode fields in mesh

File size: 1.4 KB
RevLine 
[3354]1function md=meshconvert(md,varargin)
2%CONVERTMESH - convert mesh to bamg mesh
3%
4% Usage:
5% md=meshconvert(md);
6% md=meshconvert(md,index,x,y);
7
8if nargin~=1 & nargin~=4,
9 help meshconvert
10 error('meshconvert error message: bad usage');
11end
12
13if nargin==1,
14 x=md.x;
15 y=md.y;
16 index=md.elements;
17else
18 x=varargin{1};
19 y=varargin{2};
20 index=varargin{3};
21end
22
23%call Bamg
24[bamgmesh_out bamggeom_out]=BamgConvertMesh(index,x,y);
25
26% plug results onto model
[9614]27md.private.bamg=struct();
28md.private.bamg.mesh=bamgmesh(bamgmesh_out);
29md.private.bamg.geometry=bamggeom(bamggeom_out);
[3354]30md.x=bamgmesh_out.Vertices(:,1);
31md.y=bamgmesh_out.Vertices(:,2);
32md.elements=bamgmesh_out.Triangles(:,1:3);
[5093]33md.edges=bamgmesh_out.IssmEdges;
[9714]34md.mesh.segments=bamgmesh_out.IssmSegments(:,1:3);
35md.mesh.segmentmarkers=bamgmesh_out.IssmSegments(:,4);
[3354]36
37%Fill in rest of fields:
[9719]38md.mesh.dimension=2;
[9725]39md.mesh.numberofelements=size(md.elements,1);
40md.mesh.numberofvertices=length(md.x);
41md.z=zeros(md.mesh.numberofvertices,1);
[9729]42md.mesh.vertexonbed=ones(md.mesh.numberofvertices,1);
[9725]43md.mask.vertexonwater=zeros(md.mesh.numberofvertices,1);
[9729]44md.mesh.vertexonsurface=ones(md.mesh.numberofvertices,1);
45md.mesh.elementonbed=ones(md.mesh.numberofelements,1);
46md.mesh.elementonsurface=ones(md.mesh.numberofelements,1);
[9725]47md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;
Note: See TracBrowser for help on using the repository browser.