Professional Documents
Culture Documents
Program Discerption & Verification
Program Discerption & Verification
Program Discerption:
A standalone program “Stiffness 2D” was created using the MATLAB compiler. The program is formed from more than
2500 execution code lines written in MATLAB compiler programming language. It can be used to solve any 2D frame
structure using the generalized stiffness method. Solution includes deformations at nodes, members end forces, and
stiffness matrices, load vectors & displacement vectors generated after each execution step.
Program interface
Nodal data.
Node coordinates.
Node Supports.
Nodal forces.
Directory of input text file used. Browse for input text file.
Members data.
Member nodal
connectivity.
Member section
properties
Member loading
set (1).
Directory of input text file used. Browse for input text file.
Execution commands.
Input file format
I) Nodes input file
Node ID Node Force
(Must be numeric) Y-Coordinate Y-Restraint (In X-Direction) Node Moment
nRMember;
Member;
indices2;
NameMember;
selpath;
PjGl;
MemTr;
MemStLo;
MemStGl;
PmLo;
PmGl;
PfGl;
StGl;
PGl;
nDofT;
nDofE;
nDofC;
DofT;
DofC;
PEl;
StEl;
StAr;
PAr;
StCon;
PCon;
StCC;
StCE;
StEC;
StEE;
PCC;
PEE;
UCC;
UEE;
UAr;
UEl;
UT;
UmGl;
UmLo;
MEF;
end
for i = 1:nRMember
for j = 1:6
for k = 1:6
MemTr(i,j,k) = 0;
MemStLo(i,j,k) = 0;
MemStGl_1(i,j,k) = 0;
MemStGl(i,j,k) = 0;
end
PmLo(i,j) = 0;
PmGl(i,j) = 0;
end
end
for i = 1:3*nRNode
for j = 1:3*nRNode
StGl(i,j) = 0;
end
PjGl(i) = 0;
PfGl(i) = 0;
PGl(i) = 0;
end
for i = 1:nRNode
PjGl(3 * i - 2) = Node(i,7);
PjGl(3 * i - 1) = Node(i,8);
PjGl(3 * i) = Node(i,9);
end
for i = 1:nRMember
for j = 1:nRNode
if Member(i,2) == Node(j,1)
X1 = Node(j,2);
Y1 = Node(j,3);
NStart = 3*(j-1);
end
if Member(i,3) == Node(j,1)
X2 = Node(j,2);
Y2 = Node(j,3);
NEnd = 3*(j-1);
end
end
E = Member(i,4);
A = Member(i,5);
I = Member(i,6);
L = sqrt((X2-X1)^2+(Y2-Y1)^2);
S = (Y2-Y1)/L;
C = (X2-X1)/L;
Release = Member(i,13);
if Release == 0
MemStLo(i,1,1) = E*A/L; %#ok<*AGROW>
MemStLo(i,1,2) = 0;
MemStLo(i,1,3) = 0;
MemStLo(i,1,4) = -E*A/L;
MemStLo(i,1,5) = 0;
MemStLo(i,1,6) = 0;
MemStLo(i,2,1) = 0;
MemStLo(i,2,2) = 12*E*I/L^3;
MemStLo(i,2,3) = 6*E*I/L^2;
MemStLo(i,2,4) = 0;
MemStLo(i,2,5) = -12*E*I/L^3;
MemStLo(i,2,6) = 6*E*I/L^2;
MemStLo(i,3,1) = 0;
MemStLo(i,3,2) = 6*E*I/L^2;
MemStLo(i,3,3) = 4*E*I/L;
MemStLo(i,3,4) = 0;
MemStLo(i,3,5) = -6*E*I/L^2;
MemStLo(i,3,6) = 2*E*I/L;
MemStLo(i,4,1) = -E*A/L;
MemStLo(i,4,2) = 0;
MemStLo(i,4,3) = 0;
MemStLo(i,4,4) = E*A/L;
MemStLo(i,4,5) = 0;
MemStLo(i,4,6) = 0;
MemStLo(i,5,1) = 0;
MemStLo(i,5,2) = -12*E*I/L^3;
MemStLo(i,5,3) = -6*E*I/L^2;
MemStLo(i,5,4) = 0;
MemStLo(i,5,5) = 12*E*I/L^3;
MemStLo(i,5,6) = -6*E*I/L^2;
MemStLo(i,6,1) = 0;
MemStLo(i,6,2) = 6*E*I/L^2;
MemStLo(i,6,3) = 2*E*I/L;
MemStLo(i,6,4) = 0;
MemStLo(i,6,5) = -6*E*I/L^2;
MemStLo(i,6,6) = 4*E*I/L;
elseif Release == 1
MemStLo(i,1,1) = E*A/L; %#ok<*AGROW>
MemStLo(i,1,2) = 0;
MemStLo(i,1,3) = 0;
MemStLo(i,1,4) = -E*A/L;
MemStLo(i,1,5) = 0;
MemStLo(i,1,6) = 0;
MemStLo(i,2,1) = 0;
MemStLo(i,2,2) = 3*E*I/L^3;
MemStLo(i,2,3) = 0;
MemStLo(i,2,4) = 0;
MemStLo(i,2,5) = -3*E*I/L^3;
MemStLo(i,2,6) = 3*E*I/L^2;
MemStLo(i,3,1) = 0;
MemStLo(i,3,2) = 0;
MemStLo(i,3,3) = 0;
MemStLo(i,3,4) = 0;
MemStLo(i,3,5) = 0;
MemStLo(i,3,6) = 0;
MemStLo(i,4,1) = -E*A/L;
MemStLo(i,4,2) = 0;
MemStLo(i,4,3) = 0;
MemStLo(i,4,4) = E*A/L;
MemStLo(i,4,5) = 0;
MemStLo(i,4,6) = 0;
MemStLo(i,5,1) = 0;
MemStLo(i,5,2) = -3*E*I/L^3;
MemStLo(i,5,3) = 0;
MemStLo(i,5,4) = 0;
MemStLo(i,5,5) = 3*E*I/L^3;
MemStLo(i,5,6) = -3*E*I/L^2;
MemStLo(i,6,1) = 0;
MemStLo(i,6,2) = 3*E*I/L^2;
MemStLo(i,6,3) = 0;
MemStLo(i,6,4) = 0;
MemStLo(i,6,5) = -3*E*I/L^2;
MemStLo(i,6,6) = 3*E*I/L;
elseif Release == 2
MemStLo(i,1,1) = E*A/L; %#ok<*AGROW>
MemStLo(i,1,2) = 0;
MemStLo(i,1,3) = 0;
MemStLo(i,1,4) = -E*A/L;
MemStLo(i,1,5) = 0;
MemStLo(i,1,6) = 0;
MemStLo(i,2,1) = 0;
MemStLo(i,2,2) = 3*E*I/L^3;
MemStLo(i,2,3) = 3*E*I/L^2;
MemStLo(i,2,4) = 0;
MemStLo(i,2,5) = -3*E*I/L^3;
MemStLo(i,2,6) = 0;
MemStLo(i,3,1) = 0;
MemStLo(i,3,2) = 3*E*I/L^2;
MemStLo(i,3,3) = 3*E*I/L;
MemStLo(i,3,4) = 0;
MemStLo(i,3,5) = -3*E*I/L^2;
MemStLo(i,3,6) = 0;
MemStLo(i,4,1) = -E*A/L;
MemStLo(i,4,2) = 0;
MemStLo(i,4,3) = 0;
MemStLo(i,4,4) = E*A/L;
MemStLo(i,4,5) = 0;
MemStLo(i,4,6) = 0;
MemStLo(i,5,1) = 0;
MemStLo(i,5,2) = -3*E*I/L^3;
MemStLo(i,5,3) = -3*E*I/L^2;
MemStLo(i,5,4) = 0;
MemStLo(i,5,5) = 3*E*I/L^3;
MemStLo(i,5,6) = 0;
MemStLo(i,6,1) = 0;
MemStLo(i,6,2) = 0;
MemStLo(i,6,3) = 0;
MemStLo(i,6,4) = 0;
MemStLo(i,6,5) = 0;
MemStLo(i,6,6) = 0;
else
MemStLo(i,1,1) = E*A/L; %#ok<*AGROW>
MemStLo(i,1,2) = 0;
MemStLo(i,1,3) = 0;
MemStLo(i,1,4) = -E*A/L;
MemStLo(i,1,5) = 0;
MemStLo(i,1,6) = 0;
MemStLo(i,2,1) = 0;
MemStLo(i,2,2) = 0;
MemStLo(i,2,3) = 0;
MemStLo(i,2,4) = 0;
MemStLo(i,2,5) = 0;
MemStLo(i,2,6) = 0;
MemStLo(i,3,1) = 0;
MemStLo(i,3,2) = 0;
MemStLo(i,3,3) = 0;
MemStLo(i,3,4) = 0;
MemStLo(i,3,5) = 0;
MemStLo(i,3,6) = 0;
MemStLo(i,4,1) = -E*A/L;
MemStLo(i,4,2) = 0;
MemStLo(i,4,3) = 0;
MemStLo(i,4,4) = E*A/L;
MemStLo(i,4,5) = 0;
MemStLo(i,4,6) = 0;
MemStLo(i,5,1) = 0;
MemStLo(i,5,2) = 0;
MemStLo(i,5,3) = 0;
MemStLo(i,5,4) = 0;
MemStLo(i,5,5) = 0;
MemStLo(i,5,6) = 0;
MemStLo(i,6,1) = 0;
MemStLo(i,6,2) = 0;
MemStLo(i,6,3) = 0;
MemStLo(i,6,4) = 0;
MemStLo(i,6,5) = 0;
MemStLo(i,6,6) = 0;
end
MemTr(i,1,1) = C;
MemTr(i,2,1) = -S;
MemTr(i,3,1) = 0;
MemTr(i,4,1) = 0;
MemTr(i,5,1) = 0;
MemTr(i,6,1) = 0;
MemTr(i,1,2) = S;
MemTr(i,2,2) = C;
MemTr(i,2,3) = 0;
MemTr(i,2,4) = 0;
MemTr(i,2,5) = 0;
MemTr(i,2,6) = 0;
MemTr(i,3,1) = 0;
MemTr(i,3,2) = 0;
MemTr(i,3,3) = 1;
MemTr(i,3,4) = 0;
MemTr(i,3,5) = 0;
MemTr(i,3,6) = 0;
MemTr(i,4,1) = 0;
MemTr(i,4,2) = 0;
MemTr(i,4,3) = 0;
MemTr(i,4,4) = C;
MemTr(i,4,5) = S;
MemTr(i,4,6) = 0;
MemTr(i,5,1) = 0;
MemTr(i,5,2) = 0;
MemTr(i,5,3) = 0;
MemTr(i,5,4) = -S;
MemTr(i,5,5) = C;
MemTr(i,5,6) = 0;
MemTr(i,6,1) = 0;
MemTr(i,6,2) = 0;
MemTr(i,6,3) = 0;
MemTr(i,6,4) = 0;
MemTr(i,6,5) = 0;
MemTr(i,6,6) = 1;
Type = Member(i,7);
w = Member(i,8);
a = Member(i,9);
b = L-a;
if Release == 0
if Type == 0
PmLo1(i,1) = 0;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 1
PmLo1(i,1) = -w * b / L;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * a / L;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 2
PmLo1(i,1,1) = -w * L / 2;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * L / 2;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 3
PmLo1(i,1) = 0;
PmLo1(i,2) = w * L / 2;
PmLo1(i,3) = w * L * L / 12;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * L / 2;
PmLo1(i,6) = -w * L * L / 12;
elseif Type == 4
PmLo1(i,1,1) = 0;
PmLo1(i,2) = w * b / L + w * a * b * (b - a) / L / L / L;
PmLo1(i,3) = w * a * b * b / L / L;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * a / L - w * a * b * (b - a) / L / L / L;
PmLo1(i,6) = -w * b * a * a / L / L;
elseif Type == 5
PmLo1(i,1) = 0;
PmLo1(i,2) = w;
PmLo1(i,3) = w * a * b / L;
PmLo1(i,4) = 0;
PmLo1(i,5) = w;
PmLo1(i,6) = -w * a * b / L;
elseif Type == 6
PmLo1(i,1) = 0;
PmLo1(i,2) = 6 * w * a * b / L / L / L;
PmLo1(i,3) = w * b * (2 * a - b) / L / L;
PmLo1(i,4) = 0;
PmLo1(i,5) = -6 * w * a * b / L / L / L;
PmLo1(i,6) = w * a * (2 * b - a) / L / L;
else
PmLo1(i,1) = 0;
PmLo1(i,2) = w * b / 2;
PmLo1(i,3) = w * b * L * (3 - b * b / L / L) / 24;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * b / 2;
PmLo1(i,6) = -w * b * L * (3 - b * b / L / L) / 24;
end
elseif Release == 1
if Type == 0
PmLo1(i,1) = 0;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 1
PmLo1(i,1) = -w * b / L;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * a / L;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 2
PmLo1(i,1,1) = -w * L / 2;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * L / 2;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 3
PmLo1(i,1) = 0;
PmLo1(i,2) = 3 * w * L / 8;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = 5 * w * L / 8;
PmLo1(i,6) = -w * L * L / 8;
elseif Type == 4
PmLo1(i,1,1) = 0;
PmLo1(i,2) = w * b / L + w * a * b * (b - a) / L / L / L - w * a * b * b / L / L * 1.5 / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * a / L - w * a * b * (b - a) / L / L / L + w * a * b * b / L / L * 1.5 / L;
PmLo1(i,6) = -w * b * a * a / L / L - w * a * b * b / L / L / 2;
elseif Type == 5
PmLo1(i,1) = 0;
PmLo1(i,2) = w - w * a * b / L * 1.5 / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w + w * a * b / L * 1.5 / L;
PmLo1(i,6) = -w * a * b / L - w * a * b / L / 2;
elseif Type == 6
PmLo1(i,1) = 0;
PmLo1(i,2) = 6 * w * a * b / L / L / L - w * b * (2 * a - b) / L / L * 1.5 / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = -6 * w * a * b / L / L / L + w * b * (2 * a - b) / L / L * 1.5 / L;
PmLo1(i,6) = w * a * (2 * b - a) / L / L - w * b * (2 * a - b) / L / L / 2;
else
PmLo1(i,1) = 0;
PmLo1(i,2) = w * b / 2 - w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * b / 2 + w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo1(i,6) = -w * b * L * (3 - b * b / L / L) / 24 * 1.5;
end
elseif Release == 2
if Type == 0
PmLo1(i,1) = 0;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 1
PmLo1(i,1) = -w * b / L;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * a / L;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 2
PmLo1(i,1,1) = -w * L / 2;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * L / 2;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 3
PmLo1(i,1) = 0;
PmLo1(i,2) = 5 * w * L / 8;
PmLo1(i,3) = w * L * L / 8;
PmLo1(i,4) = 0;
PmLo1(i,5) = 3 * w * L / 8;
PmLo1(i,6) = 0;
elseif Type == 4
PmLo1(i,1,1) = 0;
PmLo1(i,2) = w * b / L + w * a * b * (b - a) / L / L / L + w * b * a * a / L / L * 1.5 / L;
PmLo1(i,3) = w * a * b * b / L / L + w * b * a * a / L / L / 2;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * a / L - w * a * b * (b - a) / L / L / L - w * b * a * a / L / L * 1.5 / L;
PmLo1(i,6) = 0;
elseif Type == 5
PmLo1(i,1) = 0;
PmLo1(i,2) = w + w * a * b / L * 1.5 / L;
PmLo1(i,3) = w * a * b / L + w * a * b / L / 2;
PmLo1(i,4) = 0;
PmLo1(i,5) = w - w * a * b / L * 1.5 / L;
PmLo1(i,6) = 0;
elseif Type == 6
PmLo1(i,1) = 0;
PmLo1(i,2) = 6 * w * a * b / L / L / L - w * a * (2 * b - a) / L / L * 1.5 / L;
PmLo1(i,3) = w * b * (2 * a - b) / L / L - w * a * (2 * b - a) / L / L / 2;
PmLo1(i,4) = 0;
PmLo1(i,5) = -6 * w * a * b / L / L / L + w * a * (2 * b - a) / L / L * 1.5 / L;
PmLo1(i,6) = 0;
else
PmLo1(i,1) = 0;
PmLo1(i,2) = w * b / 2 + w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo1(i,3) = w * b * L * (3 - b * b / L / L) / 24 + w * b * L * (3 - b * b / L / L) / 24 / 2;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * b / 2 - w * b * L * (3 - b * b / L / L) / 24 / 2;
PmLo1(i,6) = 0;
end
else
if Type == 0
PmLo1(i,1) = 0;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 1
PmLo1(i,1) = -w * b / L;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * a / L;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 2
PmLo1(i,1,1) = -w * L / 2;
PmLo1(i,2) = 0;
PmLo1(i,3) = 0;
PmLo1(i,4) = -w * L / 2;
PmLo1(i,5) = 0;
PmLo1(i,6) = 0;
elseif Type == 3
PmLo1(i,1) = 0;
PmLo1(i,2) = w * L / 2;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * L / 2;
PmLo1(i,6) = 0;
elseif Type == 4
PmLo1(i,1,1) = 0;
PmLo1(i,2) = w * b / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * a / L;
PmLo1(i,6) = 0;
elseif Type == 5
PmLo1(i,1) = 0;
PmLo1(i,2) = w;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w;
PmLo1(i,6) = 0;
elseif Type == 6
PmLo1(i,1) = 0;
PmLo1(i,2) = w / L;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w / L;
PmLo1(i,6) = 0;
else
PmLo1(i,1) = 0;
PmLo1(i,2) = w * b / 2;
PmLo1(i,3) = 0;
PmLo1(i,4) = 0;
PmLo1(i,5) = w * b / 2;
PmLo1(i,6) = 0;
end
end
Type = Member(i,10);
w = Member(i,11);
a = Member(i,12);
b = L-a;
if Release == 0
if Type == 0
PmLo2(i,1) = 0;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 1
PmLo2(i,1) = -w * b / L;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * a / L;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 2
PmLo2(i,1,1) = -w * L / 2;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * L / 2;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 3
PmLo2(i,1) = 0;
PmLo2(i,2) = w * L / 2;
PmLo2(i,3) = w * L * L / 12;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * L / 2;
PmLo2(i,6) = -w * L * L / 12;
elseif Type == 4
PmLo2(i,1,1) = 0;
PmLo2(i,2) = w * b / L + w * a * b * (b - a) / L / L / L;
PmLo2(i,3) = w * a * b * b / L / L;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * a / L - w * a * b * (b - a) / L / L / L;
PmLo2(i,6) = -w * b * a * a / L / L;
elseif Type == 5
PmLo2(i,1) = 0;
PmLo2(i,2) = w;
PmLo2(i,3) = w * a * b / L;
PmLo2(i,4) = 0;
PmLo2(i,5) = w;
PmLo2(i,6) = -w * a * b / L;
elseif Type == 6
PmLo2(i,1) = 0;
PmLo2(i,2) = 6 * w * a * b / L / L / L;
PmLo2(i,3) = w * b * (2 * a - b) / L / L;
PmLo2(i,4) = 0;
PmLo2(i,5) = -6 * w * a * b / L / L / L;
PmLo2(i,6) = w * a * (2 * b - a) / L / L;
else
PmLo2(i,1) = 0;
PmLo2(i,2) = w * b / 2;
PmLo2(i,3) = w * b * L * (3 - b * b / L / L) / 24;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * b / 2;
PmLo2(i,6) = -w * b * L * (3 - b * b / L / L) / 24;
end
elseif Release == 1
if Type == 0
PmLo2(i,1) = 0;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 1
PmLo2(i,1) = -w * b / L;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * a / L;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 2
PmLo2(i,1,1) = -w * L / 2;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * L / 2;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 3
PmLo2(i,1) = 0;
PmLo2(i,2) = 3 * w * L / 8;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = 5 * w * L / 8;
PmLo2(i,6) = -w * L * L / 8;
elseif Type == 4
PmLo2(i,1,1) = 0;
PmLo2(i,2) = w * b / L + w * a * b * (b - a) / L / L / L - w * a * b * b / L / L * 1.5 / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * a / L - w * a * b * (b - a) / L / L / L + w * a * b * b / L / L * 1.5 / L;
PmLo2(i,6) = -w * b * a * a / L / L - w * a * b * b / L / L / 2;
elseif Type == 5
PmLo2(i,1) = 0;
PmLo2(i,2) = w - w * a * b / L * 1.5 / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w + w * a * b / L * 1.5 / L;
PmLo2(i,6) = -w * a * b / L - w * a * b / L / 2;
elseif Type == 6
PmLo2(i,1) = 0;
PmLo2(i,2) = 6 * w * a * b / L / L / L - w * b * (2 * a - b) / L / L * 1.5 / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = -6 * w * a * b / L / L / L + w * b * (2 * a - b) / L / L * 1.5 / L;
PmLo2(i,6) = w * a * (2 * b - a) / L / L - w * b * (2 * a - b) / L / L / 2;
else
PmLo2(i,1) = 0;
PmLo2(i,2) = w * b / 2 - w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * b / 2 + w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo2(i,6) = -w * b * L * (3 - b * b / L / L) / 24 * 1.5;
end
elseif Release == 2
if Type == 0
PmLo2(i,1) = 0;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 1
PmLo2(i,1) = -w * b / L;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * a / L;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 2
PmLo2(i,1,1) = -w * L / 2;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * L / 2;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 3
PmLo2(i,1) = 0;
PmLo2(i,2) = 5 * w * L / 8;
PmLo2(i,3) = w * L * L / 8;
PmLo2(i,4) = 0;
PmLo2(i,5) = 3 * w * L / 8;
PmLo2(i,6) = 0;
elseif Type == 4
PmLo2(i,1,1) = 0;
PmLo2(i,2) = w * b / L + w * a * b * (b - a) / L / L / L + w * b * a * a / L / L * 1.5 / L;
PmLo2(i,3) = w * a * b * b / L / L + w * b * a * a / L / L / 2;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * a / L - w * a * b * (b - a) / L / L / L - w * b * a * a / L / L * 1.5 / L;
PmLo2(i,6) = 0;
elseif Type == 5
PmLo2(i,1) = 0;
PmLo2(i,2) = w + w * a * b / L * 1.5 / L;
PmLo2(i,3) = w * a * b / L + w * a * b / L / 2;
PmLo2(i,4) = 0;
PmLo2(i,5) = w - w * a * b / L * 1.5 / L;
PmLo2(i,6) = 0;
elseif Type == 6
PmLo2(i,1) = 0;
PmLo2(i,2) = 6 * w * a * b / L / L / L - w * a * (2 * b - a) / L / L * 1.5 / L;
PmLo2(i,3) = w * b * (2 * a - b) / L / L - w * a * (2 * b - a) / L / L / 2;
PmLo2(i,4) = 0;
PmLo2(i,5) = -6 * w * a * b / L / L / L + w * a * (2 * b - a) / L / L * 1.5 / L;
PmLo2(i,6) = 0;
else
PmLo2(i,1) = 0;
PmLo2(i,2) = w * b / 2 + w * b * L * (3 - b * b / L / L) / 24 * 1.5 / L;
PmLo2(i,3) = w * b * L * (3 - b * b / L / L) / 24 + w * b * L * (3 - b * b / L / L) / 24 / 2;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * b / 2 - w * b * L * (3 - b * b / L / L) / 24 / 2;
PmLo2(i,6) = 0;
end
else
if Type == 0
PmLo2(i,1) = 0;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 1
PmLo2(i,1) = -w * b / L;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * a / L;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 2
PmLo2(i,1,1) = -w * L / 2;
PmLo2(i,2) = 0;
PmLo2(i,3) = 0;
PmLo2(i,4) = -w * L / 2;
PmLo2(i,5) = 0;
PmLo2(i,6) = 0;
elseif Type == 3
PmLo2(i,1) = 0;
PmLo2(i,2) = w * L / 2;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * L / 2;
PmLo2(i,6) = 0;
elseif Type == 4
PmLo2(i,1,1) = 0;
PmLo2(i,2) = w * b / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * a / L;
PmLo2(i,6) = 0;
elseif Type == 5
PmLo2(i,1) = 0;
PmLo2(i,2) = w;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w;
PmLo2(i,6) = 0;
elseif Type == 6
PmLo2(i,1) = 0;
PmLo2(i,2) = w / L;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w / L;
PmLo2(i,6) = 0;
else
PmLo2(i,1) = 0;
PmLo2(i,2) = w * b / 2;
PmLo2(i,3) = 0;
PmLo2(i,4) = 0;
PmLo2(i,5) = w * b / 2;
PmLo2(i,6) = 0;
end
end
for j = 1:6
PmLo(i,j) = PmLo1(i,j) + PmLo2(i,j);
end
for j = 1:6
for k = 1:6
PmGl(i, j) = MemTr(i,k,j) * PmLo(i,k) + PmGl(i,j);
end
end
for ii = 1:6
for jj = 1:6
for kk = 1:6
MemStGl_1(i,ii,jj) = MemStGl_1(i,ii,jj) + MemTr(i,kk,ii) * MemStLo(i,kk,jj);
end
end
end
for ii = 1:6
for jj = 1:6
for kk = 1:6
MemStGl(i,ii,jj) = MemStGl(i,ii,jj) + MemStGl_1(i,ii,kk) * MemTr(i,kk,jj);
end
end
end
for j = 1:3
for k = 1:3
StGl(NStart+j,NStart+k) = StGl(NStart+j,NStart+k) + MemStGl(i,j,k);
StGl(NEnd+j,NEnd+k) = StGl(NEnd+j,NEnd+k) + MemStGl(i,j+3,k+3);
StGl(NStart+j,NEnd+k) = StGl(NStart+j,NEnd+k) + MemStGl(i,j,k+3);
StGl(NEnd+j,NStart+k) = StGl(NEnd+j,NStart+k) + MemStGl(i,j+3,k);
end
PfGl(NStart+j) = PfGl(NStart+j) + PmGl(i,j);
PfGl(NEnd+j) = PfGl(NEnd+j) + PmGl(i,j+3);
end
end
for i = 1:3*nRNode
PGl(i) = PjGl(i) - PfGl(i);
end
end
for i = 1:nRNode
for j = 1:3
nDofT = nDofT+1;
DofT(nDofT) = Node(i,3+j);
if DofT(nDofT) == 0.5
nDofC = nDofC +1;
end
if DofT(nDofT) ~= 0
nDofE = nDofE +1;
DofC(nDofE) = DofT(nDofT);
end
end
end
krEl = 0;
kcEl = 0;
for i = 1:3*nRNode
if DofT(i) ~= 0
krEl = krEl +1;
StEl_1(krEl,:) = StGl(i,:);
PEl(krEl) = PGl(i);
end
end
for i = 1:3*nRNode
if DofT(i) ~= 0
kcEl = kcEl +1;
StEl(:,kcEl) = StEl_1(:,i);
end
end
end
if nDofC == 0
StAr = StEl;
PAr = PEl;
else
for i = 1:nDofE
if DofC(i) == 0.5
StAr_1(nDofE+i-nDofC-KrCon,:) = StEl(i,:);
PAr(nDofE+i-nDofC-KrCon,:) = PEl(i);
else
KrCon = KrCon+1;
StAr_1(KrCon,:) = StEl(i,:);
PAr(KrCon) = PEl(i);
end
end
for i = 1:nDofE
if DofC(i) == 0.5
StAr(:,nDofE+i-nDofC-KcCon) = StAr_1(:,i);
else
KcCon = KcCon+1;
StAr(:,KcCon) = StAr_1(:,i);
end
end
end
end
if nDofC == 0
StCon = StAr;
PCon = transpose(PAr);
StCC = StCon;
StCE = [];
StEC = [];
StEE = [];
PCC = PCon;
PEE = [];
else
StCC = StAr(1:nDofE-nDofC,1:nDofE-nDofC);
StCE = StAr(1:nDofE-nDofC,nDofE-nDofC+1:nDofE);
StEC = StCE';
StEE = StAr(nDofE-nDofC+1:nDofE,nDofE-nDofC+1:nDofE);
PCC = PAr(1:nDofE-nDofC);
PEE = PAr(nDofE-nDofC+1:nDofE);
end
app.Field_LoadValue1.Enable = false;
app.Field_Loada1.Enable = false;
app.Field_LoadValue2.Enable = false;
app.Field_Loada2.Enable = false;
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.Table_Node.RowName = linspace(1,app.nRNode,app.nRNode);
app.Table_Node.Data = app.Node;
app.Drop_Nodei.Items = string(app.Node(:,1));
app.Drop_Nodej.Items = string(app.Node(:,1));
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.Table_Node.RowName = linspace(1,app.nRNode,app.nRNode);
app.Table_Node.Data = app.Node;
app.Drop_Nodei.Items = string(app.Node(:,1));
app.Drop_Nodej.Items = string(app.Node(:,1));
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
if key == 0
for i = app.indices(1)+1:app.nRNode
app.Node(i-1,:) = app.Node(i,:);
end
app.Node(app.nRNode,:) = [];
app.nRNode = app.nRNode - 1;
app.Table_Node.RowName = linspace(1,app.nRNode,app.nRNode);
app.Table_Node.Data = app.Node;
app.Drop_Nodei.Items = string(app.Node(:,1));
app.Drop_Nodej.Items = string(app.Node(:,1));
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
if app.Drop_LoadType2.Value == "None"
app.Member(app.nRMember,10) = 0;
app.Member(app.nRMember,11) = 0;
app.Member(app.nRMember,12) = 0;
elseif app.Drop_LoadType2.Value == "Type 1"
app.Member(app.nRMember,10) = 1;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 2"
app.Member(app.nRMember,10) = 2;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = 0;
elseif app.Drop_LoadType2.Value == "Type 3"
app.Member(app.nRMember,10) = 3;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = 0;
elseif app.Drop_LoadType2.Value == "Type 4"
app.Member(app.nRMember,10) = 4;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = app.Field_Loada2;
elseif app.Drop_LoadType2.Value == "Type 5"
app.Member(app.nRMember,10) = 5;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 6"
app.Member(app.nRMember,10) = 6;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 7"
app.Member(app.nRMember,10) = 7;
app.Member(app.nRMember,11) = app.Field_LoadValue2.Value;
app.Member(app.nRMember,12) = app.Field_Loada2.Value;
end
if app.Drop_Release.Value == "None"
app.Member(app.nRMember,13) = 0;
elseif app.Drop_Release.Value == "Start"
app.Member(app.nRMember,13) = 1;
elseif app.Drop_Release.Value == "End"
app.Member(app.nRMember,13) = 2;
else
app.Member(app.nRMember,13) = 3;
end
app.Table_Members.RowName = linspace(1,app.nRMember,app.nRMember);
app.Table_Members.Data = app.Member;
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
if app.Drop_LoadType2.Value == "None"
app.Member(app.indices2(1),10) = 0;
app.Member(app.indices2(1),11) = 0;
app.Member(app.indices2(1),12) = 0;
elseif app.Drop_LoadType2.Value == "Type 1"
app.Member(app.indices2(1),10) = 1;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 2"
app.Member(app.indices2(1),10) = 2;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = 0;
elseif app.Drop_LoadType2.Value == "Type 3"
app.Member(app.indices2(1),10) = 3;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = 0;
elseif app.Drop_LoadType2.Value == "Type 4"
app.Member(app.indices2(1),10) = 4;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = app.Field_Loada2;
elseif app.Drop_LoadType2.Value == "Type 5"
app.Member(app.indices2(1),10) = 5;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 6"
app.Member(app.indices2(1),10) = 6;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = app.Field_Loada2.Value;
elseif app.Drop_LoadType2.Value == "Type 7"
app.Member(app.indices2(1),10) = 7;
app.Member(app.indices2(1),11) = app.Field_LoadValue2.Value;
app.Member(app.indices2(1),12) = app.Field_Loada2.Value;
end
if app.Drop_Release.Value == "None"
app.Member(app.nRMember,13) = 0;
elseif app.Drop_Release.Value == "Start"
app.Member(app.nRMember,13) = 1;
elseif app.Drop_Release.Value == "End"
app.Member(app.nRMember,13) = 2;
else
app.Member(app.nRMember,13) = 3;
end
app.Table_Members.RowName = linspace(1,app.nRMember,app.nRMember);
app.Table_Members.Data = app.Member;
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
app.Drop_Nodei.Value = string(app.Member(app.indices2(1),2));
app.Drop_Nodej.Value = string(app.Member(app.indices2(1),3));
app.Field_E.Value = app.Member(app.indices2(1),4);
app.Field_A.Value = app.Member(app.indices2(1),5);
app.Field_Ix.Value = app.Member(app.indices2(1),6);
if app.Member(app.indices2(1),7) == 0
app.Drop_LoadType1.Value = "None";
elseif app.Member(app.indices2(1),7) == 1
app.Drop_LoadType1.Value = "Type 1";
elseif app.Member(app.indices2(1),7) == 2
app.Drop_LoadType1.Value = "Type 2";
elseif app.Member(app.indices2(1),7) == 3
app.Drop_LoadType1.Value = "Type 3";
elseif app.Member(app.indices2(1),7) == 4
app.Drop_LoadType1.Value = "Type 4";
elseif app.Member(app.indices2(1),7) == 5
app.Drop_LoadType1.Value = "Type 5";
elseif app.Member(app.indices2(1),7) == 6
app.Drop_LoadType1.Value = "Type 6";
elseif app.Member(app.indices2(1),7) == 7
app.Drop_LoadType1.Value = "Type 7";
end
app.Field_LoadValue1.Value = app.Member(app.indices2(1),8);
app.Field_Loada1.Value = app.Member(app.indices2(1),9);
if app.Drop_LoadType1.Value == "None"
app.Field_LoadValue1.Enable = false;
app.Field_Loada1.Enable = false;
elseif app.Drop_LoadType1.Value == "Type 2" || app.Drop_LoadType1.Value == "Type 3"
app.Field_LoadValue1.Enable = true;
app.Field_Loada1.Enable = false;
else
app.Field_LoadValue1.Enable = true;
app.Field_Loada1.Enable = true;
end
if app.Member(app.indices2(1),10) == 0
app.Drop_LoadType2.Value = "None";
elseif app.Member(app.indices2(1),10) == 1
app.Drop_LoadType2.Value = "Type 1";
elseif app.Member(app.indices2(1),10) == 2
app.Drop_LoadType2.Value = "Type 2";
elseif app.Member(app.indices2(1),10) == 3
app.Drop_LoadType2.Value = "Type 3";
elseif app.Member(app.indices2(1),10) == 4
app.Drop_LoadType2.Value = "Type 4";
elseif app.Member(app.indices2(1),10) == 5
app.Drop_LoadType2.Value = "Type 5";
elseif app.Member(app.indices2(1),10) == 6
app.Drop_LoadType2.Value = "Type 6";
elseif app.Member(app.indices2(1),10) == 7
app.Drop_LoadType12.Value = "Type 7";
end
app.Field_LoadValue2.Value = app.Member(app.indices2(1),11);
app.Field_Loada2.Value = app.Member(app.indices2(1),12);
if app.Drop_LoadType2.Value == "None"
app.Field_LoadValue2.Enable = false;
app.Field_Loada2.Enable = false;
elseif app.Drop_LoadType2.Value == "Type 2" || app.Drop_LoadType2.Value == "Type 3"
app.Field_LoadValue2.Enable = true;
app.Field_Loada2.Enable = false;
else
app.Field_LoadValue2.Enable = true;
app.Field_Loada2.Enable = true;
end
if app.Member(app.indices2(1),13) == 0
app.Drop_Release.Value = "None";
elseif app.Member(app.indices2(1),13) == 1
app.Drop_Release.Value = "Start";
elseif app.Member(app.indices2(1),13) == 2
app.Drop_Release.Value = "End";
else
app.Drop_Release.Value = "Both";
end
end
if app.nRMember == 0
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
else
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
app.AssembleButton.Enable = false;
if fileID ~= -1
a = fscanf(fileID,formatSpec,sizeA);
fclose(fileID);
nrows = width(a);
key = 1;
for j = [7 10]
for i = 1:nrows
if a(j,i)~=0 && a(j,i)~=1 && a(j,i)~=2 && a(j,i)~=3 && a(j,i)~=4 && a(j,i)~=5 && a(j,i)~=6 && a(j,i)~=7
errordlg(strcat("Error in Row(", num2str(i), "), Col(", num2str(j), ") defining member load"),"Error","modal")
key = 0;
end
end
end
for j = 13
for i = 1:nrows
if a(j,i)~=0 && a(j,i)~=1 && a(j,i)~=2 && a(j,i)~=3
errordlg(strcat("Error in Row(", num2str(i), "), Col(", num2str(j), ") defining member end release"),"Error","modal")
key = 0;
end
end
end
if key == 1
app.nRMember = nrows;
app.Member = transpose(a);
app.Table_Members.RowName = linspace(1,app.nRMember,app.nRMember);
app.Table_Members.Data = app.Member;
app.Field_FileName_2.Value = filePath;
else
app.nRMember = 0;
end
app.AssembleButton.Enable = true;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
else
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
app.selpath = uigetdir('C:\');
app.Field_FileDirectory.Value = app.selpath;
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = true;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = true;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = true;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = true;
app.SolveMembersButton.Enable = false;
end
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = true;
end
app.AssembleButton.Enable = false;
app.EleminateButton.Enable = false;
app.ArrangeButton.Enable = false;
app.CondenseButton.Enable = false;
app.SolveDOFButton.Enable = false;
app.SolveMembersButton.Enable = false;
end
end
% Component initialization
methods (Access = private)
% Create NodesTab
app.NodesTab = uitab(app.TabGroup);
app.NodesTab.AutoResizeChildren = 'off';
app.NodesTab.Title = 'Nodes';
% Create Table_Node
app.Table_Node = uitable(app.NodesTab);
app.Table_Node.ColumnName = {'Node'; 'X'; 'Y'; 'Ux'; 'Uy'; 'Ѳ'; 'Fx'; 'Fy'; 'M'};
app.Table_Node.ColumnWidth = {60, 60, 60, 60, 60, 60, 60, 60, 60};
app.Table_Node.RowName = {};
app.Table_Node.ColumnEditable = [true false false false false false false false false];
app.Table_Node.CellSelectionCallback = createCallbackFcn(app, @Table_NodeCellSelection, true);
app.Table_Node.Position = [185 125 542 265];
% Create Panel
app.Panel = uipanel(app.NodesTab);
app.Panel.AutoResizeChildren = 'off';
app.Panel.Position = [10 55 165 335];
% Create Field_Node_X
app.Field_Node_X = uieditfield(app.Panel, 'numeric');
app.Field_Node_X.HorizontalAlignment = 'center';
app.Field_Node_X.FontColor = [0 0 1];
app.Field_Node_X.Position = [70 305 90 25];
% Create Field_Node_Y
app.Field_Node_Y = uieditfield(app.Panel, 'numeric');
app.Field_Node_Y.HorizontalAlignment = 'center';
app.Field_Node_Y.FontColor = [0 0 1];
app.Field_Node_Y.Position = [70 275 90 25];
% Create Field_Node_Fy
app.Field_Node_Fy = uieditfield(app.Panel, 'numeric');
app.Field_Node_Fy.HorizontalAlignment = 'center';
app.Field_Node_Fy.FontColor = [0 0 1];
app.Field_Node_Fy.Position = [70 125 90 25];
% Create Field_Node_Fx
app.Field_Node_Fx = uieditfield(app.Panel, 'numeric');
app.Field_Node_Fx.HorizontalAlignment = 'center';
app.Field_Node_Fx.FontColor = [0 0 1];
app.Field_Node_Fx.Position = [70 155 90 25];
% Create Field_Node_M
app.Field_Node_M = uieditfield(app.Panel, 'numeric');
app.Field_Node_M.HorizontalAlignment = 'center';
app.Field_Node_M.FontColor = [0 0 1];
app.Field_Node_M.Position = [70 95 90 25];
% Create FxLabel
app.FxLabel = uilabel(app.Panel);
app.FxLabel.FontName = 'Times New Roman';
app.FxLabel.FontSize = 16;
app.FxLabel.FontWeight = 'bold';
app.FxLabel.Position = [5 155 60 25];
app.FxLabel.Text = 'Fx';
% Create MLabel
app.MLabel = uilabel(app.Panel);
app.MLabel.FontName = 'Times New Roman';
app.MLabel.FontSize = 16;
app.MLabel.FontWeight = 'bold';
app.MLabel.Position = [5 95 60 25];
app.MLabel.Text = 'M';
% Create FyLabel
app.FyLabel = uilabel(app.Panel);
app.FyLabel.FontName = 'Times New Roman';
app.FyLabel.FontSize = 16;
app.FyLabel.FontWeight = 'bold';
app.FyLabel.Position = [5 125 60 25];
app.FyLabel.Text = 'Fy';
% Create Label
app.Label = uilabel(app.Panel);
app.Label.FontName = 'Times New Roman';
app.Label.FontSize = 16;
app.Label.FontWeight = 'bold';
app.Label.Position = [5 185 60 25];
app.Label.Text = 'Ѳ';
% Create UyLabel
app.UyLabel = uilabel(app.Panel);
app.UyLabel.FontName = 'Times New Roman';
app.UyLabel.FontSize = 16;
app.UyLabel.FontWeight = 'bold';
app.UyLabel.Position = [5 215 60 25];
app.UyLabel.Text = 'Uy';
% Create UxLabel
app.UxLabel = uilabel(app.Panel);
app.UxLabel.FontName = 'Times New Roman';
app.UxLabel.FontSize = 16;
app.UxLabel.FontWeight = 'bold';
app.UxLabel.Position = [5 245 60 25];
app.UxLabel.Text = 'Ux';
% Create YLabel
app.YLabel = uilabel(app.Panel);
app.YLabel.FontName = 'Times New Roman';
app.YLabel.FontSize = 16;
app.YLabel.FontWeight = 'bold';
app.YLabel.Position = [5 275 60 25];
app.YLabel.Text = 'Y';
% Create XLabel
app.XLabel = uilabel(app.Panel);
app.XLabel.FontName = 'Times New Roman';
app.XLabel.FontSize = 16;
app.XLabel.FontWeight = 'bold';
app.XLabel.Position = [5 305 60 25];
app.XLabel.Text = 'X';
% Create Drop_Node_Ux
app.Drop_Node_Ux = uidropdown(app.Panel);
app.Drop_Node_Ux.Items = {'Restrained', 'Allowed', 'Condense'};
app.Drop_Node_Ux.FontName = 'Times New Roman';
app.Drop_Node_Ux.FontWeight = 'bold';
app.Drop_Node_Ux.FontColor = [0 0 1];
app.Drop_Node_Ux.Position = [70 245 90 25];
app.Drop_Node_Ux.Value = 'Restrained';
% Create Drop_Node_Uy
app.Drop_Node_Uy = uidropdown(app.Panel);
app.Drop_Node_Uy.Items = {'Restrained', 'Allowed', 'Condense'};
app.Drop_Node_Uy.FontName = 'Times New Roman';
app.Drop_Node_Uy.FontWeight = 'bold';
app.Drop_Node_Uy.FontColor = [0 0 1];
app.Drop_Node_Uy.Position = [70 215 90 25];
app.Drop_Node_Uy.Value = 'Restrained';
% Create Drop_Node_R
app.Drop_Node_R = uidropdown(app.Panel);
app.Drop_Node_R.Items = {'Restrained', 'Allowed', 'Condense'};
app.Drop_Node_R.FontName = 'Times New Roman';
app.Drop_Node_R.FontWeight = 'bold';
app.Drop_Node_R.FontColor = [0 0 1];
app.Drop_Node_R.Position = [70 185 90 25];
app.Drop_Node_R.Value = 'Restrained';
% Create AddNodeButton
app.AddNodeButton = uibutton(app.Panel, 'push');
app.AddNodeButton.ButtonPushedFcn = createCallbackFcn(app, @AddNodeButtonPushed, true);
app.AddNodeButton.FontName = 'Times';
app.AddNodeButton.FontSize = 16;
app.AddNodeButton.FontWeight = 'bold';
app.AddNodeButton.Position = [5 65 155 25];
app.AddNodeButton.Text = 'Add Node';
% Create ModifyNodeButton
app.ModifyNodeButton = uibutton(app.Panel, 'push');
app.ModifyNodeButton.ButtonPushedFcn = createCallbackFcn(app, @ModifyNodeButtonPushed, true);
app.ModifyNodeButton.FontName = 'Times';
app.ModifyNodeButton.FontSize = 16;
app.ModifyNodeButton.FontWeight = 'bold';
app.ModifyNodeButton.Position = [5 35 155 25];
app.ModifyNodeButton.Text = 'Modify Node';
% Create DeleteNodeButton
app.DeleteNodeButton = uibutton(app.Panel, 'push');
app.DeleteNodeButton.ButtonPushedFcn = createCallbackFcn(app, @DeleteNodeButtonPushed, true);
app.DeleteNodeButton.FontName = 'Times';
app.DeleteNodeButton.FontSize = 16;
app.DeleteNodeButton.FontWeight = 'bold';
app.DeleteNodeButton.Position = [5 5 155 25];
app.DeleteNodeButton.Text = 'Delete Node';
% Create Panel_2
app.Panel_2 = uipanel(app.NodesTab);
app.Panel_2.AutoResizeChildren = 'off';
app.Panel_2.Position = [10 10 725 35];
% Create FromFileLabel
app.FromFileLabel = uilabel(app.Panel_2);
app.FromFileLabel.FontName = 'Times New Roman';
app.FromFileLabel.FontSize = 16;
app.FromFileLabel.FontWeight = 'bold';
app.FromFileLabel.Position = [5 5 80 25];
app.FromFileLabel.Text = 'From File';
% Create BrowseButton
app.BrowseButton = uibutton(app.Panel_2, 'push');
app.BrowseButton.ButtonPushedFcn = createCallbackFcn(app, @BrowseButtonPushed, true);
app.BrowseButton.FontName = 'Times';
app.BrowseButton.FontSize = 16;
app.BrowseButton.FontWeight = 'bold';
app.BrowseButton.Position = [630 5 90 25];
app.BrowseButton.Text = 'Browse';
% Create Field_FileName
app.Field_FileName = uieditfield(app.Panel_2, 'text');
app.Field_FileName.Editable = 'off';
app.Field_FileName.HorizontalAlignment = 'right';
app.Field_FileName.FontName = 'Times New Roman';
app.Field_FileName.FontSize = 16;
app.Field_FileName.FontAngle = 'italic';
app.Field_FileName.Enable = 'off';
app.Field_FileName.Position = [80 5 545 25];
% Create Panel_3
app.Panel_3 = uipanel(app.NodesTab);
app.Panel_3.AutoResizeChildren = 'off';
app.Panel_3.BorderType = 'none';
app.Panel_3.Position = [615 55 115 60];
% Create Button_Up
app.Button_Up = uibutton(app.Panel_3, 'push');
app.Button_Up.ButtonPushedFcn = createCallbackFcn(app, @Button_UpPushed, true);
app.Button_Up.Icon = 'UpButton.png';
app.Button_Up.FontName = 'Times';
app.Button_Up.FontSize = 16;
app.Button_Up.FontWeight = 'bold';
app.Button_Up.Position = [5 6 50 50];
app.Button_Up.Text = '';
% Create Button_Down
app.Button_Down = uibutton(app.Panel_3, 'push');
app.Button_Down.ButtonPushedFcn = createCallbackFcn(app, @Button_DownPushed, true);
app.Button_Down.Icon = 'DownButton.png';
app.Button_Down.FontName = 'Times';
app.Button_Down.FontSize = 16;
app.Button_Down.FontWeight = 'bold';
app.Button_Down.Position = [60 6 50 50];
app.Button_Down.Text = '';
% Create Button_Export
app.Button_Export = uibutton(app.NodesTab, 'push');
app.Button_Export.ButtonPushedFcn = createCallbackFcn(app, @Button_ExportPushed, true);
app.Button_Export.Icon = 'ExportButton.png';
app.Button_Export.FontName = 'Times';
app.Button_Export.FontSize = 16;
app.Button_Export.FontWeight = 'bold';
app.Button_Export.Position = [185 60 50 50];
app.Button_Export.Text = '';
% Create MembersTab
app.MembersTab = uitab(app.TabGroup);
app.MembersTab.AutoResizeChildren = 'off';
app.MembersTab.Title = 'Members';
% Create Table_Members
app.Table_Members = uitable(app.MembersTab);
app.Table_Members.ColumnName = {'Member'; 'Node (i)'; 'Node (j)'; 'E'; 'A'; 'Ix'; 'Load-1'; 'Value'; 'a'; 'Load-2'; 'Value'; 'a'; 'Releases'};
app.Table_Members.ColumnWidth = {60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60};
app.Table_Members.RowName = {};
app.Table_Members.CellSelectionCallback = createCallbackFcn(app, @Table_MembersCellSelection, true);
app.Table_Members.Position = [188 125 542 260];
% Create Panel_4
app.Panel_4 = uipanel(app.MembersTab);
app.Panel_4.AutoResizeChildren = 'off';
app.Panel_4.Position = [5 25 165 365];
% Create Field_Ix
app.Field_Ix = uieditfield(app.Panel_4, 'numeric');
app.Field_Ix.HorizontalAlignment = 'center';
app.Field_Ix.FontColor = [0 0 1];
app.Field_Ix.Position = [70 215 90 25];
% Create Field_LoadValue1
app.Field_LoadValue1 = uieditfield(app.Panel_4, 'numeric');
app.Field_LoadValue1.HorizontalAlignment = 'center';
app.Field_LoadValue1.FontColor = [0 0 1];
app.Field_LoadValue1.Position = [70 155 90 25];
% Create IxLabel
app.IxLabel = uilabel(app.Panel_4);
app.IxLabel.FontName = 'Times New Roman';
app.IxLabel.FontSize = 16;
app.IxLabel.FontWeight = 'bold';
app.IxLabel.Position = [5 215 60 25];
app.IxLabel.Text = 'Ix';
% Create ValueLabel
app.ValueLabel = uilabel(app.Panel_4);
app.ValueLabel.FontName = 'Times New Roman';
app.ValueLabel.FontSize = 16;
app.ValueLabel.FontWeight = 'bold';
app.ValueLabel.Position = [5 155 60 25];
app.ValueLabel.Text = 'Value';
% Create Load1Label
app.Load1Label = uilabel(app.Panel_4);
app.Load1Label.FontName = 'Times New Roman';
app.Load1Label.FontSize = 16;
app.Load1Label.FontWeight = 'bold';
app.Load1Label.Position = [5 185 60 25];
app.Load1Label.Text = 'Load-1';
% Create ALabel
app.ALabel = uilabel(app.Panel_4);
app.ALabel.FontName = 'Times New Roman';
app.ALabel.FontSize = 16;
app.ALabel.FontWeight = 'bold';
app.ALabel.Position = [5 245 60 25];
app.ALabel.Text = 'A';
% Create ELabel
app.ELabel = uilabel(app.Panel_4);
app.ELabel.FontName = 'Times New Roman';
app.ELabel.FontSize = 16;
app.ELabel.FontWeight = 'bold';
app.ELabel.Position = [5 275 60 25];
app.ELabel.Text = 'E';
% Create NodejLabel
app.NodejLabel = uilabel(app.Panel_4);
app.NodejLabel.FontName = 'Times New Roman';
app.NodejLabel.FontSize = 16;
app.NodejLabel.FontWeight = 'bold';
app.NodejLabel.Position = [5 305 61 25];
app.NodejLabel.Text = 'Node (j)';
% Create NodeiLabel
app.NodeiLabel = uilabel(app.Panel_4);
app.NodeiLabel.FontName = 'Times New Roman';
app.NodeiLabel.FontSize = 16;
app.NodeiLabel.FontWeight = 'bold';
app.NodeiLabel.Position = [5 335 60 25];
app.NodeiLabel.Text = 'Node (i)';
% Create Drop_Nodei
app.Drop_Nodei = uidropdown(app.Panel_4);
app.Drop_Nodei.Items = {};
app.Drop_Nodei.FontName = 'Times New Roman';
app.Drop_Nodei.FontWeight = 'bold';
app.Drop_Nodei.FontColor = [0 0 1];
app.Drop_Nodei.Position = [70 335 90 25];
app.Drop_Nodei.Value = {};
% Create Drop_Nodej
app.Drop_Nodej = uidropdown(app.Panel_4);
app.Drop_Nodej.Items = {};
app.Drop_Nodej.FontName = 'Times New Roman';
app.Drop_Nodej.FontWeight = 'bold';
app.Drop_Nodej.FontColor = [0 0 1];
app.Drop_Nodej.Position = [70 305 90 25];
app.Drop_Nodej.Value = {};
% Create Drop_LoadType1
app.Drop_LoadType1 = uidropdown(app.Panel_4);
app.Drop_LoadType1.Items = {'None', 'Type 1', 'Type 2', 'Type 3', 'Type 4', 'Type 5', 'Type 6', 'Type 7'};
app.Drop_LoadType1.ValueChangedFcn = createCallbackFcn(app, @Drop_LoadType1ValueChanged, true);
app.Drop_LoadType1.FontName = 'Times New Roman';
app.Drop_LoadType1.FontWeight = 'bold';
app.Drop_LoadType1.FontColor = [0 0 1];
app.Drop_LoadType1.Position = [70 185 90 25];
app.Drop_LoadType1.Value = 'None';
% Create Field_E
app.Field_E = uieditfield(app.Panel_4, 'numeric');
app.Field_E.HorizontalAlignment = 'center';
app.Field_E.FontColor = [0 0 1];
app.Field_E.Position = [70 275 90 25];
% Create Field_A
app.Field_A = uieditfield(app.Panel_4, 'numeric');
app.Field_A.HorizontalAlignment = 'center';
app.Field_A.FontColor = [0 0 1];
app.Field_A.Position = [70 245 90 25];
% Create Field_Loada1
app.Field_Loada1 = uieditfield(app.Panel_4, 'numeric');
app.Field_Loada1.HorizontalAlignment = 'center';
app.Field_Loada1.FontColor = [0 0 1];
app.Field_Loada1.Position = [70 125 90 25];
% Create aLabel
app.aLabel = uilabel(app.Panel_4);
app.aLabel.FontName = 'Times New Roman';
app.aLabel.FontSize = 16;
app.aLabel.FontWeight = 'bold';
app.aLabel.Position = [5 125 60 25];
app.aLabel.Text = 'a';
% Create Field_LoadValue2
app.Field_LoadValue2 = uieditfield(app.Panel_4, 'numeric');
app.Field_LoadValue2.HorizontalAlignment = 'center';
app.Field_LoadValue2.FontColor = [0 0 1];
app.Field_LoadValue2.Position = [70 65 90 25];
% Create ValueLabel_2
app.ValueLabel_2 = uilabel(app.Panel_4);
app.ValueLabel_2.FontName = 'Times New Roman';
app.ValueLabel_2.FontSize = 16;
app.ValueLabel_2.FontWeight = 'bold';
app.ValueLabel_2.Position = [5 65 60 25];
app.ValueLabel_2.Text = 'Value';
% Create Load2Label
app.Load2Label = uilabel(app.Panel_4);
app.Load2Label.FontName = 'Times New Roman';
app.Load2Label.FontSize = 16;
app.Load2Label.FontWeight = 'bold';
app.Load2Label.Position = [5 95 60 25];
app.Load2Label.Text = 'Load-2';
% Create Drop_LoadType2
app.Drop_LoadType2 = uidropdown(app.Panel_4);
app.Drop_LoadType2.Items = {'None', 'Type 1', 'Type 2', 'Type 3', 'Type 4', 'Type 5', 'Type 6', 'Type 7'};
app.Drop_LoadType2.ValueChangedFcn = createCallbackFcn(app, @Drop_LoadType2ValueChanged, true);
app.Drop_LoadType2.FontName = 'Times New Roman';
app.Drop_LoadType2.FontWeight = 'bold';
app.Drop_LoadType2.FontColor = [0 0 1];
app.Drop_LoadType2.Position = [70 95 90 25];
app.Drop_LoadType2.Value = 'None';
% Create Field_Loada2
app.Field_Loada2 = uieditfield(app.Panel_4, 'numeric');
app.Field_Loada2.HorizontalAlignment = 'center';
app.Field_Loada2.FontColor = [0 0 1];
app.Field_Loada2.Position = [70 35 90 25];
% Create aLabel_2
app.aLabel_2 = uilabel(app.Panel_4);
app.aLabel_2.FontName = 'Times New Roman';
app.aLabel_2.FontSize = 16;
app.aLabel_2.FontWeight = 'bold';
app.aLabel_2.Position = [5 35 60 25];
app.aLabel_2.Text = 'a';
% Create ReleasesLabel
app.ReleasesLabel = uilabel(app.Panel_4);
app.ReleasesLabel.FontName = 'Times New Roman';
app.ReleasesLabel.FontSize = 16;
app.ReleasesLabel.FontWeight = 'bold';
app.ReleasesLabel.Position = [5 5 63 25];
app.ReleasesLabel.Text = 'Releases';
% Create Drop_Release
app.Drop_Release = uidropdown(app.Panel_4);
app.Drop_Release.Items = {'None', 'Start', 'End', 'Both'};
app.Drop_Release.FontName = 'Times New Roman';
app.Drop_Release.FontWeight = 'bold';
app.Drop_Release.FontColor = [0 0 1];
app.Drop_Release.Position = [70 5 90 25];
app.Drop_Release.Value = 'None';
% Create Panel_5
app.Panel_5 = uipanel(app.MembersTab);
app.Panel_5.AutoResizeChildren = 'off';
app.Panel_5.Position = [189 27 545 35];
% Create FromFileLabel_2
app.FromFileLabel_2 = uilabel(app.Panel_5);
app.FromFileLabel_2.FontName = 'Times New Roman';
app.FromFileLabel_2.FontSize = 16;
app.FromFileLabel_2.FontWeight = 'bold';
app.FromFileLabel_2.Position = [5 5 80 25];
app.FromFileLabel_2.Text = 'From File';
% Create BrowseButton_2
app.BrowseButton_2 = uibutton(app.Panel_5, 'push');
app.BrowseButton_2.ButtonPushedFcn = createCallbackFcn(app, @BrowseButton_2Pushed, true);
app.BrowseButton_2.FontName = 'Times';
app.BrowseButton_2.FontSize = 16;
app.BrowseButton_2.FontWeight = 'bold';
app.BrowseButton_2.Position = [450 5 90 25];
app.BrowseButton_2.Text = 'Browse';
% Create Field_FileName_2
app.Field_FileName_2 = uieditfield(app.Panel_5, 'text');
app.Field_FileName_2.Editable = 'off';
app.Field_FileName_2.HorizontalAlignment = 'right';
app.Field_FileName_2.FontName = 'Times New Roman';
app.Field_FileName_2.FontSize = 16;
app.Field_FileName_2.FontAngle = 'italic';
app.Field_FileName_2.Enable = 'off';
app.Field_FileName_2.Position = [80 5 365 25];
% Create AddMemberButton
app.AddMemberButton = uibutton(app.MembersTab, 'push');
app.AddMemberButton.ButtonPushedFcn = createCallbackFcn(app, @AddMemberButtonPushed, true);
app.AddMemberButton.WordWrap = 'on';
app.AddMemberButton.FontName = 'Times';
app.AddMemberButton.FontSize = 16;
app.AddMemberButton.FontWeight = 'bold';
app.AddMemberButton.Position = [475 68 80 50];
app.AddMemberButton.Text = 'Add Member';
% Create ModifyMemberButton
app.ModifyMemberButton = uibutton(app.MembersTab, 'push');
app.ModifyMemberButton.ButtonPushedFcn = createCallbackFcn(app, @ModifyMemberButtonPushed, true);
app.ModifyMemberButton.WordWrap = 'on';
app.ModifyMemberButton.FontName = 'Times';
app.ModifyMemberButton.FontSize = 16;
app.ModifyMemberButton.FontWeight = 'bold';
app.ModifyMemberButton.Position = [562 68 80 50];
app.ModifyMemberButton.Text = 'Modify Member';
% Create DeleteMemberButton
app.DeleteMemberButton = uibutton(app.MembersTab, 'push');
app.DeleteMemberButton.ButtonPushedFcn = createCallbackFcn(app, @DeleteMemberButtonPushed, true);
app.DeleteMemberButton.WordWrap = 'on';
app.DeleteMemberButton.FontName = 'Times';
app.DeleteMemberButton.FontSize = 16;
app.DeleteMemberButton.FontWeight = 'bold';
app.DeleteMemberButton.Position = [648 68 80 50];
app.DeleteMemberButton.Text = 'Delete Member';
% Create Button_Export_2
app.Button_Export_2 = uibutton(app.MembersTab, 'push');
app.Button_Export_2.ButtonPushedFcn = createCallbackFcn(app, @Button_Export_2Pushed, true);
app.Button_Export_2.Icon = 'ExportButton.png';
app.Button_Export_2.FontName = 'Times';
app.Button_Export_2.FontSize = 16;
app.Button_Export_2.FontWeight = 'bold';
app.Button_Export_2.Position = [189 68 50 50];
app.Button_Export_2.Text = '';
% Create LoadTypesTab
app.LoadTypesTab = uitab(app.TabGroup);
app.LoadTypesTab.Title = 'Load Types';
% Create Image
app.Image = uiimage(app.LoadTypesTab);
app.Image.ScaleMethod = 'stretch';
app.Image.Position = [1 1 738 400];
app.Image.ImageSource = 'FEM.png';
% Create CalculateTab
app.CalculateTab = uitab(app.TabGroup);
app.CalculateTab.Title = 'Calculate';
% Create AssembleButton
app.AssembleButton = uibutton(app.CalculateTab, 'push');
app.AssembleButton.ButtonPushedFcn = createCallbackFcn(app, @AssembleButtonPushed, true);
app.AssembleButton.WordWrap = 'on';
app.AssembleButton.FontName = 'Times';
app.AssembleButton.FontSize = 16;
app.AssembleButton.FontWeight = 'bold';
app.AssembleButton.Position = [8 340 160 50];
app.AssembleButton.Text = 'Assemble';
% Create EleminateButton
app.EleminateButton = uibutton(app.CalculateTab, 'push');
app.EleminateButton.ButtonPushedFcn = createCallbackFcn(app, @EleminateButtonPushed, true);
app.EleminateButton.WordWrap = 'on';
app.EleminateButton.FontName = 'Times';
app.EleminateButton.FontSize = 16;
app.EleminateButton.FontWeight = 'bold';
app.EleminateButton.Position = [10 281 160 50];
app.EleminateButton.Text = 'Eleminate';
% Create ArrangeButton
app.ArrangeButton = uibutton(app.CalculateTab, 'push');
app.ArrangeButton.ButtonPushedFcn = createCallbackFcn(app, @ArrangeButtonPushed, true);
app.ArrangeButton.WordWrap = 'on';
app.ArrangeButton.FontName = 'Times';
app.ArrangeButton.FontSize = 16;
app.ArrangeButton.FontWeight = 'bold';
app.ArrangeButton.Position = [8 221 160 50];
app.ArrangeButton.Text = 'Arrange';
% Create CondenseButton
app.CondenseButton = uibutton(app.CalculateTab, 'push');
app.CondenseButton.ButtonPushedFcn = createCallbackFcn(app, @CondenseButtonPushed, true);
app.CondenseButton.WordWrap = 'on';
app.CondenseButton.FontName = 'Times';
app.CondenseButton.FontSize = 16;
app.CondenseButton.FontWeight = 'bold';
app.CondenseButton.Position = [8 161 160 50];
app.CondenseButton.Text = 'Condense';
% Create SolveDOFButton
app.SolveDOFButton = uibutton(app.CalculateTab, 'push');
app.SolveDOFButton.ButtonPushedFcn = createCallbackFcn(app, @SolveDOFButtonPushed, true);
app.SolveDOFButton.WordWrap = 'on';
app.SolveDOFButton.FontName = 'Times';
app.SolveDOFButton.FontSize = 16;
app.SolveDOFButton.FontWeight = 'bold';
app.SolveDOFButton.Position = [8 101 160 50];
app.SolveDOFButton.Text = 'Solve DOF';
% Create Panel_6
app.Panel_6 = uipanel(app.CalculateTab);
app.Panel_6.AutoResizeChildren = 'off';
app.Panel_6.Position = [179 350 545 35];
% Create DirectoryLabel
app.DirectoryLabel = uilabel(app.Panel_6);
app.DirectoryLabel.FontName = 'Times New Roman';
app.DirectoryLabel.FontSize = 16;
app.DirectoryLabel.FontWeight = 'bold';
app.DirectoryLabel.Position = [5 5 80 25];
app.DirectoryLabel.Text = 'Directory';
% Create Field_FileDirectory
app.Field_FileDirectory = uieditfield(app.Panel_6, 'text');
app.Field_FileDirectory.Editable = 'off';
app.Field_FileDirectory.HorizontalAlignment = 'right';
app.Field_FileDirectory.FontName = 'Times New Roman';
app.Field_FileDirectory.FontSize = 16;
app.Field_FileDirectory.FontAngle = 'italic';
app.Field_FileDirectory.Enable = 'off';
app.Field_FileDirectory.Position = [80 5 456 25];
% Create SolveMembersButton
app.SolveMembersButton = uibutton(app.CalculateTab, 'push');
app.SolveMembersButton.ButtonPushedFcn = createCallbackFcn(app, @SolveMembersButtonPushed, true);
app.SolveMembersButton.WordWrap = 'on';
app.SolveMembersButton.FontName = 'Times';
app.SolveMembersButton.FontSize = 16;
app.SolveMembersButton.FontWeight = 'bold';
app.SolveMembersButton.Position = [8 41 160 50];
app.SolveMembersButton.Text = 'Solve Members';
% Construct app
function app = Stiffness2D_V3
if nargout == 0
clear app
end
end