Professional Documents
Culture Documents
Gauss Seidel Method
Gauss Seidel Method
clear all;
clc;
j=sqrt(-1);
z(r)=res(r)+(j*x(r));
hlc(r)=j*hlc1(r);
y(r)=1/z(r);
%y bus formation
m=sb(r);
n=eb(r);
if a==0
ybus(m,m)=ybus(m,m)+y(r)+hlc(r);
ybus(n,n)=ybus(n,n)+y(r)+hlc(r);
ybus(m,n)=ybus(m,n)-y(r);
ybus(n,m)=ybus(m,n);
else
ybus(m,m)=ybus(m,m)+(y(r)/a)+((y(r)/a)*((1/a)-1));
ybus(n,n)=ybus(n,n)+(y(r)/a)+((y(r))*(1-(1/a)));
ybus(m,n)=ybus(m,n)-(y(r)/a);
ybus(n,m)=ybus(m,n);
end
end
disp(ybus);
r=input('enter the no of buses');
pv=input('enter the no of p-v buses');
vold(1)=input('enter the voltage of slack bus');
vnew(1)=vold(1);
for i=2:pv
vold(i)=input('enter the voltage of pv bus');
qlimiti(i)=input('enter the initial value of Q for pv bus ');
qlimitf(i)=input('enter the final value of Q for pv bus');
end
for i=(1+pv):r
vold(i)=1;
end
for i=pv:r
p(i)=input('enter the real power in pu');
end
for i=(pv+1):r
qcal(i)=input('enter the reactive power in pu');
end
for i=2:pv
qcal1(i)=0;
for k=1:r
qcal1(i)=(qcal1(i)+((vold(i)*ybus(i,k)*vold(k))));
end
qcal2(i)=-(imag(qcal1(i)));
if qlimiti(i)<qcal2(i) && qcal2(i)<qlimitf(i)
qcal(i)=qcal2(i);
else
qcal(i)=qlimiti(i);
end
end
disp(qcal)
for i=2:pv
j=sqrt(-1);
a(i)=1/(ybus(i,i));
b(i)=(((p(i)-(j*qcal(i))))/vold(i));
c=0;
for k=1:i-1
c=c+(ybus(i,k)*vnew(k));
end
d=0;
for k=i+1:r
d=d+(ybus(i,k)*vold(k));
end
vnew1(i)=a(i)*(b(i)-c-d);
[ang(i) mag(i)]=cart2pol(real(vnew1(i)),imag(vnew1(i)));
[a(i),b(i)]=pol2cart(ang(i),vold(i));
vnew(i)=complex(a(i),b(i));
disp(vnew(i));
end
for i=(pv+1):r
j=sqrt(-1);
a(i)=1/(ybus(i,i));
b(i)=(((p(i)-(j*qcal(i))))/vold(i));
c=0;
for k=1:i-1
c=c+(ybus(i,k)*vnew(k));
end
d=0;
for k=i+1:r
d=d+(ybus(i,k)*vold(k));
end
vnew(i)=a(i)*(b(i)-c-d);
disp(vnew(i));
end
OUTPUT:
Column 6
-0.4339 + 1.8275i
0
0
-0.5023 + 2.3496i
0 + 3.3333i
0.9362 - 7.5104i
1.0058 + 0.1697i
1.0115 + 0.0805i
1.0152 + 0.0482i
1.0329 + 0.1091i
1.0435 + 0.1268i