915

# Power Flow Analysis

Authored by: Leonard L. Grigsby

# The Electric Power Engineering Handbook: Power Systems

Print publication date:  April  2012
Online publication date:  April  2016

Print ISBN: 9781439856338
eBook ISBN: 9781439856345
Adobe ISBN:

10.1201/b12111-5

#### Abstract

Leonard L. Grigsby

#### Power Flow Analysis

Leonard L. Grigsby

Auburn University

Andrew P. Hanson

The Structure Group

#### 3.1  Introduction

The equivalent circuit parameters of many power system components are described in other parts of this handbook. The interconnection of the different elements allows development of an overall power system model. The system model provides the basis for computational simulation of the system performance under a wide variety of projected operating conditions. Additionally, “post mortem” studies, performed after system disturbances or equipment failures, often provide valuable insight into contributing system conditions. This chapter discusses one such computational simulation, the power flow problem.

Power systems typically operate under slowly changing conditions, which can be analyzed using steady-state analysis. Further, transmission systems operate under balanced or near-balanced conditions allowing per-phase analysis to be used with a high degree of confidence in the solution. Power flow analysis provides the starting point for most other analyses. For example, the small signal and transient stability effects of a given disturbance are dramatically affected by the “pre-disturbance” operating conditions of the power system. (A disturbance resulting in instability under heavily loaded system conditions may not have any adverse effects under lightly loaded conditions.) Additionally, fault analysis and transient analysis can also be impacted by the pre-disturbance operating point of the power system (although, they are usually affected much less than transient stability and small signal stability analysis).

#### 3.2  Power Flow Problem

Power flow analysis is fundamental to the study of power systems; in fact, power flow forms the core of power system analysis. A power flow study is valuable for many reasons. For example, power flow analyses play a key role in the planning of additions or expansions to transmission and generation facilities. A power flow solution is often the starting point for many other types of power system analyses. In addition, power flow analysis and many of its extensions are an essential ingredient of the studies performed in power system operations. In this latter case, it is at the heart of contingency analysis and the implementation of real-time monitoring systems.

The power flow problem (popularly known as the load flow problem) can be stated as follows:

For a given power network, with known complex power loads and some set of specifications or restrictions on power generations and voltages, solve for any unknown bus voltages and unspecified generation and finally for the complex power flow in the network components.

Additionally, the losses in individual components and the total network as a whole are usually calculated. Furthermore, the system is often checked for component overloads and voltages outside allowable tolerances.

Balanced operation is assumed for most power flow studies and will be assumed in this chapter. Consequently, the positive sequence network is used for the analysis. In the solution of the power flow problem, the network element values are almost always taken to be in per-unit. Likewise, the calculations within the power flow analysis are typically in per-unit. However, the solution is usually expressed in a mixed format. Solution voltages are usually expressed in per-unit; powers are most often given in kVA or MVA.

The “given network” may be in the form of a system map and accompanying data tables for the network components. More often, however, the network structure is given in the form of a one-line diagram (such as shown in Figure 3.1).

Regardless of the form of the given network and how the network data is given, the steps to be followed in a power flow study can be summarized as follows:

1. Determine element values for passive network components.
2. Determine locations and values of all complex power loads.
3. Determine generation specifications and constraints.
4. Develop a mathematical model describing power flow in the network.
5. Solve for the voltage profile of the network.
6. Solve for the power flows and losses in the network.
7. Check for constraint violations. Figure 3.1   The one-line diagram of a power system. Figure 3.2   Off nominal turns ratio transformer.

#### 3.3  Formulation of Bus Admittance Matrix

The first step in developing the mathematical model describing the power flow in the network is the formulation of the bus admittance matrix. The bus admittance matrix is an n × n matrix (where n is the number of buses in the system) constructed from the admittances of the equivalent circuit elements of the segments making up the power system. Most system segments are represented by a combination of shunt elements (connected between a bus and the reference node) and series elements (connected between two system buses). Formulation of the bus admittance matrix follows two simple rules:

1. The admittance of elements connected between node k and reference is added to the (k, k) entry of the admittance matrix.
2. The admittance of elements connected between nodes j and k is added to the (j, j) and (k, k) entries of the admittance matrix. The negative of the admittance is added to the (j, k) and (k, j) entries of the admittance matrix.

