100% found this document useful (1 vote)
273 views25 pages

Ee3008 Ps-II Lab Manual 2

The document describes experiments to develop programs for bus admittance matrix (Ybus) formation using direct inspection and singular transformation methods in MATLAB. It also describes developing a program for the Gauss-Seidel load flow algorithm. The direct inspection method forms Ybus directly using Kirchhoff's current law. Singular transformation uses a bus incidence matrix to form Ybus from a primitive admittance matrix. The Gauss-Seidel method iteratively solves load flow equations to determine bus voltages until convergence is reached.

Uploaded by

Swapnil Gade007
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
273 views25 pages

Ee3008 Ps-II Lab Manual 2

The document describes experiments to develop programs for bus admittance matrix (Ybus) formation using direct inspection and singular transformation methods in MATLAB. It also describes developing a program for the Gauss-Seidel load flow algorithm. The direct inspection method forms Ybus directly using Kirchhoff's current law. Singular transformation uses a bus incidence matrix to form Ybus from a primitive admittance matrix. The Gauss-Seidel method iteratively solves load flow equations to determine bus voltages until convergence is reached.

Uploaded by

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

EXPERIMENT - 1

FORMATION OF BUS ADMITTANCE MATRIX


1.1 AIM:

To develop a program for Ybus formation by direct inspection method.

1.2 APPARATUS:
Desktop Computers with MATLAB software

1.3 THEORY:
To carry out the load flow analysis in steady state, bus admittance matrix (Ybus) is of utmost
importance.

Bus admittance matrix gives the information about the admittances of lines connected to the node as
well as the admittance between the nodes. Principal diagonal elements are called self-admittances of
node and are equal to the algebraic sum of all the admittances terminating at the node. Off-diagonal
elements are called mutual admittances and are equal to the admittances between the nodes. The size
of Ybus is n*n where n is the number of buses in the system and m= n+1 (the total number of buses
including the reference buses).
Ibus = Ybus * Vbus
Where, Ibus = vector of impressed bus currents.
Ybus = bus admittance matrix.
Vbus = vector of bus voltages measured with respect to reference bus.
Inspection method makes use of KCL at all the nodes to get the current equations. From these
equations, Ybus can be directly written. It is the simplest and direct method of obtaining all the
diagonal elements as well as off-diagonal elements in the matrix of any power system. Bus
admittance matrix is a sparse matrix. The concept of sparsity is often used in solving load flow
problems. Sparsity is one of its greatest advantages as it heavily reduces computer memory and time
requirements.

1.4 MATLAB Program:


clc
clear all
n=input('enter no. of buses:'); % no. of buses excluding reference
nl= input('enter no. of lines:'); % no. of transmission lines
sb= input('enter starting bus of each line:'); % starting bus of a line
eb= input('enter ending bus of each line'); % ending bus of a line
zser= input('enter resistance and reactance of each line:'); % line resistance and reactance (R, X)
yshty= input('enter shunt admittance of the bus:'); % shunt admittance
i=0;
k=1;
whilei<nl
zser1(i+1)=zser(k)+j*zser(k+1)
i=i+1;
k=k+2;

6|P age
end
zser2=reshape(zser1,nl,1);
yser=ones(nl,1)./zser2;
ybus=zeros(n,n);
fori=1:nl
ybus(sb(i),sb(i))=ybus(sb(i),sb(i))+(j*yshty(i))+yser(i);
ybus(eb(i),eb(i))=ybus(eb(i),eb(i))+(j*yshty(i))+yser(i);
ybus(sb(i),eb(i))=-yser(i);
ybus(eb(i),sb(i))=-yser(i);
end
ybus

INPUT:
enter no. of buses:5
enter no. of lines:7
enter starting bus of each line:[1 1 2 2 2 3 4]
enter ending bus of each line: [2 3 3 4 5 4 5]
enter resistance and reactance of each line:[0.02 0.06 0.08 0.24 0.06 0.18 0.06 0.18 0.04 0.12 0.01
0.03 0.08 0.24]
enter shunt admittance of the bus:[0.03 0.025 0.02 0.02 0.015 0.01 0.025]

OUTPUT:
Ybus=
6.2500 -18.6950i -5.0000 +15.0000j -1.2500 + 3.7500j 0.0000 + 0.0000j 0.0000 + 0.0000j
-5.0000 +15.0000j 10.8333 -32.4150j -1.6667 + 5.0000j -1.6667 + 5.0000j -2.5000 + 7.5000j
-1.2500 + 3.7500j -1.6667 + 5.0000j 12.9167 -38.6950j -10.0000 +30.0000j 0.0000 + 0.0000j
0.0000 + 0.0000j -1.6667 + 5.0000j -10.0000 +30.0000j 12.9167 -38.6950j -1.2500 + 3.7500j
0.0000 + 0.0000j -2.5000 + 7.5000j0.0000 + 0.0000j-1.2500 + 3.7500j 3.7500 -11.2100j

1.9 RESULT:

LAB VIVA QUESTIONS:


1. Define Sparsity?
2. Define load flows?
3. What is Singularity in load flow studies?
4. What are the advantages of Ybus matrix?

LAB ASSIGNMENTS:

7|P age
EXPERIMENT –2
SINGULAR TRANSFORMATION
2.1 AIM:

To develop a program forYbusformation by singular transformation method

2.2 APPARATUS:
Desktop Computers with MATLAB software

2.3 THEORY:
The admittancematrix is designated asYbus. This matrix is asymmetric and square matrix that
completely describes the configuration of power transmission lines. In realistic systems, which are
quite large containing thousands of buses, the admittance matrix is quite sparse. Each bus in a real
time power system is usually connected to only a few other buses through the transmission lines.
Ybus can be alternatively constitutedwith singular transformation, given by a network topology. This
alternative approach is of great theoretical and practical significance.
The algorithm for obtaining Ybus using singular transformation method is given as follows:
Step 1: Obtain the oriented graph for the given system.
Step 2: Get the bus incidence matrix which is the one which indicates the incidence of all the
elements to nodes in connected graph. The size of this matrix is e*(n-1) where „e‟ is the number of
elements in the graph and „n‟ is the number of nodes
Step 3: Get the primitive admittance matrix from the graph of size [e*e]. If mutual coupling
between the lines is neglected then the resulting primitive matrix is a diagonal matrix(off-diagonal
elements are zero)
Step 4: Ybus can be obtained from the equation, Ybus = AT * [y] *A

