Generators G1 100 MVA 138 kV G2 200 MVA 150 kV Transformers

Generators
G1: 100 MVA, 13.8 kV
G2: 200 MVA, 15.0 kV


Transformers
T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu
T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu


Transmission Lines
All lines 230 kV, z = 0.08+j0.5 ohm/km
Line lengths are
Line-1=15 km,
Line-2=50 km,
Line-3=40 km,
Line-4=15 km,
Line-5=50 km


System Base Quantities
Sbase = 100 MVA (Three-phase)
Vbase = 13.8 Kv (Line-to-line) in the zone of G1


Generator, line, transformer data information and one-line diagram of 7 bus system are given above.
Besides, all transformers have same turn ratio which is 1. Using the given system, solve the system for power flow analysis with Newton Raphson Method.


MATPOWER simulation package will be used to solve power flow problem for the given system. You can download the MATPOWER from the following link.
http://www.pserc.cornell.edu/matpower/


Please include data file and the power flow results.

If you use any calculations during the preparation of the data file, please also include them in the report.

G1 G2 180 MW V1 13,8kV BUS 1 BUS 7 IV71-15.0kV T2 T1 BUS 2 BUS 5 Line-5 30 MVAr 30 MVAr 50 MW Line-1 50 MW Line-4 BUS 3 Line-3 BUS 4 Line-2 30 MVAr 50 MW 50 MW 30 MVAr 50 MW BUS 30 MVAr 6 The on-line diagram of 7 bus system

Solution

data in the type

% b   itr       rtr       nrtr       trl           sz   
% ------------------------------------------------------------------------------
5       110       0       0          7           0       0 0 0 0
  
% pq       g       tol
% ------------------------------------------------------------------------------
3         2       .000001      0           0           0       0 0 0 0

%reg.trsf.data
%From   To          R               X                      B/2
% ------------------------------------------------------------------------------
%1     3       .00 .00 0    0    0

%n-reg. trsf.data
%From   To          R              X                    B/2
% ------------------------------------------------------------------------------
%2     5       .000625 .003125 0    0    0

%transmission line data
%From   To           R            X                B/2
% ------------------------------------------------------------------------------


1       2       .0200       .0600      0       0.030   1 0 0 0
1       3       .0800       .2400      0       0.025   1 0 0 0
2       3       .0600       .1800      0       0.020   1 0 0 0
2       4       .0600       .1800      0       0.020   1 0 0 0
2       5       .0400       .1200      0       0.015   1 0 0 0
3       4       .0000       .1000      0       0.000   1 0 0 0
4       5       .0800       .2400      0       0.025   1 0 0 0

%shunt impedance data  
%   Bus                   R               X                  
% ------------------------------------------------------------------------------
%3              0   .1   0 0 0 0
% P - Q Load Data      
% Bus      MW      MVAR
% ------------------------------------------------------------------------------
   3       0.45    0.15     0.00    .00      0    0 0 0 0
   4       0.40    0.05     0.00    .00      0    0 0 0 0
   5       0.60    0.10     0.00    .00      0    0 0 0 0

% Generation Data
%   Bus     MW    Qgmx    Qgmn    Vsp     Vmax   Vmin
% ------------------------------------------------------------------------------
   1      1.2   .5     -3.0    1.0600   1.150   1.000   0 0 0
   2      .20 .20     -3.0    1.0000   1.150   1.100 0 0 0


program:

clc;
clear all;
load data.m;
bus=data(1,:);
nb=bus(1);
nl=bus(3)+bus(5);
tibus=data(2,:);
Npv=tibus(2);
npq=tibus(1);
Npq=nb-Npv;
linedata=data(3:nl+2,1:end);
sn=bus(6);
if sn~=0,
    bu=data(nl+3:nl+2+sn,1:end);
else
    bu=zeros(1,end);
end
pqdata1=zeros(nb,1);
pqdata=data(nl+3+sn:(nl+npq++sn+2),(1:end));
pvdata=data((nl+npq+sn+3):(nl+npq+sn+Npv+2),(1:end));
for i=1:10,
    pqdata1(pqdata(:,1),i)=pqdata(:,i);
end
for j=1:nb,
    if pqdata1(j,1)==0,
        pqdata1(j,1)=j;
    end
