You are on page 1of 109

CONTENTS

Page Marks Faculty


Sl. No Date Name of the Experiments
No Awarded Sign

Computation of Transmission Line


1.
Parameters.

Formation of Bus Admittance


2. a
Matrices and Solution of Networks

Formation of Bus Impedance


2. b
Matrices and Solution of Networks

Power Flow Analysis using Gauss-


3.
Seidel Method

Power Flow Analysis using Newton


4.
Raphson Method

Symmetric and unsymmetrical fault


5.
analysis

Transient stability analysis of Single-


6.
Machine Infinite Bus System.

Economic Dispatch in Power


7.
Systems.

Load Frequency Dynamics of Single


8. a
Area Power System.

Load Frequency Dynamics of Two


8.b
Area Power System

State estimation: Weighted least square


9. estimation

Electromagnetic Transients in Power


10. Systems : Transmission Line
Energization.
PROBLEM:

A three phase transposed line composed of one ACSR, 1, 43,000cmil, 47/7 Bobolink
conductor per phase with flat horizontal spacing of 11m between phases a and b and between
phases b and c. The conductors have a diameter 3.625cm and GMR of 1.439 cm. The line is to
be replaced by a three conductor bundle of ACSR 477000cmil, 26/7 Hawk conductors having
the same cross sectional area of aluminum as the single conductor line. The conductors have a
diameter of 2.1793 cm and a GMR of 0.8839cm. The new line will also have a flat horizontal
configuration, but it is to be operated at a higher voltage and therefore the phase spacing is
increased to 14m as measured from the centre of the bundles. The Spacing between the
conductors in the bundle is 45cm.

(a) Determine the inductance and capacitance per phase per kilometer of the above two lines.
(b) Determine the percentage change in the L and C in the bundle conductor system. Which
system is better and why?
(c) Verify the results using the MATLAB.

Single Conductor System:

Bundle Conductor System:


Ex.No: 1
COMPUTATION OF TRANSMISSION LINE
Date: PARAMETERS
AIM:
To determine the positive sequence line parameters L and C per phase per kilometre of a
three phase single and double circuit transmission lines for different conductor arrangements.

SOFTWARE REQUIRED: MAT LAB

FORMULA USED:
 Single phase line:
L= 4*10-7 ln (GMD/GMR) H/M.
C=π Єo/ ln (D/R) F/M.
 Three phase line:
L= 2*10-7 ln (GMD/GMR) H/M.
C= 2π Єo/ln (GMD/GMR) F/M.
 GMD for 3ф single and double circuits.
GMD= (3 (DAB)*(DBC)*(DCA) )
where D-is the distance between two respective conductors.
 GMD for 3-phase double circuit;

GMD= 3 (DS1)*(DS2)*(DS3)

DS1= 4 Daa* Daa* Da1a* Daa1


Daa-radius of the conductor in m
Daa1-distance between the circuits in a phase in m

 GMD for single phase line:


GMD=distance between the conductor in m

 GMR for single phase line:


GMR=radius of the conductor in m
FLOW CHART:

3ph

1ph

Sy
m
Unsym
ALGORITHM:

1. Find that given transmission line is single phase or three phases.

2. If it is single phase get the distance between the conductors.

3. Get the radius of the conductor.

4. Using the appropriate formula find inductance and capacitance.

5. If the given system is three phase classify weather it is symmetrical or unsymmetrical.

6. If symmetrical get the distance between the conductors and radius of the conductor

7. Using the appropriate formula find inductance and capacitance.

8. If unsymmetrical get the distance between the conductors and radius of the conductor.

9. Using the appropriate formula find inductance and capacitance.


MODEL CALCULATION:
PROGRAM:
clc;
clear all;
disp('CALCULATION OF INDUCTANCE AND CAPACITANCE');
D=input('Enter the diameter');
Dab=input('Dab=');
Dbc=input('Dbc=');
Dca=input('Dca=');
d=input('Enter the spacing');
r=d/2;
GMD=[Dab*Dbc*Dca]^(1/3);
disp(GMD);
GMR=(D*d^3)^(1/4);
GMR1=1.09*GMR;
disp(GMR1);
C=0.0556/log(GMD/GMR);
L=0.2*log(GMD/GMR);
disp('INDUCTANCE VALUE IN HENRY');
disp(L);
disp('CAPACILANCE VALUE IN FARAD');
disp(C);
OUTPUT:
Single Conductor Bundle
CALCULATION OF INDUCTANCE AND CAPACITANCE
Enter the diameter0.03625
Dab=11
Dbc=11
Dca=22
Enter the spacing0.45
13.8591
0.2613
INDUCTANCE VALUE IN HENRY
0.8114
CAPACILANCE VALUE IN FARAD
0.0137

Three Conductor Bundle


CALCULATION OF INDUCTANCE AND CAPACITANCE
Enter the diameter0.021793
Dab=14
Dbc=14
Dca=28
Enter the spacing0.45
17.6389
0.2301
INDUCTANCE VALUE IN HENRY
0.8851
CAPACILANCE VALUE IN FARAD
0.0126
ii) Bundle conductor system is better when compared to Single conductor system
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
ONE LINE DIAGRAM:
Form Y Bus matrix for the given network.

G1 G2

T1 T2

1 2

0.1+0.3j
0.02j 0.15+0.5j
0.2+0.6j
0.028j
0.0125j

Line Starting Ending Series Line Line Changing


Number Bus Bus Impedance Admittance
1 1 2 0.1+0.3j 0.02j

2 2 3 0.15+0.5j 0.0125j

3 3 1 0.2+0.6j 0.028j
Ex.No: 2a FORMATION OF BUS ADMITTANCE MATRICES AND SOLUTION
Date: OF NETWORKS

AIM:
To determine the admittance matrices for the given power system network.

SOFTWARE REQUIRED: MAT LAB

FORMULA USED:
Yij=∑yij for i=1 to n
Yij= -yji= 1/Zij
Where Yij- Sum of admittance connected to bus
yij- admittance between the bus.

ALGORITHM

1. Read the values such as number of lines, number of buses and line data.
2. Initialize Ybus matrix.
Ybus[ i ][ j ]=Complex (0.0,0.0)
3. Compute Ybus matrix by considering only the line data.
4. Print the Ybus matrix.
5. Verify it by solving manual calculation.
FLOW CHART:

Start

Read no of buses; No of lines;


Line data

Form Y-BUS Matrix

Consider line i = 1

Yij=∑yij for i=1 to n

Y(i,j) = =∑yij +0.5*Yseries(i)


Yij= -Yji= -1/Zij

NO Yij= -Yij= -1/Zij YES


Yij=Yij
If i<n
I = nl

i=i+1 Print Y - Bus

STOP
PROGRAM:

clear all;
clc;
n=input(' ENTER THE NUMBER OF BUS :');
for i=1:n;
for j=i+1:n;
y(i,j)=input(' ENTER THE LINE ADMITTANCE :');
y(j,i)=y(i,j);
end
end
for i=1:n
y1(i)=input(' ENTER THE GROUND ADMITTANCE :');
end
for i=1:n
for j=1:n
if i==j
ybus(i,j)=0;
for k=1:n
ybus(i,j)=ybus(i,j)+y(i,k);
end
else
ybus(i,j)=-1*y(j,i);
end
end
end
disp(' Y BUS MATRIX IS : ')
disp(ybus);
MODEL CALCULATION:
OUTPUT:

ENTER THE NUMBER OF BUS:3


ENTER THE LINE ADMITTANCE:1-3i
ENTER THE LINE ADMITTANCE:0.55-1.83i
ENTER THE LINE ADMITTANCE:0.5-1.5i
ENTER THE GROUND ADMITTANCE :0.02i
ENTER THE GROUND ADMITTANCE :0.0125i
ENTER THE GROUND ADMITTANCE :0.028i
Y BUS MATRIX IS :
1.5500 - 4.8300i -1.0000 + 3.0000i -0.5500 + 1.8300i
-1.0000 + 3.0000i 1.5000 - 4.5000i -0.5000 + 1.5000i
-0.5500 + 1.8300i -0.5000 + 1.5000i 1.0500 - 3.3300i
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
ONE LINE DIAGRAM:
Form Y Bus matrix for the given network.

G1 G2

T1 T2

1 2

0.1+0.3j
0.02j 0.15+0.5j
0.2+0.6j
0.028j
0.0125j

Line Starting Ending Series Line Line Changing


Number Bus Bus Impedance Admittance
1 1 2 0.1+0.3j 0.02j

2 2 3 0.15+0.5j 0.0125j

3 3 1 0.2+0.6j 0.028j
Ex.No: 2b FORMATION OF BUS IMPEDANCE MATRICES AND
Date: SOLUTION OF NETWORKS

AIM:-
To form the bus impedance matrix for a given single line diagram.

SOFTWARE REQUIRED: MAT LAB

FORMULA USED:
Yij=∑yij for i=1 to n
Yij= -Yji= 1/Zij
Where Yij- Sum of admittance connected to bus
yij- admittance between the bus

