4.3 Distribution Power Flow

Distribution systems are different from transmission systems in a number of respects, such as the xs∕rs  branch ratio, magnitudes of xs  and rs  and most importantly the typically radial structure. Due to these differences, a number of power flow solution methods have been developed to account for the specific nature of distribution systems and most widely used are the backward/forward sweep methods [1516]. Matpower includes an additional three AC power flow methods that are specific to radial networks.

4.3.1 Radial Power Flow

When solving radial distribution networks it is practical to number branches with numbers that are equal to the receiving bus numbers. An example is given in Figure 4-1, where branches are drawn black. Furthermore, the oriented branch ordering [17] offers a possibility for fast and efficient backward/forward sweeps. All branches are always oriented from the sending bus to the receiving bus and the only requirement is that the sending bus number should be smaller than the receiving bus number. This means that i < k  for branch i  k  . The indices of the sending nodes of branches are stored in vector F  such that i = fk  .

SVG-Viewer needed.

Figure 4-1:Oriented Ordering

As usual, the supply bus (slack bus) is given index 1, meaning that branch indices should go from 2 to nb  which is the number of buses in the network. Introducing a fictitious branch with index 1 and zero impedance, given with dashed black line in Figure 4-1, the number of branches nl  becomes equal to the number of buses nb  .

For the example of Figure 4-1 vector F  is the following

     [                     ]T
F =    0  1  2  3  3  2  4   ,

and it offers an easy way to follow the path between any bus and bus 0. If we consider bus 4, the path to the slack bus consists of following branches: branch 4, since considered bus is their receiving bus; branch 3, since f =  3
 4  ; branch 2, since f  = 2
 3  ; and branch 1, since f2 = 1  .

The representation of branch k  , connecting buses i  and k  , is given in Figure 4-2, where it is modeled with its serial impedance zks  . At both ends there are load demands si
 d  and sk
 d  , and shunt admittances yi
 d  and yk
 d  comprised of admittances due capacitance of all lines and shunt elements connected to buses i  and k

       (∑          ∑       )
ykd = j      bklines +    bkshunt .

SVG-Viewer needed.

Figure 4-2:Branch Representation: branch k  between buses i  (sending) and k  (receiving) and load demand and shunt admittances at both buses
4.3.2 Current Summation Method

The voltage calculation procedure with the Current Summation Method is performed in 5 steps as follows [1516].

1.
Set all voltages to 1 p.u. (flat start). Set iteration count ν = 1  .
2.
Set branch current flow equal to the sum of current of the demand at receiving end (skd  ) and the current drawn in the admittance (ykd  ) connected to bus k
     (   )
 k     skd  ∗    k
jb =   v--  +  yd ⋅ vk, k = 1,2,...,nb.
        k
(4.16)

3.
Backward sweep: Perform current summation, starting from the branch with the biggest index and heading towards the branch whose index is equal to 1. The current of branch k  is added to the current of the branch whose index is equal to i = fk  .
 i       i   k
jb,new = jb + jb,  k = nl,nl − 1,...,2
(4.17)

4.
Forward sweep: The receiving end bus voltages are calculated with known branch currents and sending bus voltages.
vk = vi − zks ⋅ jkb, k = 2,3,...,nl
(4.18)

5.
Compare voltages in iteration ν  with the corresponding ones from iteration ν − 1  . If the maximum difference in magnitude is less than the specified tolerance
      {|| ν    ν−1||}
mi=a1x...nb  vi − vi     < 𝜀
(4.19)

the procedure is finished. Otherwise go to step 2.

4.3.3 Power Summation Method

The voltage calculation procedure with the Power Summation Method is performed in 5 steps as follows [17].

1.
Set all voltages to 1 p.u. (flat start). Set iteration count ν = 1  .
2.
Set receiving end branch flow equal to the sum of the demand at receiving end ( k
sd  ) and the power drawn in the admittance (  k
yd  ) connected to bus k
           (  )∗
  k    k   -ykd---
s t = s d + v2  ,  k = 1, 2,...,nb.
             k
(4.20)

3.
Backward sweep: Calculate sending end branch power flows as a sum of receiving end branch power flows and branch losses via (4.21). Perform power summation, starting from the branch with the biggest index and heading towards the branch whose index is equal to 1. The sending power of branch k  is added to the receiving power of the branch whose index is equal to i = fk  as in (4.22).
pict
4.
Forward sweep: The receiving end bus voltages are calculated with known sending powers and voltages.
             (    )
               sk  ∗
vk = vi − zks ⋅ -f-     k = 2,3,...,nl
               vi
