function []= Get2D_Truss_Data(FIDI_NAME) %GetData2D(FIDI_NAME) reads input data for 2D truss from FIDI_NAME. %FIDI_NAME (FIDI ~ File ID for Input) is the name of the input data file. global nn ne nm ndim nep nqn global nq nf nmpc global XYZ CTAB AE QTAB FTAB MATERIAL global ns ANSWER = input('Input Data File Name: ', 's'); %Get typed name of FIDI if size(ANSWER) ~= 0 FIDI_NAME = ANSWER end FIDI = fopen(FIDI_NAME, 'r'); %Open input file disp(blanks(1)); %Write blanks to screen TEXT = fgets(FIDI) %Read captions, 4 lines TEXT = fgets(FIDI) TEXT = fgets(FIDI) TEXT = fgets(FIDI) DATA = str2num(fgets(FIDI)); [nn ne nm ndim nep nqn] = deal(DATA(1), DATA(2), DATA(3), DATA(4), DATA(5), DATA(6)) TEXT = fgets(FIDI) DATA = str2num(fgets(FIDI)); [nq nf nmpc] = deal(DATA(1), DATA(2), DATA(3)); TEXT = fgets(FIDI) XYZ = zeros(nn,3); %make node coordinates table for i=1:nn DATA = str2num(fgets(FIDI)); for j=1:ndim XYZ(DATA(1),j) = DATA(1+j); end end TEXT = fgets(FIDI) CTAB = zeros(ne,2); %make CTAB: connectivity table AE = zeros(ne,1); %make AE: members property table for i=1:ne DATA = str2num(fgets(FIDI)); [CTAB(DATA(1),1) CTAB(DATA(1),2) AE(DATA(1))] = deal(DATA(2), DATA(3), DATA(4)); end TEXT = fgets(FIDI) QTAB = zeros(nq,2); %make QTAB: essential displacements table for i=1:nq DATA = str2num(fgets(FIDI)); [QTAB(i,1) QTAB(i,2)] = deal(DATA(1), DATA(2)); end TEXT = fgets(FIDI) FTAB = zeros(nf,2); %make FTAB: specified forces table for i=1:nf DATA = str2num(fgets(FIDI)); [FTAB(i,1) FTAB(i,2)] = deal(DATA(1), DATA(2)); end TEXT = fgets(FIDI) MATERIAL = zeros(nm,2); %make FTAB: specified forces table for i=1:nm DATA = str2num(fgets(FIDI)); nmp=1; %number of material properties for j=1:nmp MATERIAL(DATA(1),j) = DATA(1+j); end end TEXT = fgets(FIDI) status = fclose('all'); ns = nn*nqn return;