Melanjutkan tulisan terdahulu, kita sudah mempelajari bagaimana menyelesaikan aliran daya di 3 bus secara analitis, baik dengan metode Newton-Raphson maupun dengan DLF dan Fast Decoupled Load Flow. Kita juga sudah belajar mengenal software PowerWorld yang membantu kita menganalisis STL. Sekarang kita akan mengkonfirmasi hasil-hasil perhitungan kita dengan software PowerWorld ini.
Yang pertama kita simulasikan dengan metode NR, hasilnya sbb:
Bus Records from Powerworld’s Full Newton Load Flow Solution
Name |
PU Volt |
Angle (Deg) |
Load MW |
Load Mvar |
Gen MW |
Gen Mvar |
1 |
1 |
0 |
|
|
99.96 |
25.77 |
2 |
1.03 |
1.32 |
|
|
400 |
418.55 |
3 |
0.93437 |
-5.38 |
500 |
350 |
|
|
Yang kedua kita simulasikan dengan memilih algoritma FDLF, yang hasilnya sbb:
Bus Records from Powerworld’s Fast Decoupled Load Flow Solution
Name |
PU Volt |
Angle (Deg) |
Load MW |
Load Mvar |
Gen MW |
Gen Mvar |
1 |
1 |
0 |
|
|
99.99 |
24.41 |
2 |
1.03 |
1.31 |
|
|
400 |
417.13 |
3 |
0.93485 |
-5.35 |
500 |
350 |
|
|
Ternyata perbandingan hasil kalkulasi tangan/manual dengan hasil perhitungan software sangat dekat, sehingga kita dapat memastikan bahwa kita menggunakan metode NR, DLF dan FDLF dengan benar.
Selain PowerWorld, sebenarnya ada banyak software yang dapat membantu kita menyelesaikan aliran daya STL, termasuk PSS®E dari Siemens yang merupakan software “wajib” yang banyak dipakai oleh designer ataupun operator STL di seluruh dunia.
Untuk para akademisi/pelajar, biasanya juga banyak memakai Matlab untuk menyelesaikannya. Di Matlab kita harus teliti, namun selama kita memahami algoritmanya, hasilnya juga akan sama dengan software2 lain.
Source code Matlab dengan metode NR untuk permasalahan ini :
% % Question #5A Newton-Raphson method
% Modified from Saadat’s Power System Analysis Example 6.10
clear; clc;
V = [1.0; 1.03; 1.0];
d = [0; 0; 0];
Ps=[4 ; -5];
Qs= -3.5;
YB = [ -j*75 j*50 j*25
j*50 -j*75 j*25
j*25 j*25 -j*50];
Y= abs(YB); t = angle(YB);
iter=0;
while iter < 2
iter = iter +1
P=[V(2)*V(1)*Y(2,1)*cos(t(2,1)-d(2)+d(1))+V(2)^2*Y(2,2)*cos(t(2,2))+ …
V(2)*V(3)*Y(2,3)*cos(t(2,3)-d(2)+d(3));
V(3)*V(1)*Y(3,1)*cos(t(3,1)-d(3)+d(1))+V(3)^2*Y(3,3)*cos(t(3,3))+ …
V(3)*V(2)*Y(3,2)*cos(t(3,2)-d(3)+d(2))];
Q= -V(3)*V(1)*Y(3,1)*sin(t(3,1)-d(3)+d(1))-V(3)^2*Y(3,3)*sin(t(3,3))- …
V(2)*V(3)*Y(3,2)*sin(t(3,2)-d(3)+d(2));
J(1,1)=V(2)*V(1)*Y(2,1)*sin(t(2,1)-d(2)+d(1))+…
V(2)*V(3)*Y(2,3)*sin(t(2,3)-d(2)+d(3));
J(1,2)=-V(2)*V(3)*Y(2,3)*sin(t(2,3)-d(2)+d(3));
J(1,3)=V(2)*Y(2,3)*cos(t(2,3)-d(2)+d(3));
J(2,1)=-V(3)*V(2)*Y(3,2)*sin(t(3,2)-d(3)+d(2));
J(2,2)=V(3)*V(1)*Y(3,1)*sin(t(3,1)-d(3)+d(1))+…
V(3)*V(2)*Y(3,2)*sin(t(3,2)-d(3)+d(2));
J(2,3)=V(1)*Y(3,1)*cos(t(3,1)-d(3)+d(1))+…
V(2)*Y(3,2)*cos(t(3,2)-d(3)+d(2));
J(3,1)=-V(3)*V(2)*Y(3,2)*cos(t(3,2)-d(3)+d(2));
J(3,2)=V(2)*V(3)*Y(3,2)*cos(t(3,2)-d(3)+d(2))+…
V(1)*V(3)*Y(3,1)*cos(t(3,1)-d(3)+d(1));
J(3,3)=-V(1)*Y(3,1)*sin(t(3,1)-d(3)+d(1))-2*V(3)*Y(3,3)*sin(t(3,3))-…
V(2)*Y(3,2)*sin(t(3,2)-d(3)+d(2));
DP = Ps – P;
DQ = Qs – Q;
DC = [DP; DQ]
J
DX = J\DC
d(2) =d(2)+DX(1);
d(3)=d(3) +DX(2);
V(3)= V(3)+DX(3);
V, d, delta =180/pi*d;
end
P1= V(1)^2*Y(1,1)*cos(t(1,1))+V(1)*V(2)*Y(1,2)*cos(t(1,2)-d(1)+d(2))+…
V(1)*V(3)*Y(1,3)*cos(t(1,3)-d(1)+d(3))
Q1=-V(1)^2*Y(1,1)*sin(t(1,1))-V(1)*V(2)*Y(1,2)*sin(t(1,2)-d(1)+d(2))-…
V(1)*V(3)*Y(1,3)*sin(t(1,3)-d(1)+d(3))
Q2=-V(2)*V(1)*Y(2,1)*sin(t(2,1)-d(2)+d(1))-V(3)*V(2)*Y(2,3)*…
sin(t(2,3)-d(2)+d(3))-V(2)^2*Y(2,2)*sin(t(2,2))
P_loss = P1+4-5
Q_loss = Q1+Q2-3.5
Kode Matlab dengan FDLF :
% Question #5C Fast decoupled method
% Modified from Saadat’s Power System Analysis Example 6.12
clear; clc;
V1= 1.0; V2 = 1.03; V3 = 1.0;
d1 = 0; d2 = 0; d3=0;
Ps2=4; Ps3 =-5;
Qs3= -3.5;
YB = [ -j*75 j*50 j*25
j*50 -j*75 j*25
j*25 j*25 -j*50];
Y= abs(YB); t = angle(YB);
B1 =[-75 25; 25 -50]
Binv = inv(B1)
iter=0;
while iter < 2
iter = iter +1;
P2= V2*V1*Y(2,1)*cos(t(2,1)-d2+d1)+V2^2*Y(2,2)*cos(t(2,2))+ …
V2*V3*Y(2,3)*cos(t(2,3)-d2+d3);
P3= V3*V1*Y(3,1)*cos(t(3,1)-d3+d1)+V3^2*Y(3,3)*cos(t(3,3))+ …
V3*V2*Y(3,2)*cos(t(3,2)-d3+d2);
Q3=-V3*V1*Y(3,1)*sin(t(3,1)-d3+d1)-V3^2*Y(3,3)*sin(t(3,3))- …
V2*V3*Y(3,2)*sin(t(3,2)-d3+d2);
DP2 = Ps2 – P2; DP2V = DP2/V2;
DP3 = Ps3 – P3; DP3V = DP3/V3;
DQ3 = Qs3 – Q3; DQ3V = DQ3/V3;
DC =[DP2; DP3; DQ3];
Dd = -Binv*[DP2V;DP3V];
DV = -1/B1(2,2)*DQ3V
d2 =d2+Dd(1);
d3 =d3+Dd(2);
V3= V3+DV;
angle2 =180/pi*d2;
angle3 =180/pi*d3;
disp(‘ iter d2 d3 V3 DP2 DP3 DQ3’);
R = [iter d2 d3 V3 DP2 DP3 DQ3]
end
Q2=-V2*V1*Y(2,1)*sin(t(2,1)-d2+d1)-V2^2*Y(2,2)*sin(t(2,2))- …
V2*V3*Y(2,3)*sin(t(2,3)-d2+d3);
P1= V1^2*Y(1,1)*cos(t(1,1))+V1*V2*Y(1,2)*cos(t(1,2)-d1+d2)+ …
V1*V3*Y(1,3)*cos(t(1,3)-d1+d3);
Q1=-V1^2*Y(1,1)*sin(t(1,1))-V1*V2*Y(1,2)*sin(t(1,2)-d1+d2)- …
V1*V3*Y(1,3)*sin(t(1,3)-d1+d3);
S1=P1+j*Q1
Q2
P_loss = P1+4-5
Q_loss = Q1+Q2-3.5
Comments on: "Lanjutan Contoh Penyelesaian Aliran Daya Listrik dengan Metode Newton-Raphson, Decoupled dan Fast Decoupled Load Flow (2)" (21)
Mas Imaduddin, salam kenal…
Mas, aku minta source code matlab fast decoupled method donk…
Penting, buat ngerjain skripsi tentang rekonfigurasi jaringan distribusi….
Thank’s ya…
Salam kenal juga untuk pak Nurwahyu,
Saya salin kan dari source code CD nya pak Saadat, mudah2an tidak ada komplain dari beliau untuk hak ciptanya. Jika ada komplain, source code ini akan saya hapus.
% Fast Decoupled Power Flow Solution
% Copyright (c)1998 by Hadi Saadat.
% Revision 1 (Aug. 99 ) Modified to include two or more parallel lines
ns=0; Vm=0; delta=0; yload=0; deltad=0;
nbus = length(busdata(:,1));
kb=[];Vm=[]; delta=[]; Pd=[]; Qd=[]; Pg=[]; Qg=[]; Qmin=[]; Qmax=[]; % Added (6-8-00)
Pk=[]; P=[]; Qk=[]; Q=[]; S=[]; V=[]; % Added (6-8-00)
for k=1:nbus
n=busdata(k,1);
kb(n)=busdata(k,2); Vm(n)=busdata(k,3); delta(n)=busdata(k, 4);
Pd(n)=busdata(k,5); Qd(n)=busdata(k,6); Pg(n)=busdata(k,7); Qg(n) = busdata(k,8);
Qmin(n)=busdata(k, 9); Qmax(n)=busdata(k, 10);
Qsh(n)=busdata(k, 11);
if Vm(n) = accuracy & iter <= maxiter % Test for max. power mismatch
iter = iter+1;
id=0; iv=0;
for n=1:nbus
nn=n-nss(n);
J11=0; J33=0;
for ii=1:nbr
if mline(ii)==1 % Added to include parallel lines (Aug. 99)
if nl(ii) == n | nr(ii) == n
if nl(ii) == n, l = nr(ii); end
if nr(ii) == n, l = nl(ii); end
J11=J11+ Vm(n)*Vm(l)*Ym(n,l)*sin(t(n,l)- delta(n) + delta(l));
J33=J33+ Vm(n)*Vm(l)*Ym(n,l)*cos(t(n,l)- delta(n) + delta(l));
else , end
else, end
end
Pk = Vm(n)^2*Ym(n,n)*cos(t(n,n))+J33;
Qk = -Vm(n)^2*Ym(n,n)*sin(t(n,n))-J11;
if kb(n) == 1 P(n)=Pk; Q(n) = Qk; end % Swing bus P
if kb(n) == 2 Q(n)=Qk;
Qgc = Q(n)*basemva + Qd(n) – Qsh(n);
if Qmax(n) ~= 0
if iter = 10 % the Mvar of generator buses are
if Qgc Qmax(n), % bring the generator Mvar within
Vm(n) = Vm(n) – 0.005;end % the specified limits.
else, end
else,end
else,end
end
if kb(n) ~= 1
id = id+1;
DP(id) = P(n)-Pk;
DPV(id) = (P(n)-Pk)/Vm(n);
end
if kb(n) == 0
iv=iv+1;
DQ(iv) = Q(n)-Qk;
DQV(iv) = (Q(n)-Qk)/Vm(n);
end
end
Dd=-B1\DPV’;
DV=-B2\DQV’;
id=0;iv=0;
for n=1:nbus
if kb(n) ~= 1
id = id+1;
delta(n) = delta(n)+Dd(id); end
if kb(n) == 0
iv = iv+1;
Vm(n)=Vm(n)+DV(iv); end
end
maxerror=max(max(abs(DP)),max(abs(DQ)));
if iter == maxiter & maxerror > accuracy
fprintf(‘\nWARNING: Iterative solution did not converged after ‘)
fprintf(‘%g’, iter), fprintf(‘ iterations.\n\n’)
fprintf(‘Press Enter to terminate the iterations and print the results \n’)
converge = 0; pause, else, end
end
if converge ~= 1
tech= (‘ ITERATIVE SOLUTION DID NOT CONVERGE’); else,
tech=(‘ Power Flow Solution by Fast Decoupled Method’);
end
k=0;
V = Vm.*cos(delta)+j*Vm.*sin(delta);
deltad=180/pi*delta;
clear A; clear DC; clear DX
i=sqrt(-1);
for n = 1:nbus
if kb(n) == 1
S(n)=P(n)+j*Q(n);
Pg(n) = P(n)*basemva + Pd(n);
Qg(n) = Q(n)*basemva + Qd(n) – Qsh(n);
k=k+1;
Pgg(k)=Pg(n);
elseif kb(n) ==2
S(n)=P(n)+j*Q(n);
Qg(n) = Q(n)*basemva + Qd(n) – Qsh(n);
k=k+1;
Pgg(k)=Pg(n);
end
yload(n) = (Pd(n)- j*Qd(n)+j*Qsh(n))/(basemva*Vm(n)^2);
end
busdata(:,3)=Vm’; busdata(:,4)=deltad’;
Pgt = sum(Pg); Qgt = sum(Qg); Pdt = sum(Pd); Qdt = sum(Qd); Qsht = sum(Qsh);
clear Pk Qk DP DQ J11 J33 B1 B1inv B2 B2inv DPV DQV Dd delta ib id ii iv jb jj
Assalam..
mas,,,source code yg NR nya g lgkp y??
soalnya error :”??? Error: File: NR.m Line: 30 Column: 1
Incomplete or misformed expression or statement.”
bingung ne??
makasih y mas..
Saya cek lagi, programnya jalan, coba pak radian copy baris/line 30 yang dibilang error tadi. Mungkin saya bisa lihat dimana letak errornya.
Baris 30 harusnya:
J(2,3)=V(1)*Y(3,1)*cos(t(3,1)-d(3)+d(1))+…
Di Matlab, kadang kurang titik (.) atau kurang (,) atau kadang beda versi bisa bikin source code ngga jalan.
??? Error: File: NR.m Line: 30 Column: 1
Incomplete or misformed expression or statement.
itu katanya mas..
ohy.. boleh minta emailnymas??
saya punya jurnal tentang optimasi daya reaktif,, tapi susah banget ngertiny??
trims..
wassalamualaikum…
??? Error: File: NR.m Line: 30 Column: 1
Incomplete or misformed expression or statement.
itu katanya mas..
oh.. boleh minta emailnymas??
saya punya jurnal tentang optimasi daya reaktif,, tapi susah banget ngertiny??
trims..
wassalamualaikum…
ohy..ada yg lupa
P=[V(2)*V(1)*Y(2,1)*cos(t(2,1)-d(2)+d(1))+V(2)^2*Y(2,2)*cos(t(2,2))+ …
%kursor nya nunjuk dibawah code ini mas errorny..
Saya sudah cek lagi. Tidak ada yang salah di source code ini.
Coba dicek:
1. Pastikan m file untuk NR tidak dicampur dengan FDLF.
2. Teliti lagi statement P=[P1; P2]; Pada dasarnya tanda titik tiga kali yang artinya lanjutan statement ini ada di baris berikutnya, menunjukkan sebenarnya statement ini aslinya ditulis 1 baris. Ada kemungkinan versi Matlab sebelum tahun 2006 tidak mengenal syntax ini. Coba gabungkan statement ini menjadi 1 baris (dengan menghilangkan “…”)menjadi:
P=[V(2)*V(1)*Y(2,1)*cos(t(2,1)-d(2)+d(1))+V(2)^2*Y(2,2)*cos(t(2,2))+V(2)*V(3)*Y(2,3)*cos(t(2,3)-d(2)+d(3)); V(3)*V(1)*Y(3,1)*cos(t(3,1)-d(3)+d(1))+V(3)^2*Y(3,3)*cos(t(3,3))+V(3)*V(2)*Y(3,2)*cos(t(3,2)-d(3)+d(2))];
haha…alhamdulillah mas…udah jalan.,..trims y..
mw nanya lagi mas??
referensi yang cocok ttg kestabilan tegangan yg berhubungan sama optimasi daya reaktif ada g??
trima kasih bantuanny…
Ada artikel yang masih belum saya terbitkan yang berhubungan dengan kestabilan tegangan dan optimasi daya reaktif, namun demikian radian coba dulu baca sumber2 yang saya pakai sbb:
[1] R. D. Zimmerman and C. E. Murillo-Sánchez, Matpower Version 3.2 User’s Manual. Ithaca, NY: Power Systems Engineering Research Center (PSERC) School of Electrical Engineering, Cornell University, 2007.
[2] H. Saadat, Power System Analysis: McGraw-Hill Primis Custom Publishing, 2002.
[3] B. Gao, G. K. Morison, and P. Kundur, “Voltage Stability Evaluation Using Modal Analysis,” Transactions on Power Systems, vol. 7, pp. 1529 – 1543, 1992.
[4] J. Chow, Power System Toolbox Version 2.0 Load Flow Tutorial and Functions: Cherry Tree Scientific Software, 2002.
[5] C. W. Taylor, Power System Voltage Stability. New York: McGraw-Hill, Inc., 1994.
[6] D. Chattopadhyay and B. B. Chakrabarti, “Reactive power planning incorporating voltage stability,” Electrical Power and Energy Systems, vol. 24, pp. 185-200, 2002.
[7] W. Zhang and L. M. Tolbert, “Survey of Reactive Power Planning Methods,” IEEE Power Engineering Society General Meeting, vol. 2, pp. 1430 – 1440, 2005.
+ bukunya Prabha Kundur : Power System Stability and Control bab 11, 12, 14.
mas…kalo kita mau analisis kestabilan kan harus analisa matrik reduksi dari Jacobian bt menentukan batas kestabilannya??
trus gmana kita ngeliat matrik jacobiannya dari hasil load flow (saya pake contoh load flow NR yang mas kasih)??
terima kasih sebelumnya..
coba liat di Command Window, disitu kan ada J = …, itu matriksnya.
nanya lagi ne mas…hehe…maaf ngerepotin…kalo kita mau menentukan voltage stability margin dari sistem menggunakan singular value decomposition dari matrik Jacobian gimana caranya?? ohy…saya masih menggunakan Matlab buat perhitungannya.,..
Mas…sy ada ngerjain aliran daya 3 fasa pada sistem distribusi dengan metode fast de coupled. sy mentok saat membuat programnya dengan matlab. bisa dibantu???
Maaf mas saya mau tanya, bagaimana cara membentuk matriks B2 pada metode fast decoupled dalam bahasa pemrograman MATLAB??
Terimakasih….
mas, ada contoh perhitungan manual dari data sebenarnya yng dilapangan???
misal aliran daya jaringan transmisi sampai ke distribusi yg kecil aja dlu mas…
assalamualaikum mas Imaduddin,,
ada referensi tentang perhitungan algoritma gauss seidel paralel?
aq ada mas izzadt, kirim email kamu aja kesini ntr aq kirim….
terima kasih mas jhony.. kirim email ke disis_zzadt@hotmail.com
Mas Imaduddin, salam kenal…
Mas, saya mau minta source code matlab penyelesaian aliran daya sistem distribusi radial…
yang pakai matrik BIAC (Bus Injeksi ke Arus Cabang) dan matrik ACTB (Arus Cabang ke Tegangan Bus) yang ada cari arus injeksinya
Penting mas, buat ngerjain skripsi sy….
Thank’s ya…
Assalamualaikum Mas Imaluddin…
Mas apakah punya source code matlab penyelesaian aliran daya sistem distribusi radial?
yang pakai matrik BIAC (Bus Injeksi ke Arus Cabang) dan matrik ACTB (Arus Cabang ke Tegangan Bus) yang ada cari arus injeksinya.
Terima kasih sebelumnya…