0% found this document useful (0 votes)
66 views13 pages

Major Project Report

This document provides a 3-sentence summary of a mini project report on load flow analysis using the Gauss-Seidel method. The report was authored by Alankar Arya, an electrical engineering student at NITK Surathkal in India, under the guidance of his professor Dr. H. S. Y. Shastry. The report introduces load flow analysis and the Gauss-Seidel method, provides the mathematical formulations and equations for power flow problems, and includes a flow chart and MATLAB code demonstrating the Gauss-Seidel load flow algorithm.

Uploaded by

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

Major Project Report

This document provides a 3-sentence summary of a mini project report on load flow analysis using the Gauss-Seidel method. The report was authored by Alankar Arya, an electrical engineering student at NITK Surathkal in India, under the guidance of his professor Dr. H. S. Y. Shastry. The report introduces load flow analysis and the Gauss-Seidel method, provides the mathematical formulations and equations for power flow problems, and includes a flow chart and MATLAB code demonstrating the Gauss-Seidel load flow algorithm.

Uploaded by

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

Mini Project Report

Load flow analysis by Gauss-Seidel method

By

Alankar Arya
06EE06
Electrical and Electronics
Engineering
NITK, Surathkal

Under The Guidance Of

Dr. H. S. Y. Shastry
Professor
Department of Electrical and Electronics Engineering

At

Department of Electrical and Electronics Engineering


National Institute of Technology Karnataka
Srinivasanagar, Surathkal -575025
Acknowledgment

The successful completion of this project gives me an opportunity to thank the people who
have directly and indirectly helped me in shaping up the final outcome of this project.

I would like to thank Dr. H. S. Y. Shastry, Professor, Department of Electrical and


Electronics Engineering, NITK, Surathkal for his inimitable guidance and encouragement
during the project work which was of great help in the successful completion of the project.

Finally we would like to thank all those who were great source of help and inspiration during
various stages of the project.

2
Contents

1. INTRODUCTION…………………………………………………...…4

2. THEORY………………………………………………………………5

2.1 Power flow problem formulation………………………5,6

2.2 Gauss-Seidel method for load flow study……………...7,8

3. FLOW CHART FOR GAUSS SEIDEL METHOD……………………9

4. SOURCE CODE IN MATLAB…………………….……………..10,11

5. REFERENCES………………………………………………………..12

3
Introduction

In power engineering, the power flow study (also known as load-flow study) is an important


tool involving numerical analysis applied to a power system. Unlike traditional circuit
analysis, a power flow study usually uses simplified notation such as a one-line
diagram and per-unit system, and focuses on various forms of AC power (ie: reactive, real,
and apparent) rather than voltage and current. It analyses the power systems in normal
steady-state operation. There exist a number of software implementations of power flow
studies.
The great importance of power flow or load-flow studies is in the planning the
future expansion of power systems as well as in determining the best operation of existing
systems. The principal information obtained from the power flow study is the magnitude and
phase angle of the voltage at each bus and the real and reactive power flowing in each line.

Method used for power flow analysis is Gauss-Seidel iteration method by assigning
estimated values to the unknown bus voltages and by calculating a new value for each bus
voltage from the estimated values at the other buses and the real and reactive power specified.
This process is continued till convergence takes place,

4
Theory
Power flow problem formulation
The goal of a power flow study is to obtain complete
voltage angle and magnitude information for each bus in a power system for specified load
and generator real power and voltage conditions. Once this information is known, real and
reactive power flow on each branch as well as generator reactive power output can be
analytically determined. Due to the nonlinear nature of this problem, numerical methods are
employed to obtain a solution that is within an acceptable tolerance.

The solution to the power flow problem begins with identifying the known
and unknown variables in the system. The known and unknown variables are dependent on
the type of bus.

A bus without any generators connected to it is called a Load Bus.

With one exception, a bus with at least one generator connected to it is called a Generator
Bus.

The exception is one arbitrarily-selected bus that has a generator. This bus is referred to as
the Slack Bus.