MATLAB Program:
clc
clear all
n=input('enter no. of buses:'); % no. of buses excluding reference
nl= input('enter no. of lines:'); % no. of transmission lines
sb= input('enter starting bus of each line:'); % starting bus of a line
eb= input('enter ending bus of each line:'); % ending bus of a line
zser= input('enter resistance and reactance of each line:'); % line resistance and reactance (R, X)
yshty= input('enter shunt admittance of the bus:'); % shunt admittance
i=0;
k=1;
whilei<nl
zser1(i+1)=zser(k)+j*zser(k+1)
i=i+1
k=k+2
end
zser2=reshape(zser1,nl,1);
yser=ones(nl,1)./zser2;
ybus=zeros(n,n);

8|P age
ypri=zeros(nl+n, nl+n);
a=zeros(nl+n,n);
fori=1:n
a(i,i)=1;
end
fori=1:nl
a(n+i,sb(i))=1;
a(n+i,eb(i))=-1;
ypri(n+i,n+i)=yser(i);
ypri(sb(i),sb(i))=ypri(sb(i),sb(i))+yshty(i);
ypri(eb(i),eb(i))=ypri(sb(i),eb(i))+yshty(i);
end
at=transpose(a);
ybus=at*ypri*a
zbus=inv(ybus)

INPUT:
enter no. of buses:3
enter no. of lines:3
enter starting bus of each line:[1 1 2]
enter ending bus of each line:[2 3 3]
enter resistance and reactance of each line:[0.01 0.03 0.08 0.24 0.06 0.18]
enter shunt admittance of the bus:[0.01 0.025 0.02]

OUTPUT:
Ybus:
11.2850 -33.7500j -10.0000 +30.0000j -1.2500 + 3.7500j
-10.0000 +30.0000j 11.6967 -35.0000j -1.6667 + 5.0000j
-1.2500 + 3.7500j -1.6667 + 5.0000j 2.9367 - 8.7500j

RESULT:

LAB VIVA QUESTIONS:


1. For n bus power system, what is the size of Ybus matrix?
2. Which matrix is used for load flow studies?
3. What is the sparsity of Y bus matrix of a 4 bus power system consists of 4 transmission lines?

LAB ASSIGNMENTS:

9|P age
EXPERIMENT –3
GAUSS – SEIDAL LOAD FLOW METHOD
3.1 AIM:

To develop a program for Gauss - Seidal load flow algorithm.

3.2 APPARATUS:
Desktop Computers with MATLAB software

3.3 THEORY:
Load flow analysis is the study conducted to determine the steady state operating condition of the
given system under given conditions. A large number of numerical algorithms have been developed
and Gauss Seidel method is one of such algorithm.

2.4 Problem Formulation:


The performance equation of the power system may be written as
[Ibus] = [Ybus][Vbus] (1)
Selecting one of the buses as the reference bus, we get (n-1) simultaneous equations.
The bus loading equations can be written as
Ii = Pi-jQi / Vi* (i=1,2,3,…………..n) (2)
𝑛
where, Pi=Re [ 𝑘=1 𝑉𝑖 ∗ 𝑌𝑖𝑘 𝑉𝑘 ] . (3)
𝑛
Qi= -Im [ 𝑘=1 𝑉𝑖 ∗ 𝑌𝑖𝑘 𝑉𝑘 ]. (4)
The bus voltage can be written in form of
𝑛
Vi=(1.0/Yii)[Ii- 𝑗 =1 𝑌𝑖𝑗 𝑉𝑗 ] (i=1,2,…………n)&i≠slack bus (5)
𝑗 ≠𝑖

Substituting Ii in the expression for Vi, we get


𝑛
Vinew=(1.0/Yii)[Pi-jQi / Vi0* - 𝑗 =1 𝑌𝑖𝑗 𝑉𝑖0 ] (6)
The latest available voltages are used in the above expression, we get
Vinew=(1.0/Yii)[Pi-jQi / 𝑉𝑖0 * - 𝑛
𝑗 =1 𝑌𝑖𝑗 𝑉𝑗𝑛 - 𝑛
𝑗 =𝑖+1 𝑌𝑖𝑗 . 𝑉𝑖0 ] (7)
These equations can be solved for voltages in interactive manner. During each iteration, it
cancompute all the bus voltages and check for convergence, which is carried out by comparison with
the voltages obtained at the end of previous iteration. After the solutions is obtained, the stack bus
real and reactive powers, the reactive power generation at other generator buses and line flows can
be calculated.

ALGORITHM:
Step1: Read the data such as line data, specified power, specified voltages, Q limits at the generator
buses and tolerance for convergences.
Step2: Compute Y-bus matrix.

10 | P a g e
Step3: Initialize all the bus voltages.
Step4:Iteration count, Iter=1
Step5: Consider i=2, where „i‟ is the bus number.
Step6:Check whether this is PV bus or PQ bus. If it is PQ bus goto step 8 otherwise go to next step.
Step7: Compute Qi check for Q limit violation.
QGi=Qi+QLi.
If QGi>Qi max,equate QGi = Qimax. Then convert it into PQ bus.
If QGi˂Qi min,equate QGi = Qimin. Then convert it into PQ bus.
Step 8: Calculate the new value of the bus voltage using Gauss Seidal formula.
𝑛 𝑛
Vi=(1.0/Yii) [(Pi-j Qi)/Vi0*- 𝑗 =1 𝑌𝑖𝑗 Vj- 𝑗 =𝑖+1 𝑌𝑖𝑗 Vj0]

