Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

OBJECTIVE:

LOAD FLOW ANALYSIS OF VARIOUS SYSTEM USING NR METHODT

THEORY :
Newton Raphson Method is an iterative technique for solving a set of various
nonlinear equations with an equal number of unknowns. There are two methods
of solutions for the load flow using Newton Raphson Method. The first method
uses rectangular coordinates for the variables while the second method uses the
polar coordinate form. Out of these two methods the polar coordinate form is
used widely.

Let us understand this method with the help of the equations.

The above equation (3) and (4) can also be written as shown below:
We have Δf = J ΔX

then I = 1, 2, ….n, I ≠ slack, and if

Then I = 1, 2, ….n, i ≠ slack, i ≠ PV bus

Where, the subscripts sp and cal denote the specified and calculated values,
respectively, then the equation (7) can be written as shown below.

The off diagonal and diagonal elements of the sub matrices H, N, M and L are
determined by differentiating equation (3) and (4) with respect to δ and |V|.
Procedure of Newton Raphson Method

The computational procedure for Newton Raphson Method using polar


coordinate is given below.

 Form Y bus.
 Assume the initial value of the bus voltages |Vi|0 and phase angle
δi0 for i = 2, 3, …..n for load buses and phase angles for PV buses.
Normally we set the assumed bus voltage magnitude and its phase
angle equal to the slack bus quantities |V1| = 1.0, δ1 = 0⁰.
 Compute Pi and Qi for each load bus from the following equation (5)
and (6) shown above.
 Now, compute the scheduled errors ΔPi and ΔQi for each load bus
from the following relations given below.

 For PV buses, the exact value of Qi is not specified, but its limits are
known. If the calculated value of Qi is within the limits only ΔPi is
calculated. If the calculated value of Qi is beyond the limits, then an
appropriate limit is imposed and ΔQi is also calculated by subtracting
the calculated value of Qi from the appropriate limit. The bus under
consideration is now treated as a load bus.
 Compute the elements of the Jacobian matrix.
 Obtain the value of Δδ and Δ|Vi| from the equation shown below

 Using the values of Δδi and Δ|Vi| calculated in the above step, modify the
voltage magnitude and phase angle at all load buses by the equations
shown below.
 Start the next iteration cycle following the step 2 with the modified values
of |Vi|and δi.
 Continue until scheduled errors for all the load buses are within a
specified tolerance that is

Where, ε denotes the tolerance level for load buses.

 Calculate the line and power flow at the slack bus same as in the
Gauss Seidel method.
Matlab code of Load flow Analysis By Newton Raphson Method

clc
clear all
tic

BUS DATA 1

%NO TYPE VOL DEL Pg Qg Pl Ql Qmax Qmin


1 1 1.06 0 0 0 0 0 0 0
2 2 1.045 0 40 42.4 21.7 12.7 -40 50
3 2 1.01 0 0 23.4 94.2 19 0 40
4 3 1 0 0 0 47.8 -3.9 0 0
5 3 1 0 0 0 7.6 1.6 0 0
6 2 1.07 0 0 12.2 11.2 7.5 -6 24
7 3 1 0 0 0 0 0 0 0
8 2 1.09 0 0 17.4 0 0 -6 24
9 3 1 0 0 0 29.5 16.6 0 0
10 3 1 0 0 0 9 5.8 0 0
11 3 1 0 0 0 3.5 1.8 0 0
12 3 1 0 0 0 6.1 1.6 0 0
13 3 1 0 0 0 13.5 5.8 0 0
14 3 1 0 0 0 14.9 5 0 0

LINE DATA 1

FROM TO R(pu) X(pu) B(pu) TAP RATIO


1 2 0.01938 0.05917 0.0264 1
1 5 0.05403 0.22304 0.0246 1
2 3 0.04699 0.19797 0.0219 1
2 4 0.05811 0.17632 0.017 1
2 5 0.05695 0.17388 0.0173 1
3 4 0.06701 0.17103 0.0064 1
4 5 0.01335 0.04211 0 1
4 7 0 0.20912 0 0.978
4 9 0 0.55618 0 0.969
5 6 0 0.25202 0 0.932
6 11 0.09498 0.1989 0 1
6 12 0.12291 0.25581 0 1
6 13 0.06615 0.13027 0 1
7 8 0 0.17615 0 1
7 9 0 0.11001 0 1
9 10 0.03181 0.0845 0 1
9 14 0.12711 0.27038 0 1
10 11 0.08205 0.19207 0 1
12 13 0.22092 0.19988 0 1
13 14 0.17093 0.34802 0 1
%% Data arranged for Linedata in the different vector
from_bus=linedata(:,1);to_bus=linedata(:,2);
r=linedata(:,3);
x=linedata(:,4);
b=linedata(:,5);
a=linedata(:,6);
z=r+1i*x; % Impedance of branch
y=1./z;b=1i*b; % admittance of branch
nl=length(from_bus); % No of branch
No_of_Bus=max(max(from_bus),max(to_bus));% No of Bus