In the power flow problem, it is assumed that the real power PD and reactive
power QD at each Load Bus are known. For this reason, Load Buses are also known as PQ
Buses. Therefore, for each Load Bus, both the voltage magnitude and angle are unknown and
must be solved for;

PD  QD
P P
Q Q

For Generator Buses, it is assumed that the real power generated PG and the voltage
magnitude |V| is known. for each Generator Bus, the voltage angle must be solved for;

PG
P
V

For the Slack Bus, it is assumed that the voltage magnitude |V| and voltage phase Θ are
known. There are no variables that must be solved for the Slack Bus. P and Q are not known
because at the end of teration total I2X loss is compensated here.

|V| Θ
Slack
bus
5
In a system with N buses and R generators, there are then 2(N − 1) − (R − 1) unknowns.
In order to solve for the 2(N − 1) − (R − 1) unknowns, there must be 2 (N − 1 ) − ( R − 1)
equations that do not introduce any new unknown variables. The possible equations to use are
power balance equations, which can be written for real and reactive power for each bus.

The real power balance equation is:

where Pi is the net power injected at bus i, Gik is the real part of the element in the Ybus
corresponding to the ith row and kth column, Bik is the imaginary part of the element in the
Ybus corresponding to the ith row and kth column and θik is the difference in voltage angle
between the ith and kth buses.

The reactive power balance equation is:

Where  Qi is the net reactive power injected at bus i.

Equations included are the real and reactive power balance equations for each Load Bus and
the real power balance equation for each Generator Bus.

Only the real power balance equation is written for a Generator Bus because the net reactive
power injected is not assumed to be known and therefore including the reactive power
balance equation would result in an additional unknown variable.

For similar reasons, there are no equations written for the Slack Bus.

6
Gauss-Seidel Method for power flow analysis

The Gauss-Seidel method of solving iteratively a set of simultaneous


non-linear equations. This is one of many techniques for solving the nonlinear load flow
problem. It should be pointed out that this solution technique, while straightforward to use
and easy to understand, has a tendency to use a lot of computation, particularly in
working large problems. It is also quite capable of converging on incorrect solutions (that is
a problem with nonlinear systems). As with other iterative techniques, it is often difficult to
tell when the correct solution has been reached. Despite these shortcomings, Gauss–Seidel
can be used to get a good feel for load flow problems without excessive numerical analysis
baggage.

For preliminary understanding of the method, assume that all buses are of the P-Q
type except the slack bus.Since the slack bus voltage is completely specified, there is no
iteration involved for this bus. For all buses except slack bus. Bus admittance matrix Ybus is
calculated initially, then for;

Current at bus say ‘p’ is given by:

S *p n
Ip 
V *
 Y
q 1
pq Vq , p = 1, 2… n; p s
p

By rearrangement of terms Vp is now expressed as;

1 S *p n
Vp  * ( *   Y pqVq ) p = 1, 2… n; p s
Y pp Vp q 1& p  q

Iteration for Gauss-Seidel method are defined as

1 P  jQ
V1( k 1)  * ( 1 ( k )* 1  Y12V2( k )  Y13V3( k ) ............  Y1nVn( k ) )
Y11 V1

1 P  jQ
V2( k 1)  * ( 2 ( k )* 2  Y21V1( k 1)  Y23V3( k ) .......... ..  Y2 nVn( k ) )
Y22 V2

1 Pp  jQ p
V p( k 1)  *(  Y p1V p( k 1) ......  Y pp 1V p(k11)  Y pp 1V p(k1) ......  Y pnVn( k ) )
Y pp V p( k )*
.
.
.

7
.
1 P  jQ
Vn( k 1)  * ( n ( k )* n  Yn1V1( k 1)  YnpV p( k 1) ............  Ynn1Vn(k11) )
Ynn Vn
There is no iteration defined for the equation corresponding to the slack bus as its voltage is
known.
At a PV bus the computions are different since reactive power Q is not specified at such a
sp
bus. The voltage magnitude must be held at the value V p , because of equipment limitations
max min sp cal
Qp can vary between Q p and Q p , At the PV bus Q p is replaced by Q p