end
pqdata1(:,5)=1;
pqdata1(:,6)=max(pvdata(:,6));
pqdata1(:,7)=min(pvdata(:,7));
pqdata1(:,8)=pqdata1(:,3);
pqdata(:,3)=0;
for i=1:npq,
    if i<=Npv,
        loaddata=pvdata;
    end
end
for i=1:Npv,
if pqdata1(i,1)==pvdata(i,1),
    loaddata(i,10)=pqdata1(i,2);
end
end
loaddata=[loaddata; pqdata1(Npv+1:nb,1:end)];
disp(\'---------------------------------------------% given data%-------------------------------------------------------------------------------\');
disp(\'----------------------------------------------%bus data%---------------------------------------------------------------------------------\');
disp(\'   b          itr           rtr       nrtr   trl          sz      SVC    Pd\');
disp(bus);
disp(\'-----------------------------------------------%transmission bus data%--------------------------------------------------------------------\');
disp(\'     pq          g           tol\');
disp(tibus);
disp(\'------------------------------------------------%line data%--------------------------------------------------------------------------------\');
disp(\' From           To       R        X             G/2        B/2      TAP     limits    tmin     tmax\');
disp(linedata);
disp(\'-----------------------------------------------%shunt admitance data%-----------------------------------------------------------------------\');
disp(\'Bus                   R               X\')
disp(bu);
disp(\'------------------------------------------------%loadf data%--------------------------------------------------------------------------------\');
disp(\'     Bus      MW      Qgmx       Qgmn      Vsp         Vmax     Vmin\');
disp(loaddata);
itr=0;
a=linedata(:,7);                %---------Ybus caluculation------------%
r=linedata(:,3);
x=linedata(:,4);
z=r+1i*x;
b=zeros(nb,1);
if bu(:,1)~=0,
b(bu(:,1))=1./bu(:,4);
end
c=1i.*b;
disp(\'b\');
disp(b)
y=1./z;
disp(\'y\');
disp(y)
fb=linedata(:,1);
tb=linedata(:,2);
v=ones(nb,1);
d=zeros(nb,1);
Y=zeros(nb,nb);
for i=1:nl
    Y(fb(i),tb(i))=Y(fb(i),tb(i))-(y(i)/conj(a(i)));
    Y(tb(i),fb(i))=Y(fb(i),tb(i));
end
for i=1:nb
     for j=1:nl
         if fb(j)==i
             Y(i,i)=Y(i,i)+y(j)/((a(j))^2)+complex(0,linedata(j,6));
         else if tb(j)==i
              Y(i,i)=Y(i,i)+y(j)+complex(0,linedata(j,6));
             end
         end
     end
      Y(i,i)=Y(i,i)-c(i);
end
disp(\'Y\');
disp(Y)
G=real(Y);
B=imag(Y);
g=2*Npq+Npv;
bus=ones(nb,1);
for i=Npv+1:nb,
    bus(i,1)=2;
end
for i=1:nb
    v(i,1)=loaddata(i,5);
    d(i,1)=0;
end
disp(\'v\');
disp(v)
vmx=loaddata(:,6);
vmn=loaddata(:,7);
if max(loaddata(:,2))>50,
    base=100;
else
    base=1;
end
qlmx=loaddata(:,3)/base;
qlmn=loaddata(:,4)/base;
tol=10;
while (tol>0.0001)
    vprev=v;
    P=zeros(nb,1);
    Q=zeros(nb,1);
    for i=1:nb
        for k=1:nb
        P(i,1)=P(i,1)+(v(i,1))*(G(i,k)*cos(d(i,1)-d(k,1))+B(i,k)*sin(d(i,1)-d(k,1)))*v(k,1);
        Q(i,1)=Q(i,1)+(v(i,1))*(G(i,k)*sin(d(i,1)-d(k,1))-B(i,k)*cos(d(i,1)-d(k,1)))*v(k,1);
        end
        if bus(i)==1,
            if (Q(i)>qlmx(i) || Q(i)<qlmn(i)),
               if(Q(i)<qlmn(i)),
                   Q(i)=qlmn(i);
               else
                   Q(i)=qlmx(i);
               end
               bus(i)=2;
           else
               bus(i)=1;
            end
        end
    end
    disp(\'bus\')
    disp(bus)
disp(\'P\')
disp(P)
disp(\'Q\')
disp(Q)
Pspec=zeros(nb-1,1);
Qspec=zeros(Npq,1);
for i=2:nb
Pspec(i-1,1)=(loaddata(i,2)-loaddata(i,10))/base;
end
for i=Npv+1:nb,
    Qspec(i-(Npv),1)=loaddata(i,8)/base;
end
delP=zeros(nb-1,1);                                 %--------mismatch calculation----------------%
delQ=zeros(Npq,1);
for i=2:Npv
    delP(i-1,1)=Pspec(i-1,1)-P(i,1);
end
for i=Npv+1:nb
    delP(i-1,1)=(-1)*Pspec(i-1,1)-P(i,1);
   delQ(i-(Npv),1)=(-1)*Qspec(i-(Npv),1)-Q(i,1);
end
disp(\'delP\');
disp(delP)
disp(\'delQ\');
disp(delQ)
del=zeros(g-1,1);
for i=1:g-1
    if (i<nb)
        del(i,1)=delP(i,1);
    end
    if (i>=nb)
        del(i,1)=delQ(i-(nb-1),1);
    end
end
disp(\'del\');
disp(del)
J11=zeros(nb-1,nb-1);                             %-----------jacobian matrix calculation------------%
J12=zeros(nb-1,Npq);
J21=zeros(Npq,nb-1);
J22=zeros(Npq,Npq);
for i=2:nb
    for k=2:nb
        if(k==i)
            for l=1:nb
                if(l~=i)
                    J11(i-1,k-1)=J11(i-1,k-1)+v(i,1)*v(l,1)*(-G(i,l)*sin(d(i,1)-d(l,1))+B(i,l)*cos(d(i,1)-d(l,1)));
                end
            end
        else
            J11(i-1,k-1)=(v(i,1)*v(k,1)*(G(i,k)*sin(d(i,1)-d(k,1))-B(i,k)*cos(d(i,1)-d(k,1))));
        end
    end
end
for i=2:nb
    for k=Npv+1:nb
        if(i==k)
            for l=1:nb
                if(l~=i)
                    J12(i-1,k-(Npv))=J12(i-1,k-(Npv))+v(l,1)*(G(i,l)*cos(d(i,1)-d(l,1))+B(i,l)*sin(d(i,1)-d(l,1)));
                end
            end
            J12(i-1,k-(Npv))=J12(i-1,k-(Npv))+2*v(i,1)*G(i,i);
        else
            J12(i-1,k-(Npv))=v(i,1)*(G(i,k)*cos(d(i,1)-d(k,1))+B(i,k)*sin(d(i,1)-d(k,1)));
        end
    end
end
for i=Npv+1:nb
    for k=2:nb
        if(i==k)
            for l=1:nb
                if(l~=i)
                    J21(i-(Npv),k-1)=J21(i-(Npv),k-1)+v(i,1)*v(l,1)*(G(i,l)*cos(d(i,1)-d(l,1))+B(i,l)*sin(d(i,1)-d(l,1)));
                end
            end
        else
            J21(i-(Npv),k-1)=(v(i,1)*v(k,1)*(-G(i,k)*cos(d(i,1)-d(k,1))-B(i,k)*sin(d(i,1)-d(k,1))));
        end
    end
end
for i=Npv+1:nb
    for k=Npv+1:nb
        if(k==i)
            for l=1:nb
                if(l~=i)
                    J22(i-(Npv),k-(Npv))=J22(i-(Npv),k-(Npv))+(v(l,1)*(G(i,l)*sin(d(i,1)-d(l,1))-B(i,l)*cos(d(i,1)-d(l,1))));
                end
            end
            J22(i-(Npv),k-(Npv))=J22(i-(Npv),k-(Npv))-2*v(i,1)*B(i,i);
        else
            J22(i-(Npv),k-(Npv))=v(i,1)*(G(i,k)*sin(d(i,1)-d(k,1))-B(i,k)*cos(d(i,1)-d(k,1)));
        end
    end
end
disp(\'J11\');
disp(J11)
disp(\'J12\');
disp(J12)
disp(\'J21\');
disp(J21)
disp(\'J22\');
disp(J22)
J=[J11 J12;J21 J22];
disp(\'J\');
disp(J)
Ji = inv(J);
Vcn=(inv(J))*del;                                 %---------change in load angles and voltages----------%
disp(\'Vcn\');
disp(Vcn)
deld=zeros(nb-1,1);
delv=zeros(Npq,1);
for i=1:nb-1
    deld(i,1)=Vcn(i,1);
end
disp(\'deld\');
disp(deld)
for i=nb:g-1
    delv(i-(nb-1),1)=Vcn(i,1);
end
disp(\'delv\');
disp(delv)
dnew=zeros(nb-1,1);
vnew=zeros(Npq,1);
for i=2:nb                                          %-----------updating the voltages and load angles-----------%
    d(i,1)=d(i,1)+deld(i-1,1);
end
disp(\'d\');
disp(d)
for i=Npv+1:nb
    v(i,1)=v(i,1)+delv(i-Npv,1);
end
disp(\'v\');
disp(v)
tol=max(abs(abs(v(:,1))-abs(vprev(:,1))));

itr=itr+1;
if tol<=0.0001,
    disp(\'the system is converging in the no.of iterations= \');
    disp(itr);
end
disp(\'tol\');
disp(tol)
end
    p1=0;q1=0;
    for k=1:nb
        P(1,1)=p1+(v(1,1))*(G(1,k)*cos(d(1,1)-d(k,1))+B(1,k)*sin(d(1,1)-d(k,1)))*v(k,1);
        Q(1,1)=q1+(v(1,1))*(G(1,k)*sin(d(1,1)-d(k,1))-B(1,k)*cos(d(1,1)-d(k,1)))*v(k,1);
        p1=P(1);
        q1=Q(1);
    end
    disp(\'P\');
    disp(P)
    disp(\'Q\');
    disp(Q)
    d=d*(180/pi);
disp(\'VM\');
disp(v);
disp(\'delta_bus load angle\');
disp(d);
vrect=zeros(nb,1);
for i=1:nb,
vrect(i)=v(i)*(cosd(d(i))+1i*sind(d(i)));
end
pls=zeros(11,4);
plss=zeros(11,4);
I0=zeros(nl,1);
Ic=zeros(nl,1);
sflow=zeros(nl,1);
I=zeros(nl,1);
ploss=zeros(nl,1);
for i=1:nl,
    for j=1:nb,
        for k=1:nb,
            if fb(i)==j && tb(i)==k,
                I0(i)=1i*b(j)*vrect(j);
                Ic(i)=v(j)*complex(0,linedata(i,6));
                I(i)=(conj(vrect(j))-conj(vrect(k)))*(-(conj(Y(j,k))));
                ploss(i,1)=(abs(I(i))^2)*real(1./(-(conj(Y(j,k)))));
                 pls(i,1)=i;
                pls(i,2)=j;
                pls(i,3)=k;
                pls(i,4)=ploss(i,1);
            end
        end
    end
end
disp(\'----------------%power loss%-------------------\');
disp(\'tr.line no. bus(from) bus(to) powerloss\');
disp(pls)
pl=0;
for i=1:nl,
    pl=pl+pls(i,4);
end
disp(\'total powerloss in per unit......,\');
disp(pl);
if base==100,
    disp(\'power loss in MWs................,\');
    pl=pl*base;
    disp(pl);
end
sf=zeros(nl,3);
for i=1:nl,
    sf(i,1)=fb(i);
    sf(i,2)=tb(i);
    sf(i,3)=vrect(fb(i))*((conj(vrect(fb(i)))-conj(vrect(tb(i))))*a(i)*(-conj(Y(fb(i),tb(i))))+conj(vrect(fb(i)))*conj(complex(0,0.5*linedata(i,6))));
end
sf=conj(sf);
disp(\'------------------------%forward power flow%-------------------------------------------\');
disp(\'         from       to                    power flow\');
disp(sf);
sr=zeros(nl,3);
for i=1:nl,
    sr(i,1)=tb(i);
    sr(i,2)=fb(i);
    sr(i,3)=vrect(tb(i))*((conj(vrect(tb(i)))-conj(vrect(fb(i))))*a(i)*(-conj(Y(tb(i),fb(i))))+conj(vrect(tb(i)))*conj(complex(0,0.5*linedata(i,6))));
end
sr=conj(sr);
disp(\'------------------------%reverse power flow%-------------------------------------------\');
disp(\'         from       to                    power flow\');
disp(sr);

Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L
Generators G1: 100 MVA, 13.8 kV G2: 200 MVA, 15.0 kV Transformers T1: 100 MVA, 13.8 kV/230 kV, XT1=0.1 pu T2: 200 MVA, 15.0 kV/230 kV, XT2=0.1 pu Transmission L

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site