Post Reply 
Power-Flow Equations: Gauss-Seidel.
11-25-2016, 03:14 PM (This post was last modified: 01-05-2017 03:45 PM by Ángel Martin.)
Post: #1
Power-Flow Equations: Gauss-Seidel.
Power-Flow Equations: Gauss-Seidel. [PFE-GS ]
From the author’s Engineering Collection, included in the ETSII5 module.


This program calculates the unknown 2n-variables of a “n”-bus power system, when the admittance matrix and the remaining 2n-variables are known.

In a power-flow system there is one main complex equation for each bus relating the active and reactive power to the voltages of all the other buses, as follows:

Si = Pi + jQi = Vi . I*i ; i = 1, 2, .. n

This results in the following 2 power equations per each bus - as function of the voltages on all the other system buses, where arg(Yij) are the lag angles between voltage and current and the Yij are the elements of the admittance matrix of the system:

Pi = SUM |Vi| |Vj| Yij cos[ arg(Vi) – arg(Vj) – arg(Yij) ] ; j = 1, 2…n
Qi = SUM |Vi| |Vj| Yij sin[ arg(Vi) – arg(Vj) – arg(Yij)] ; j = 1,2,...n

The program prompts for the number of the voltage-controlled buses (PV, those with voltage known) –excluding the slack bus (which this program assumes there’s only one!). The slack node should be the first ones entered in the bus sequence. This node’s voltage is used as reference for all other angles.

Also the number of Load buses (PQ) is defined as a consequence of the number of PV voltage controlled buses, since the sum of all buses (including the slack) must be equal to the total” n”.


Example 1.

Calculate the voltage angles on each node, the reactive power in the two generation nodes and the active power in the slack node of a three-bus power system with the following known variables:

Y11 = -20j ;
Y21= 10j ; Y22 = -20j ;
Y31 = 10j ; Y32 = 10j ; Y33 = -20j

PD1 = 1; QD1 = 0.5; |V1| = 1
PD2 = QD2 = 0; PG2 = 1.5 |V2| = 1
PD3 = QD3 = 1; PG3 = 0 ; |V3| = 1

The results are as follows:

PG1 = 0.5 pu.; QG1 = 0.523 pu.
QG2 = 0.057 pu ; arg(V2) = 3.822 deg
QG3 = 1.036 pu ; arg(V3) = 0.957 deg


Example 2.

A two-bus power system has the following variables known:

Y11 = 1.841631, <) = -80.48561
Y12 = 1.904443, <) = 99.197819
Y22 = Y11

|V1|=1.05, arg(V1) =0)

SD1 = 1.15 + 0.31j
SD2 = 0.45 + 0.2j

a) If QG2 =0, obtain |V2|, arg(2), PG1 and QG1
b) If |V2|=1, obtain QG2, arg(2), PG1 and QG1 (one voltage-controlled bus)

The solutions are:

a) PG1 = 1.6233 pu. ; QG1 = 0.5357 pu
|V2| = 0.8912 ; arg(V2) = -13.6293 deg

b) PG1 = 1.6171 pu ; QG1 = 0.3171 pu;
QG2 = 0.1645 pu ; arg(V2) = -12.9669 deg




Note. The program uses 5+ n^2 + 7n data registers, therefore the maximum size is n = 14 buses ( with 299 data registers needed). CL users could use the Extended Registers functions to increase that boundary to 28 buses (using 985 data registers!)

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)