(4.23)

5.
Compare voltages in iteration ν  with the corresponding ones from iteration ν − 1  , using (4.19). If the maximum difference in magnitude is less than the specified tolerance the procedure is finished. Otherwise go to step 2.

4.3.4 Admittance Summation Method

For each node, besides the known admittance  k
yd  , we define the admittance yke  as the driving point admittance of the part of the network fed by node k  , including shunt admittance ykd  . We also define an equivalent current generator jk
 e  for the part of the network fed by node k  . The current of this generator consists of all load currents fed by node k  . The process of calculation of bus voltages with the admittance summation method consists of the following 5 steps [18].

1.
Set all voltages to 1 p.u. (flat start). Set iteration count ν = 1  . Set initial values
yk=  yk,  k = 1,2, ...,nb.
 e    d
(4.24)

2.
For each node k  , calculate equivalent admittance yk
 e  . Perform admittance summation, starting from the branch with the biggest index and heading towards the branch whose index is equal to 1. The driving point admittance of branch k  is added to the driving point admittance of the branch whose index is equal to i = fk  as in (4.26).
pict
3.
Backward sweep: For each node k  calculate equivalent current generator jke  , first set it equal to load current jk
 d  and perform current summation over equivalent admittances using factor  k
db  as in (4.25).
pict
4.
Forward sweep: The receiving end bus voltages are calculated with known equivalent current generators and sending bus voltages.
      k        k   k
vk = db ⋅ (vi − zs ⋅ je) k = 2,3,...,nl
(4.29)

5.
Compare voltages in iteration ν  with the corresponding ones from iteration ν − 1  , using (4.19). If the maximum difference in magnitude is less than the specified tolerance the procedure is finished. Otherwise go to step 3.

4.3.5 Handling PV Buses

The methods explained in the previous three subsections are applicable to radial networks without loops and PV buses. These methods can be used to solve the power flow problem in weakly meshed networks if a compensation procedure based on Thevenin equivalent impedance matrix is added [1516]. In [17] a voltage correction procedure is added to the process.

The list of branches is expanded by a set of npv  fictitious links, corresponding to the PV nodes. Each of these links starts at the slack bus and ends at a corresponding PV bus, thus forming a loop in the network. A fictitious link going to bus k  is represented by a voltage generator with a voltage magnitude equal to the specified voltage magnitude at bus k  . Its phase angle is equal to the calculated phase angle at bus k  .

A loop impedance matrix Z
  l  is formed for the loops made by the fictitious links and it has the following properties

As an illustration, in Figure 4-1 there a two PV generators at buses 5 and 7. The fictitious links and loops orientation are drawn in red. The Thevenin matrix for this case is

     [ z2+  z3+ z5       z2 + z3      ]
Zl =    b 2  b 3  b   2   b3    b4    7  .
         zb + zb    zb + zb + zb + zb

First column elements are equal to PV bus voltages when the current injection at bus 5 is 1 p.u. and v  = 0
 1  . Bus voltages can be calculated with the current summation method in a single iteration. By repeating the procedure for bus 7 one can calculate the elements of second column.

By breaking all links the network becomes radial [16] and the three backward/forward sweep methods are applicable. Since all links are fictitious, only the injected reactive power at their receiving bus m  is determined [17] by the following equation

   m      m --v2m---
Δqpv = Δd pvℜ {vm },
(4.30)

which is practically an increment in reactive power injection of the corresponding PV generator for the current iteration.

The incremental changes of the imaginary part of PV generator current Δdm
   pv  can be obtained by solving the matrix equation

ℑ {Zl} ⋅ ΔDpv = ΔEpv,
(4.31)

where

       (   m     )
Δem  =   -vg- − 1  ⋅ ℜ {v } ,  m  = 1,2,...,n  .
   pv     |vm|            m                    pv
(4.32)

In order to ensure 90∘ phase difference between voltage and current at PV generators in [19] it was suggested to calculate the real part of PV generator current as

Δcm  = Δdm  ℑ-{vm-}.
  pv      pvℜ {vm }
(4.33)

In such a way the PV generator will inject purely reactive power, as it is supposed to do. Its active power is added before as a negative load.

Before proceeding with the next iteration, the bus voltage corrections are calculated. In order to do that, the radial network is solved by applying incremental current changes ΔIpv =  ΔCpv  + jΔDpv  at the PV buses as excitations and setting v1 = 0  . After the backward/forward sweep is performed with the current summation method, the voltage corrections at all buses are known. They are added to the latest voltages in order to obtain the new bus voltages, which are used in the next iteration [17].