Off nominal transformers (transformers with transformation ratios different from the system voltage bases at the terminals) present some special difficulties. Figure 3.2 shows a representation of an off nominal turns ratio transformer.

The admittance matrix base mathematical model of an isolated off nominal transformer is

3.1 $[ I ¯ j I ¯ k ] = [ Y ¯ e − c ¯ Y ¯ e − c ¯ * Y ¯ e | c ¯ | 2 Y ¯ e ] [ V ¯ j V ¯ k ]$

where

• $Y ¯ e$ is the equivalent series admittance (referred to node j)
• $c ¯$ is the complex (off nominal) turns ratio
• $I ¯ j$ is the current injected at node j
• $V ¯ j$ is the voltage at node j (with respect to reference)

Off nominal transformers are added to the bus admittance matrix by adding the corresponding entry of the isolated off nominal transformer admittance matrix to the system bus admittance matrix.

#### 3.4  Formulation of Power Flow Equations

Considerable insight into the power flow problem and its properties and characteristics can be obtained by consideration of a simple example before proceeding to a general formulation of the problem. This simple case will also serve to establish some notation. Figure 3.3   Conceptual one-line diagram of a four-bus power system.

A conceptual representation of a one-line diagram for a four-bus power system is shown in Figure 3.3. For generality, we have shown a generator and a load connected to each bus. The following notation applies:

• $S ¯ GI$ = Complex power flow into bus 1 from the generator
• $S ¯ DI$ = Complex power flow into the load from bus 1

Comparable quantities for the complex power generations and loads are obvious for each of the three other buses.

The positive sequence network for the power system represented by the one-line diagram of Figure 3.3 is shown in Figure 3.4. The boxes symbolize the combination of generation and load. Network texts refer to this network as a five-node network. (The balanced nature of the system allows analysis using only the positive sequence network; reducing each three-phase bus to a single node. The reference or ground represents the fifth node.) However, in power systems literature it is usually referred to as a four-bus network or power system.

For the network of Figure 3.4, we define the following additional notation:

• $S ¯ 1 = S ¯ G 1 − S ¯ D 1$ = Net complex power injected at bus 1
• $I ¯ 1$ = Net positive sequence phasor current injected at bus 1
• $V ¯ 1$ = Positive sequence phasor voltage at bus 1

The standard node voltage equations for the network can be written in terms of the quantities at bus 1 (defined above) and comparable quantities at the other buses:

3.2 $I ¯ 1 = Y ¯ 11 V ¯ 1 + Y ¯ 12 V ¯ 2 + Y ¯ 13 V ¯ 3 + Y ¯ 14 V ¯ 4$
3.3 $I ¯ 2 = Y ¯ 21 V ¯ 1 + Y ¯ 22 V ¯ 2 + Y ¯ 23 V ¯ 3 + Y ¯ 24 V ¯ 4$
3.4 $I ¯ 3 = Y ¯ 31 V ¯ 1 + Y ¯ 32 V ¯ 2 + Y ¯ 33 V ¯ 3 + Y ¯ 34 V ¯ 4$
3.5 $I ¯ 4 = Y ¯ 41 V ¯ 1 + Y ¯ 42 V ¯ 2 + Y ¯ 43 V ¯ 3 + Y ¯ 44 V ¯ 4$ Figure 3.4   Positive sequence network for the system in Figure 3.3.

The admittances in Equations 3.2 through 3.5, $Y ¯ i j$

, are the ijth entries of the bus admittance matrix for the power system. The unknown voltages could be found using linear algebra if the four currents $I ¯ 1$ $I ¯ 4$ were known. However, these currents are not known. Rather, something is known about the complex power and voltage, at each bus. The complex power injected into bus k of the power system is defined by the relationship between complex power, voltage, and current given by the following equation:
3.6 $S ¯ k = V ¯ k I ¯ k *$

Therefore,

3.7 $I ¯ k = S ¯ k * V ¯ k * = S ¯ G k * − S ¯ D k * V ¯ k *$

By substituting this result into the nodal equations and rearranging, the basic power flow equations (PFE) for the four-bus system are given as follows:

