Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
7 views6 pages

Psa Exp3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views6 pages

Psa Exp3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Generalized Y-Bus Matrix Formulation

% Ritesh-25MT0416
% Generalized Y-Bus Formation Script

clear; clc;

% Defining Transmission Line Data


% Format per row: [FromBus ToBus R(pu) X(pu) B(pu)
tap_ratio]
linedata = [
1 2 0.01938 0.05917 0.0528 1;
1 5 0.05403 0.22304 0.0492 1;
2 3 0.04699 0.19797 0.0438 1;
2 4 0.05811 0.17632 0.0374 1;
2 5 0.05695 0.17388 0.0340 1;
3 4 0.06701 0.17103 0.0346 1;
4 5 0.01335 0.04211 0.0128 1;
4 7 0.0 0.20912 0.0 0.978;
4 9 0.0 0.55618 0.0 0.969;
5 6 0.0 0.25202 0.0 0.932;
6 11 0.09498 0.19890 0.0 1;
6 12 0.12291 0.25581 0.0 1;
6 13 0.06615 0.13027 0.0 1;
7 8 0.0 0.17615 0.0 1;
7 9 0.0 0.11001 0.0 1;
9 10 0.03181 0.08450 0.0 1;
9 14 0.12711 0.27038 0.0 1;
10 11 0.08205 0.19207 0.0 1;
12 13 0.22092 0.19988 0.0 1;
13 14 0.17093 0.34802 0.0 1
];

% Asking user for desired number of buses


nb = input('Enter total number of buses to consider: ');

% Keeping only lines connected to these buses


connect = linedata(:,1) <= nb & linedata(:,2) <= nb;
ldata = linedata(connect,:);

% Total buses in system


nBus = max(max(ldata(:,1:2)));
if nb > nBus || nb < 1 % Throw error if invalid input for buses
error('Invalid number of buses!');
end

% Initialize Ybus
Ybus = zeros(nBus);

% Build Ybus from line data


for k = 1:size(ldata,1)
p = ldata(k,1); % from bus
q = ldata(k,2); % to bus
R = ldata(k,3);
X = ldata(k,4);
Bc = ldata(k,5); % line charging
tap = ldata(k,6);

if tap == 0
tap = 1; % default tap
end

z = R + 1i*X;
y = 1/z;
B = 1i*Bc;

Ybus(p,q) = Ybus(p,q) - y/tap;


Ybus(q,p) = Ybus(p,q);
Ybus(p,p) = Ybus(p,p) + y/(tap^2) + B;
Ybus(q,q) = Ybus(q,q) + y + B;
end

disp('Initial Ybus Matrix:');


disp(Ybus);

% Add Transformer data