%% Formation of YBus matrix

Y=zeros(No_of_Bus,No_of_Bus); % Initialize of YBus


for k=1:nl
Y(from_bus(k),to_bus(k))=Y(from_bus(k),to_bus(k))-y(k)/a(k);
Y(to_bus(k),from_bus(k))=Y(from_bus(k),to_bus(k));
end
for m=1:No_of_Bus
for n=1:nl
if from_bus(n)==m
Y(m,m)=Y(m,m)+y(n)/a(n)^2+b(n);
elseif to_bus(n)==m
Y(m,m)=Y(m,m)+y(n)+b(n);
end
end
end
G=real(Y);B=imag(Y); % Separation of YBus
%% Data arranged for Linedata in the different vector
BMva=100;
busNo=busdata(:,1);
type=busdata(:,2);
V=busdata(:,3);
del=busdata(:,4);
Pg=busdata(:,5)/BMva;Qg=busdata(:,6)/BMva;Pl=busdata(:,7)/BMva;
Ql=busdata(:,8)/BMva;Qmin=busdata(:,9)/BMva;Qmax=busdata(:,10)/BMva;
PV=find(type==2|type==1);PQ=find(type==3);
%type1(Slack),type2(PV_Bus Bus),type3(PQ_Bus Bus )
No_of_PQ_Bus=length(PQ);No_of_PV_Bus=length(PV);
Active_Power_specified=Pg-Pl;Reactive_Power_specified=Qg-Ql;
% Net Power flow through different node
Iter=1;Tol=1; % Iterantion And tolerance

%% Newton Raphson Load Flow


while Tol>1e-5
P=zeros(No_of_Bus,1);
Q=zeros(No_of_Bus,1);
for i=1:No_of_Bus
for j=1:No_of_Bus
P(i)=P(i)+V(i)*V(j)*(G(i,j)*cos(del(i)-del(j))+B(i,j)*sin(del(i)-
del(j)));
Q(i)=Q(i)+V(i)*V(j)*(G(i,j)*sin(del(i)-del(j))-B(i,j)*cos(del(i)-
del(j)));
end
end
% Verification of limit violation for reactive power
if Iter>2 && Iter<=7
for n=2:No_of_Bus
if type(n)==2;
QG=Q(n)+Ql(n);
if QG > Qmax(n)
V(n)=V(n)-0.01;
elseif QG < Qmin(n)
V(n)=V(n)+0.01;
end
end
end
end
dPa=Active_Power_specified-P;
dQa=Reactive_Power_specified-Q;
dP=dPa(2:No_of_Bus);
k=1;
dQ=zeros(No_of_PQ_Bus,1);
for i=1:No_of_Bus
if type(i)==3
dQ(k,1)=dQa(i);
k=k+1;
end
end
M=[dP;dQ];% delta Matrix

%% Formation Fo Jacobian Matrix[J1 J2;J3 J4]