3.8 $S ¯ G 1 * − S ¯ D 1 * = V ¯ 1 * [ Y ¯ 11 V ¯ 1 + Y ¯ 12 V ¯ 2 + Y ¯ 13 V ¯ 3 + Y ¯ 14 V ¯ 4 ]$
3.9 $S ¯ G 2 * − S ¯ D 2 * = V ¯ 2 * [ Y ¯ 21 V ¯ 1 + Y ¯ 22 V ¯ 2 + Y ¯ 23 V ¯ 3 + Y ¯ 24 V ¯ 4 ]$
3.10 $S ¯ G 3 * − S ¯ D 3 * = V ¯ 3 * [ Y ¯ 31 V ¯ 1 + Y ¯ 32 V ¯ 2 + Y ¯ 33 V ¯ 3 + Y ¯ 34 V ¯ 4 ]$
3.11 $S ¯ G 4 * − S ¯ D 4 * = V ¯ 4 * [ Y ¯ 41 V ¯ 1 + Y ¯ 42 V ¯ 2 + Y ¯ 43 V ¯ 3 + Y ¯ 44 V ¯ 4 ]$

Examination of Equations 3.8 through 3.11 reveals that except for the trivial case where the generation equals the load at every bus, the complex power outputs of the generators cannot be arbitrarily selected. In fact, the complex power output of at least one of the generators must be calculated last since it must take up the unknown “slack” due to the, as yet, uncalculated network losses. Further, losses cannot be calculated until the voltages are known. These observations are the result of the principle of conservation of complex power (i.e., the sum of the injected complex powers at the four system buses is equal to the system complex power losses).

Further examination of Equations 3.8 through 3.11 indicates that it is not possible to solve these equations for the absolute phase angles of the phasor voltages. This simply means that the problem can only be solved to some arbitrary phase angle reference.

In order to alleviate the dilemma outlined above, suppose $S ¯ G4$

is arbitrarily allowed to float or swing (in order to take up the necessary slack caused by the losses) and that $S ¯ G 1 , S ¯ G 2$ , and $S ¯ G 3$ are specified (other cases will be considered shortly). Now, with the loads known, Equations 3.8 through 3.11 are seen as four simultaneous nonlinear equations with complex coefficients in five unknowns .

The problem of too many unknowns (which would result in an infinite number of solutions) is solved by specifying another variable. Designating bus 4 as the slack bus and specifying the voltage $V ¯ 4$

reduces the problem to four equations in four unknowns. The slack bus is chosen as the phase reference for all phasor calculations, its magnitude is constrained, and the complex power generation at this bus is free to take up the slack necessary in order to account for the system real and reactive power losses.

The specification of the voltage $V ¯ 4$

decouples Equation 3.11 from Equations 3.8 through 3.10, allowing calculation of the slack bus complex power after solving the remaining equations. (This property carries over to larger systems with any number of buses.) The example problem is reduced to solving only three equations simultaneously for the unknowns . Similarly, for the case of n buses it is necessary to solve n − 1 simultaneous, complex coefficient, nonlinear equations.

Systems of nonlinear equations, such as Equations 3.8 through 3.10, cannot (except in rare cases) be solved by closed-form techniques. Direct simulation was used extensively for many years; however, essentially all power flow analyses today are performed using iterative techniques on digital computers.

#### 3.5  P–V Buses

In all realistic cases, the voltage magnitude is specified at generator buses to take advantage of the generator’s reactive power capability. Specifying the voltage magnitude at a generator bus requires a variable specified in the simple analysis discussed earlier to become an unknown (in order to bring the number of unknowns back into correspondence with the number of equations). Normally, the reactive power injected by the generator becomes a variable, leaving the real power and voltage magnitude as the specified quantities at the generator bus.

It was noted earlier that Equation 3.11 is decoupled and only Equations 3.8 through 3.10 need be solved simultaneously. Although not immediately apparent, specifying the voltage magnitude at a bus and treating the bus reactive power injection as a variable result in retention of, effectively, the same number of complex unknowns. For example, if the voltage magnitude of bus 1 of the earlier four-bus system is specified and the reactive power injection at bus 1 becomes a variable, Equations 3.8 through 3.10 again effectively have three complex unknowns. (The phasor voltages $V ¯ 2$

and $V ¯ 3$ at buses 2 and 3 are two complex unknowns and the angle δ1 of the voltage at bus 1 plus the reactive power generation QG1 at bus 1 result in the equivalent of a third complex unknown.)

Bus 1 is called a voltage controlled bus, since it is apparent that the reactive power generation at bus 1 is being used to control the voltage magnitude. This type of bus is also referred to as a P–V bus because of the specified quantities. Typically, all generator buses are treated as voltage controlled buses.