Adjust voltage magnitude of the bus to specify magnitude if Q limits are not violated.
Step 9: If all buses are considered go to step 10, otherwise increments the bus count, bus no. i=i+1
and go to step6.
Step 10: Check for convergence. If there is no convergence goes to step 11, otherwise go to step12.
Step 11: Update the bus voltage using static load flow equation.
Vinew=Viold+ α(Vinew-Viold);i=1,2,…..n,i≠ slackbus,„α‟ is the acceleration factor=1.4
Step 12: Calculate the slack bus power, reactive power at PV buses, real and reactive powers at load
buses and line losses.Print all the results including all the bus voltages and all the bus angles.
Step 13: Stop.

MATLAB PROGRAM:
clc
clear all
n=3;
V=[1.05 1 1];
Y=[20-j*50 -10+j*20 -10+j*30; -10+j*20 26-j*52 -16+j*32; -10+j*30 -16+j*32 26-j*62] ;
P=[inf -2.566 -1.386];
Q=[inf -1.102 -0.452];
iter=10;
Vprev=V;
foriter=1:10
abs(V);
abs(Vprev);
Vprev=V;
sumyv=[0 0 0 0];
fori=2:n
for k=1:n,
if(i~=k)
sumyv(i)=sumyv(i)+(Y(i,k)*V(k));
end
end
V(i)=(1/Y(i,i))*((P(i)-j*Q(i))/conj(V(i))-sumyv(i))
iter
end
end

11 | P a g e
OUTPUT:

Iter=1 V = 1.0500 + 0.0000i 0.9825 - 0.0310i 1.0011 - 0.0353i


Iter=2 V = 1.0500 + 0.0000i 0.9816 - 0.0520i 1.0008 - 0.0459i
iter =3 V = 1.0500 + 0.0000i 0.9808 - 0.0578i 1.0004 - 0.0488i
iter =4 V = 1.0500 + 0.0000i 0.9803 - 0.0594i 1.0002 - 0.0497i
iter =5 V = 1.0500 + 0.0000i 0.9801 - 0.0598i 1.0001 - 0.0499i
iter =6 V = 1.0500 + 0.0000i 0.9801 - 0.0599i 1.0000 - 0.0500i

RESULT:

LAB VIVA QUESTIONS:


1. What is the value of acceleration factor used in the G-S method?
2. Which among the following buses constitute the maximum number in a power system?
3. Which quantities are to be determined in slack bus?
4. Which quantities are to be determined in voltage-controlled bus?

LAB ASSIGNMENTS:

12 | P a g e
EXPERIMENT - 4
NEWTON - RAPHSON LOAD FLOW METHOD

4.1 AIM:

To develop program for N-R load flow algorithm in rectangular and polar coordinates.

4.2 APPARATUS:

Desktop Computers with MATLAB software

4.3 THEORY:
Newton- Raphson Method is an iterative technique for solving a set of various nonlinear equations
with an equal number of unknowns.

ALGORITHM:

Step 1: Form Ybus.


Step 2: Assume the initial value of the bus voltages |Vi0| and phase angle δi0 for i = 2, 3,…..n for
load buses and phase angles for PV buses. Normally, set the assumed bus voltage magnitude
and its phase angles equal to the slack bus quantities |V1| = 1.0 p.u, δ1 = 0 degrees.
Step 3: Compute Pi and Qi for each load bus from the following equation
Nv
Pi  Vi Vk (Gik cos  ik  Bik sin  ik )
k 1

Nv
Qi  Vi Vk (Gik sin  ik  Bik cos  ik )
k 1

Step 4: Now, compute the scheduled errors ΔPi and ΔQi for each load bus from the following
relations given below.
Pi ( r )  Pisp  Pi ((cal
r)
) i  2,3, ..n

Qi( r )  Qisp  Qi((rcal


)
) i  2,3, ..n
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.
Step 5: Compute the elements of the Jacobian matrix.

H N'
 
M L' 
Step 6: Obtain the value of Δδ and Δ|Vi| from the equation shown below.

 P   H N '    
Q     
  M L'  V V 

13 | P a g e
Step 7: 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.

Vi ( r 1)  Vi ( r )   Vi ( r )

 i( r 1)   i( r )    i( r )
Step 8: Start the next iteration cycle following the step 2 with the modified values of |Vi|and δi.
Step 9: Continue until scheduled errors for all the load buses are within a specified tolerance that is
Pi ( r )   , and Qi( r )   ,
where, ε denotes the tolerance level for load buses.

Step 10:Calculate the line and power flow at the slack bus

MATLAB PROGRAM:
clear all;
v=[1.05 1 1.04];
d=[0;0;0];
Ps=[-4;2];
Qs=-2.5;
yb=[20-j*50 -10+j*20 -10+j*30;-10+j*20 26-j*52 -16+j*32;-10+j*30 -16+j*32 26-j*62];
y=abs(yb);
t=angle(yb);
iter=0;
pwracur=0.00025;
DC=10;
while max(abs(DC))>pwracur
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(2)*v(1)*y(2,1)*sin(t(2,1)-d(2)+d(1))-v(2)^2*y(2,2)*sin(t(2,2))-v(2)*v(3)*y(2,3)*sin(t(2,3)-
d(2)+d(3));
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(1)*y(2,1)*cos(t(2,1)-d(2)+d(1))+2*v(2)*y(2,2)*cos(t(2,2))+v(3)*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(2)*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(3)*y(2,3)*cos(t(3,2)-d(3)+d(2));
j(3,1)=v(2)*v(1)*y(2,1)*cos(t(2,1)-d(2)+d(1))+v(2)*v(3)*y(2,3)*cos(t(2,3)-d(2)+d(3));
j(3,2)=-v(2)*v(3)*y(2,3)*cos(t(2,3)-d(2)+d(3));
j(3,3)=-v(1)*y(2,1)*sin(t(2,1)-d(2)+d(1))-2*v(2)*y(2,2)*sin(t(2,2))-v(3)*y(2,3)*sin(t(2,3)-
d(1)+d(3));
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(2)=v(2)+DX(3);
v,d,delta=180/pi*d;
end