answ1 = input('Do you want to add transformer data? (1=Yes,
0=No): ');
if answ1 == 1
fb = input('Enter from bus for transformer: ');
tb = input('Enter to bus for transformer: ');
yt = input('Enter transformer admittance eg.complex(0,-4):
');
tr = input('Enter tap ratio: ');
% Update Ybus
Ybus(fb,fb) = Ybus(fb,fb) - yt + yt/(tr^2);
Ybus(tb,tb) = Ybus(tb,tb) - yt + yt;
Ybus(fb,tb) = Ybus(fb,tb) + yt - yt/tr;
Ybus(tb,fb) = Ybus(fb,tb);

disp('Ybus after transformer addition:\n');


disp(Ybus);
end
if answ1 == 0
fprintf('');
end

% Option for adding Mutual Coupling


answ2 = input('Do you want to add mutual coupling? (1=Yes,
0=No): ');
if answ2 == 1
m1 = input('Enter first bus for mutual coupling: ');
m2 = input('Enter to bus for mutual coupling: ');
y_mut = input('Enter mutual coupling admittance
eg.complex(0,-4): ');

Ybus(m1,m2) = Ybus(m1,m2) + y_mut;


Ybus(m2,m1) = Ybus(m2,m1) + y_mut;

disp('Ybus with mutual coupling:');


disp(Ybus);
end
if answ2 == 0
disp('');
end

% Option for Regulating Transformers


answ = input('Do you want to add regulating transformers?
(1=Yes, 2=No): ');
if answ == 1
nreg = input('Enter number of regulating transformers: ');
for m = 1:nreg
disp(['Enter data for regulating transformer #'
num2str(m) ' as [from, to, R, X, B/2, tap]:']);
d = input('');
ldata = [ldata; d];
end
end
if answ == 0
disp('');
end

% Rebuild final Ybus from updated line data


nBus = max(max(ldata(:,1:2)));
Ybus = zeros(nBus);

for k = 1:size(ldata,1)
p = ldata(k,1);
q = ldata(k,2);
R = ldata(k,3);
X = ldata(k,4);
Bc = ldata(k,5);
tap = ldata(k,6);

if tap == 0, tap = 1; end

z = R + 1i*X;
y = 1/z; B = 1i*Bc;

Ybus(p,q) = Ybus(p,q) - y/tap;


Ybus(q,p) = Ybus(p,q);
Ybus(p,p) = Ybus(p,p) + y/(tap^2) + B;
Ybus(q,q) = Ybus(q,q) + y + B;
end

disp('Final Ybus Matrix:');


disp(Ybus);
COMMAND WINDOW OUTPUT
CASE 1: When adding transformer data, mutual coupling and another transformer
into the given data.

Enter total number of buses to consider: 5


Initial Ybus Matrix:
6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i
0.0000 + 0.0000i -1.1350 + 4.7819i 3.1210 - 9.7723i -1.9860 + 5.0688i
0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -1.9860 + 5.0688i 10.5130 -31.6784i -
6.8410 +21.5786i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -30.9115i

Do you want to add transformer data? (1=Yes, 0=No): 1


Enter from bus for transformer: 3
Enter to bus for transformer: 4
Enter transformer admittance eg.complex(0,-4): complex(0,-3)
Enter tap ratio: 0.9887
Ybus after transformer addition:\n
6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i
0.0000 + 0.0000i -1.1350 + 4.7819i 3.1210 - 9.8412i -1.9860 + 5.1031i
0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -1.9860 + 5.1031i 10.5130 -31.6784i -
6.8410 +21.5786i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -30.9115i

Do you want to add mutual coupling? (1=Yes, 0=No): 1


Enter first bus for mutual coupling: 3
Enter to bus for mutual coupling: 4
Enter mutual coupling admittance eg.complex(0,-4): complex(0,-5)
Ybus with mutual coupling:
6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i
0.0000 + 0.0000i -1.1350 + 4.7819i 3.1210 - 9.8412i -1.9860 + 0.1031i
0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -1.9860 + 0.1031i 10.5130 -31.6784i -
6.8410 +21.5786i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -30.9115i

Do you want to add regulating transformers? (1=Yes, 2=No): 1


Enter number of regulating transformers: 1
Enter data for regulating transformer #1 as [from, to, R, X, B/2, tap]:
[3,4,0.8651,0.3397,0.6547,0.9877]
Final Ybus Matrix:
6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i
0.0000 + 0.0000i -1.1350 + 4.7819i 4.1476 - 9.5207i -3.0000 + 5.4670i
0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -3.0000 + 5.4670i 11.5145 -31.4170i -
6.8410 +21.5786i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -30.9115i

CASE 2: When only working on transformer data, not adding any mutual coupling or
another transformer into the given data.

Enter total number of buses to consider: 6


Initial Ybus Matrix:
6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i 0.0000 + 0.0000i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.1350 + 4.7819i 3.1210 - 9.7723i -1.9860 + 5.0688i
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -1.9860 + 5.0688i 10.5130 -31.6784i -
6.8410 +21.5786i 0.0000 + 0.0000i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -35.4795i 0.0000 + 4.2574i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 4.2574i 0.0000 - 3.9679i

Do you want to add transformer data? (1=Yes, 0=No): 0


Do you want to add mutual coupling? (1=Yes, 0=No): 0
Do you want to add regulating transformers? (1=Yes, 2=No): 0

Final Ybus Matrix:


6.0250 -19.3961i -4.9991 +15.2631i 0.0000 + 0.0000i 0.0000 + 0.0000i -
1.0259 + 4.2350i 0.0000 + 0.0000i
-4.9991 +15.2631i 9.5213 -30.1867i -1.1350 + 4.7819i -1.6860 + 5.1158i -
1.7011 + 5.1939i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.1350 + 4.7819i 3.1210 - 9.7723i -1.9860 + 5.0688i
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.6860 + 5.1158i -1.9860 + 5.0688i 10.5130 -31.6784i -
6.8410 +21.5786i 0.0000 + 0.0000i
-1.0259 + 4.2350i -1.7011 + 5.1939i 0.0000 + 0.0000i -6.8410 +21.5786i
9.5680 -35.4795i 0.0000 + 4.2574i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 4.2574i 0.0000 - 3.9679i

You might also like