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

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

minor nodeonwater

File size: 1.2 KB
Line 
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
27md.private.bamg=struct();
28md.private.bamg.mesh=bamgmesh(bamgmesh_out);
29md.private.bamg.geometry=bamggeom(bamggeom_out);
30md.x=bamgmesh_out.Vertices(:,1);
31md.y=bamgmesh_out.Vertices(:,2);
32md.elements=bamgmesh_out.Triangles(:,1:3);
33md.edges=bamgmesh_out.IssmEdges;
34md.segments=bamgmesh_out.IssmSegments(:,1:3);
35md.segmentmarkers=bamgmesh_out.IssmSegments(:,4);
36
37%Fill in rest of fields:
38md.dim=2;
39md.numberofelements=size(md.elements,1);
40md.numberofnodes=length(md.x);
41md.z=zeros(md.numberofnodes,1);
42md.nodeonbed=ones(md.numberofnodes,1);
43md.mask.vertexonwater=zeros(md.numberofnodes,1);
44md.nodeonsurface=ones(md.numberofnodes,1);
45md.elementonbed=ones(md.numberofelements,1);
46md.elementonsurface=ones(md.numberofelements,1);
47md.nodeonboundary=zeros(md.numberofnodes,1); md.nodeonboundary(md.segments(:,1:2))=1;
Note: See TracBrowser for help on using the repository browser.