14 | P a g e
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))
q3=-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))-
v(3)^2*y(3,3)*sin(t(3,3))

OUTPUT:
iter = 1
DC = -2.8600 2.4784 -0.2200
j = 54.2800 -33.2800 24.8600 -33.2800 64.4800 -16.6400 -27.1400 16.6400 49.7200
DX = -0.0310 -0.0156 -0.0265
v = 1.0500 0.9735 1.0400
d = 0 -0.0310 -0.0156
iter = 2
DC = -0.0998 0.0015 -0.0520
j = 51.7235 -31.6073 21.3032 -33.1154 63.6413 -15.0727 -28.5380 17.6888 47.5578
DX = -0.0021 -0.0016 -0.0018
v = 1.0500 0.9717 1.0400
d = 0 -0.0331 0.0140
iter = 3
DC = -0.0002 0.0038 0.0008
j = 51.5944 -31.5386 21.1465 - -33.0626 63.5170 -15.0530 -28.5466 17.6743 47.3677
DX = 1.0e-004 * 0.42470.8439 0.1155
v = 1.0500 0.9717 1.0400
d = 0 -0.0331 -0.0141
iter=4
DC = 1.0e-03 * -0.0000 -0.2073 -0.0068
j = 51.5947 -31.5383 21.1466 -33.0636 63.5192 -15.0516 -28.5474 17.6759 47.3699
DX = 1.0e-05 * -0.2889 -0.4790 -0.0097
v = 1.0500 0.9717 1.0400
d = 0 -0.0331 0.0141
p1 = 1.1464
q1 = 1.7913
q3 = 1.0847

RESULT:

LAB VIVA QUESTIONS:


1. What type of convergence takes place in N-R method?
2. What is the main drawback in N-R method?
3. Which types of equations are solved using Newton Raphson method?

LAB ASSIGNMENTS:

15 | P a g e
EXPERIMENT - 5
FAST DECOUPLED LOAD FLOW METHOD
5.1 AIM:

To develop program for FDLF algorithm.

5.2 APPARATUS:

Desktop Computers with MATLAB software

5.3 THEORY
An important and useful property of power system is that the change in real power is primarily
governed by the charges in the voltage angles, but not in voltage magnitudes.
On the other hand, the charges in the reactive power are primarily influenced by the charges in
voltage magnitudes, but not in the voltage angles.
 Under normal steady state operation, the voltage magnitudes are all nearly equal to 1.0pu.
 As the transmission lines are mostly reactive, the conductance‟s are quite small as compared to
the susceptance (Gij<<Bij).
 Under normal steady state operation the angular differences among the bus voltages are quite
small (θi− θj) ≈ 0 (within 5o − 10o)).
 The injected reactive power at any bus is always much less than the reactive power consumed
by the elements connected to this bus when these elements are shorted to the ground
(Qi<<BiiVi2).
Hence the Jacobian elements in Newton-Raphson (polar) method are given as

 P   J 1 0    
Q   0 J 4  V 
  
Thus ∆P depends only on ∆θ and ∆Q depends only on ∆V. Thus, there is a decoupling between „∆P
- ∆θ‟ and „∆Q - ∆V‟ relations.
P
V
 
 B ' 

Matrix B ′ is a constant matrix having a dimension of (n − 1) × (n − 1). Its elements are the negative
of the imaginary part of the element (i, k) of the YƟ matrix where i = 2, 3,⋯⋯ n and k = 2, 3,⋯⋯ n.
Q
V
 
 B '' V

[B ′′] is also a constant matrix having a dimension of (n−m)×(n−m). Its elements are the negative of
the imaginary part of the element (i, k) of the YBUS matrix where i = (m + 1), (m + 2),⋯⋯ n and k =
(m + 1), (m + 2),⋯⋯ n

16 | P a g e
ALGORITHM:

Step 1: Form Y bus.


Step 2: 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 p.u, δ1 = 0
degrees.
Step 3: Compute Pi and Qi for each load bus from the following equation (5) and (6) shown above.
Step 4: Now, compute the scheduled errors ΔPi and ΔQifor each load bus from the following
relations given below.
Pi ( r )  Pi sp  Pi ((rcal) ) i  2,3,......n

Qi( r )  Qi sp  Qi((rcal
)
) i  2,3,......n
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.
Step 5: Compute B‟ and B‟‟ matrices.
Step 7: Modify the voltage magnitude and phase angle at all load buses by the equations shown
below.

Vi ( r 1)  Vi ( r )   Vi ( r )

 i( r 1)   i( r )    i( r )
Step 8: Start the next iteration cycle following the step 2 with the modified values of |Vi|and δi.

Step 9: Continue until scheduled errors for all the load buses are within a specified tolerance that is
Pi ( r )   , and Qi( r )   ,
where, „ε‟ denotes the tolerance level for load buses.

Step 10:Calculate the line and power flow at the slack bus.

RESULT:

LAB VIVA QUESTIONS:


1. For what studies, the FDLF method used?
2. What is the advantage of FDLF method?
3. What quantities are decoupled in FDLF method?

LAB ASSIGNMENTS:

17 | P a g e
EXPERIMENT - 8
SHORT CIRCUIT ANALYSIS
8.1 AIM:
To develop program for short circuit analysis using ZBUS algorithm

8.2 APPARATUS:

Desktop Computers with MATLAB software

8.3 THEORY:
A fault in a circuit is a failure that interferes with the normal flow of current. A short circuit fault
occurs when the insulation of the system fails resulting in low impedance path either between phases
or phase(s) to ground. This causes excessively high currents to flow in the circuit, requiring the
operation of protective equipment to prevent damage to equipment.
The short circuit faults can be classified as:
• Symmetrical faults
• Unsymmetrical faults
A three phase symmetrical fault is caused by application of three equal fault impedances Z¯ f to the
three phases.

Faults in which the balanced state of the network is disturbed are called unsymmetrical or
unbalanced faults. The most common type of unbalanced fault in a system is a single line to ground
fault (LG fault). Almost 60 to 75% of faults in a system are LG faults. The other types of
unbalanced faults are line to line faults (LL faults) and double line to ground faults (LLG faults).
About 15 to 25% faults are LLG faults and 5 to 15% are LL faults.

