-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRead_input.m
67 lines (57 loc) · 1.42 KB
/
Read_input.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function [node, element, elemType, nel, nen, nIntPts,nnd,ps, nu, E, Force_Node, bforce, disp_BC]=Read_input(filename)
% you can remove the two cd ../ line if your files are in the same
% directories
%cd ../file
filename
fid=fopen(filename, 'r');
%cd ../Solution
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
E=C{1,1};
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
nu=C{1,1};
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
ps=C{1,1};
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
nnd=C{1,1};
C=textscan(fid,'%n %n','MultipleDelimsAsOne', 1);
X=C{1};
Y=C{2};
node=[X Y];
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
nel=C{1,1};
C=textscan(fid,'%n',1);
nen=C{1,1};
if (nen==4)
elemType='Q4';
C=textscan(fid,'%u %u %u %u','MultipleDelimsAsOne', 1);
element=cell2mat(C(1:4));
elseif (nen==9)
elemType='Q9';
C=textscan(fid,'%u %u %u %u %u %u %u %u %u','MultipleDelimsAsOne', 1);
element=cell2mat(C(1:9));
elseif (nen==8)
elemType='Q8';
C=textscan(fid,'%u %u %u %u %u %u %u %u','MultipleDelimsAsOne', 1);
element=cell2mat(C(1:8));
end
C=textscan(fid,'%s',1);
C=textscan(fid,'%n',1);
nIntPts=C{1,1};
C=textscan(fid,'%s',1);
C=textscan(fid,'%s',6);
C=textscan(fid,'%n %n %n','MultipleDelimsAsOne', 1);
clear disp_BC
z=C{3};
disp_BC=[C{1} C{2} z];
C=textscan(fid,'%s',4);
C=textscan(fid,'%u','MultipleDelimsAsOne', 1);
Force_Node=C{1};
C=textscan(fid,'%s',2);
C=textscan(fid,'%n',1);
bforce=C{1,1};
fclose(fid);