#### 3.6  Bus Classifications

There are four quantities of interest associated with each bus:

1. Real power, P
2. Reactive power, Q
3. Voltage magnitude, V
4. Voltage angle, δ

At every bus of the system two of these four quantities will be specified and the remaining two will be unknowns. Each of the system buses may be classified in accordance with which of the two quantities are specified. The following classifications are typical:

Slack bus—The slack bus for the system is a single bus for which the voltage magnitude and angle are specified. The real and reactive power are unknowns. The bus selected as the slack bus must have a source of both real and reactive power, since the injected power at this bus must “swing” to take up the “slack” in the solution. The best choice for the slack bus (since, in most power systems, many buses have real and reactive power sources) requires experience with the particular system under study. The behavior of the solution is often influenced by the bus chosen. (In the earlier discussion, the last bus was selected as the slack bus for convenience.)

Load bus (P–Q bus)—A load bus is defined as any bus of the system for which the real and reactive powers are specified. Load buses may contain generators with specified real and reactive power outputs; however, it is often convenient to designate any bus with specified injected complex power as a load bus.

Voltage-controlled bus (P–V bus)—Any bus for which the voltage magnitude and the injected real power are specified is classified as a voltage controlled (or P–V) bus. The injected reactive power is a variable (with specified upper and lower bounds) in the power flow analysis. (A P–V bus must have a variable source of reactive power such as a generator or a capacitor bank.)

#### 3.7  Generalized Power Flow Development

The more general (n bus) case is developed by extending the results of the simple four-bus example. Consider the case of an n-bus system and the corresponding n + 1 node positive sequence network. Assume that the buses are numbered such that the slack bus is numbered last. Direct extension of the earlier equations (writing the node voltage equations and making the same substitutions as in the four-bus case) yields the basic power flow equations in the general form.

#### 3.7.1  Basic Power Flow Equations

3.12

and

3.13 $P n − j Q n = V ¯ n * ∑ i = 1 n Y ¯ n i V ¯ i$

Equation 3.13 is the equation for the slack bus. Equation 3.12 represents n− 1 simultaneous equations in n− 1 complex unknowns if all buses (other than the slack bus) are classified as load buses. Thus, given a set of specified loads, the problem is to solve Equation 3.12 for the n− 1 complex phasor voltages at the remaining buses. Once the bus voltages are known, Equation 3.13 can be used to calculate the slack bus power.

Bus j is normally treated as a P–V bus if it has a directly connected generator. The unknowns at bus j are then the reactive generation QGj and δj, because the voltage magnitude, Vj, and the real power generation, PGj, have been specified.

The next step in the analysis is to solve Equation 3.12 for the bus voltages using some iterative method. Once the bus voltages have been found, the complex power flows and complex power losses in all of the network components are calculated.

#### 3.8  Solution Methods

The solution of the simultaneous nonlinear power flow equations requires the use of iterative techniques for even the simplest power systems. Although there are many methods for solving nonlinear equations, only two methods are discussed here.

#### 3.8.1  Newton–Raphson Method

The Newton–Raphson algorithm has been applied in the solution of nonlinear equations in many fields. The algorithm will be developed using a general set of two equations (for simplicity). The results are easily extended to an arbitrary number of equations.

A set of two nonlinear equations are shown in the following equations:

3.14 $f 1 ( x 1 , x 2 ) = k 1$
3.15 $f 2 ( x 1 , x 2 ) = k 2$

Now,if $x 1 ( 0 )$

and $x 2 ( 0 )$ are inexact solution estimates and $x 1 ( 0 )$ and$x 2 ( 0 )$ are the corrections to the estimates to achieve an exact solution, Equations 3.14 and 3.15 can be rewritten as
3.16 $f 1 ( x 1 ( 0 ) + Δ x 1 ( 0 ) , x 2 ( 0 ) + Δ x 2 ( 0 ) ) = k 1$
3.17 $f 2 ( x 1 ( 0 ) + Δ x 1 ( 0 ) , x 2 ( 0 ) + Δ x 2 ( 0 ) ) = k 2$

Expanding Equations 3.16 and 3.17 in a Taylor series about the estimate yields:

3.18 $f 1 ( x 1 ( 0 ) , x 2 ( 0 ) ) + ∂ f 1 ∂ x 1 | ( 0 ) Δ x 1 ( 0 ) + ∂ f 1 ∂ x 2 | ( 0 ) Δ x 2 ( 0 ) + h . o . t . = k 1$
3.19 $f 2 ( x 1 ( 0 ) , x 2 ( 0 ) ) + ∂ f 2 ∂ x 1 | ( 0 ) Δ x 1 ( 0 ) + ∂ f 2 ∂ x 2 | ( 0 ) Δ x 2 ( 0 ) + h . o . t . = k 2$

where the subscript, (0), on the partial derivatives indicates evaluation of the partial derivatives at the initial estimate and h.o.t. indicates the higher-order terms.

Neglecting the higher-order terms (an acceptable approximation if $x 1 ( 0 )$

and $x 2 ( 0 )$ are small) Equations 3.18 and 3.19 can be rearranged and written in matrix form:
3.20 $[ ∂ f 1 ∂ x 1 | ( 0 ) ∂ f 1 ∂ x 2 | ( 0 ) ∂ f 2 ∂ x 1 | ( 0 ) ∂ f 2 ∂ x 2 | ( 0 ) ] [ Δ x 1 ( 0 ) Δ x 2 ( 0 ) ] ≈ [ k 1 − f 1 ( x 1 ( 0 ) , x 2 ( 0 ) ) k 2 − f 2 ( x 1 ( 0 ) , x 2 ( 0 ) ) ]$

The matrix of partial derivatives in Equation 3.20 is known as the Jacobian matrix and is evaluated at the initial estimate. Multiplying each side of Equation 3.20 by the inverse of the Jacobian matrix yields an approximation of the required correction to the estimated solution. Since the higher-order terms were neglected, addition of the correction terms to the original estimate will not yield an exact solution, but will often provide an improved estimate. The procedure may be repeated, obtaining successively better estimates until the estimated solution reaches a desired tolerance. Summarizing, correction terms for the th iterate are given in Equation 3.21 and the solution estimate is updated according to Equation 3.22:

3.21 $[ Δ x 1 ( ℓ ) Δ x 2 ( ℓ ) ] = [ ∂ f 1 ∂ x 1 | ( ℓ ) ∂ f 1 ∂ x 2 | ( ℓ ) ∂ f 2 ∂ x 1 | ( ℓ ) ∂ f 2 ∂ x 2 | ( ℓ ) ] − 1 [ k 1 − f 1 ( x 1 ( ℓ ) , x 2 ( ℓ ) ) k 2 − f 2 ( x 1 ( ℓ ) , x 2 ( ℓ ) ) ]$
3.22 $x ( ℓ + 1 ) = x ( ℓ ) + Δ x ( ℓ )$

The solution of the original set of nonlinear equations has been converted to a repeated solution of a system of linear equations. This solution requires evaluation of the Jacobian matrix (at the current solution estimate) in each iteration.

The power flow equations can be placed into the Newton–Raphson framework by separating the power flow equations into their real and imaginary parts and taking the voltage magnitudes and phase angles as the unknowns. Writing Equation 3.21 specifically for the power flow problem:

3.23 $[ Δ δ ¯ ( ℓ ) Δ V ¯ ( ℓ ) ] = [ ∂ P ¯ ∂ δ ¯ | ( ℓ ) ∂ P ¯ ∂ V ¯ | ( ℓ ) ∂ Q ∂ δ ¯ | ( ℓ ) ∂ Q ∂ V ¯ | ( ℓ ) ] − 1 [ P ¯ ( sched ) − P ¯ ( ℓ ) Q ¯ ( sched ) − Q ¯ ( ℓ ) ]$

The underscored variables in Equation 3.23 indicate vectors (extending the two equation Newton–Raphson development to the general power flow case). The (sched) notation indicates the scheduled real and reactive powers injected into the system. P() and Q() represent the calculated real and reactive power injections based on the system model and the th voltage phase angle and voltage magnitude estimates. The bus voltage phase angle and bus voltage magnitude estimates are updated, the Jacobian reevaluated, and the mismatch between the scheduled and calculated real and reactive powers evaluated in each iteration of the Newton–Raphson algorithm. Iterations are performed until the estimated solution reaches an acceptable tolerance or a maximum number of allowable iterations is exceeded. Once a solution (within an acceptable tolerance) is reached, P–V bus reactive power injections and the slack bus complex power injection may be evaluated.