28 | P a g e
ALGORITHM:
Step 1: Obtain pre-fault voltages at all buses and currents in all lines through a load flow study.

V10 
 
0
VBUS  V20 
Vn0 
 
Ifrthbus is faulted through a fault impedance,Zf,the post fault bus voltage is given by
f
VBUS  VBUS
0
 V
where ΔV is the vector of changes in bus voltages caused by the fault.
Step 2:The Thevenin network of the system with generators replaced by transient /subtransient
reactance with their emfs shorted.
Step 3: Excite the passive Thevenin networkwith –Vr0 in series with Zf. ΔV is given as

V Z BUS J f
Where,
 Z11 Z1n 
Bus impedance matrix of the passive Thevinin network is, [ Z BUS ] 
Z nn 
and
Z n1
Jf = Bus current injection vector
The current, -Ifis injected at the rth bus,
 0 
I f f 
 I 
[J ]   r
f
 | 
 
 0 
Forrthbus,
Vr  Z rr I f
Step 4: The voltage at the rthbus under fault is
Vr f Vro  Vr0  Vro  Z rr I f

Vr f   Z rr I f

Z f I f Vro  Z rr I f

Vro
If 
Z rr  Z f
Z ir
Vi f Vi o  Vr0
Z rr  Z f
ZBUS matrix is obtained byZBUSbuilding algorithm.

29 | P a g e
MATLAB PROGRAM:

zdata1 = [0 1 0 0.25
0 2 0 0.25
1 2 0 0.125
1 3 0 0.15
2 3 0 0.25];
zdata0 = [0 1 0 0.40
0 2 0 0.10
1 2 0 0.30
1 3 0 0.35
2 3 0 0.7125];
zdata2 = zdata1;
Zbus1 = zbuild(zdata1)
Zbus0 = zbuild(zdata0)
Zbus2 = Zbus1;
symfault(zdata1,Zbus1)
lgfault(zdata0, Zbus0, zdata1, Zbus1, zdata2, Zbus2)
llfault(zdata1, Zbus1, zdata2, Zbus2)
dlgfault(zdata0, Zbus0, zdata1, Zbus1, zdata2, Zbus2)

symfault
function symfaul(zdata, Zbus, V)
nl = zdata(:,1); nr = zdata(:,2); R = zdata(:,3);
X = zdata(:,4);
nc = length(zdata(1,:));
if nc> 4
BC = zdata(:,5);
elseif nc ==4, BC = zeros(length(zdata(:,1)), 1);
end
ZB = R + j*X;
nbr=length(zdata(:,1)); nbus = max(max(nl), max(nr));
if exist('V') == 1
if length(V) == nbus

V0 = V;
else, end
else, V0 = ones(nbus, 1) + j*zeros(nbus, 1);
end
fprintf('\Three-phase balanced fault analysis \n')
ff = 999;
while ff > 0
nf = input('Enter Faulted Bus No. -> ');
while nf<= 0 | nf>nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
end
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
fprintf(' \n')
fprintf('Balanced three-phase fault at bus No. %g\n', nf)
If = V0(nf)/(Zf + Zbus(nf, nf));
Ifm = abs(If); Ifmang=angle(If)*180/pi;
fprintf('Total fault current = %8.4f per unit \n\n', Ifm)
%fprintf(' p.u. \n\n', Ifm)
fprintf('Bus Voltages during fault in per unit \n\n')
fprintf(' Bus Voltage Angle\n')

30 | P a g e
fprintf(' No. Magnitude degrees\n')
for n = 1:nbus
if n==nf
Vf(nf) = V0(nf)*Zf/(Zf + Zbus(nf,nf)); Vfm = abs(Vf(nf));
angv=angle(Vf(nf))*180/pi;
else, Vf(n) = V0(n) - V0(n)*Zbus(n,nf)/(Zf + Zbus(nf,nf));
Vfm = abs(Vf(n)); angv=angle(Vf(n))*180/pi;
end
fprintf(' %4g', n), fprintf('%13.4f', Vfm),fprintf('%13.4f\n', angv)
end
fprintf(' \n')
fprintf('Line currents for fault at bus No. %g\n\n', nf)
fprintf(' From To Current Angle\n')
fprintf(' Bus Bus Magnitude degrees\n')
for n= 1:nbus
%Ign=0;
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
endi
f k==0
Ink = (V0(n) - Vf(n))/ZB(I);
Inkm = abs(Ink); th=angle(Ink);
%if th<= 0
if real(Ink) > 0
fprintf(' G '), fprintf('%7g',n), fprintf('%12.4f', Inkm)
fprintf('%12.4f\n', th*180/pi)
end
elseif real(Ink) ==0 &imag(Ink) < 0
fprintf(' G '), fprintf('%7g',n), fprintf('%12.4f', Inkm)
fprintf('%12.4f\n', th*180/pi)
else, end
Ign=Ink;
elseif k ~= 0
Ink = (Vf(n) - Vf(k))/ZB(I)+BC(I)*Vf(n);
%Ink = (Vf(n) - Vf(k))/ZB(I);
Inkm = abs(Ink); th=angle(Ink);
%Ign=Ign+Ink;
%if th<= 0
if real(Ink) > 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf('%12.4f', Inkm), fprintf('%12.4f\n', th*180/pi)
elseif real(Ink) ==0 &imag(Ink) < 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf('%12.4f', Inkm), fprintf('%12.4f\n', th*180/pi)
else, end
else, end
else, end
if n==nf
fprintf('%7g',n), fprintf(' F'), fprintf('%12.4f', Ifm)
fprintf('%12.4f\n', Ifmang)
else, end
end
resp=0;
while strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1

