Bus Admittance Matrix
Date: 19/11/2021 Name: Mujeeb Javed
Experiment No: 9 Reg. No: 19BEE1011
Aim:
To write a MATLAB program to form bus admittance matrix Y
1) For the sample 4 bus system whose line data is given as
Half line
From bus To bus R X charging
susceptance
1 2 0.2 0.8 0.02
2 3 0.3 0.9 0.03
3 4 0.2 0.8 0.02
2 4 0.25 1 0.04
1 3 0.1 0.4 0.01
2) IEEE 14 bus system.
Theory: Formation of Bus Admittance matrix
Consider a three-bus power system shown in Fig.1 .The equivalent power network for
the system is shown in Fig .2 in which the generator is replaced by i t s Norton equivalent,
the loads by their equivalent admittances and transmission lines by the equivalent circuits. In
Fig.2, the admittances of the generator, loads and transmission lines are given in per unit to
system MVA base. The ground is taken as reference node. Applying Kirchhoff’s current law
(KCL), to nodes 1, 2 and 3.
Fig. .1 A Sample Power System Fig..2 Equivalent Power Network
Two-Rule Method for Assembling Y matrix:
1. The diagonal element Yii of the matrix is equal to the sum of the admittances of
all elements connected to the ith node.
2. The off-diagonal element Yij of the matrix is equal to the negative of the sum of the
admittances of all elements connected between the nodes i and j.
Theoretical Calculations (for the 4 bus system):
MATLAB code:
1]
Linedata=[1 2 0.2 0.8 0.02
2 3 0.3 0.9 0.03
3 4 0.2 0.8 0.02
2 4 0.25 1.0 0.04
1 3 0.1 0.4 0.01];
nl=Linedata(:,1);
nr=Linedata(:,2);
R=Linedata(:,3);
X=Linedata(:,4);
B=Linedata(:,5);
nline=length(Linedata(:,1))
nbus=max(max(nl),max(nr))
Z=R + 1j*X
y=ones(nline,1)./Z
ybus=zeros(nbus,nbus);
for n = 1:nbus
for k = 1:nline
if nl(k) == n || nr(k) == n
ybus(n,n) = ybus (n,n) + y(k) + (1j*B(k));
else
end
end
end
for k = 1:nline
ybus(nl(k),nr(k))=ybus(nl(k),nr(k))-y(k);
ybus(nr(k),nl(k))=ybus(nl(k),nr(k));
end
ybus
2]
Linedata=[ 1 2 0.01938 0.05917 0.02640
1 5 0.05403 0.22304 0.02190
2 3 0.04699 0.19797 0.01870
2 4 0.05811 0.17632 0.02460
2 5 0.05697 0.17388 0.01700
3 4 0.06701 0.17103 0.01730
4 5 0.01335 0.04211 0.00640
4 7 0 0.20912 0
4 9 0 0.55618 0
5 6 0 0.25202 0
6 11 0.09498 0.19890 0
6 12 0.12291 0.25581 0
6 13 0.06615 0.13027 0
7 8 0 0.17615 0
7 9 0 0.11001 0
9 10 0.03181 0.0845 0
9 14 0.12711 0.27038 0
10 11 0.08205 0.19207 0
12 13 0.22092 0.19988 0
13 14 0.17093 0.34802 0];
nl=Linedata(:,1);
nr=Linedata(:,2);
R=Linedata(:,3);
X=Linedata(:,4);
B=Linedata(:,5);
nline=length(Linedata(:,1))
nbus=max(max(nl),max(nr))
Z=R + 1j*X
y=ones(nline,1)./Z
ybus=zeros(nbus,nbus);
for n = 1:nbus
for k = 1:nline
if nl(k) == n || nr(k) == n
ybus(n,n) = ybus (n,n) + y(k) + (1j*B(k));
else
end
end
end
for k = 1:nline
ybus(nl(k),nr(k))=ybus(nl(k),nr(k))-y(k);
ybus(nr(k),nl(k))=ybus(nl(k),nr(k));
end
ybus
Results (for 4 bus and 14 bus system):
1]
2]