ALGORITHM:-
Step 1: Read the values of line, number of buses, line data, generator data and
Transformer data.
Step 2: Initialize Ybus, matrix for considering only a line data.
Step 3: Compute Ybus matrix considering only a line data.
Step 4: Modify Ybus matrix by using transformer generator data is adding with a
respective diagonal element of the Ybus matrix. After completing modified
Ybus matrix by inversion of the modified Ybus matrix.
Step 5: Check the modified ybus matrix and zbus matrix are multiplied. Whether
the resulting matrix is using or not.
Step 6: print the zbus matrix.
FLOW CHART:

Start

Read no of buses; No of lines;


Line data

Form Z-BUS Matrix

Consider line i = 1

Yij=∑yij for i=1 to n

Y(i,i) =∑yij +0.5*Yseries(i)


Yij= -Yji= -1/Zij

Y(I,j) =YYseries(I)
ij= -Yij= -1/Zij
Y(I,1) = Y(I,j)
NO YES
Yij=Yij
If i<n
I = nl

i=i+1 Print Y – Bus and Z- bus

STOP
Program:

clear all;
clc;
n=input(' ENTER THE NO OF NODES :');
fprintf(' ENTER YOUR CHOICE :');
fprintf(' 1.ADMITTANCE;2.IMPEDENCE ');
e=input(':');
if(e==1)
for a=1:n
for b=a+1:n
fprintf(' ENTER THE ADMITTANCE OF LINE %d%d' ,a,b);
y(a,b)=input(':');
y(b,a)=y(a,b);
fprintf(' ENTER THE CHANGING ADMITTANCE ::');
h(a,b)=input(':');
h(a,b)=h(a,b);
end
end
end
for a=1:n
for b=a+1:n
fprintf(' ENTER THE IMPEDANCE OF LINE %d%d' ,a,b);
z(a,b)=input(':');
y(a,b)=inv(z(a,b));
fprintf(' ENTER THE CHANGING ADMITTANCE::');
h(a,b)=input(':');
h(a,b)=h(a,b);
end
end
ybus=zeros(n,n);
for a=1:n
for b=1:n
if(a==b)
for k=1:n
y(k,a)=y(a,k);
h(k,a)=h(a,k);
ybus(a,a)=ybus(a,a)+y(a,k)+h(a,k);
end
else
ybus(b,a)=-y(a,b);
end
end
end
ybus;
zbus=inv(ybus);
zbus;
disp(sprintf(' Y Bus Matrix is: ' ));
disp(ybus);
disp(sprintf(' Z Bus Matrix is: ' ));
disp(zbus);
OUTPUT:

ENTER THE NO OF NODES: 3


ENTER YOUR CHOICE: 1.ADMITTANCE;2.IMPEDENCE :2
ENTER THE IMPEDANCE OF LINE 12:0.1+0.3i
ENTER THE CHANGING ADMITTANCE: 0.02i
ENTER THE IMPEDANCE OF LINE 13: 0.2+0.6i
ENTER THE CHANGING ADMITTANCE: 0.028i
ENTER THE IMPEDANCE OF LINE 23: 0.15+0.5i
ENTER THE CHANGING ADMITTANCE: 0.0125i
Y Bus Matrix is:
1.5000 - 4.4520i -1.0000 + 3.0000i -0.5000 + 1.5000i
-1.0000 + 3.0000i 1.5505 - 4.8024i -0.5505 + 1.8349i
-0.5000 + 1.5000i -0.5505 + 1.8349i 1.0505 - 3.2944i

Z Bus Matrix is:


0.0264 - 8.1855i -0.0097 - 8.2923i -0.0235 - 8.3357i
-0.0097 - 8.2923i 0.0326 - 8.1625i -0.0146 - 8.3133i
-0.0235 - 8.3357i -0.0146 - 8.3133i 0.0396 - 8.1408i
MODEL CALCULATION:
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:

The one-line diagram of a three-bus power system with generation at bus 1 is given
below. The magnitude of voltage at bus 1 is adjusted to 1.05 per unit. The scheduled loads at
buses 2 and 3 are as marked on the diagram .Line impedances are marked in per unit on a 100
MVA base and the line charging susceptances are neglected.

(a) Using the Gauss- Seidal method, determine the pharos values of the voltage at the load
buses 2and 3 (P-Q buses) accurate to four decimal places.
(b) Find the slack bus real and reactive power.
(c) Determine the line flows and line losses.
Ex.No: 3
POWER FLOW ANALYSIS USING GAUSS-SEIDEL
Date: METHOD

AIM:-
To understand, in particular, the mathematical formulation of power flow model in
complex form and a simple method of solving power flow problems of small sized system using
Gauss-Seidel iterative algorithm.

SOFTWARE REQUIRED: MAT LAB

PROCEDURE:-

1. Enter the command window of the MATLAB.


2. Create a new M-file by selecting File-New-M-File.
3. Type and save the program in the editor window.
4. Execute the program by either pressing Tools-Run.
5. View the result.
FLOW CHART:
ALGORITHM:

1. Assume a flat voltage profile for all nodal voltage except the slack bus
2. Set iteration count k=0.
3. Set bus count p=1.
4. Check for the slack bus. If it is not slack bus go to next step.
5. Calculate the bus voltage Vpk+1 using equation
Vp= [1/Ypp] {[(Pp-jQp)/Vp*] – ΣnYpqvq q=1, q≠p and difference in bus p=1, 2,….n,
voltage ΔVpk=Vpk+1-Vpk.
6. Advance the bus count by 1 to evaluate other values of Vpk+1&ΔVpk.
7. Check if all buses have been taken in to account, if yes, go to next step otherwise go to
step4.
8. Determine the largest absolute value of change in voltage |ΔV| max.
9. If |ΔV| max is Less than a specified tolerance& evaluate line flows &print the voltage
&line flows.
10. If not, advance the iteration count k=k+1 &go to step3.
PROGRAM:
clc;
clear all;
n=input ('no of buses');
l=input ('no of lines');
s=input ('impedance 1 or admittance 2');
for i=1:l
a=input ('starting bus');
b=input ('ending bus');
t=input ('admittance or impedance value');
if s==1
y(a,b)=1/t;
else
y(a,b)=t;
end
y(b,a)=y(a,b);
end
ybus=zeros(n,n);
for i=1:n
for j=1:n
if i==j
for k=1:n
ybus(i,j)=ybus(i,j)+y(i,k);
end
else
ybus(i,j)=-y(i,j);
end
ybus(j,i)=ybus(i,j);
end
end
ybus
p=zeros(1,n);
q=zeros(1,n);
v=zeros(1,n);
pv=input ('no of pv buses');
pq=input('no of pq buses');
s=input ('slack bus number');
v(s)=input ('slack bus voltage');
acc=input ('acceleration factor');
for i=1:pv
b(i)=input('pv bus number');
p(b(i))=input('real power');
v(b(i))=input ('voltage value');
qmin(b(i))=input ('min value of q');
qmax(b(i))=input ('max value of q');
end
for i=1:pq
c(i)=input('pq bus number');
p(c(i))=input('real power');
p(c(i))=-p(c(i));
q(c(i))=input ('reactive power');
q(c(i))=-q(c(i));
v(c(i))=1+0i;
end
e=v;
enew(s)=v(s);
it=0;
yy=zeros(1,n);
for ii=1:n
ypq(ii)=0;
if ii~=s
flag=0;
gen=0;
for j=1:pv
if ii==b(j)
flag=1;
end
end
if flag==1
for k=1:n
yy(ii)=yy(ii)+ybus(ii,k)*v(k);
end
qcal(ii)=-imag(conj(v(ii))*yy(ii));
if qcal(ii)<qmin(ii)
qcal(ii)=qmin(ii);
elseif qcal(ii)>qmax(ii)
qcal(ii)=qmax(ii);
else
qcal(ii)=qcal(ii);
gen=1;
end
else
qcal(ii)=q(ii);
end
qcal(ii)=qcal(ii)*sqrt(-1);
for k=1:n
if k~=ii
ypq(ii)=ypq(ii)+ybus(ii,k)*e(k);
end
end
enew(ii)=(((p(ii)-qcal(ii))/conj(e(ii)))-ypq(ii))/ybus(ii,ii);
dele(ii)=enew(ii)-e(ii);
enew(ii)=e(ii)+acc*dele(ii);
if gen==1 ang=angle(enew(ii));
enew(ii)=v(ii)*cos(ang)+v(ii)*sin(ang)*sqrt(-1);
end
e(ii)=enew(ii);
end
end
disp('voltages');
enew
MODEL CALCULATION:
OUTPUT:

no of buses3
no of lines3
impedance 1 or admittance 21
starting bus1
ending bus2
admittance or impedance value10-20i
starting bus1
ending bus3
admittance or impedance value10-30i
starting bus2
ending bus3
admittance or impedance value16-32i
ybus =
0.0300 + 0.0700i -0.0200 - 0.0400i -0.0100 - 0.0300i
-0.0200 - 0.0400i 0.0325 + 0.0650i -0.0125 - 0.0250i
-0.0100 - 0.0300i -0.0125 - 0.0250i 0.0225 + 0.0550i
no of pv buses0
no of pq buses2
slack bus number1
slack bus voltage1.05
acceleration factor1.1
pq bus number2
real power2.566
reactive power1.102
pq bus number3
real power1.386
reactive power0.452
voltages
enew =
1.0500 -1.4166 +42.1994i -0.5447 +48.7819i
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:
The figure shows the one-line diagram of a simple three-bus power system with
generators at buses 1 and 3. The magnitude of voltage at bus 1 is adjusted to 1.05 pu. Voltage
magnitude at bus 3 is fixed at 1.04pu with a real power generation of 200MW. A load consisting
of 400MW and 250Mvar is taken from bus 2. Line Impedances are neglected. Obtain the power
flow solution by the Newton Rap son method.
Ex.No: 4
POWER FLOW ANALYSIS USING NEWTON RAPHSON
Date: METHOD

AIM:
To solve load flow problems by using Newton Rap son method with MATLAB program.

SOFTWARE REQUIRED: MATLAB

PROCEDURE:-

1. Enter the command window of the MATLAB.


2. Create a new M-file by selecting File-New-M-File.
3. Type and save the program in the editor window.
4. Execute the program by either pressing Tools-Run.
5. View the result.

ALGORITHM:

1. Assume a suitable solution for all buses except the slack bus.
2. Set convergence criterion=Σ ie, if the largest of absolute of the residues exceeds the
process is repeated, otherwise it is terminated.
3. Set iteration count k=0.
4. Set bus count p=1.
5. Check if p is a slack bus. If yes, go to step 10.
6. Calculate the real & reactive power Pp & Qp respectively using formulae.
7. Evaluate Δ Ppk = Psp - Ppk .
8. Check if the bus in question is a generator bus. If not go to step 10.
9. Evaluate Δ Qpk = Qps - Qpk .
10. Advance the bus count by 1, i.e. p=p+1 & check if all the buses have been
accounted, If not go to step 5.
11. Determine the largest of the absolute value of the residue.
12. If the largest of the absolute value of the residue is less than & go to step 17.
13. Evaluate the element b for Jacobian Matrix.
14. Calculate voltage in element b Δ epk & Δ fpk.
15. Calculate new bus voltage epk+1= epk + Δ epk & fpk+1= fpk + Δ fpk.
16. Advance iteration count k = k+1 & go to step 4.
17. Evaluate bus & line power &print the result b.
FLOWCHART:
MODEL CALCULATIONS:
PROGRAM:
clear all;
clc;
nb=input('the number of buses\n');
nl=input('the number of lines\n');
sb=input('the number of starting buses\n');
eb=input('the number of ending buses\n');
sli=input('enter the details of series line impedance\n');
lca=input('enter the detail of line changing admittance\n');
for m=1:nb
for n=1:nb
if m==n||m~=n
if sli(m,n)==0
n=n+1;
else
y(m,n)=+sli(m,n)^-1+lca(m,n);
y(n,n)=+sli(m,n)^-1+lca(m,n);
y(m,n)=-sli(m,n)^-1;
y(n,m)=y(m,n);
end
end
end
end
ybus=y;
for j=1:nb
mag(j)=input(['enter the voltage magnitude of bus',num2str(j),':']);
th(j)=input(['enter the angle of the bus',num2str(j),':']) ;
acp(j)=input(['enter the real power of bus',num2str(j),':']);
acq(j)=input(['enter the reactive power of bus',num2str(j),':']);
end
my=abs(ybus); an=angle(ybus);
g=real(ybus);b=imag(ybus);
for i=1:nb;
pe(i)=0; qu(i)=0;
for j=1:nb;
pe(i)=mag(i)*my(i,j)*mag(j)*cos(th(i)-th(j)-an(i,j))+pe(i);
qu(i)=mag(i)*my(i,j)*mag(j)*sin(th(i)-th(j)-an(i,j))+qu(i);
end
end
for i=2:nb
for j=2:nb
if i~=j
j1(i,j)=mag(i)*mag(j)*(g(i,j)*sin(th(i)-th(j))-b(i,j)*cos(th(i)-th(j)));
j3(i,j)=-mag(i)*mag(j)*(g(i,j)*cos(th(i)-th(j))-b(i,j)*sin(th(i)-th(j)));
j2(i,j)=-j3(i,j);
j4(i,j)=-j1(i,j);
else
j1(i,j)=-qu(i)-b(i,j)*(mag(i)^2);
j2(i,j)=pe(i)+g(i,j)*(mag(i)^2);
j3(i,j)=pe(i)-g(i,j)*(mag(i)^2);
j1(i,j)=qu(i)-b(i,j)*(mag(i)^2);
end
end
end
ja1(1:nb-1,1:nb-1)=j1(2:nb,2:nb);
ja2(1:nb-1,1:nb-1)=j2(2:nb,2:nb);
ja3(1:nb-1,1:nb-1)=j3(2:nb,2:nb);
ja4(1:nb-1,1:nb-1)=j4(2:nb,2:nb);
jacob=[ja1 ja2; ja3 ja4];
disp('the jacobian matrix is :');
jacob=[ja1 ja2; ja3 ja4];
disp('the jacobian matrix is :');
disp(jacob);
delp(1:nb-1)=acp(2:nb)-pe(2:nb);
delq(1:nb-1)=acp(2:nb)-qu(2:nb);
chan=(inv(jacob))*[delp delp]';
chth(2:nb)=chan(1:2);
chma(2:nb)=chan(n:2*2);
for i=2:nb
chmag(i)=chma(i)*mag(i);
end
mag=mag+chmag;
th=th + chth;
disp(['the voltage magnitudes are:',num2str(mag),]);
disp(['the phase value are:' ,num2str(th),]);
OUTPUT:

the number of buses


3
the number of lines
3
the number of starting buses
[1 2 3]
the number of ending buses
[2 3 1]
enter the details of series line impedance
[0 0.2+0.6i 0.02+0.28i;0.2+0.6i 0 0.25+0.0125i;0.02+0.28i 0.25+0.0125i 0]
enter the detail of line changing admittance
[0 0.05i 0.015i; 0.05i 0 0.035i; 0.015i 0.035i 0]
enter the voltage magnitude of bus1:1.04
enter the angle of the bus1:0
enter the real power of bus1:0
enter the reactive power of bus1:0
enyer the voltage magnitude of bus2:1
enter the angle of the bus2:10.69
enter the real power of bus2:0
enter the reactive power of bus2:0
enyer the voltage magnitude of bus3:1.05
enter the angle of the bus3:20
enter the real power of bus3:0
enter the reactive power of bus3:0
the jacobian matrix is :
the jacobian matrix is :
1.9821 0.6879 10.7867 4.1860
-0.2717 -1.7455 4.1380 16.4133
2.8067 -4.1860 0 -0.6879
-4.1380 7.6153 0.2717 0

the voltage magnitudes are:1.04 -5.0094 -5.2599


the phase value are:0 -24.9599 -1.29199
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:

It is proposed to conduct fault analysis on two alternative configurations of the 4-bus system
given below.

G1, G2: 100MVA, 20kV, x+ = x- = xd" = 20%; x0 = 4%; xn = 5%

T1, T2: 100MVA, 20kV / 345kV; xleak = 8%

L1, L2: x+ = x- = 15%; x0 = 50% on a base of 100MVA

The first configuration,


Case (a), comprises star - star transformers and the second configuration,
Case (b), comprises star - delta transformers.

(i) For a Three phase to ground (solid) fault at bus 4, determine the fault current and MVA at
faulted bus, post fault bus voltages, fault current distribution in different elements of the
network using Thevenin’s equivalent circuit. Draw a single line diagram showing the
above results.
Ex.No: 5 SYMMETRIC AND UNSYMMETRICAL FAULT
Date: ANALYSIS

AIM:
To perform short circuit analysis to find short circuit currents and bus voltages using
MATLAB program.

SOFTWARE REQUIRED: MATLAB

FORMULA:

 Fault current, If=V/(Zf+Zpp)

 Fault voltage Vf =V(1-(Zbus/(Zf+Zpp))

 Where Zf=Fault impedance

 Zpp= Line impedance

ALGORITHM:
1. From the bus admittance matrix for the network.

2. Assemble the bus admittance matrix (Ybus).

3. Find the inversion of Ybus to get bus impedance matrix (Zbus).

4. Compute the magnitude of the short circuit current in the fault.

5. From step 4obtain short circuits current at buses 1, 2, 3.

6. Find the bus voltage drop using the formula and also short circuit current.
FLOWCHART:

Start

Read line data, bus data,


machine data, fault impedance
etc.

Compute Y-bus matrix & modified Y-bus matrix

Compute Z-bus by inverting modified Y-bus matrix

I=0

I=I+1 fault occurs of Bus I

Compute fault current at faulted bus and


bus voltages at all buses.

Compute all line currents and generator


currents
Yes
No

If
I<nb? No

Print the Results

Stop
PROGRAM:
clear all
clc
% From To R X
zdata= [ 0 1 0 0.15
0 2 0 0.075
1 2 0 0.1
2 3 0 0.1
3 1 0 0.1];
nl=zdata(:,1); nr=zdata(:,2); X=zdata(:,4);
nbr=length (zdata(:,1)); nbus = max (max(nl),max(nr));
Z=j*X; %branch impedance
Y=ones(nbr,1)./Z; %branch admittance
Ybus=zeros(nbus,nbus); %initialize Ybus to zero
for k = 1:nbr; % formation of the off diagonal elements
if nl(k) > 0 & nr(k) > 0
Ybus (nl(k),nr(k))= Ybus(nl(k), nr(k)) - Y(k);
Ybus (nr(k),nl(k))= Ybus(nl(k),nr(k));
end
end
for n = 1:nbus % formation of the diagonal elements
for k = 1:nbr
if nl(k) == n | nr(k) ==n
Ybus(n,n) = Ybus(n,n) + Y(k);
else,end
end
end
Ybus; %bus admittance matrix
Zbus = inv(Ybus); %bus impedance matrix
zf=0;
v=[1 1 1]; %pre fault voltage
vfa=[0 0 0];
selectedbus=input('select bus 1,2,3=');
i=selectedbus
If=v(i)/(zf+Zbus(i,i));
for k=1:3
if k~i
vf(k)=v(k)-(Zbus(i,k)*v(k)/(zf+Zbus(i,i)));
vfa(k)=vfa(k)+vf(k);
End
vf(i)=zf*v(i)/(zf+Zbus(i,i));
vfa(i)=vfa(i)+vf(i);
i12f=abs(vfa(1)-vfa(2))/X(3);
i13f=abs(vfa(1)-vfa(3))/X(4);
i23f=abs(vfa(2)-vfa(3))/X(5);
end
end
end
vfa
i12f
i13f
i23f
If=abs(If)
OUTPUT:

Select bus 1,2,3=1


The fault current If is: 13.7255
The fault current vfa is: 0 0.47059 0.23529
The fault current i12f is: 4.7059
The fault current i13f is: 2.3529
The fault current i23f is: 2.3529
select bus 1,2,3=2
The fault current If is: 17.9487
The fault current vfa is: 0.30769 0 0.15385
The fault current i12f is: 3.0769
The fault current i13f is: 1.5385
The fault current i23f is: 1.5385
Select bus 1,2,3=3
The fault current If is: 9.8592
The fault current vfa is: 0.4507 0.53521 0
The fault current i12f is: 0.84507
The fault current i13f is: 4.507
The fault current i23f is: 5.3521
MODEL CALCULATION:
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
Problem:

A Power system comprising a thermal generating plant with four 555MVA, 24kV, 60Hz units
supplies power to an infinite bus through a transformer and two transmission lines.

The data for the system in per unit on a base of 2220 MVA, 24kV is given below:

An Equivalent generator representing the four units, characterized by classical model:


Xd' = 0.3 p.u., Inertia Constant, H = 3.5MW-s/MVA

Transformer : X = 0.15 p.u.


Line1 : X = 0.5 p.u.
Line2 : X = 0.93 p.u.

Plant Operating Condition:


P = 0.9 p.u.; Power Factor = 0.9 lagging; Et = 1.0 p.u.

Case 1:

It is proposed to examine the transient stability of the system for a three phase to ground
fault at the end of line 2 near H.T bus occurring at time t = 0sec. The fault is cleared at 0.07 sec.
by simultaneous opening of the two circuit breakers at both the ends of line2.

(a) Calculate the initial conditions necessary for the classical model of the machine for
the above pre-fault operating condition determine the critical clearing angle and time for the fault
using "Equal Area Criterion" and hence comment on the stability of the system for this fault.
Ex.No: 6 TRANSIENT STABILITY ANALYSIS OF SINGLE-MACHINE
Date: INFINITE BUS SYSTEM

AIM:
To obtain the value of displacement angle of single machine infinite bus System up to
time t=1sec.

SOFTWRE REQUIRED: MATLAB

FORMULA USED
FLOW CHART:

Start

Get the Values of H, Pi, S,


Δt, f and t.

Calculate the values of Pu, Pa, and


Inertia Constant(M).

Calculate the values of


Delw (i) = (delt*Pa (i-1))/M;
deldel(i)=(delt*w(i-1))+(delt*delt)*Pa(i-1)/(2*M); t=t+Δt.

NO

If
t<1 sec
YES

Print the values of δ (i).

Stop
ALGORITHM:
1. Start the program.
2. Get the values of H, Pi, s, delt, f, and t.
3. Calculate the per unit value.
a. Pu (i) =del (i)/90.
4. Calculate the acceleration power.
a. Pa (i) =P (i)-Pu (i).
5. Calculate the inertia constant.
i. M=SH/180f.
6. Calculate the value of delwn, deldeln.
7. Calculate the values of t and increase the‘t’ value.
8. Print the displacement angle
9. Stop the program.
MODEL CALCULATION:
PROGRAM:

clear all;
clc;
% INPUT DATAS
pc=input('Enter the power in p.u. for plant operating conditions:');
pf=input('Enter the value of power factor:');
f=input('Enter the value of frequency:');
x1=input('Enter the reactance of line 1:');
x2=input('Enter the reactance of line 2:');
xtr=input('Enter the reactance of transformer:');
xd=input('Enter the reactance of generator :');
et=input('Enter the terminal voltage :');
h=input('Enter the value of inertia constant in seconds :');
p2max=0;
%calculations
% COMPUTATION OF INITIAL CONDITIONS
input('\n');
qc=tan(acos(pc));
s=complex(pc,qc);
s=s^-1;
% STATOR CURRENT
input('\n');
It=s/et
% VOLTAGE BEHIND TRANSIENT REACTANCE
input('\n');
Etx=et+xd*It
Etxangle=input('Enter the angle of transient reactance :');
% VOLTAGE OF THE INFINITE BUS
input('\n');
x3=(x1*x2)/(x1+x2);
Eb=et-(x3+xtr)*It
Ebangle=input('Enter the angle of infinite bus:');
% ANGULAR SEPARATION BETWEEN Etx AND Eb
input('\n');
angle=Etxangle-Ebangle
% INFINITE BUS AS REFERENCE
input('\n');
Eb2=real(It);
Eb2angle=angle;
et=et;
etangle=Ebangle;
% CRITICAL CLEARING ANGLE
input('\n');
p3max=(Eb*Etx)/(xd+xtr+x1);
p3max=real(p3max);
delmax=180-asin(0.9/p3max);
criticalangle=(pf*(delmax-angle)+p3max*(cos(delmax))-p2max*cos(angle));
criticalangle=criticalangle/(p3max-p2max)
% CRITICAL CLEARING TIME
input('\n');
tcr=sqrt((2*h*(criticalangle-angle)/(3.141*f*pf)))
OUTPUT:

Enter the power in p.u. for plant operating conditions: 0.9


Enter the value of power factor: 0.9
Enter the value of frequency: 60
Enter the reactance of line 1:0.5
Enter the reactance of line 2:0.93
Enter the reactance of transformer: 0.15
Enter the reactance of generator : 0.3
Enter the terminal voltage : 1.0
Enter the value of inertia constant in seconds : 3.5
It = 0.8616 - 0.4637i
Etx = 1.2585 - 0.1391i
Enter the angle of transient reactance : 90
Eb = 0.5906 + 0.2203i
Enter the angle of infinite bus: 45
angle = 45
criticalangle =
1.4653e+002 +2.2042e-001i
tcr = 2.0470 + 0.0022i
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:

Determine the economic generation schedules of three generating units in a power system to
meet the system load of 850 MW. The data of the generating units are given below:

Operating Limits:

150  PG1  600

100  PG2  400


50  PG3  200
Production cost function in 102Rs/ hr.

 
F1 P1
2
0.00128 P1  6.48 P1  459

F 2  P 2
2
0.00194 P2  7.85 P2  310

F 3  P 3
2
0.00482 P3  7.93 P3  78
Ex.No: 7
ECONOMIC DISPATCH IN POWER SYSTEMS
Date:

AIM:-
To understand the basics of the problem of Economic Dispatch (ED) of optimally
adjusting the generation schedules of thermal generating units to meet the system load which
are required for unit commitment and economic operation of power systems.

SOFTWARE REQUIRED: MAT LAB

FORMULA USED:-

The power generation for two units as

P1= (λ-b1)/2a1;
P2= (λ-b2)/2a2
P=P1+P2.
Where PD-power demand in MW
ai,bi are coefficients (unitless)
P1, P2, P are the power generation in MW.
FLOW CHART:
ALGORITHM:
1. Start the program.
2. Get the cost input of two generating units.
3. Get the values of load demand and the incremental cost transmission loss coefficient (λ).
4. Calculate optimum generators p1 and p2. P1= (λ-b1)/2a1; P2= (λ-b2)/2a2 Where, a1, a2, b1,
b2 are coefficients of two generating units.
5. Calculate the total power generation P=P1+P2.
6. Check whether total power generation is equal to demand.
7. If power and demand are not equal, then increment or decrement the incremental cost
value.
8. If they are equal, then display P1 and P2.
9. When there is presence of loss, then get the values of transmission loss & coefficient of
incremental cost (λ).
10. Calculate PL; PL = P12 B11 +P22 B22 +2 P1 P2 B12
11. Calculate the total generation and the received power PTG = P1+P2.
12. Power demand PD = PTG - PL.
13. Print all the values.
14. Stop the program.
MODEL CALCULATION:
PROGRAM:

clc;
clear all;
n=input('Enter the number of units:');
a=zeros(n);
b=zeros(n);
c=zeros(n);
for i=1:n
fprintf('Enter the unit %g Data \n',i);
a(i)=input('Enter the value of a:');
b(i)=input('Enter the value of b:');
c(i)=input('Enter the value of c:');
pmin(i)=input('Enter the MIN value of Generation : ');
pmax(i)=input('Enter the MAX value of Generation : ');
end
pd=input('Enter the value of load demand:');
P=zeros(n);
sum=0; den=0;
for i=1:n
sum=sum+(b(i)/(2*a(i)));
end
for i=1:n
den=den+(1/(2*a(i)));
end
num=pd+sum;
lamda=num/den;
for i=1:n
P(i)=(lamda-b(i))/(2*a(i));
end
for i=1:n
fprintf('Optimal Generation of unit %g: %g MW\n',i,P(i));
end
fprintf('Lamda: %g \n',lamda);
for i=1:n
unitcost=a(i)*P(i)^2+b(i)*P(i)+c(i);
fprintf('Generation cost of unit %g : %g\n',i,unitcost);
end
totalcost=0;
for i=1:n
totalcost=totalcost+a(i)*P(i)^2+b(i)*P(i)+c(i);
end
fprintf('Total generation cost : %g\n', totalcost);
OUTPUT:

Enter the number of units:3


Enter the unit 1 Data
Enter the value of a:0.00128
Enter the value of b:6.48
Enter the value of c:459
Enter the MIN value of Generation : 150
Enter the MAX value of Generation : 600
Enter the unit 2 Data
Enter the value of a:0.00194
Enter the value of b:7.85
Enter the value of c:310
Enter the MIN value of Generation : 100
Enter the MAX value of Generation : 400
Enter the unit 3 Data
Enter the value of a:0.00482
Enter the value of b:7.93
Enter the value of c:78
Enter the MIN value of Generation : 50
Enter the MAX value of Generation : 200
Enter the value of load demand:850
Optimal Generation of unit 1: 702.992 MW
Optimal Generation of unit 2: 110.737 MW
Optimal Generation of unit 3: 36.2716 MW
Lamda: 8.27966
Generation cost of unit 1 : 5646.96
Generation cost of unit 2 : 1203.07
Generation cost of unit 3 : 371.975
Total generation cost : 7222.01
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:

The data for a single area power system is given below, Rated area capacity
Pr = 2000MW, Nominal operating load PD = 1000MW, f0 = 50Hz, D = 1%, R = 3%, H = 5sec,
Load increase M = 20 MW. Compute steady state frequency deviation. Also determine the
Critical value for controller gain KIcrit, so that the response is critically damped.
Ex.No: 8a LOAD FREQUENCY DYNAMICS OF SINGLE AREA POWER
Date: SYSTEM

AIM:-
To became familiar with modeling and analysis of the frequency and tie-line flow
dynamics of a power system without and with load frequency controllers (LFC) and to design
better controllers for getting better responses.

PROCEDURE:-

1. Enter the command window of the MATLAB.

2. Create a new Model by selecting File-New-Model

3. Pick up the blocks from the Simulink library browser and form a block diagram.

4. After forming the block diagram, save the block diagram.

5. Double click the scope and view the result.


SIMULATION DIAGRAM FOR LOAD – FREQUENCY DYNAMICS OF SINGLE AREA
POWER SYSTEM :( WITH FEEDBACK)

SIMULATION DIAGRAM FOR LOAD – FREQUENCY DYNAMICS OF SINGLE AREA


POWER SYSTEM :( WITHOUT FEEDBACK)
OUT PUT FREQUENCY RESPONSE: (WITH FEEDBACK)

OUT PUT FREQUENCY RESPONSE: (WITHOUT FEEDBACK)


INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:
Ex.No: 8b
LOAD FREQUENCY DYNAMICS OF TWO AREA POWER
Date: SYSTEM

AIM:-
To become familiar with modeling and analysis of the frequency and tie-line flow
dynamics of a two area power system without and with load frequency controllers (LFC) and to
design better controllers for getting better responses.

SOFTWARE REQUIRED: MAT LAB

PROCEDURE:

1. Enter the command window of the MATLAB.

2. Create a new Model by selecting File-New-Model

3. Pick up the blocks from the Simulink library browser and form a block diagram.

4. After forming the block diagram, save the block diagram.

5. Double click the scope and view the result.


SIMULATION DIAGRAM FOR LOAD-FREQUENCY DYNAMICS OF TWO AREA POWER
SYSTEM:
OUT PUT FREQUENCY RESPONSE:
Frequency Deviation step response

Power Deviation step response:


INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
PROBLEM:
Find the estimate of state of the power system for the IEEE 14 bus system by weighted least
squares method.
Ex.No: 9 STATE ESTIMATION: WEIGHTED LEAST SQUARE
Date: ESTIMATION.

Aim:
To obtain the bests possible estimate of state of the power system for the IEEE 14 bus
system by weighted least squares method.

Theory:
State Estimation BY WLSE method

State estimation plays a very important role in the monitoring and control of modern
power system. The main aim of this is to obtain the voltages and bus angles by processing the
available system data.
State estimation is defined as the data processing algorithm for converting redundant
meter reading and other available information into as estimate of the state of electrical power
system.
Real time measurement are collected in power system through SCADA system. Typical
data includes real and reactive line flows and real and reactive bus injections and bus voltage
magnitude. This telemetered data may contain errors. Theseerrors render the outputuseless. It
is for this reason that, power system state estimation techniques have been developed.
A commonly used criterion is that of minimizing the sum of the squares of the differences
between estimated measurement quantities and actual measurement. This is known as
“weighted least squares” criterion. The mathematical model of state estimation is based on the
relation between the measurement variable and the state variable.
Let
[Z] = Set of measurements
[X] = The vector of state variables
[f(X] = The equation relating measurement variables
to the state variable
[e] = The measurement error vector
We have
[Z] = [f(x)+[e] → (1)
The errors [e1,e2,….em]T are assumed to be independent random variable with Gaussian
distribution whose mean is zero. The variation measurement errorσiprovides an indication of the
certainity about the particular measurements. A large variance indicates that the corresponding
measurement accurate.

The objective function to be minimised

→ (2)

Here m is the number of measurements


Minimise

J(x)={[f(x)-[Z]}T [W}[f(X/]-[Z]}

Linearsing equation (1) and simultaneously minimizing the objective function (3), We
get state correction vector as

[ΔX]={[H][W][H]-1[H][W]{[Z]-F9X)]}} (4)
Where
Algorithm:
 Read all the relevant data
 Initialize the state vector
 Compute measurement function [f(x)] and Jacobian matrix [H] using latest known
system state variable
 Check weather all the elements of [ΔX] are within the tolerance value, if so latest
[X] is the present system state or else go to next step.
 Update the state vector
 [X]=[X0]+[ΔX] and go to step 3
FLOW CHART:
PROGRAM:

% Line Data for B-Bus (Shunt Admittance)Formation.

function bbus = bbusppg(num) % Returns B-bus..

linedata = linedatas(num);
fb = linedata(:,1);
tb = linedata(:,2);
b = linedata(:,5);
nbus = max(max(fb),max(tb)); % no. of buses...
nbranch = length(fb); % no. of branches...
bbus = zeros(nbus,nbus);

for k=1:nbranch
bbus(fb(k),tb(k)) = b(k);
bbus(tb(k),fb(k)) = bbus(fb(k),tb(k));
end

function busdt = busdatas(num)

% |Bus | Type | Vsp | theta | PGi | QGi | PLi | QLi | Qmin | Qmax |
busdata14 = [ 1 1 1.060 0 0 0 0 0 0 0;
2 2 1.045 0 40 42.4 21.7 12.7 -40 50;
3 2 1.010 0 0 23.4 94.2 19.0 0 40;
4 3 1.0 0 0 0 47.8 -3.9 0 0;
5 3 1.0 0 0 0 7.6 1.6 0 0;
6 2 1.070 0 0 12.2 11.2 7.5 -6 24;
7 3 1.0 0 0 0 0.0 0.0 0 0;
8 2 1.090 0 0 17.4 0.0 0.0 -6 24;
9 3 1.0 0 0 0 29.5 16.6 0 0;
10 3 1.0 0 0 0 9.0 5.8 0 0;
11 3 1.0 0 0 0 3.5 1.8 0 0;
12 3 1.0 0 0 0 6.1 1.6 0 0;
13 3 1.0 0 0 0 13.5 5.8 0 0;
14 3 1.0 0 0 0 14.9 5.0 0 0;];

% |Bus | Type | Vsp | theta | PGi | QGi | PLi | QLi | Qmin | Qmax |
busdata30 = [ 1 1 1.06 0 0 0 0 0 0 0;
2 2 1.043 0 40 50.0 21.7 12.7 -40 50;
3 3 1.0 0 0 0 2.4 1.2 0 0;
4 3 1.06 0 0 0 7.6 1.6 0 0;
5 2 1.01 0 0 37.0 94.2 19.0 -40 40;
6 3 1.0 0 0 0 0.0 0.0 0 0;
7 3 1.0 0 0 0 22.8 10.9 0 0;
8 2 1.01 0 0 37.3 30.0 30.0 -10 40;
9 3 1.0 0 0 0 0.0 0.0 0 0;
10 3 1.0 0 0 0 5.8 2.0 0 0;
11 2 1.082 0 0 16.2 0.0 0.0 -6 24;
12 3 1.0 0 0 0 11.2 7.5 0 0;
13 2 1.071 0 0 10.6 0.0 0.0 -6 24;
14 3 1.0 0 0 0 6.2 1.6 0 0;
15 3 1.0 0 0 0 8.2 2.5 0 0;
16 3 1.0 0 0 0 3.5 1.8 0 0;
17 3 1.0 0 0 0 9.0 5.8 0 0;
18 3 1.0 0 0 0 3.2 0.9 0 0;
19 3 1.0 0 0 0 9.5 3.4 0 0;
20 3 1.0 0 0 0 2.2 0.7 0 0;
21 3 1.0 0 0 0 17.5 11.2 0 0;
22 3 1.0 0 0 0 0.0 0.0 0 0;
23 3 1.0 0 0 0 3.2 1.6 0 0;
24 3 1.0 0 0 0 8.7 6.7 0 0;
25 3 1.0 0 0 0 0.0 0.0 0 0;
26 3 1.0 0 0 0 3.5 2.3 0 0;
27 3 1.0 0 0 0 0.0 0.0 0 0;
28 3 1.0 0 0 0 0.0 0.0 0 0;
29 3 1.0 0 0 0 2.4 0.9 0 0;
30 3 1.0 0 0 0 10.6 1.9 0 0 ];

switch num
case 14
busdt = busdata14;
case 30
busdt = busdata30;
end
function linedt = linedatas(num)
% | From | To | R | X | B/2 | X'mer |
% | Bus | Bus | pu | pu | pu | TAP (a) |
linedata14 =[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.0170 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.0 1
4 7 0.0 0.20912 0.0 0.978
4 9 0.0 0.55618 0.0 0.969
5 6 0.0 0.25202 0.0 0.932
6 11 0.09498 0.19890 0.0 1
6 12 0.12291 0.25581 0.0 1
6 13 0.06615 0.13027 0.0 1
7 8 0.0 0.17615 0.0 1
7 9 0.0 0.11001 0.0 1
9 10 0.03181 0.08450 0.0 1
9 14 0.12711 0.27038 0.0 1
10 11 0.08205 0.19207 0.0 1
12 13 0.22092 0.19988 0.0 1
13 14 0.17093 0.34802 0.0 1 ];

% | From | To | R | X | B/2 | X'mer |


% | Bus | Bus | pu | pu | pu | TAP (a) |
linedata30 =[1 2 0.0192 0.0575 0.0264 1
1 3 0.0452 0.1652 0.0204 1
2 4 0.0570 0.1737 0.0184 1
3 4 0.0132 0.0379 0.0042 1
2 5 0.0472 0.1983 0.0209 1
2 6 0.0581 0.1763 0.0187 1
4 6 0.0119 0.0414 0.0045 1
5 7 0.0460 0.1160 0.0102 1
6 7 0.0267 0.0820 0.0085 1
6 8 0.0120 0.0420 0.0045 1
6 9 0.0 0.2080 0.0 0.978
6 10 0.0 0.5560 0.0 0.969
9 11 0.0 0.2080 0.0 1
9 10 0.0 0.1100 0.0 1
4 12 0.0 0.2560 0.0 0.932
12 13 0.0 0.1400 0.0 1
12 14 0.1231 0.2559 0.0 1
12 15 0.0662 0.1304 0.0 1
12 16 0.0945 0.1987 0.0 1
14 15 0.2210 0.1997 0.0 1
16 17 0.0824 0.1923 0.0 1
15 18 0.1073 0.2185 0.0 1
18 19 0.0639 0.1292 0.0 1
19 20 0.0340 0.0680 0.0 1
10 20 0.0936 0.2090 0.0 1
10 17 0.0324 0.0845 0.0 1
10 21 0.0348 0.0749 0.0 1
10 22 0.0727 0.1499 0.0 1
21 23 0.0116 0.0236 0.0 1
15 23 0.1000 0.2020 0.0 1
22 24 0.1150 0.1790 0.0 1
23 24 0.1320 0.2700 0.0 1
24 25 0.1885 0.3292 0.0 1
25 26 0.2544 0.3800 0.0 1
25 27 0.1093 0.2087 0.0 1
28 27 0.0 0.3960 0.0 0.968
27 29 0.2198 0.4153 0.0 1
27 30 0.3202 0.6027 0.0 1
29 30 0.2399 0.4533 0.0 1
8 28 0.0636 0.2000 0.0214 1
6 28 0.0169 0.0599 0.065 1 ];

switch num
case 14
linedt = linedata14;
case 30
linedt = linedata30;
end
% Polar to Rectangular Conversion
% [RECT] = RECT2POL(RHO, THETA)
% RECT - Complex matrix or number, RECT = A + jB, A = Real, B = Imaginary
% RHO - Magnitude
% THETA - Angle in radians

function rect = pol2rect(rho,theta)


rect = rho.*cos(theta) + j*rho.*sin(theta);
% Polar to Rectangular Conversion
% [RHO THETA] = RECT2POL(X)
% X - Complex matrix or number, X = A + jB
% RHO - Magnitude
% THETA - Angle in radians

function [rho theta] = rect2pol(x)


rho = sqrt(real(x).^2 + imag(x).^2);
theta = atan(imag(x)./real(x));
% Power System State Estimation using Weighted Least Square Method..
num = 14; % IEEE - 14 or IEEE - 30 bus system..(for IEEE-14 bus system
replace 30 by 14)...
ybus = ybusppg(num); % Get YBus..
zdata = zdatas(num); % Get Measurement data..
bpq = bbusppg(num); % Get B data..
nbus = max(max(zdata(:,4)),max(zdata(:,5))); % Get number of buses..
type = zdata(:,2); % Type of measurement, Vi - 1, Pi - 2, Qi - 3, Pij - 4,
Qij - 5, Iij - 6..
z = zdata(:,3); % Measuement values..
fbus = zdata(:,4); % From bus..
tbus = zdata(:,5); % To bus..
Ri = diag(zdata(:,6)); % Measurement Error..
V = ones(nbus,1); % Initialize the bus voltages..
del = zeros(nbus,1); % Initialize the bus angles..
E = [del(2:end); V]; % State Vector..
G = real(ybus);
B = imag(ybus);

vi = find(type == 1); % Index of voltage magnitude measurements..


ppi = find(type == 2); % Index of real power injection measurements..
qi = find(type == 3); % Index of reactive power injection measurements..
pf = find(type == 4); % Index of real powerflow measurements..
qf = find(type == 5); % Index of reactive powerflow measurements..

nvi = length(vi); % Number of Voltage measurements..


npi = length(ppi); % Number of Real Power Injection measurements..
nqi = length(qi); % Number of Reactive Power Injection measurements..
npf = length(pf); % Number of Real Power Flow measurements..
nqf = length(qf); % Number of Reactive Power Flow measurements..

iter = 1;
tol = 5;

while(tol > 1e-4)

%Measurement Function, h
h1 = V(fbus(vi),1);
h2 = zeros(npi,1);
h3 = zeros(nqi,1);
h4 = zeros(npf,1);
h5 = zeros(nqf,1);

for i = 1:npi
m = fbus(ppi(i));
for k = 1:nbus
h2(i) = h2(i) + V(m)*V(k)*(G(m,k)*cos(del(m)-del(k)) +
B(m,k)*sin(del(m)-del(k)));
end
end

for i = 1:nqi
m = fbus(qi(i));
for k = 1:nbus
h3(i) = h3(i) + V(m)*V(k)*(G(m,k)*sin(del(m)-del(k)) -
B(m,k)*cos(del(m)-del(k)));
end
end

for i = 1:npf
m = fbus(pf(i));
n = tbus(pf(i));
h4(i) = -V(m)^2*G(m,n) - V(m)*V(n)*(-G(m,n)*cos(del(m)-del(n)) -
B(m,n)*sin(del(m)-del(n)));
end

for i = 1:nqf
m = fbus(qf(i));
n = tbus(qf(i));
h5(i) = -V(m)^2*(-B(m,n)+bpq(m,n)) - V(m)*V(n)*(-G(m,n)*sin(del(m)-
del(n)) + B(m,n)*cos(del(m)-del(n)));
end

h = [h1; h2; h3; h4; h5];

% Residue..
r = z - h;

% Jacobian..
% H11 - Derivative of V with respect to angles.. All Zeros
H11 = zeros(nvi,nbus-1);

% H12 - Derivative of V with respect to V..


H12 = zeros(nvi,nbus);
for k = 1:nvi
for n = 1:nbus
if n == k
H12(k,n) = 1;
end
end
end

% H21 - Derivative of Real Power Injections with Angles..


H21 = zeros(npi,nbus-1);
for i = 1:npi
m = fbus(ppi(i));
for k = 1:(nbus-1)
if k+1 == m
for n = 1:nbus
H21(i,k) = H21(i,k) + V(m)* V(n)*(-G(m,n)*sin(del(m)-
del(n)) + B(m,n)*cos(del(m)-del(n)));
end
H21(i,k) = H21(i,k) - V(m)^2*B(m,m);
else
H21(i,k) = V(m)* V(k+1)*(G(m,k+1)*sin(del(m)-del(k+1)) -
B(m,k+1)*cos(del(m)-del(k+1)));
end
end
end

% H22 - Derivative of Real Power Injections with V..


H22 = zeros(npi,nbus);
for i = 1:npi
m = fbus(ppi(i));
for k = 1:(nbus)
if k == m
for n = 1:nbus
H22(i,k) = H22(i,k) + V(n)*(G(m,n)*cos(del(m)-del(n)) +
B(m,n)*sin(del(m)-del(n)));
end
H22(i,k) = H22(i,k) + V(m)*G(m,m);
else
H22(i,k) = V(m)*(G(m,k)*cos(del(m)-del(k)) +
B(m,k)*sin(del(m)-del(k)));
end
end
end

% H31 - Derivative of Reactive Power Injections with Angles..


H31 = zeros(nqi,nbus-1);
for i = 1:nqi
m = fbus(qi(i));
for k = 1:(nbus-1)
if k+1 == m
for n = 1:nbus
H31(i,k) = H31(i,k) + V(m)* V(n)*(G(m,n)*cos(del(m)-
del(n)) + B(m,n)*sin(del(m)-del(n)));
end
H31(i,k) = H31(i,k) - V(m)^2*G(m,m);
else
H31(i,k) = V(m)* V(k+1)*(-G(m,k+1)*cos(del(m)-del(k+1)) -
B(m,k+1)*sin(del(m)-del(k+1)));
end
end
end

% H32 - Derivative of Reactive Power Injections with V..


H32 = zeros(nqi,nbus);
for i = 1:nqi
m = fbus(qi(i));
for k = 1:(nbus)
if k == m
for n = 1:nbus
H32(i,k) = H32(i,k) + V(n)*(G(m,n)*sin(del(m)-del(n)) -
B(m,n)*cos(del(m)-del(n)));
end
H32(i,k) = H32(i,k) - V(m)*B(m,m);
else
H32(i,k) = V(m)*(G(m,k)*sin(del(m)-del(k)) -
B(m,k)*cos(del(m)-del(k)));
end
end
end

% H41 - Derivative of Real Power Flows with Angles..


H41 = zeros(npf,nbus-1);
for i = 1:npf
m = fbus(pf(i));
n = tbus(pf(i));
for k = 1:(nbus-1)
if k+1 == m
H41(i,k) = V(m)* V(n)*(-G(m,n)*sin(del(m)-del(n)) +
B(m,n)*cos(del(m)-del(n)));
else if k+1 == n
H41(i,k) = -V(m)* V(n)*(-G(m,n)*sin(del(m)-del(n)) +
B(m,n)*cos(del(m)-del(n)));
else
H41(i,k) = 0;
end
end
end
end

% H42 - Derivative of Real Power Flows with V..


H42 = zeros(npf,nbus);
for i = 1:npf
m = fbus(pf(i));
n = tbus(pf(i));
for k = 1:nbus
if k == m
H42(i,k) = -V(n)*(-G(m,n)*cos(del(m)-del(n)) -
B(m,n)*sin(del(m)-del(n))) - 2*G(m,n)*V(m);
else if k == n
H42(i,k) = -V(m)*(-G(m,n)*cos(del(m)-del(n)) -
B(m,n)*sin(del(m)-del(n)));
else
H42(i,k) = 0;
end
end
end
end

% H51 - Derivative of Reactive Power Flows with Angles..


H51 = zeros(nqf,nbus-1);
for i = 1:nqf
m = fbus(qf(i));
n = tbus(qf(i));
for k = 1:(nbus-1)
if k+1 == m
H51(i,k) = -V(m)* V(n)*(-G(m,n)*cos(del(m)-del(n)) -
B(m,n)*sin(del(m)-del(n)));
else if k+1 == n
H51(i,k) = V(m)* V(n)*(-G(m,n)*cos(del(m)-del(n)) -
B(m,n)*sin(del(m)-del(n)));
else
H51(i,k) = 0;
end
end
end
end

% H52 - Derivative of Reactive Power Flows with V..


H52 = zeros(nqf,nbus);
for i = 1:nqf
m = fbus(qf(i));
n = tbus(qf(i));
for k = 1:nbus
if k == m
H52(i,k) = -V(n)*(-G(m,n)*sin(del(m)-del(n)) +
B(m,n)*cos(del(m)-del(n))) - 2*V(m)*(-B(m,n)+ bpq(m,n));
else if k == n
H52(i,k) = -V(m)*(-G(m,n)*sin(del(m)-del(n)) +
B(m,n)*cos(del(m)-del(n)));
else
H52(i,k) = 0;
end
end
end
end

% Measurement Jacobian, H..


H = [H11 H12; H21 H22; H31 H32; H41 H42; H51 H52];

% Gain Matrix, Gm..


Gm = H'*inv(Ri)*H;

%Objective Function..
J = sum(inv(Ri)*r.^2);

% State Vector..
dE = inv(Gm)*(H'*inv(Ri)*r);
E = E + dE;
del(2:end) = E(1:nbus-1);
V = E(nbus:end);
iter = iter + 1;
tol = max(abs(dE));
end

CvE = diag(inv(H'*inv(Ri)*H)); % Covariance matrix..

Del = 180/pi*del;
E2 = [V Del]; % Bus Voltages and angles..
disp('-------- State Estimation ------------------');
disp('--------------------------');
disp('| Bus | V | Angle | ');
disp('| No | pu | Degree | ');
disp('--------------------------');
for m = 1:n
fprintf('%4g', m); fprintf(' %8.4f', V(m)); fprintf(' %8.4f', Del(m));
fprintf('\n');
end
disp('---------------------------------------------');
% Program to form Admittance And Impedance Bus Formation....
% with Transformer Tap setting..

function ybus = ybusppg(num) % Returns ybus

linedata = linedatas(num); % Calling "linedata6.m" for Line Data...


fb = linedata(:,1); % From bus number...
tb = linedata(:,2); % To bus number...
r = linedata(:,3); % Resistance, R...
x = linedata(:,4); % Reactance, X...
b = linedata(:,5); % Ground Admittance, B/2...
a = linedata(:,6); % Tap setting value..
z = r + i*x; % Z matrix...
y = 1./z; % To get inverse of each element...
b = i*b; % Make B imaginary...

nbus = max(max(fb),max(tb)); % no. of buses...


nbranch = length(fb); % no. of branches...
ybus = zeros(nbus,nbus); % Initialise YBus...

% Formation of the Off Diagonal Elements...


for k=1:nbranch
ybus(fb(k),tb(k)) = ybus(fb(k),tb(k))-y(k)/a(k);
ybus(tb(k),fb(k)) = ybus(fb(k),tb(k));
end

% Formation of Diagonal Elements....


for m =1:nbus
for n =1:nbranch
if fb(n) == m
ybus(m,m) = ybus(m,m) + y(n)/(a(n)^2) + b(n);
elseif tb(n) == m
ybus(m,m) = ybus(m,m) + y(n) + b(n);
end
end
end
%ybus; % Bus Admittance Matrix
%zbus = inv(ybus); % Bus Impedance Matrix
% Traditional Measurement Data..
% Vi - 1, Pi - 2, Qi - 3, Pij - 4, Qij - 5, Iij - 6;

function zdt = zdatas(num)

% |Msnt |Type | Value | From | To | Rii |


zdata14 = [ %---- Voltage Magnitude ------------%
1 1 1.06 1 0 9e-4;
%-----------------------------------%
%---- Real Power Injection ---------%
2 2 0.1830 2 0 1e-4;
3 2 -0.9420 3 0 1e-4;
4 2 0.00 7 0 1e-4;
5 2 0.00 8 0 1e-4;
6 2 -0.0900 10 0 1e-4;
7 2 -0.0350 11 0 1e-4;
8 2 -0.0610 12 0 1e-4;
9 2 -0.1490 14 0 1e-4;
%------------------------------------%
%---- Reative Power Injection -------%
10 3 0.3523 2 0 1e-4;
11 3 0.0876 3 0 1e-4;
12 3 0.00 7 0 1e-4;
13 3 0.2103 8 0 1e-4;
14 3 -0.0580 10 0 1e-4;
15 3 -0.0180 11 0 1e-4;
16 3 -0.0160 12 0 1e-4;
17 3 -0.0500 14 0 1e-4;
%------------------------------------%
%------ Real Power Flow ------------- %
18 4 1.5708 1 2 64e-6;
19 4 0.7340 2 3 64e-6;
20 4 -0.5427 4 2 64e-6;
21 4 0.2707 4 7 64e-6;
22 4 0.1546 4 9 64e-6;
23 4 -0.4081 5 2 64e-6;
24 4 0.6006 5 4 64e-6;
25 4 0.4589 5 6 64e-6;
26 4 0.1834 6 13 64e-6;
27 4 0.2707 7 9 64e-6;
28 4 -0.0816 11 6 64e-6;
29 4 0.0188 12 13 64e-6;
%------------------------------------%
%------ Real Power Flow ------------- %
30 5 -0.1748 1 2 64e-6;
31 5 0.0594 2 3 64e-6;
32 5 0.0213 4 2 64e-6;
33 5 -0.1540 4 7 64e-6;
34 5 -0.0264 4 9 64e-6;
35 5 -0.0193 5 2 64e-6;
36 5 -0.1006 5 4 64e-6;
37 5 -0.2084 5 6 64e-6;
38 5 0.0998 6 13 64e-6;
39 5 0.1480 7 9 64e-6;
40 5 -0.0864 11 6 64e-6;
41 5 0.0141 12 13 64e-6;];
%--------------------------------------%

% |Msnt |Type | Value | From | To | Rii |


zdata30 = [ %---- Voltage Magnitude ------------%
1 1 1.06 1 0 9e-4;
%-----------------------------------%
%---- Real Power Injection ---------%
2 2 -0.0760 4 0 1e-4;
3 2 -0.9420 5 0 1e-4;
4 2 0.00 6 0 1e-4;
5 2 -0.3000 8 0 1e-4;
6 2 -0.0580 10 0 1e-4;
7 2 0.00 11 0 1e-4;
8 2 0.00 13 0 1e-4;
9 2 -0.0621 14 0 1e-4;
10 2 -0.0819 15 0 1e-4;
11 2 -0.0350 16 0 1e-4;
12 2 -0.0320 18 0 1e-4;
13 2 -0.0220 20 0 1e-4;
14 2 -0.1750 21 0 1e-4;
15 2 -0.0870 24 0 1e-4;
16 2 0.00 25 0 1e-4;
17 2 -0.0350 26 0 1e-4;
18 2 0.00 28 0 1e-4;
19 2 -0.0240 29 0 1e-4;
%------------------------------------%
%---- Reative Power Injection -------%
20 3 -0.0160 4 0 1e-4;
21 3 0.1538 5 0 1e-4;
22 3 0.00 6 0 1e-4;
23 3 0.2096 8 0 1e-4;
24 3 -0.0200 10 0 1e-4;
25 3 0.2066 11 0 1e-4;
26 3 0.1483 13 0 1e-4;
27 3 -0.0160 14 0 1e-4;
28 3 -0.0250 15 0 1e-4;
29 3 -0.0180 16 0 1e-4;
30 3 -0.0090 18 0 1e-4;
31 3 -0.0070 20 0 1e-4;
32 3 -0.1120 21 0 1e-4;
33 3 -0.0670 24 0 1e-4;
34 3 0.00 25 0 1e-4;
35 3 -0.0230 26 0 1e-4;
36 3 0.00 28 0 1e-4;
37 3 -0.0090 29 0 1e-4;
%------------------------------------%
%------ Real Power Flow ------------- %
38 4 0.4377 2 4 64e-6;
39 4 0.8213 2 5 64e-6;
40 4 -0.8487 3 1 64e-6;
41 4 -0.8160 4 3 64e-6;
42 4 0.7161 4 6 64e-6;
43 4 -0.1475 5 7 64e-6;
44 4 -0.5836 6 2 64e-6;
45 4 -0.3772 7 6 64e-6;
46 4 -0.2705 9 6 64e-6;
47 4 -0.1539 10 6 64e-6;
48 4 -0.2705 10 9 64e-6;
49 4 0.0810 12 14 64e-6;
50 4 -0.1786 15 12 64e-6;
51 4 0.0623 15 18 64e-6;
52 4 0.0423 16 17 64e-6;
53 4 -0.0480 17 10 64e-6;
54 4 -0.0623 19 20 64e-6;
55 4 -0.0844 20 10 64e-6;
56 4 -0.1760 21 10 64e-6;
57 4 0.00 21 22 64e-6;
58 4 -0.0554 22 10 64e-6;
59 4 0.0177 23 24 64e-6;
60 4 -0.0549 24 22 64e-6;
61 4 -0.0500 25 27 64e-6;
62 4 -0.1832 27 28 64e-6;
63 4 -0.1883 28 6 64e-6;
64 4 0.0370 29 30 64e-6;
65 4 -0.0693 30 27 64e-6;
%------------------------------------%
%------ Real Power Flow ------------- %
66 5 0.0451 2 4 64e-6;
67 5 0.0402 2 5 64e-6;
68 5 0.0577 3 1 64e-6;
69 5 0.0687 4 3 64e-6;
70 5 -0.2202 4 6 64e-6;
71 5 0.1027 5 7 64e-6;
72 5 0.0624 6 2 64e-6;
73 5 0.0089 7 6 64e-6;
74 5 0.1463 9 6 64e-6;
75 5 0.0244 10 6 64e-6;
76 5 -0.1599 10 9 64e-6;
77 5 0.0327 12 14 64e-6;
78 5 -0.0977 15 12 64e-6;
79 5 0.0310 15 18 64e-6;
80 5 0.0420 16 17 64e-6;
81 5 -0.0167 17 10 64e-6;
82 5 -0.0133 19 20 64e-6;
83 5 -0.0205 20 10 64e-6;
84 5 -0.0973 21 10 64e-6;
85 5 0.00 21 22 64e-6;
86 5 -0.0361 22 10 64e-6;
87 5 0.0248 23 24 64e-6;
88 5 -0.0353 24 22 64e-6;
89 5 -0.0309 25 27 64e-6;
90 5 -0.0219 27 28 64e-6;
91 5 0.0399 28 6 64e-6;
92 5 0.0061 29 30 64e-6;
93 5 -0.0136 30 27 64e-6;];
%--------------------------------------%

switch num
case 14
zdt = zdata14;
case 30
zdt = zdata30;
end
end
OUTPUT:

>> wls
-------- State Estimation -------------
--------------------------------
| Bus | V | Angle |
| No | pu | Degree |
--------------------------------
1 1.0068 0.0000
2 0.9899 -5.5265
3 0.9518 -14.2039
4 0.9579 -11.4146
5 0.9615 -9.7583
6 1.0185 -16.0798
7 0.9919 -14.7510
8 1.0287 -14.7500
9 0.9763 -16.5125
10 0.9758 -16.7476
11 0.9932 -16.5397
12 1.0009 -17.0203
13 0.9940 -17.0583
-------------------------------------------
>>
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100
Ex.No: 10 ELECTROMAGNETIC TRANSIENTS IN POWER SYSTEMS :
Date: TRANSMISSION LINE ENERGIZATION

AIM:-
To plot the electromagnetic transients in the power system using MATLAB.

SOFTWARE REQUIRED: MAT LAB

FORMULA USED:

Case(i): REACTIVE TERMINATION: LINE TERMINATED BY INDUCTOR:

Case (ii): LINE TERMINATED BY CAPACITANCE:

Case (iii): LINE TERMINATED BY A RESISTANCE EQUAL TO SURGE IMPEDANCE:

Case (iv): OPEN CIRCUITED LINE:


et = 2ef
er = e f
ir = - if
Case (v): SHORT CIRCUITED LINE:
it = 2if
er = -ef
ir = if
Where,
ef, if - forward voltage and current
et, it - transmitted voltage and current
er, ir - reflected voltage and current
PROCEDURE:-
1. Enter the command window of the MATLAB.
2. Create a new M-file by selecting File-New-M-File.
3. Type and save the program in the editor window.
4. Execute the program by either pressing Tools-Run.
5. View the result.
PROGRAM:
clear all;
clc;
%line terminated by inductor for voltage
Ef=10000;
L=0.004;
Zc=400;
n1=2*Ef;
d1=[1 Zc/L];
t=0:0.00001:0.0001;
Et=step(n1,d1,t);
plot(t,Et,'r');
Er=Et-Ef;
hold on;
plot(t,Er,'b');
%line terminated by capacitor for voltage
Ef=10000;
C=0.000000009;
Zc=400;
n1=2*Ef/(Zc*C);
d1=[1 1/(Zc*C)];
t=0:0.00001:0.0001;
Et=step(n1,d1,t);
plot(t,Et,'r');
Er=Et-Ef;
hold on;
plot(t,Er,'b');
%line terminated by capacitor for current
Ef=10000;
C=0.000000009;
Zc=400;
n1=2*Ef/(Zc);
d1=[1 1/(Zc*C)];
t=0:0.00001:0.0001;
It=step(n1,d1,t);
plot(t,It,'r');
hold on;
If=Ef/Zc;
Ir=It-If;
plot(t,Ir,'b');
%line terminated by inductor for current
Ef=10000;
L=0.004;
Zc=400;
n1=2*Ef;
d1=[1 Zc/L];
tf(n1,d1)
t=0:0.00001:0.0001;
n2=2*Ef/L;
d2=[1 Zc/L];
It=step(n2,d2,t);
plot(t,It,'r');
If=Ef/Zc;
Ir=It-If;
hold on;
plot(t,Ir,'b');

OUTPUT RESPONSE:
INFERENCE:

RESULT:

MARKS SPLIT UP
Max. Marks
Particulars
Marks Obtained
Aim & Algorithm 10

Execution of Program 40

Calculation & Result 30

Viva voce 20

Total 100

You might also like