31 | P a g e
resp = input('Another fault location? Enter ''y'' or ''n'' within single quote-> ');
if strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
fprintf('\n Incorrect reply, try again \n\n'), end
end
if resp == 'y' | resp == 'Y'
nf = 999;
else ff = 0; end
end % end for while
lgfault
function lgfault(zdata0, Zbus0, zdata1, Zbus1, zdata2, Zbus2, V)
if exist('zdata2') ~= 1
zdata2=zdata1;
else, end
if exist('Zbus2') ~= 1
Zbus2=Zbus1;
else, end
nl = zdata1(:,1); nr = zdata1(:,2); nl0 = zdata0(:,1);
nr0 = zdata0(:,2); nbr=length(zdata1(:,1)); nbus =
max(max(nl), max(nr)); nbr0=length(zdata0(:,1));
R0 = zdata0(:,3); X0 = zdata0(:,4);
R1 = zdata1(:,3); X1 = zdata1(:,4);
R2 = zdata1(:,3); X2 = zdata1(:,4);
for k=1:nbr0
if R0(k)==inf | X0(k) ==inf
R0(k) = 99999999; X0(k) = 99999999;
else, end
end
ZB1 = R1 + j*X1; ZB0 = R0 + j*X0;
ZB2 = R2 + j*X2;
if exist('V') == 1
if length(V) == nbus
V0 = V;
else, end
else, V0 = ones(nbus, 1) + j*zeros(nbus, 1);
end
fprintf('\nLine-to-ground fault analysis \n')
ff = 999;
while ff > 0
nf = input('Enter Faulted Bus No. -> ');
while nf<= 0 | nf>nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
end
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
fprintf(' \n')
fprintf('Single line to-ground fault at bus No. %g\n', nf)
a =cos(2*pi/3)+j*sin(2*pi/3);
sctm = [1 1 1; 1 a^2 a; 1 a a^2];
Ia0 = V0(nf)/(Zbus1(nf,nf)+Zbus2(nf, nf)+ Zbus0(nf, nf)+3*Zf); Ia1=Ia0; Ia2=Ia0;
I012=[Ia0; Ia1; Ia2];
Ifabc = sctm*I012;
Ifabcm = abs(Ifabc);
fprintf('Total fault current = %9.4f per unit\n\n', Ifabcm(1))
fprintf('Bus Voltages during the fault in per unit \n\n')
fprintf(' Bus -------Voltage Magnitude------- \n')

32 | P a g e
fprintf(' No. Phase a Phase b Phase c \n')
for n = 1:nbus
Vf0(n)= 0 - Zbus0(n, nf)*Ia0;
Vf1(n)= V0(n) - Zbus1(n, nf)*Ia1;
Vf2(n)= 0 - Zbus2(n, nf)*Ia2;
Vabc = sctm*[Vf0(n); Vf1(n); Vf2(n)];
Va(n)=Vabc(1); Vb(n)=Vabc(2); Vc(n)=Vabc(3);
fprintf(' %5g',n)
fprintf(' %11.4f', abs(Va(n))),fprintf(' %11.4f', abs(Vb(n)))
fprintf(' %11.4f\n', abs(Vc(n)))
end
fprintf(' \n')
fprintf('Line currents for fault at bus No. %g\n\n', nf)
fprintf(' From To -----Line Current Magnitude---- \n')
fprintf(' Bus Bus Phase a Phase b Phase c \n')
for n= 1:nbus
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
end
end
if k ~= 0
Ink1(n, k) = (Vf1(n) - Vf1(k))/ZB1(I);
Ink2(n, k) = (Vf2(n) - Vf2(k))/ZB2(I);
else, end
else, end
for I = 1:nbr0
if nl0(I) == n | nr0(I) == n
if nl0(I) ==n k = nr0(I);
elseif nr0(I) == n k = nl0(I);
end
end
if k ~= 0
Ink0(n, k) = (Vf0(n) - Vf0(k))/ZB0(I);
else, end
else, end
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
end
if k ~= 0
Inkabc = sctm*[Ink0(n, k); Ink1(n, k); Ink2(n, k)];
Inkabcm = abs(Inkabc); th=angle(Inkabc);
if real(Inkabc(1)) > 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
abs(Inkabc(2)))
abs(Inkabc(2)))
fprintf(' %11.4f\n', abs(Inkabc(3)))
elseif real(Inkabc(1)) ==0 &imag(Inkabc(1)) < 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
fprintf(' %11.4f\n', abs(Inkabc(3)))
else, end
end

33 | P a g e
else, end
else, end
end
if n==nf
fprintf('%7g',n), fprintf(' F'),
fprintf(' %11.4f', Ifabcm(1)),fprintf(' %11.4f', Ifabcm(2))
fprintf(' %11.4f\n', Ifabcm(3))
else, end
resp=0;
while strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
resp = input('Another fault location? Enter ''y'' or ''n'' within single quote-> ');
if strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
fprintf('\n Incorrect reply, try again \n\n'), end
end
if resp == 'y' | resp == 'Y'
nf = 999;
else ff = 0; end
end % end for while
llfault
function llfault(zdata1, Zbus1, zdata2, Zbus2, V)
if exist('zdata2') ~= 1
zdata2=zdata1;
else, end
if exist('Zbus2') ~= 1
Zbus2=Zbus1;
else, end
nl = zdata1(:,1); nr = zdata1(:,2);
R1 = zdata1(:,3); X1 = zdata1(:,4);
R2 = zdata2(:,3); X2 = zdata2(:,4);
ZB1 = R1 + j*X1; ZB2 = R2 + j*X2;
nbr=length(zdata1(:,1)); nbus = max(max(nl), max(nr));
if exist('V') == 1
if length(V) == nbus
V0 = V;
else, end
else, V0 = ones(nbus, 1) + j*zeros(nbus, 1);
end
fprintf('\nLine-to-line fault analysis \n')
ff = 999;
while ff > 0
nf = input('Enter Faulted Bus No. -> ');
while nf<= 0 | nf>nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
end
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
fprintf(' \n')
fprintf('Line-to-line fault at bus No. %g\n', nf)
a =cos(2*pi/3)+j*sin(2*pi/3);
sctm = [1 1 1; 1 a^2 a; 1 a a^2];
Ia0=0;
Ia1 = V0(nf)/(Zbus1(nf,nf)+Zbus2(nf, nf)+Zf); Ia2=-Ia1;
I012=[Ia0; Ia1; Ia2];
Ifabc = sctm*I012;