%% Formation Of J1
J1=zeros(No_of_Bus-1,No_of_Bus-1);
for i=1:No_of_Bus-1
m=i+1;
for j=1:No_of_Bus-1;
n=j+1;
if m==n
for n=1:No_of_Bus
J1(i,j)=J1(i,j)+V(m)*V(n)*(-G(m,n)*sin(del(m)-
del(n))+B(m,n)*cos(del(m)-del(n)));
end
J1(i,j)=J1(i,j)-V(m)^2*B(m,m);
else
J1(i,j)=V(m)*V(n)*(G(m,n)*sin(del(m)-del(n))-
B(m,n)*cos(del(m)-del(n)));
end
end
end
%% Formation Of J2
J2=zeros(No_of_Bus-1,No_of_PQ_Bus);
for i=1:No_of_Bus-1
m=i+1;
for j=1:No_of_PQ_Bus
n=PQ(j);
if m==n
for n=1:No_of_Bus
J2(i,j)=J2(i,j)+V(n)*(G(m,n)*cos(del(m)-
del(n))+B(m,n)*sin(del(m)-del(n)));
end
J2(i,j)=J2(i,j)+V(m)*G(m,m);
else
J2(i,j)=V(m)*(G(m,n)*cos(del(m)-
del(n))+B(m,n)*sin(del(m)-del(n)));
end
end
end
%% Formation Of J3
J3=zeros(No_of_PQ_Bus,No_of_Bus-1);
for i=1:No_of_PQ_Bus
m=PQ(i);
for j=1:No_of_Bus-1
n=j+1;
if m==n
for n=1:No_of_Bus
J3(i,j)=J3(i,j)+V(m)*V(n)*(G(m,n)*cos(del(m)-
del(n))+B(m,n)*sin(del(m)-del(n)));
end
J3(i,j)=J3(i,j)-V(m)^2*G(m,m);
else
J3(i,j)=V(m)*V(n)*(-G(m,n)*cos(del(m)-del(n))-
B(m,n)*sin(del(m)-del(n)));
end
end
end
%% Formation Of J4
J4=zeros(No_of_PQ_Bus,No_of_PQ_Bus);
for i=1:No_of_PQ_Bus
m=PQ(i);
for j=1:No_of_PQ_Bus
n=PQ(j);
if m==n
for n=1:No_of_Bus
J4(i,j)=J4(i,j)+V(n)*(G(m,n)*sin(del(m)-del(n))-
B(m,n)*cos(del(m)-del(n)));
end
J4(i,j)=J4(i,j)-V(m)*B(m,m);
else
J4(i,j)=V(m)*(G(m,n)*sin(del(m)-del(n))-
B(m,n)*cos(del(m)-del(n)));
end
end
end
J=[J1 J2;J3 J4]; % Jacobian Matrix
X=inv(J)*M;
dTh=X(1:No_of_Bus-1); % Change in angle
dV=X(No_of_Bus:end); % change in volatge mag
del(2:No_of_Bus)=del(2:No_of_Bus)+dTh; % Voltage angle update

% voltage mag update


k=1;
for n=2:No_of_Bus
if type(n)==3
V(n)=V(n)+dV(k);
k=k+1;
end
end
Iter=Iter+1;
Tol=max(abs(M));
end
Q=zeros(No_of_Bus,1);
for i=1:No_of_Bus
for j=1:No_of_Bus
P(i)=P(i)+V(i)*V(j)*(G(i,j)*cos(del(i)-
del(j))+B(i,j)*sin(del(i)-del(j)));
Q(i)=Q(i)+V(i)*V(j)*(G(i,j)*sin(del(i)-del(j))-
B(i,j)*cos(del(i)-del(j)));
end
end
for i=1:No_of_Bus
del(i)=180*del(i)/pi; % Converion radian to degree
end
%% Load Flow Solution
disp('----------------------------------------');
disp(' Newton Raphson Loadflow Solution ');
disp('----------------------------------------');
disp(' |Bus | |Voltage| |Angle |');
disp(' | No.| |pu | |Degree|');
disp('----------------------------------------');
for m=1:No_of_Bus
fprintf(' %3g ' ,m);
fprintf(' %8.3f ' ,V(m));
fprintf(' %8.3f ' ,del(m));
% fprintf(' %8.3f ',Pg(m)*BMva);
% if type(m)==2
% fprintf(' %8.3f ',(Q(m)+Ql(m))*BMva);

% end
fprintf('\n');
end
plot(V)
grid on
disp('----------------------------------------');
fprintf( 'Number Of Ieration %3g \n',Iter)
toc

----------------------------------------
Newton Raphson Loadflow Solution
----------------------------------------
|Bus | |Voltage| |Angle |
| No.| |pu | |Degree|
----------------------------------------
1 1.060 0.000
2 1.045 -4.989
3 1.010 -12.749
4 1.013 -10.242
5 1.017 -8.760
6 1.070 -14.447
7 1.046 -13.237
8 1.080 -13.237
9 1.031 -14.820
10 1.030 -15.036
11 1.046 -14.858
12 1.053 -15.297
13 1.047 -15.331
14 1.019 -16.072
----------------------------------------
Number Of Iteration 7
Elapsed time is 0.387129 seconds

You might also like