8 EE5 CBPS Lab
8 EE5 CBPS Lab
LAB MANUAL
1. Fault analysis (for 3 to 6 bus) and verify the results using MATLAB or any available software
for the cases: (i) LG Fault (ii) LLG Fault (iii) LL Fault and (iv) 3-Phase Fault
2. Load flow analysis for a given system (for 3 to 6 bus) using (i) Gauss Seidal (ii) Newton
Raphson (iii) Fast Decoupled Method and verify results using MATLAB or any available
software
3. Study of voltage security analysis
4. Study of overload security analysis and obtain results for the given problem using MATLAB
or any software.
5. Study of economic load dispatch problem with different methods.
6. Study of transient stability analysis using MATLAB/ETAP Software.
THEORY:- Economic Dispatch is the process of allocating the required load demand between the
available generation units such that the cost of operation is minimized. There have been many
algorithms proposed for economic dispatch: Merit Order Loading, Range Elimination, Binary Section,
Secant Section, Graphical/Table Look-Up, Convex Simplex, Dantzig-Wolf Decomposition, Separable
Convex Linear Programming, Reduced Gradient with Linear Constraints, Steepest Descent Gradient,
First Order Gradient, Merit Order Reduced Gradient, etc. The close similarity of the above techniques
can be shown if the solution steps are compared. These algorithms are well documented in the
literature.
The electric power system representation for Economic Dispatch consists of models for the generating
units and can also include models for the transmission system. The generation model represents the cost
of producing electricity as a function of power generated and the generation capability of each unit. We
can specify it as:
(1)
where Fi = production cost
Pi = production power
(3)
Mathematical Model for Economic Dispatch of Thermal Units Without Transmission Loss
Statement of Economic Dispatch Problem
In a power system, with negligible transmission loss and with N number of spinning thermal generating
units the total system load PD at a particular interval can be met by different sets of generation
schedules
{PG1(k) , PG2(k) , ………………PGN(K) }; k = 1,2,……..NS
Out of these NS set of generation schedules, the system operator has to choose the set of schedules,
which minimize the system operating cost, which is essentially the sum of the production cost of all the
generating units. This economic dispatch problem is mathematically stated as an optimization problem.
Given : The number of available generating units N, their production cost functions, their operating
limits and the system load PD,
To determine : The set of generation schedules,
PGi ; i = 1,2………N
Which minimize the total production cost,
Min ; FT = Fi (PGi )
and satisfies the power balance constraint
PGi –PD = 0
and the operating limits
PGi,min ≤ PGi ≤ PGi, ,max
The units production cost function is usually approximated by quadratic function
Fi (PGi) = ai PG2i + bi PGi + ci ; i = 1,2,…….N
where ai , bi and ci are constants
Necessary conditions for the existence of solution to ED problem
The ED problem given by the equations (1) to (4). By omitting the inequality constraints
(4) tentatively, the reduce ED problem (1),(2) and (3) may be restated as an unconstrained
optimization problem by augmenting the objective function (1) with the constraint multiplied
by LaGrange multiplier, to obtained the LaGrange function, L as
Min : L (PG1 ……..PGN , ) = Fi(PGi) - [Σ PGi – PD]
The necessary conditions for the existence of solution to (6) are given by
𝝏𝑳 𝒅𝑭𝒊 (𝑷𝑮𝒊 )
=𝟎= −λ;
𝝏𝑷𝑮𝒊 𝒅𝑷𝑮𝑰
𝝏𝑳/𝝏 λ=0= ∑𝑁
𝑖=1 𝑃𝐺𝑖 − 𝑃𝐷
The solution to ED problem can be obtained by solving simultaneously the necessary conditions
(7) and (8) which state that the economic generation schedules not only satisfy the system power
balance equation (8) but also demand that the incremental cost rates of all the units be equal be
equal to which can be interpreted as “incremental cost of received power”.
When the inequality constraints (4) are included in the ED problem the necessary condition (7) gets
modified as
dFi (PGi) / dPGi = l for PGi,min £ PGi £ PGi, ,max
£ l for PGi = PGi, ,max
` l for PGi = PGi, ,min
Economic Schedule
PGi = (l -bi)/ 2ai ; i=1,2…………….N λ
Incremental fuel cost
N N
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.
4. Execute the program by either pressing Tools – Run.
5. View the results
EXERCISE
1. The fuel cost functions for three thermal plants in $/h are given by
C1 = 500 + 5.3 P1 + 0.004 P1
2 ; P1 in MW
C2 = 400 + 5.5 P2 + 0.006 P2
2 ; P2 in MW
C3 = 200 +5.8 P3 + 0.009 P3
2 ; P3 in MW
The total load , PD is 800MW.Neglecting line losses and generator limits, find the optimal
dispatch and the total cost in $/h by analytical method. Verify the result using MATLAB
program.
RESULT:
Total generation cost = 8236.25 $/h
Incremental cost of delivered power (system lambda) = 8.500000 $/MWh
Optimal Dispatch of Generation:
400.0000
250.0000
150.0000
Total system loss = 0 MW
Total generation cost = 6682.50 $/h
Experiment NO:- 2
THEORY
Stability: Stability problem is concerned with the behavior of power system when it is subjected to
disturbance and is classified into small signal stability problem if the disturbances are small and
transient stability problem when the disturbances are large.
Transient stability: When a power system is under steady state, the load plus transmission loss equals
to the generation in the system. The generating units run at synchronous speed and system frequency,
voltage, current and power flows are steady. When a large disturbance such as three phase fault, loss of
load, loss of generation etc., occurs the power balance is upset and the generating units rotors
experience either acceleration or deceleration. The system may come back to a steady state condition
maintaining synchronism or it may break into subsystems or one or more machines may pull out of
synchronism. In the former case the system is said to be stable and in the later case it is said to be
unstable.
Small signal stability: When a power system is under steady state, normal operating condition, the
system may be subjected to small disturbances such as variation in load and generation, change in field
voltage, change in mechanical toque etc., the nature of system response to small disturbance depends on
the operating conditions, the transmission system strength, types of controllers etc. Instability that may
result from small disturbance may be of two forms, (iii) Steady increase in rotor angle due to lack of
synchronizing torque. (iv) Rotor oscillations of increasing magnitude due to lack of sufficient damping
torque.
FORMULA
𝑃𝑒 −𝑗𝑄𝑒
= 𝐸𝑡∗
′ ′
Voltage behind transient condition 𝐸 = 𝐸𝑡 + 𝑗𝑋𝑑 𝐼𝑡
𝑋 𝑋
Where, 𝑋3 = 𝑋 1+𝑋2
1 2
𝛿0 = 𝐸 ′ − 𝐸𝐵
Pre fault operation:
𝑋 𝑋
𝑋 = 𝑗𝑋𝑑′ + 𝑗𝑋𝑡𝑟 + 𝑋 1+𝑋2
1 2
𝐸 ′ 𝐸𝐵
Power 𝑃𝑒 = sin 𝛿0
𝑋
𝑃 ∗𝑋
𝑤ℎ𝑒𝑟𝑒, 𝛿0 = 𝑠𝑖𝑛−1 [𝐸′∗𝑒 𝐸 ]
𝐵
2𝐻(𝛿𝑐𝑟 −𝛿0 )
𝑡𝑐𝑟 = √ 𝜋𝑓0 𝑃𝑚
Secs
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.
4. Execute the program by pressing Tools – Run
5. View the results.
EXERCISE
1. Transient stability analysis of a 9-bus, 3-machine, 60 Hz power system with the following system
modeling requirements:
i. Classical model for all synchronous machines, models for excitation and speed governing systems not
included.
(a) Simulate a three-phase fault at the end of the line from bus 5 to bus 7 near bus 7 at time = 0.0 sec.
Assume that the fault is cleared successfully by opening the line 5-7 after 5 cycles ( 0.083 sec) .
Observe the system for 2.0 seconds
(b) Obtain the following time domain plots:
- Relative angles of machines 2 and 3 with respect to machine 1
- Angular speed deviations of machines 1, 2 and 3 from synchronous speed
- Active power variation of machines 1, 2 and 3.
(c) Determine the critical clearing time by progressively increasing the fault clearing time.
RESULT
Experiment NO:- 3
AIM:- Fault analysis (for 3 to 6 bus) and verify the results using MATLAB or any available software
for the cases: (i) LG Fault (ii) LLG Fault (iii) LL Fault and (iv) 3-Phase Fault.
THEORY : In an electric power system, a fault is any abnormal electric current. For example, a short
circuit is a fault in which current bypasses the normal load. An open-circuit fault occurs if a circuit is
interrupted by some failure. In three-phase systems, a fault may involve one or more phases and
ground, or may occur only between phases. In a "ground fault" or "earth fault", charge flows into the
earth. The prospective short circuit current of a fault can be calculated for power systems. In power
systems, protective devices detect fault conditions and operate circuit breakers and other devices to
limit the loss of service due to a failure.
In a polyphase system, a fault may affect all phases equally which is a "symmetrical fault". If only some
phases are affected, the resulting "asymmetrical fault" becomes more complicated to analyze due to the
simplifying assumption of equal current magnitude in all phases being no longer applicable. The
analysis of this type of fault is often simplified by using methods such as symmetrical components.
Different types of fault are :
Transient fault
A transient fault is a fault that is no longer present if power is disconnected for a short time and then
restored. Many faults in overhead powerlines are transient in nature. When a fault occurs, equipment
used for power system protection operate to isolate area of the fault. A transient fault will then clear and
the power-line can be returned to service. Typical examples of transient faults include:
line-to-line - a short circuit between lines, caused by ionization of air, or when lines come into
physical contact, for example due to a broken insulator.
line-to-ground - a short circuit between one line and ground, very often caused by physical contact,
for example due to lightning or other storm damage
double line-to-ground - two lines come into contact with the ground (and each other), also
commonly due to storm damage.
Arcing and bolted faults
Where the system voltage is high enough, an electric arc may form between power system conductors
and ground. Such an arc can have a relatively high impedance (compared to the normal operating levels
of the system) and can be difficult to detect by simple overcurrent protection. For example, an arc of
several hundred amperes on a circuit normally carrying a thousand amperes may not trip overcurrent
circuit breakers but can do enormous damage to bus bars or cables before it becomes a complete short
circuit. Utility, industrial, and commercial power systems have additional protection devices to detect
relatively small but undesired currents escaping to ground. In residential wiring, electrical regulations
may now require Arc-fault circuit interrupters on building wiring circuits, so as to detect small arcs
before they cause damage or a fire.
When calculating the prospective short-circuit current in a circuit, to maximize the value, the
impedance of the arc is neglected. Notionally, all the conductors are considered connected to ground as
if by a metallic conductor; this is called a "bolted fault". It would be unusual in a well-designed power
system to have a metallic short circuit to ground but such faults can occur by mischance. In one type of
transmission line protection, a "bolted fault" is delibrately introduced to speed up operation of
protective devices.
we are going to discuss the following Symmetrical & Unsymmetrical types of faults:
Symmetrical Fault
Three phase fault
From the thevenin’s equivalent circuit
𝑉
Fault current,𝐼𝑓" = 𝑍𝑡ℎ
𝑡ℎ
Where Vth = Thevenin’s Voltage
Z th = Thevenin’s Impedance
Unsymmetrical Fault
Single line to ground fault
Fault current, 𝐼𝑓 = Ia = 3𝐼𝑎1
𝐸𝐴
𝐼𝑎1 = [𝑍 ]
1 +𝑍2 +𝑍0
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = .2
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = 0
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = 0
Enter Fault Impedance Zf = R + j*X in complex form (for bolted fault enter 0). Zf = 0
Double line-to-ground fault at bus No. 1
Total fault current = 5.8939 per unit
.
Experiment NO:- 4
AIM:- Load flow analysis for a given system (for 3 to 6 bus) using Newton Raphson and Fast
Decoupled Method and verify results using MATLAB or any available software
THEORY:- In power engineering, the power flow study (also known as load-flow study) is an
important tool involving numerical analysis applied to a power system. Unlike traditional circuit
analysis, a power flow study usually uses simplified notation such as a one-line diagram and per-unit
system, and focuses on various forms of AC power (ie: reactive, real, and apparent) rather than
voltage and current. It analyses the power systems in normal steady-state operation. There exist a
number of software implementations of power flow studies.
In addition to a power flow study itself, sometimes called the base case, many software
implementations perform other types of analysis, such as short-circuit fault analysis and economic
analysis. In particular, some programs use linear programming to find the optimal power flow, the
conditions which give the lowest cost per kilowatt generated.
The great importance of power flow or load-flow studies is in the planning the future expansion of
power systems as well as in determining the best operation of existing systems. The principal
information obtained from the power flow study is the magnitude and phase angle of the voltage at each
bus and the real and reactive power flowing in each line.
A bus is a node at which one or many lines, one or many loads and Generators are connected. The
buses are classified given as follows:
1. P-Q or Load Bus
2. P-V or Generator or Voltage Controlled Bus
3. V-Q or Slack Bus
Disadvantages:
a. Slow rate of convergence & therefore large number of iteration
b. Effect on convergence due to choice of slack bus.
2. Newton Raphson Method For Load Flow Studies
Newton-Raphson method is very suitable for load flow studies on large systems. The advantages of this
method are as below:
a. More accuracy & surety of convergence
b. Only about 3 iterations are required as compared to more than 25 or so as required by G-S
method.
c. This method is insensitive to factors like slack bus selection, regulating transformers etc.
In numerical analysis, Newton's method (also known as the Newton–Raphson method), named
after Isaac Newton and Joseph Raphson, is perhaps the best known method for finding successively
better approximations to the zeroes (or roots) of a real-valued function. Newton's method can often
converge remarkably quickly, especially if the iteration begins "sufficiently near" the desired root. Just
how near "sufficiently near" needs to be, and just how quickly "remarkably quickly" can be, depends on
the problem. This is discussed in detail below. Unfortunately, when iteration begins far from the desired
root, Newton's method can easily lead an unwary user astray with little warning. Thus, good
implementations of the method embed it in a routine that also detects and perhaps overcomes possible
convergence failures.
Given a function ƒ(x) and its derivative ƒ '(x), we begin with a first guess x0. Provided the function is
reasonably well-behaved a better approximation x1 is
The idea of the method is as follows: one starts with an initial guess which is reasonably close to the
true root, then the function is approximated by its tangent line (which can be computed using the tools
of calculus), and one computes the x-intercept of this tangent line (which is easily done with elementary
algebra). This x-intercept will typically be a better approximation to the function's root than the original
guess, and the method can be iterated.
Suppose ƒ : [a, b] → R is a differentiable function defined on the interval [a, b] with values in the real
numbers R. The formula for converging on the root can be easily derived. Suppose we have some
current approximation xn. Then we can derive the formula for a better approximation, xn+1 by referring
to the diagram on the right. We know from the definition of the derivative at a given point that it is the
slope of a tangent at that point.
That is
Here, f ' denotes the derivative of the function f. Then by simple algebra we can derive
The load flow equations for Newton Raphson method are non-linear equations in terms of real and
imaginary part of bus voltages.
𝑃𝑝 = ∑𝑛𝑞=1{𝑒𝑝 (𝑒𝑞 𝐺𝑝𝑞 + 𝑓𝑞 𝐵𝑝𝑞 ) + 𝑓𝑝 (𝑓𝑞 𝐺𝑝𝑞 − 𝑒𝑞 𝐵𝑝𝑞 )}
% Line code
% Bus bus R X 1/2 B = 1 for lines
% nl nr p.u. p.u. p.u. > 1 or < 1 tr. tap at bus nl
linedata=[1 2 0.0192 0.0575 0.02640 1
1 3 0.0452 0.1852 0.02040 1
2 4 0.0570 0.1737 0.01840 1
3 4 0.0132 0.0379 0.00420 1
2 5 0.0472 0.1983 0.02090 1
2 6 0.0581 0.1763 0.01870 1
4 6 0.0119 0.0414 0.00450 1
5 7 0.0460 0.1160 0.01020 1
6 7 0.0267 0.0820 0.00850 1
6 8 0.0120 0.0420 0.00450 1
6 9 0.0 0.2080 0.0 0.978
6 10 0 .5560 0 0.969
9 11 0 .2080 0 1
9 10 0 .1100 0 1
4 12 0 .2560 0 0.932
12 13 0 .1400 0 1
12 14 .1231 .2559 0 1
12 15 .0662 .1304 0 1
12 16 .0945 .1987 0 1
14 15 .2210 .1997 0 1
16 17 .0824 .1923 0 1
15 18 .1073 .2185 0 1
18 19 .0639 .1292 0 1
19 20 .0340 .0680 0 1
10 20 .0936 .2090 0 1
10 17 .0324 .0845 0 1
10 21 .0348 .0749 0 1
10 22 .0727 .1499 0 1
21 22 .0116 .0236 0 1
15 23 .1000 .2020 0 1
22 24 .1150 .1790 0 1
23 24 .1320 .2700 0 1
24 25 .1885 .3292 0 1
25 26 .2544 .3800 0 1
25 27 .1093 .2087 0 1
28 27 0 .3960 0 0.968
27 29 .2198 .4153 0 1
27 30 .3202 .6027 0 1
29 30 .2399 .4533 0 1
8 28 .0636 .2000 0.0214 1
6 28 .0169 .0599 0.065 1];
AIM:-. Load flow analysis for a given system (for 30 bus) using Gauss Seidal.
THEORY : In power engineering, the power flow study (also known as load-flow study) is an
important tool involving numerical analysis applied to a power system. Unlike traditional circuit
analysis, a power flow study usually uses simplified notation such as a one-line diagram and per-unit
system, and focuses on various forms of AC power (ie: reactive, real, and apparent) rather than
voltage and current. It analyses the power systems in normal steady-state operation. There exist a
number of software implementations of power flow studies.
In addition to a power flow study itself, sometimes called the base case, many software
implementations perform other types of analysis, such as short-circuit fault analysis and economic
analysis. In particular, some programs use linear programming to find the optimal power flow, the
conditions which give the lowest cost per kilowatt generated.
The great importance of power flow or load-flow studies is in the planning the future expansion of
power systems as well as in determining the best operation of existing systems. The principal
information obtained from the power flow study is the magnitude and phase angle of the voltage at each
bus and the real and reactive power flowing in each line.
A bus is a node at which one or many lines, one or many loads and Generators are connected. The
buses are classified given as follows:
1. P-Q or Load Bus
2. P-V or Generator or Voltage Controlled Bus
3. V-Q or Slack Bus
Disadvantages:
a. Slow rate of convergence & therefore large number of iteration
b. Effect on convergence due to choice of slack bus.
2. Newton Raphson Method For Load Flow Studies
Newton-Raphson method is very suitable for load flow studies on large systems. The advantages of this
method are as below:
d. More accuracy & surety of convergence
e. Only about 3 iterations are required as compared to more than 25 or so as required by G-S
method.
f. This method is insensitive to factors like slack bus selection, regulating transformers etc.
Observation:-
Given a square system of n linear equations with unknown x:
where:
Then A can be decomposed into a lower triangular component L*, and a strictly upper
triangular component U:
The Gauss–Seidel method is an iterative technique that solves the left hand side of
this expression for x, using previous value for x on the right hand side. Analytically,
this may be written as:
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 pressing Tools – Run.
5. View the results.
EXERCISE
For IEEE 30 bus system find the load flow solution using Gauss seidel Method Data is already given in
previous Experiment
RESULT
Line Flow and Losses
AIM:- Study of voltage Security Analysis and Over Load Security Analysis by using Matlab.
THEORY:- Voltage Security Analysis : Reliable operation of large scale electric power networks
requires that system voltages and currents stay within design limits. Operation beyond those limits can
lead to equipment failures and blackouts. Security margins measure the amount by which system loads
or power transfers can change before a security violation, such as an overloaded transmission line, is
encountered. This thesis shows how to efficiently compute security margins defined by limiting events
and instabilities, and the sensitivity of those margins with respect to assumptions, system parameters,
operating policy, and transactions. Security margins to voltage collapse blackouts, oscillatory
instability, generator limits, voltage constraints and line overloads are considered. The usefulness of
computing the sensitivities of these margins with respect to interarea transfers, loading parameters,
generator dispatch, transmission line parameters, and VAR support is established for networks as large
as 1500 buses. The sensitivity formulas presented apply to a range of power system models.
Conventional sensitivity formulas such as line distribution factors, outage distribution factors,
participation factors and penalty factors are shown to be special cases of the general sensitivity
formulas derived in this thesis. The sensitivity formulas readily accommodate sparse matrix techniques.
Margin sensitivity methods are shown to work effectively for avoiding voltage collapse blackouts
caused by either saddle node bifurcation of equilibria or immediate instability due to generator reactive
power limits. Extremely fast contingency analysis for voltage collapse can be implemented with margin
sensitivity based rankings. Interarea transfer can be limited by voltage limits, line limits, or voltage
stability. The sensitivity formulas presented in this thesis apply to security margins defined by any limit
criteria. A method to compute transfer margins by directly locating intermediate events reduces the total
number of loadflow iterations required by each margin computation and provides sensitivity
information at minimal additional cost. Estimates of the effect of simultaneous transfers on the transfer
margins agree well with the exact computations for a network model derived from a portion of the U.S
grid. The accuracy of the estimates over a useful range of conditions and the ease of obtaining the
estimates suggest that the sensitivity computations will be of practical value.
Voltage stability margin is a measure of the available transfer capacity, net transfer
capacity, or total transfer capacity. The margin is the difference (or a ratio) between operation and
voltage collapse points based on the KSP (loading, line flow, etc.) and accounts for a pattern of load
increase or generation loss. As a concept for system operators, margin is a straightforward and easily
understood index, and thus, widely
accepted. There are a number of advantages of the stability margin as a collapse index.
• The margin is not based on a particular power system model and can be used with
static or dynamic models independent of the details of the power system dynamics.
• It is an accurate index that takes full account of the power system non-linearity and
device limits as loading is increased.
• Sensitivity analysis may be applied easily and quickly to study the effects of power
system parameters and controls.
• The margin accounts for patterns of load increase.
The primary disadvantage is that it may oversimplify the view of the stability problem and
may not account for the variety of ways in which instabilities can arise. In theory, the computation of
the stability margin should be performed for all contingencies. This would be an excessively time-
consuming process but is generally not necessary in practice. Instead, the margin is determined based
on the most critical contingency from a relatively short list of known severe contingencies. Key to the
analysis is the degree of experience that allows one to identify a more manageable list of disturbances.
Still, the precise computation of the margin is time-consuming, thus limiting application for on-line use.
The most common methods to estimate the proximity of the voltage collapse point are the minimum
singular value, point of collapse method, continuation power flow, and optimization methods. Some
other methods are sensitivity analysis, second order performance index, and the energy function
method.
Under-Voltage Load Shedding (UVLS) protection of Electric Power systems (EPS) is frequently used
against Voltage Collapse (VC), however when there is automatic bus voltage regulation with excessive
capacitive compensation, the UVLS scheme may not trip. In this case, load shedding must be based in a
Voltage Collapse Proximity Indicator (VCPI). Many UVLS procedures may not be appropriate today.
There are many UVLS schemes in operation around the world, because they provide a low cost
protection technique against voltage collapse. The VC of a particular area can cascade to larger areas of
the electric power system. So the security of the UVLS protection against VC is very relevant in order
to avoid adverse economic and social consequences. The operation of installed UVLS can no longer
give EPS protection against VC, after continuously growth of installed load demand followed by
reactive power injection at system buses. As the load demand is increased new specific devices are
installed to supply the required reactive power in order to keep the bus voltage level within standard
limits.
This reactive power can be provided by shunt capacitors bank, Static VAr Compensator (SVC), Static
Compensator (STATCOM) and other Flexible AC Transmission Systems (FACTS) devices.When the
demand of each reactive power source rises above its maximum capacity (with saturation), this effect
can be represented by a constant impedance shunt capacitor bank. The same technique is also valid for
the sum of several of these resources at a load bus. In such situation VC may occur in a short period,
since the installed UVLS scheme is no longer capable to avoid the fast voltage decrement. This
phenomenon could be a trap to the operator if he was trusting in UVLS protection, because a too
capacitive bus situation can turn it ineffective. The undesirable aspect of a very capacitive load bus was
explained The UVLS scheme is based on the supposition that the VC could happen after the protected
load bus voltage remained below a limit (0.92 pu for instance) for several seconds. This would occur
after the reactive power support was exhausted, which would indicate the load shedding as an
appropriate solution. Such alternative is useful when the bus voltage decreases slowly. In this case an
adjustable-time under-voltage relay can be responsible for load shedding. The relay trip time is set
between 3-10. Smaller times are not used in order to avoid undesirable trip. This time range is not
adequate to avoid a VC for fast transient voltage phenomena, which may occur when rapid response
load components are present. two kinds of phenomena:
· Short-term voltage stability
· Long-term voltage stability
The UVLS scheme that is adequate to the second case can be inadequate for the first. This is illustrated
in this study. To elucidate the problem explained above, it was used a reduced electric system with a
shunt capacitor at the load bus to represent the sum of the saturated reactive support devices. A
generator remains Regulating the load bus voltage after the mentioned reactive support of other devices.
The terminal voltage upper limit adopted is 1.05 pu for this generator. When the generator reaches that
limit and the load continues to grow, the decrement of the load bus voltage is so fast that UVLS has no
time to trip. This is detailed in this study.
When the load bus has its voltage regulated by a synchronous generator or a similar device the reactive
power injection is automatically provided as required. If the reactive power limit is reached and the
UVLS do not trip, then VC will occur. In this case, in order to avoid it, a VCPI must be used to indicate
the need for load shedding. As an example EPRI’s[4] implemented the “Voltage Instability Load
Shedding” (VILS) device. The VC event in a load bus is very dangerous since in can spread over a
wide system area.
Besides the case exemplified above, there are situations where VC occurs even though reactive power
support is still available or no low voltage problem is detected at a bus.
Example : An isolated power ststion has the following parameters:
Turbine Time constant=0.5 sec
Governor Time constant =0.2 sec
Governor inertia constant H= 5 sec
Governor Speed Regulation=R per unit
The loads varies by 0.8 % for a one percent change in frequency.e. D= 0.8. Taking R= 0.05per unit ,
turbine rated output is 250 MW at nominal frequency 60 Hz . A sudden load change of 50 MW
(∆PL=0.2 per unit) occurs.
Use MATLB to obtain the time domain performance specifications & the frequency deviation step
response.
AIM:- Load Flow Analysis for a given system (for 3 to 6 bus) using Fast Decoupled
Method and Verifying results using Matlab.
The power flow analysis is a very important and fundamental tool in power system analysis. Its results
play the major role during the operational stages of any system for its control and economic schedule,
as well as during expansion and design stages. The purpose of any load flow analysis is to compute
precise steady-state voltages and voltage angles of all buses in the network, the real and reactive power
flows into every line and transformer, under the assumption of known generation and load. In power
engineering, the power flow study (also known as load-flow study) is an important tool
involving numerical analysis applied to a power system. Unlike traditional circuit analysis, a power
flow study usually uses simplified notation such as a one-line diagram and per-unit system, and focuses
on various forms of AC power (ie: reactive, real, and apparent) rather than voltage and current. It
analyses the power systems in normal steady-state operation. There exist a number of software
implementations of power flow studies.
In addition to a power flow study itself, sometimes called the base case, many software
implementations perform other types of analysis, such as short-circuit fault analysis and economic
analysis. In particular, some programs use linear programming to find the optimal power flow, the
conditions which give the lowest cost per kilowatt generated.
The great importance of power flow or load-flow studies is in the planning the future expansion of
power systems as well as in determining the best operation of existing systems. The principal
information obtained from the power flow study is the magnitude and phase angle of the voltage at each
bus and the real and reactive power flowing in each line.
A bus is a node at which one or many lines, one or many loads and Generators are connected. The
buses are classified given as follows:
1. P-Q or Load Bus
2. P-V or Generator or Voltage Controlled Bus
3. V-Q or Slack Bus
2. Calculation of the real and reactive power at each bus, and checking if Mvar of
generator buses are within the limits, otherwise update the voltage magnitude at
these buses by ±2 %.
3. Calculation of the power residuals, ΔP and ΔQ.
4. Calculation of the bus voltage and voltage angle updates ΔV and Δδ according to
equations (19) and (20).
5. Update of the voltage magnitude V and the voltage angle δ at each bus.
Step 5: if iter ≤ maximum number of iteration then Go to Step 4 else Print out ‘Solution did not
converge’ and go to Step 6
Step 6: Print out of the power flow solution, computation and display of the line flow and losses.
RESULT : Thus we have studied the Load Flow Analysis using Fast Decoupled Method.
APPENDIX
PROGRAM 1
PROGRAM 3
function eacpower(P0, E, V, X)
if exist('P0')~=1
P0 = input('Generator initial power in p.u. P0 = '); else, end
if exist('E')~=1
E = input('Generator e.m.f. in p.u. E = '); else, end
if exist('V')~=1
V = input('Infinite bus-bar voltage in p.u. V = '); else, end
if exist('X')~=1
X = input('Reactance between internal emf and infinite bus in p.u. X = '); else, end
Pemax= E*V/X;
if P0 >= Pemax
fprintf('\nP0 must be less than the peak electrical power Pemax = %5.3f p.u. \n', Pemax)
fprintf('Try again. \n\n')
return, end
d0=asin(P0/Pemax);
delta = 0:.01:pi;
Pe = Pemax*sin(delta);
dmax=pi;
Ddmax=1;
while abs(Ddmax) > 0.00001
Df = cos(d0) - (sin(dmax)*(dmax-d0)+cos(dmax));
J=cos(dmax)*(dmax-d0);
Ddmax=Df/J;
dmax=dmax+Ddmax;
end
dc=pi-dmax;
Pm2=Pemax*sin(dc);
Pmx =[0 pi-d0]*180/pi; Pmy=[P0 P0];
Pm2x=[0 dmax]*180/pi; Pm2y=[Pm2 Pm2];
x0=[d0 d0]*180/pi; y0=[0 Pm2]; xc=[dc dc]*180/pi; yc=[0 Pemax*sin(dc)];
xm=[dmax dmax]*180/pi; ym=[0 Pemax*sin(dmax)];
d0=d0*180/pi; dmax=dmax*180/pi; dc=dc*180/pi;
x=(d0:.1:dc);
y=Pemax*sin(x*pi/180);
%y1=Pe2max*sin(d0*pi/180);
%y2=Pe2max*sin(dc*pi/180);
x=[d0 x dc];
y=[Pm2 y Pm2];
xx=dc:.1:dmax;
h=Pemax*sin(xx*pi/180);
xx=[dc xx dmax];
hh=[Pm2 h Pm2];
delta=delta*180/pi;
%clc
fprintf('\nInitial power =%7.3f p.u.\n', P0)
fprintf('Initial power angle =%7.3f degrees \n', d0)
fprintf('Sudden additional power =%7.3f p.u.\n', Pm2-P0)
fprintf('Total power for critical stability =%7.3f p.u.\n', Pm2)
fprintf('Maximum angle swing =%7.3f degrees \n', dmax)
fprintf('New operating angle =%7.3f degrees \n\n\n', dc)
fill(x,y,'m')
hold;
fill(xx,hh,'c')
plot(delta, Pe,'-', Pmx, Pmy,'g', Pm2x,Pm2y,'g', x0,y0,'c', xc,yc, xm,ym,'r'), grid
Title('Equal-area criterion applied to the sudden change in power')
xlabel('Power angle, degree'), ylabel(' Power, per unit')
axis([0 180 0 1.1*Pemax])
hold off;
PROGRAM 4
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)
PROGRAM 5
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
PROGRAM 6
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. -> ');
rtn=isempty(nf);
if rtn==1; nf=-1; end
while nf <= 0 | nf > nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
rtn=isempty(nf);
if rtn==1; nf=-1; end
end
rtz=1;
while rtz==1
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
rtz=isempty(Zf);
end
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')
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
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
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
if k ~= 0
Ink0(n, k) = (Vf0(n) - Vf0(k))/ZB0(I);
else, end
else, end
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)))
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', abs(Inkabc(2)))
fprintf(' %11.4f\n', abs(Inkabc(3)))
else, 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
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
%Ink0
%Ink1
%Ink2
PROGRAM 7
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. -> ');
rtn=isempty(nf);
if rtn==1; nf=-1; end
while nf <= 0 | nf > nbus
fprintf('Faulted bus No. must be between 1 & %g \n', nbus)
nf = input('Enter Faulted Bus No. -> ');
rtn=isempty(nf);
if rtn==1; nf=-1; end
end
rtz=1;
while rtz==1
fprintf('\nEnter Fault Impedance Zf = R + j*X in ')
Zf = input('complex form (for bolted fault enter 0). Zf = ');
rtz=isempty(Zf);
end
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;
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);
PROGRAM 8
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')
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);
end
if 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)
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
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
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
PROGRAM 9
PROGRAM 10
%Gauss Sedial
clc;
data=[1 1 2 10-j*20
2 1 3 10-j*30
3 2 3 16-j*32]
elements=max(data(:,1));
bus=max(max(data(:,2)),max(data(:,3)));
y=zeros(bus,bus);
for p=1:bus,
for q=1:elements,
if(data(q,2)==p|data(q,3)==p)
y(p,p)=y(p,p)+data(q,4);
end
end
end
for p=1:bus,
for q=1:bus,
if (p~=q)
for r=1:elements
if((data(r,2)==p&data(r,3)==q)|(data(r,2)==q&data(r,3)==p))
y(p,q)=-(data(r,4));
end
end
end
end
end
a1=input('enter p2 in MW:');
b1=input('enter q2 in MVAR:');
a2=input('enter p3 in MW:');
b2=input('enter q3 in MVAR');
pu=input('enter the base value in MVA');
p2=(a1/pu);
q2=(b1/pu);
p3=(a2/pu);
q3=(b2/pu);
dx1=1+j*0;
dx2=1+j*0;
v1=1.05;
v2=1+j*0;
v3=1+j*0;
iter=0;
disp('iter v2 v3');
while(abs(dx1)&abs(dx2)>=0.00001)&iter<7;
iter=iter+1;
g1=(((p2-j*q2)/conj(v2))+(-y(1,2)*v1)+(-y(2,3)*v3))/y(2,2);
g2=(((p3-j*q3)/conj(v3))+(-y(1,3)*v1)+(-y(2,3)*g1))/y(3,3);
dx1=g1-v2;
dx2=g2-v3;
v2=v2+dx1;
v3=v3+dx2;
fprintf ('%g',iter),disp([v2,v3]);
end
PROGRAM:-11
PROGRAM:-12
Transient Stability
t=0;
tf=0;
tfinal =0.5;
tc=0.125;
M=2.52/180*50;
i=2;
delta=21.64*pi/180;
ddelta=0;
time(1)=0;
ang(1)=21.64;
Pm=0.9;
Pmaxbf=2.44;
Pmaxdf=0.88;
Pmaxaf=2.00;
tstep=0.5;
while t<tfinal
if(t==tf),
Paminus=(0.9)-Pmaxbf*sin(delta);
Paplus=(0.9)-Pmaxdf*sin(delta);
Paav=(Paminus+Paplus)/2;
Pa=Paav ;
if(t==tc),
Paminus=(0.9)-Pmaxdf*sin(delta);
Paplus=(0.9)-Pmaxaf*sin(delta);
Paav=(pamin+Paplus)/2,Pa=Paav;
end
if(t>tf)
Pa=Pm-Pmaxdf*sin(delta);
end
if(t>tc)
Pa=Pm-Pmaxaf*sin(delta);
end
ddelta=ddelta+(tstep*tstep*Pa)/M;
delta= ((delta*180/pi)+ddelta*pi/180);
deltadeg= delta*180/pi;
t=t+tstep;
end
i=i+1
time(i)=t
ang(i)=deltadeg
end
plot(time,ang)
PROGRAM:-13
Y-Bus Formation
% This program obtains th Bus Admittance Matrix for power flow solution
function ybus = ybus11();
j= sqrt(-1);
basemva =160.2756; accuracy = 0.001; maxiter = 100; basekv=12.66; %KV
BZ= (basekv^2)/basemva;
j=sqrt(-1); i = sqrt(-1);
linedata = linedata331();
nl = linedata(:,1);
nr = linedata(:,2);
r= ((linedata(:,3)));
x= ((linedata(:,4)));
Bc = j*linedata(:,5); a = linedata(:, 6);
nbr=length(linedata(:,1));
nbus = max(max(nl), max(nr));
Z = (r + j*x)/BZ
y= ones(nbr,1)./Z ; %branch admittance
fb = linedata(:,1); % From bus number...
tb = linedata(:,2); % To bus number...
nb = max(max(fb),max(tb)); % No. of buses...
end