1
function xmlmesh(filename,p,t)
3
% XMLMESH - SAVE MATLAB 2D (AND FEMLAB 3D) MESH TO DOLFIN XML FORMAT
5
% Usage: xmlmesh(filename,p,t)
7
% p - points (exported from PDE Toolbox)
8
% t - triangles (exported from PDE Toolbox)
10
% Copyright (C) 2004 Erik Svensson.
11
% Licensed under the GNU LGPL Version 2.1.
13
% Modified by Anders Logg 2004-2005.
15
% First added: 2004-02-10
19
fp = fopen(filename,'w');
25
fprintf(fp,'<?xml version="1.0" encoding="UTF-8"?>\n\n');
26
fprintf(fp,'<dolfin xmlns:dolfin="http://www.phi.chalmers.se/dolfin/">\n');
32
disp('Writing vertices...')
33
fprintf(fp,' <mesh>\n');
34
fprintf(fp,' <vertices size="%d">\n',np);
36
fprintf(fp,' <vertex name="%d" x="%f" y="%f" z="0.0"/>\n', ...
39
fprintf(fp,' </vertices>\n');
42
disp('Writing cells...')
43
fprintf(fp,' <cells size="%d">\n',nt);
45
fprintf(fp,' <triangle name="%d" n0="%d" n1="%d" n2="%d"/>\n', ...
46
n-1,t(1,n)-1,t(2,n)-1,t(3,n)-1);
48
fprintf(fp,' </cells>\n');
49
fprintf(fp,' </mesh>\n');
50
fprintf(fp,'</dolfin>\n');
53
elseif (size(p,1) == 3)
56
disp('Writing nodes...')
57
fprintf(fp,' <mesh>\n');
58
fprintf(fp,' <vertices size="%d">\n',np);
60
fprintf(fp,' <vertex name="%d" x="%f" y="%f" z="%f"/>\n', ...
61
n-1,p(1,n),p(2,n),p(3,n));
63
fprintf(fp,' </vertices>\n');
66
disp('Writing cells...')
67
fprintf(fp,' <cells size="%d">\n',nt);
69
fprintf(fp,' <tetrahedron name="%d" n0="%d" n1="%d" n2="%d" n3="%d"/>\n', ...
70
n-1,t(1,n)-1,t(2,n)-1,t(3,n)-1,t(4,n)-1);
72
fprintf(fp,' </cells>\n');
73
fprintf(fp,' </mesh>\n');
74
fprintf(fp,'</dolfin>\n');