34 | P a g e
Ifabcm = abs(Ifabc);
fprintf('Total fault current = %9.4f per unit\n\n', Ifabcm(2))
fprintf('Bus Voltages during the fault in per unit \n\n')
fprintf(' Bus -------Voltage Magnitude------- \n')
fprintf(' No. Phase a Phase b Phase c \n')
for n = 1:nbus
Vf0(n)= 0;
Vf1(n)= V0(n) - Zbus1(n, nf)*Ia1;
Vf2(n)= 0 - Zbus2(n, nf)*Ia2;

Vabc = sctm*[Vf0(n); Vf1(n); Vf2(n)];


Va(n)=Vabc(1); Vb(n)=Vabc(2); Vc(n)=Vabc(3);
fprintf(' %5g',n)
fprintf(' %11.4f', abs(Va(n))),fprintf(' %11.4f', abs(Vb(n)))
fprintf(' %11.4f\n', abs(Vc(n)))
end
fprintf(' \n')
fprintf('Line currents for fault at bus No. %g\n\n', nf)
fprintf(' From To -----Line Current Magnitude---- \n')
fprintf(' Bus Bus Phase a Phase b Phase c \n')
for n= 1:nbus
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
end
if k ~= 0
Ink0(n, k) = 0;
Ink1(n, k) = (Vf1(n) - Vf1(k))/ZB1(I);
Ink2(n, k) = (Vf2(n) - Vf2(k))/ZB2(I);
Inkabc = sctm*[Ink0(n, k); Ink1(n, k); Ink2(n, k)];
Inkabcm = abs(Inkabc); th=angle(Inkabc);
if real(Inkabc(2)) < 0
abs(Inkabc(2)))
abs(Inkabc(2)))
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
fprintf(' %11.4f\n', abs(Inkabc(3)))
elseif real(Inkabc(2)) ==0 &imag(Inkabc(2)) > 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
fprintf(' %11.4f\n', abs(Inkabc(3)))
else, end
end
else, end
else, end
end
if n==nf
fprintf('%7g',n), fprintf(' F'),
fprintf(' %11.4f', Ifabcm(1)),fprintf(' %11.4f', Ifabcm(2))
fprintf(' %11.4f\n', Ifabcm(3))
else, end
resp=0;
while strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
resp = input('Another fault location? Enter ''y'' or ''n'' within single quote
-> ');

35 | P a g e
if strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
fprintf('\n Incorrect reply, try again \n\n'), end
end
if resp == 'y' | resp == 'Y'
nf = 999;

else ff = 0; end
end % end for while
dlgfault
function dlgfault(zdata0, Zbus0, zdata1, Zbus1, zdata2, Zbus2, V)
if exist('zdata2') ~= 1
zdata2=zdata1;
else, end
if exist('Zbus2') ~= 1
Zbus2=Zbus1;
else, end
nl = zdata1(:,1); nr = zdata1(:,2); nl0 = zdata0(:,1);
nr0 = zdata0(:,2); nbr=length(zdata1(:,1)); nbus =
max(max(nl), max(nr)); nbr0=length(zdata0(:,1));
R0 = zdata0(:,3); X0 = zdata0(:,4);
R1 = zdata1(:,3); X1 = zdata1(:,4);
R2 = zdata2(:,3); X2 = zdata2(:,4);
for k = 1:nbr0
if R0(k) == inf | X0(k) == inf
R0(k) = 99999999; X0(k) = 999999999;
else, end
end
ZB1 = R1 + j*X1; ZB0 = R0 + j*X0;
ZB2 = R2 + j*X2;
if exist('V') == 1
if length(V) == nbus
V0 = V;
else, end
else, V0 = ones(nbus, 1) + j*zeros(nbus, 1);
end
fprintf('\nDouble line-to-ground fault analysis \n')
ff = 999;
while ff > 0
nf = input('Enter Faulted Bus No. -> ');
while nf<= 0 | nf>nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
end
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
fprintf(' \n')
fprintf('Double line-to-ground fault at bus No. %g\n', nf)
a =cos(2*pi/3)+j*sin(2*pi/3);
sctm = [1 1 1; 1 a^2 a; 1 a a^2];
Z11 = Zbus2(nf, nf)*(Zbus0(nf, nf)+ 3*Zf)/(Zbus2(nf, nf)+Zbus0(nf, nf)+3*Zf);
Ia1 = V0(nf)/(Zbus1(nf,nf)+Z11);
Ia2 =-(V0(nf) - Zbus1(nf, nf)*Ia1)/Zbus2(nf,nf);

Ia0 =-(V0(nf) - Zbus1(nf, nf)*Ia1)/(Zbus0(nf,nf)+3*Zf);


I012=[Ia0; Ia1; Ia2];
Ifabc = sctm*I012; Ifabcm=abs(Ifabc);

36 | P a g e
Ift = Ifabc(2)+Ifabc(3);
Iftm = abs(Ift);
fprintf('Total fault current = %9.4f per unit\n\n', Iftm)
fprintf('Bus Voltages during the fault in per unit \n\n')
fprintf(' Bus -------Voltage Magnitude------- \n')
fprintf(' No. Phase a Phase b Phase c \n')
for n = 1:nbus
Vf0(n)= 0 - Zbus0(n, nf)*Ia0;
Vf1(n)= V0(n) - Zbus1(n, nf)*Ia1;
Vf2(n)= 0 - Zbus2(n, nf)*Ia2;
Vabc = sctm*[Vf0(n); Vf1(n); Vf2(n)];
Va(n)=Vabc(1); Vb(n)=Vabc(2); Vc(n)=Vabc(3);
fprintf(' %5g',n)
fprintf(' %11.4f', abs(Va(n))),fprintf(' %11.4f', abs(Vb(n)))
fprintf(' %11.4f\n', abs(Vc(n)))
end
fprintf(' \n')
fprintf('Line currents for fault at bus No. %g\n\n', nf)
fprintf(' From To -----Line Current Magnitude---- \n')
fprintf(' Bus Bus Phase a Phase b Phase c \n')
for n= 1:nbus
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
end
end
if k ~= 0
Ink1(n, k) = (Vf1(n) - Vf1(k))/ZB1(I);
Ink2(n, k) = (Vf2(n) - Vf2(k))/ZB2(I);
else, end
else, end
for I = 1:nbr0
if nl0(I) == n | nr0(I) == n
if nl0(I) ==n k = nr0(I);
elseif nr0(I) == n k = nl0(I);
end
end
if k ~= 0
Ink0(n, k) = (Vf0(n) - Vf0(k))/ZB0(I);
else, end
else, end
for I = 1:nbr
if nl(I) == n | nr(I) == n
if nl(I) ==n k = nr(I);
elseif nr(I) == n k = nl(I);
end
if k ~= 0
Inkabc = sctm*[Ink0(n, k); Ink1(n, k); Ink2(n, k)];
Inkabcm = abs(Inkabc); th=angle(Inkabc);
if real(Inkabc(2)) < 0

abs(Inkabc(2)))
abs(Inkabc(2)))
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
fprintf(' %11.4f\n', abs(Inkabc(3)))

