43 lines
1 KiB
Matlab
43 lines
1 KiB
Matlab
function [ xc, ia, v ] = ascii_read_meshvector( fname )
|
|
%
|
|
% Loads the 2D triangular mesh (coordinates, vertex connectivity)
|
|
% together with values on its vertices from an ASCII file.
|
|
% Matlab indexing is stored (starts with 1).
|
|
%
|
|
% The input file format is compatible
|
|
% with Mesh_2d_3_matlab:Write_ascii_matlab(..) in jacobi_oo_stl/geom.h
|
|
%
|
|
%
|
|
% IN: fname - filename
|
|
% OUT: xc - coordinates
|
|
% ia - mesh connectivity
|
|
% v - solution vector
|
|
|
|
DELIMETER = ' ';
|
|
|
|
fprintf('Read file %s\n',fname)
|
|
|
|
% Read mesh constants
|
|
nn = dlmread(fname,DELIMETER,[0 0 0 3]); %% row_1, col_1, row_2, col_2 in C indexing!!!
|
|
nnode = nn(1);
|
|
ndim = nn(2);
|
|
nelem = nn(3);
|
|
nvert = nn(4);
|
|
|
|
% Read coordinates
|
|
row_start = 0+1;
|
|
row_end = 0+nnode;
|
|
xc = dlmread(fname,DELIMETER,[row_start 0 row_end ndim-1]);
|
|
|
|
% Read connectivity
|
|
row_start = row_end+1;
|
|
row_end = row_end+nelem;
|
|
ia = dlmread(fname,DELIMETER,[row_start 0 row_end nvert-1]);
|
|
|
|
% Read solution
|
|
row_start = row_end+1;
|
|
row_end = row_end+nnode;
|
|
v = dlmread(fname,DELIMETER,[row_start 0 row_end 0]);
|
|
end
|
|
|
|
|