#### 3.8.2  Fast Decoupled Power Flow Solution

The fast decoupled power flow algorithm simplifies the procedure presented for the Newton–Raphson algorithm by exploiting the strong coupling between real power and bus voltage phase angles and reactive power and bus voltage magnitudes commonly seen in power systems. The Jacobian matrix is simplified by approximating as zero the partial derivatives of the real power equations with respect to the bus voltage magnitudes. Similarly, the partial derivatives of the reactive power equations with respect to the bus voltage phase angles are approximated as zero. Further, the remaining partial derivatives are often approximated using only the imaginary portion of the bus admittance matrix. These approximations yield the following correction equations:

3.24 $Δ δ ( ℓ ) = [ B ′ ] − 1 [ P ¯ ( sched ) − P ¯ ( ℓ ) ]$
3.25 $Δ V ( ℓ ) = [ B ″ ] − 1 [ Q ¯ ( sched ) − Q ¯ ( ℓ ) ]$

where B′ is an approximation of the matrix of partial derivatives of the real power flow equations with respect to the bus voltage phase angles and B″ is an approximation of the matrix of partial derivatives of the reactive power flow equations with respect to the bus voltage magnitudes. B′ and B″ are typically held constant during the iterative process, eliminating the necessity of updating the Jacobian matrix (required in the Newton–Raphson solution) in each iteration.

The fast decoupled algorithm has good convergence properties despite the many approximations used during its development. The fast decoupled power flow algorithm has found widespread use, since it is less computationally intensive (requires fewer computational operations) than the Newton–Raphson method.

#### 3.9  Component Power Flows

The positive sequence network for components of interest (connected between buses i and j) will be of the form shown in Figure 3.5.

An admittance description is usually available from earlier construction of the nodal admittance matrix. Thus,

3.26 $[ I ¯ i I ¯ j ] = [ Y ¯ a Y ¯ b Y ¯ c Y ¯ d ] [ V ¯ i V ¯ j ]$

Therefore the complex power flows and the component loss are

3.27 $S ¯ i j = V ¯ i I ¯ i * = V ¯ i [ Y ¯ a V ¯ i + Y ¯ b V ¯ j ] *$
3.28 $S ¯ j i = V ¯ j I ¯ j * = V ¯ j [ Y ¯ c V ¯ i + Y ¯ d V ¯ j ] *$
3.29 $S ¯ loss = S ¯ i j + S ¯ j i$ Figure 3.5   Typical power system component.

The calculated component flows combined with the bus voltage magnitudes and phase angles provide extensive information about the power systems operating point. The bus voltage magnitudes may be checked to ensure operation within a prescribed range. The segment power flows can be examined to ensure no equipment ratings are exceeded. Additionally, the power flow solution may be used as the starting point for other analyses.

An elementary discussion of the power flow problem and its solution is presented in this section. The power flow problem can be complicated by the addition of further constraints such as generator real and reactive power limits. However, discussion of such complications is beyond the scope of this chapter. The references provide detailed development of power flow formulation and solution under additional constraints. The references also provide some background in the other types of power system analysis.

#### Further Information

The references provide clear introductions to the analysis of power systems. An excellent review of many issues involving the use of computers for power system analysis is provided in July 1974, Proceedings of the IEEE (Special Issue on Computers in the Power Industry). The quarterly journal IEEE Transactions on Power Systems provides excellent documentation of more recent research in power system analysis.

#### Reference

Bergen, A.R. and Vital, V., Power Systems Analysis, 2nd edn., Prentice-Hall, Inc., Englewood Cliffs, NJ, 2000.
Elgerd, O.I., Electric Energy Systems Theory—An Introduction, 2nd edn., McGraw-Hill, New York, 1982.
Glover, J.D. and Sarma, M., Power System Analysis and Design, 3rd edn., Brooks/Cole, Pacific Grove, CA, 2002.
Grainger, J.J. and Stevenson, W.D., Elements of Power System Analysis, McGraw-Hill, New York, 1994.
Gross, C.A., Power System Analysis, 2nd edn., John Wiley & Sons, New York, 1986.

## Use of cookies on this website

We are using cookies to provide statistics that help us give you the best experience of our site. You can find out more in our Privacy Policy. By continuing to use the site you are agreeing to our use of cookies.