37 | P a g e
elseif real(Inkabc(2)) ==0 &imag(Inkabc(2)) > 0
fprintf('%7g', n), fprintf('%10g', k),
fprintf(' %11.4f', abs(Inkabc(1))),fprintf(' %11.4f',
fprintf(' %11.4f\n', abs(Inkabc(3)))
else, end
end
else, end
else, end
end
if n==nf
fprintf('%7g',n), fprintf(' F'),
fprintf(' %11.4f', Ifabcm(1)),fprintf(' %11.4f', Ifabcm(2))
fprintf(' %11.4f\n', Ifabcm(3))
else, end
resp=0;
while strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
resp = input('Another fault location? Enter ''y'' or ''n'' within single quote
-> ');
if strcmp(resp, 'n')~=1 &strcmp(resp, 'N')~=1 &strcmp(resp, 'y')~=1 &
strcmp(resp, 'Y')~=1
fprintf('\n Incorrect reply, try again \n\n'), end
end
if resp == 'y' | resp == 'Y'
nf = 999;
else ff = 0; end
end % end for while

OUTPUT:
Enter Faulted Bus No. -> 3
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = j*0.1
Balanced three-phase fault at bus No. 3
Total fault current = 3.1250 per unit
Bus Voltages during fault in per unit
Bus Voltage Angle
No. Magnitude degrees
1 0.5938 0.0000
2 0.6250 0.0000

3 0.3125 0.0000
Line currents for fault at bus No. 3
From To Current Angle
Bus Bus Magnitude degrees
G 1 1.6250 -90.0000
1 3 1.8750 -90.0000
G 2 1.5000 -90.0000
2 1 0.2500 -90.0000
2 3 1.2500 -90.0000
3 F 3.1250 -90.0000
Another fault location? Enter 'y' or 'n' within single quote -> 'n'
Line-to-ground fault analysis
Enter Faulted Bus No. -> 3
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = j*0.1
Single line to-ground fault at bus No. 3
Total fault current = 2.7523 per unit
Bus Voltages during the fault in per unit
Bus -------Voltage Magnitude-------

38 | P a g e
No. Phase a Phase b Phase c
1 0.6330 1.0046 1.0046
2 0.7202 0.9757 0.9757
3 0.2752 1.0647 1.0647
Line currents for fault at bus No. 3
From To -----Line Current Magnitude----
Bus Bus Phase a Phase b Phase c
95
1 3 1.6514 0.0000 0.0000
2 1 0.3761 0.1560 0.1560
2 3 1.1009 0.0000 0.0000
3 F 2.7523 0.0000 0.0000
Another fault location? Enter 'y' or 'n' within single quote -> 'n'
Line-to-line fault analysis
Enter Faulted Bus No. -> 3
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = j*0.1
Line-to-line fault at bus No. 3
Total fault current = 3.2075 per unit
Bus Voltages during the fault in per unit
Bus -------Voltage Magnitude-------
No. Phase a Phase b Phase c
1 1.0000 0.6720 0.6720
2 1.0000 0.6939 0.6939
3 1.0000 0.5251 0.5251
Line currents for fault at bus No. 3
From To -----Line Current Magnitude----
Bus Bus Phase a Phase b Phase c
1 3 0.0000 1.9245 1.9245
2 1 0.0000 0.2566 0.2566
2 3 0.0000 1.2830 1.2830
3 F 0.0000 3.2075 3.2075
Another fault location? Enter 'y' or 'n' within single quote -> 'n'
Double line-to-ground fault analysis

Enter Faulted Bus No. -> 3


Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = j*0.1
Double line-to-ground fault at bus No. 3
Total fault current = 1.9737 per unit
Bus Voltages during the fault in per unit
Bus -------Voltage Magnitude-------
No. Phase a Phase b Phase c
1 1.0066 0.5088 0.5088
2 0.9638 0.5740 0.5740
3 1.0855 0.1974 0.1974
Line currents for fault at bus No. 3
From To -----Line Current Magnitude----
Bus Bus Phase a Phase b Phase c
1 3 0.0000 2.4350 2.4350
2 1 0.1118 0.3682 0.3682
2 3 0.0000 1.6233 1.6233
3 F 0.0000 4.0583 4.0583
Another fault location? Enter 'y' or 'n' within single quote -> 'n'

RESULT:

39 | P a g e
LAB VIVA QUESTIONS:
1. What percentage of fault occurring in the power system is LLG fault?
2. What percentage of fault occurring in the power system is line to line fault?
3. What are the types of unsymmetrical faults?
4. Which is the most severe fault?
5. In which portion of the transmission system is the occurrence of the fault more common?
6. Which is the most commonly occurring fault?

LAB ASSIGNMENTS:

40 | P a g e

You might also like