cal *
Where Q p = Im(Vp I p ) , latest available value of the voltages are used. With this value of
Q pcal , V p( k 1) is computed. Since the voltage at the bus must be maintained at |Vp|sp, the real
and imaginary parts of Vp(k+1) are adjusted to satisfy this condition while retaining the angle as
follows:
f p( k 1)
Define  p
( k 1)
 tan 1 ( k 1)
ep
1)
V p((knew ) | V p |
sp
cos  p( k 1)  j | V p | sp sin  p( k 1)
These values are used in subsequent computations. To take into account the limits on the
reactive power the following logic is used:
cal max cal max cal min cal min
If Q p > Q p , set Q p = Q p . If Q p < Q p , set Q p = Q p . Then do the
computation as for a PQ bus. There is no adjustment of Vp(k+1) in that case. If the subsequent
cal
computation, Q p does not fall within the available reactive power, the bus is switched back
to a PV bus.

The whole iteration process takes place till the convergence takes place, given by the
condition
Max|Vp(k+1) – Vp(k) | < Cv

Typical values of Cv range from 0.01 to 0.0001

After the computations have converged, line flows and slack bus power are calculated as
follows:
Let the line connecting bus p to bus q have a series admittance of ypq and total line
charging admittance of y’pq. Then the current in the line is given by

ipq = (Vp - Vq) ypq + Vp y’pq/2

The line flow from bus p to bus q is given by

Ppq + j Qpq = Vp [(Vp - Vq)* y*pq + V*p y’*pq/2]

The line flow from bus q to bus p is given by

Pqp + j Qqp = Vq [(Vq – Vp)* y*pq + V*q y’*pq/2]

The line loss in line p-q is given by the algebraic sum of Ppq + j Qpq and Pqp + j Qqp.

8
The slack bus power is calculated by summing the flows on the lines terminating at the slack
bus.

Flow Chart for load flow study using Gauss-Seidel method


Star
t
Read System Data

Form bus admittance matrix Ybus

Assume initial values for bus voltages V0p p = 1,2,3….n ; p ≠s; slack bus voltage specified

Set iteration count to k = 1

Set bus count to p = 1

yes
P = p +1
Is p
No =s

Test for PQ or PV
PQ bus bus
PV bus
Compute Qcal

No
Is Qcalp> Is Qcalp<
Qmaxp yes yes
Qminp
Compute Vk+1 p
cal max cal min
Set Q = Q p p
Set Q = Qp p

Adjust Vk+1 p
Replace Qspp= Qcalp
Compute Vk+1 p
Replace Vkp by Vk+1p
sto
No
Advance bus p
count P = p +1 Is p
>=n Print

Test for Compute the slack bus


Advance bus No
convergence power and all line powers
count P = p +1 Max|Vp(k+1) – Vp(k) | <
Cv

9
yes

MATLAB code for Gauss-Seidel method of load flow study


line impedance = [given]
linecharging = [given]
tansfdata = [given]
P = [given]
Q = [given]
Pbus = zeros(14,14);
Qbus = zeros(14,14);
Qcal=zeros(1,14);
base = 250;
Qmax = [0 50 40 0 0 24 0 24 0 0 0 0 0 0];
Qmin = [0 -40 0 0 0 -6 0 -6 0 0 0 0 0 0];
Pa = P.*(1/base);
Qa = Q.*(1/base);
Qmaxa = Qmax.*(1/base);
Qmina = Qmin.*(1/base);
S = 1;
linecurrent = zeros(14,14);
Ybus = zeros(14,14);
initialvol=zeros(1,14);
c = [0,0,0,0,0,0,0,0,0.190i,0,0,0,0,0];
n = 14;
for i = 1:n,
s = 0;
for j = 1:n,
Y1(i,j) = expm1(lineimpedance(i,j));
Y2(i,j) = (Y1(i,j)-linecharging(i,j)-c(i))*expm1(transfdata(i,j));
if(i<j)
Ypoq(i,j)= Y1(i,j)*(expm1(transfdata(i,j)^2)-(expm1(transfdata(i,j))));
end
if(i>j)
Ypoq(i,j)= Y1(i,j)*(1-expm1(transfdata(i,j)));
end
if (i ~= j)
Ybus(i,j) = -(Y2(i,j)-Ypoq(i,j));
s = s + (Y2(i,j)-Ypoq(i,j));
end
end
Ybus(i,i)= s;
end
k = 1 ;
while (k >0)
p = 2 ;
while (p <= n)
if( (Qmax == 0)&(Qmin == 0)
nextvoltage(p)= expm1(Ybus(p,p))*(Pa(p)-Qa(p))/conj(initialvol(p));
initialvol(p) = busvoltage(p);

for q = 1:n,
nextvoltage(p)= nextvoltage(p)-expm1(Ybus(p,p))*(Ybus(p,q)*initialvol(q));
end

busvoltage(p)= nextvoltage(p);

else

for q = 1:n,
Qcal(p) =Qcal(p)+ conj(Ybus(p,q))*conj(busvoltage(q));
end

Qcal(p)=Qcal(p)*imag(busvoltage(p));

if ( Qcal(p)>Qmaxa(p) )
Qcal(p)=Qmaxa(p);
Qa(p)=Qcal(p);

nextvoltage(p)= expm1(Ybus(p,p))*(Pa(p)-Qa(p))/conj(initialvol(p));
initialvol(p) = busvoltage(p);

10
for q = 1:n,

nextvoltage(p)= nextvoltage(p)-expm1(Ybus(p,p))*(Ybus(p,q)*initialvol(q)
end

busvoltage(p)= nextvoltage(p);

else
if (Qcal(p)<Qmina(p) )
Qcal(p)=Qmina(p);
Qa(p)=Qcal(p);

nextvoltage(p)= expm1(Ybus(p,p))*(Pa(p)-Qa(p))/conj(initialvol(p));
initialvol(p) = busvoltage(p);

for q=1:n,
nextvoltage(p)= nextvoltage(p)-expm1(Ybus(p,p))*(Ybus(p,q)*initialvol(q));
end

busvoltage(p)= nextvoltage(p);

else
initialvol(p) = busvoltage(p);
nextvoltage(p)= expm1(Ybus(p,p))*(Pa(p)-Qa(p))/conj(initialvol(p));

for q=1:n,
nextvoltage(p)= nextvoltage(p)-expm1(Ybus(p,p))*(Ybus(p,q)*initialvol(q));
end

theta = angle(nextvoltage(p));
busvoltage(p)=complex(abs(nextvoltage(p)*cos(theta)),
(abs(nextvoltage(p)*sin(theta))));

end
end

end
p = p + 1;
end % while ends here

for i = 1:n,
deltaV(i) = busvoltage(i)-initialvol(i);
end

if (max(deltaV)<0.01)

for i = 2:n,
d = 0;
e = 0;
for j = 2:n,
if((i~=1) & (j~=1))
linecurrent(i,j) = (busvoltage(i)-busvoltage(j))*Y1(i,j)+busvoltage(i)*(linecharging(i,j)/2);

Pbus(i,i)= real(busvoltage(i)*((conj(busvoltage(i)-busvoltage(j))*conj(Ybus(i,j)))+(conj(busvoltage(i))*conj(linecharging(i,j)/2))));

Qbus(i,i)= imag(busvoltage(i)*((conj(busvoltage(i)-busvoltage(j))*conj(Ybus(i,j)))+(conj(busvoltage(i))*conj(linecharging(i,j)/2))));
d = d + Pbus(1,j) + Pbus(j,1);
e = e + Qbus(1,j) + Qbus(j,1);
end
end
end
Pbus(1,1) = d;
Qbus(1,1) = e;
Voltage = (busvoltage);
Voltage
Angle = (angle(busvoltage));
Angle
break;
else
k = k + 1;
end
end

11
References
1. M. Pai; Computer Techniques in Power System Analysis.

2. John J. Grainger, William D. Stevenson, Jr.; Power System Analysis.

3. www.wikipedia.com

12
13

You might also like