Documentation Center

  • Trial Software
  • Product Updates

Three-Phase Systems and Machines


In this section you

  • Learn how to simulate a three-phase power system containing electrical machines and other three-phase models

  • Perform a load flow study and initialize machines to start simulation in steady state by using the Machine Initialization and Load Flow tools of the Powergui

  • Simulate the power system and observe its dynamic performance by using both the standard solution technique using a continuous solver and the phasor simulation method

You now use three types of machines of the Electrical Machines library: simplified synchronous machine, detailed synchronous machine, and asynchronous machine. You interconnect these machines with linear and nonlinear elements such as transformers, loads, and breakers to study the transient stability of an uninterruptible power supply using a diesel generator.

Three-Phase Network with Electrical Machines

The two-machine system shown in this single line diagram is this section's main example:

Diesel Generator and Asynchronous Motor on Distribution Network

This system consists of a plant (bus B2), simulated by a 1 MW resistive load and a motor load (ASM) fed at 2400 V from a distribution 25 kV network through a 6 MVA, 25/2.4 kV transformer, and from an emergency synchronous generator/diesel engine unit (SM).

The 25 kV network is modeled by a simple R-L equivalent source (short-circuit level 1000 MVA, quality factor X/R = 10) and a 5 MW load. The asynchronous motor is rated 2250 HP, 2.4 kV, and the synchronous machine is rated 3.125 MVA, 2.4 kV.

Initially, the motor develops a mechanical power of 2000 HP and the diesel generator is in standby, delivering no active power. The synchronous machine therefore operates as a synchronous condenser generating only the reactive power required to regulate the 2400 V bus B2 voltage at 1.0 pu. At t = 0.1 s, a three-phase to ground fault occurs on the 25 kV system, causing the opening of the 25 kV circuit breaker at t = 0.2 s, and a sudden increase of the generator loading. During the transient period following the fault and islanding of the motor-generator system, the synchronous machine excitation system and the diesel speed governor react to maintain the voltage and speed at a constant value.

This system is modeled in the power_machinespower_machines example, shown in the following illustration.

Power System of Diesel Generator and Asynchronous Motor on Distribution Network

The SM parameters as well as the diesel engine and governor models were taken from reference [1].

If you simulate this system for the first time, you normally do not know what the initial conditions are for the SM and ASM to start in steady state.

These initial conditions are

  • SM block: Initial values of speed deviation (usually 0%), rotor angle, magnitudes and phases of currents in stator windings, and initial field voltage required to obtain the desired terminal voltage under the specified load flow

  • ASM block: Initial values of slip, rotor angle, magnitudes and phases of currents in stator windings

Open the dialog box of the Synchronous Machine and Asynchronous Machine blocks. All initial conditions should be set at 0, except for the initial SM field voltage and ASM slip, which are set at 1 pu. Open the three scopes monitoring the SM and ASM signals as well as the bus B2 voltage. Start the simulation and observe the first 100 ms before fault is applied.

As the simulation starts, note that the three ASM currents start from zero and contain a slowly decaying DC component. The machine speeds take a much longer time to stabilize because of the inertia of the motor/load and diesel/generator systems. In our example, the ASM even starts to rotate in the wrong direction because the motor starting torque is lower than the applied load torque. Stop the simulation.

Machine Initialization Tool

To start the simulation in steady state with sinusoidal currents and constant speeds, all the machine states must be initialized properly. This is a difficult task to perform manually, even for a simple system. In the next section you learn how to use the Machine Initialization tool of the Powergui block to initialize the machines.

  1. Double-click the Powergui block and click the Machine Initialization button. A new window appears. The upper-right window displays a list of the machines appearing in your system.

  2. Select SM 3.125 MVA in the machine list. The Bus Type parameter should already be initialized as P & V generator, indicating that the machine is controlling its active power and terminal voltage. For more info on the meaning of the Bus type parameter see Load Flow Tool.

  3. Check that the desired Terminal Voltage UAB is initialized at the nominal machine voltage (2400 Vrms).

  4. Set the Active Power to zero. The synchronous machine therefore absorbs or generates reactive power only to keep terminal voltage at 1 pu.

  5. Select ASM 2250 HP in the machine list. The only parameter that needs to be set is the Mechanical power developed by the motor. Enter 2000*746 (2000 HP).

  6. Click the Compute and Apply button. The three phasors of line-to-line machine voltages, as well as currents, are updated as shown on the next figure. Values are displayed both in SI units (volts RMS or amperes RMS) and in pu.

    The Machine info section displays the SM active and reactive powers, mechanical power, and field voltage, the ASM active and reactive powers absorbed by the motor, slip, and torque.

  7. Close the Machine Initialization tool.

  8. Open the SM and ASM block dialogs and see that the initial conditions have been updated. Note that the ASM torque value (7964 N.m) has been entered in the Constant block connected at the ASM torque input.

  9. Open the Governor & Diesel Engine subsystem, which is inside the Diesel Engine Speed and Voltage Control subsystem. The states of the Governor & Diesel Engine have also been initialized according to the values calculated by the Machine Initialization tool. Notice that the initial mechanical power has been automatically set to 0.0002701 pu.

  10. Open the Excitation block and note that the initial terminal voltage and field voltage have been set respectively to 1.0 pu and 1.427 pu.

  11. The Machine Initialization tool also initializes the Constant blocks connected at the reference inputs (wref and vref) of the Governor and Excitation blocks, as well as the Constant block connected at the load torque input (Tm) of the Asynchronous Machine block.

  12. Start the simulation. Open the three scopes displaying the internal signals of synchronous and asynchronous machines and phase A voltage. The simulation starts in steady state.

Load Flow Tool

The Load Flow tool of the Powergui block uses the Newton-Raphson method and comes with a graphical user interfaces that allows you to display load flow solution at all buses. For more information, see the power_loadflow reference page.

To solve a load flow, you need to determine the following four quantities at each bus:

  • The net three-phase active power P and reactive power Q injected into the bus

  • The voltage magnitude V and angle Vangle of bus positive-sequence voltage

Bus Types

It is important that you understand the three bus types that are used by the Load Flow tool to solve a load flow. Before solving the load flow, two of the above quantities are known at every bus and the other two are to be determined. Therefore, the following bus types are used:

  • PV bus—For this type of bus, P and V are specified. This is the generation bus where a synchronous machine is connected. Active power P generated by the machine and machine terminal voltage V are imposed. The load flow solution returns the machine reactive power Q, required to maintain the reference voltage magnitude V, and the reference voltage angle Vangle.

  • PQ bus—At this bus, specified active power P and reactive power Q are either injected into the bus (generation PQ bus) or absorbed by a load connected at that bus. The load flow solution returns bus voltage magnitude V and angle Vangle.

  • Swing bus—This bus imposes voltage magnitude V and angle Vangle. The load flow solution returns the active power P and reactive power Q, generated or absorbed at that bus in order to balance generated power, loads, and losses. At least one bus in the model must be defined as a swing bus, but usually a single swing bus is required unless you have isolated networks. Normally, you select one synchronous machine or voltage source as a swing bus.

Performing Load Flow Analysis and Initializing Your Model

To perform a load flow analysis and initialize your machine blocks so that your model starts in steady state, you need to perform the following four steps:

  1. Define the model buses using Load Flow Bus blocks.

  2. Specify the load flow parameters of the load flow blocks.

  3. Solve the load flow and, eventually, interactively modify the load flow parameters until a satisfactory solution is obtained.

  4. Save the load flow parameters and machine initial conditions in the model.

The load flow blocks and the Load Flow Bus block are described in the next sections.

Load Flow Blocks

Load flow blocks are SimPowerSystems™ blocks where active power (P) and reactive power (Q) can be specified to solve the load flow. They are:

  • Asynchronous Machine

  • Simplified Synchronous Machine

  • Synchronous Machine

  • Three-Phase Dynamic Load

  • Three-Phase Parallel RLC Load

  • Three-Phase Series RLC Load

  • Three-Phase Programmable Voltage Source

  • Three-Phase Source

You specify P and Q in the Load Flow tab of the block dialog boxes.

Load Flow Parameters of Three-Phase Sources and Synchronous Machines.  The three-phase sources and synchronous machine blocks allow control of their generated or absorbed powers P and Q and their terminal voltage. You can specify the generator bus type as swing, PV, or PQ.

Load Flow Parameters of Asynchronous Machine Blocks.  The Asynchronous Machine block requires specification of the mechanical power Pmec at the machine shaft.

Load Flow Parameters of the RLC Load Blocks.  The Three Phase RLC Load blocks can be specified as constant impedance or constant PQ power.

Load Flow Parameters of Dynamic Load Blocks.  The Three-Phase Dynamic Load block dialog does not have a Load Flow tab. The load is always considered as constant PQ load. P and Q are the initial active and reactive power Po, Qo that you specify by using the Active and reactive power at initial voltage parameter.

Load Flow Bus Blocks

Use the Load Flow Bus block to define the buses in your model. You connect a Load Flow Bus block to phase A, B, or C of every load flow block in the model. When several load flow blocks are connected together at the same nodes, only one Load Flow Bus block is required to identify the bus.

In the Command window, type power_LFnetwork_5bus to access a model containing five Load Flow Bus blocks and six load flow blocks.

The Load Flow Bus blocks are shown in orange and the load flow blocks are shown in yellow.

The Load Flow Bus blocks are used to specify the bus base voltages. They are also used to specify the voltage at PV buses or the voltage and angle of the swing buses. Once the load flow is solved, the Load Flow Bus block displays the bus voltage magnitude and phase angle as block annotations.

The bus type (PV, PQ, or swing) is determined by the load flow blocks connected to the bus. If you have several load flow blocks with different types (specified in the Generator type parameter or in the Load type parameter) connected to the same bus, the Load Flow tool determines the resulting bus type.

In the power_LFnetwork_5bus example, the bus types are determined as follows:

BusLoad Flow BlocksResulting Bus Type


120 kV Three-Phase Source
- Generator type = swing

V=1.02 p.u. 0 deg.


13.8 kV 150 MVA Synchronous Machine
- Generator type = PV

3 MW 2 Mvar RLC Load
- Load type = PQ

P = 117 MW
V = 0.98 pu


10 MW, 3 Mvar Dynamic Load
- Implicit load type = PQ

P = –10 MW
Q = –3 Mvar


No load flow block

P = 0 MW
Q = 0 Mvar


Asynchronous generator 9 MW
1.2 Mvar RLC Load
- Load type = Z

P = 0 MW
Q = 0 Mvar

Some restrictions apply when you connect several source blocks and synchronous machines at the same bus:

  • Two swing generators cannot be connected in parallel.

  • A swing generator cannot be connected in parallel with a PV ideal voltage source.

  • When a swing voltage source with RL impedance is connected to a PV generator, the swing bus is automatically moved to the ideal voltage source connection node, behind the RL source impedance.

  • Only one PV generator with finite Q limits can be connected at a generation bus. However, you may have other PQ generators and loads connected on the same bus.

For more information on how to use the Load Flow Bus block in your model, see the Load Flow Bus block reference page.

Open the Load Flow Tool to Perform Load Flow Analysis

Once you have entered the load flow parameters in the Load Flow Bus blocks and in the various load flow blocks, open the load flow tool by clicking the Load Flow button of the Powergui block. The tool displays a summary of the load flow data of the model. The table below shows the data found in the power_LFnetwork_5bus model.

Note that the table contains seven lines, whereas there are only six load flow blocks in the model. This is because the bus B25_2 is not connected to any load flow block. Line 5 is added in the table for that particular bus, so that you can see all buses listed together with their bus voltages. This bus will be considered in the load flow analysis as a PQ bus with zero P and Q.

The first column identifies the block type. The second column displays the bus type of the load flow blocks. The following four columns give the bus identification label, the bus base voltage, the reference voltage (in pu of base voltage) and the voltage angle of the load flow bus where the block is connected. The following columns are the P and Q values specified in the Load Flow tab of the blocks.

The last five columns display the current load flow solution, as well as the full block name of the load flow block. For now, the load flow has not yet been performed and the columns display zero values.

The four parameters below the table are used to build the Ybus network admittance matrix and to solve the load flow. The base power is used to specify units of the normalized Ybus matrix in pu/Pbase and bus base voltages. The power_LFnetwork_5bus model contains five buses; consequently, the Ybus matrix will be a 5x5 complex matrix evaluated at the frequency specified by the Frequency (Hz) parameter.

The load flow algorithm uses an iterative solution based on the Newton-Raphson method. The Max iterations parameter defines the maximum number of iterations. The load flow algorithm will iterate until the P and Q mismatch at each bus is lower than the PQ tolerance parameter (in pu/Pbase). The power mismatch is defined as the difference between the net power injected into the bus by generators and PQ loads and the power transmitted on all links leaving that bus.

To avoid a badly conditioned Ybus matrix, you should select the Base power parameter value in the range of nominal powers and loads connected to the network. For a transmission network with voltages ranging from 120 kV to 765 kV, a 100 MVA base is usually selected. For a distribution network or for a small plant consisting of generators, motors, and loads having a nominal power in the range of hundreds of kilowatts, a 1 MVA power base is better adapted.

To solve the load flow, click the Compute button. The load flow solution is then displayed in the last five columns of the table.

To display the load flow report showing power flowing at each bus, click the Report button. You can also save this report in a file by specifying the file name at the prompt.

The report starts with displaying the summary of active and reactive powers, showing total PQ sharing between generators (SM and Vsrc type blocks), PQ loads (PQ type RLC loads and DYN loads), shunt constant Z loads (Z type RLC loads and magnetizing branches of transformers) and asynchronous machine loads (ASM):

The Load Flow converged in 2 iterations !        
SUMMARY for subnetwork No 1                      
Total generation :    P=  5.61 MW   Q= 25.51 Mvar
Total PQ load :       P= 13.00 MW   Q=  5.00 Mvar
Total Zshunt load :   P=  0.68 MW   Q= -0.51 Mvar
Total ASM load :      P= -8.90 MW   Q=  4.38 Mvar
Total losses :        P=  0.83 MW   Q= 16.64 Mvar

The Total losses line represents the difference between generation and loads (PQ type + Z type +ASM). It therefore represents series losses. After this summary, a voltage and power report is presented for each bus:

1 : B120  V= 1.020 pu/120kV 0.00 deg  ; Swing bus 
        Generation : P= -114.39 MW Q=   62.76 Mvar
        PQ_load    : P=    0.00 MW Q=    0.00 Mvar
        Z_shunt    : P=    0.25 MW Q=    0.23 Mvar
   -->  B13.8      : P= -116.47 MW Q=   53.89 Mvar
   -->  B25_1      : P=    1.84 MW Q=    8.63 Mvar
2 : B13.8  V= 0.980 pu/13.8kV -23.81 deg          
        Generation : P=  120.00 MW Q=  -37.25 Mvar
        PQ_load    : P=    3.00 MW Q=    2.00 Mvar
        Z_shunt    : P=    0.17 MW Q=    0.17 Mvar
   -->  B120       : P=  116.83 MW Q=  -39.42 Mvar
3 : B25_1  V= 0.998 pu/25kV -30.22 deg            
        Generation : P=    0.00 MW Q=    0.00 Mvar
        PQ_load    : P=   10.00 MW Q=    3.00 Mvar
        Z_shunt    : P=    0.25 MW Q=    0.21 Mvar
   -->  B120       : P=   -1.83 MW Q=   -8.44 Mvar
   -->  B25_2      : P=   -8.41 MW Q=    5.23 Mvar
4 : B25_2  V= 0.967 pu/25kV -20.85 deg            
        Generation : P=    0.00 MW Q=    0.00 Mvar
        PQ_load    : P=   -0.00 MW Q=   -0.00 Mvar
        Z_shunt    : P=    0.01 MW Q=   -0.03 Mvar
   -->  B25_1      : P=    8.87 MW Q=   -3.67 Mvar
   -->  B575       : P=   -8.88 MW Q=    3.70 Mvar
5 : B575  V= 0.953 pu/0.575kV -18.51 deg          
        Generation : P=    0.00 MW Q=    0.00 Mvar
        PQ_load    : P=   -0.00 MW Q=   -0.00 Mvar
        Z_shunt    : P=    0.01 MW Q=   -1.09 Mvar
   -->  ASM        : P=   -8.90 MW Q=    4.38 Mvar
   -->  B25_2      : P=    8.89 MW Q=   -3.29 Mvar

For every bus, the bus voltage and angle are listed on the first line. The next 3 lines give the PQ generated at the bus (all SM and voltage sources), the PQ absorbed by the PQ type loads, and the PQ absorbed by the Z type loads.

The last lines, preceded by an arrow (-->), list the PQ transferred to neighbor buses connected through lines, series impedances, and transformers, as well power absorbed by ASM.

Apply the Load Flow Solution to Your Model

When performing a load flow analysis, you may need to iterate on P, Q, V values until you find satisfactory voltages at all buses. This may require, for example, changing generated power, load powers, or reactive shunt compensation.

To change the load flow setup, you need to edit the parameters of the load flow blocks and of the Load Flow Bus blocks. Then click the Update button to refresh the load flow data displayed by the table. The previous load flow solution is then deleted from the table. Click the Compute button to obtain a new load flow solution corresponding to the changes you made.

Once you have obtained a satisfactory load flow, you need to update the model initial conditions according to the load flow solution. Click the Apply button to initialize the machine blocks of the model, as well as the initial conditions of regulators connected to the machines.

Open the Three-Phase Parallel RLC Load block connected at the B13.8 bus. As the Load type specified in the Load Flow tab is constant PQ, the nominal voltage of this block has been changed to the corresponding bus voltage of 0.98 pu. The Nominal phase-phase voltage parameter is set to (13800)*0.98.

Open the Three-Phase Dynamic Load block connected at the B25_1bus. The Initial positive-sequence voltage Vo is set to [0.998241 pu -30.2228 deg].

Note that the voltage magnitudes and angles obtained at each bus have been written as block annotations under the Load Flow Bus blocks.

Open the scope and start the simulation.

The Three-Phase Fault block has been programmed to apply a six-cycle fault at B120 bus.

Observe waveforms of SM active power, SM and ASM speeds, and PQ of DYN load, and notice that simulation starts in steady state.

Performing Load Flow Analysis at the Command Line

As an alternative to using the Load Flow tool interface to perform a load flow you can use the tool at the command line, by typing:

LF = power_loadflow('-v2','power_LFnetwork_5bus','solve')
LF = 
        model: 'power_LFnetwork_5bus'
    frequency: 60
    basePower: 100000000
    tolerance: 0.0001
          bus: [1x7 struct]
           sm: [1x1 struct]
          asm: [1x1 struct]
         vsrc: [1x1 struct]
       pqload: [1x1 struct]
      rlcload: [1x2 struct]
            H: [15x15 double]
        Ybus0: [5x5 double]
        Ybus1: [5x5 double]
       status: 'ok'
        error: ''

The power_loadflow function returns the solution in the LF structure, and the model is automatically initialized to start in steady state. You can obtain a detailed load flow report by typing:

LF = power_loadflow('-v2','power_LFnetwork_5bus','solve','report');

The function prompts you to save the report in a file that is displayed in the MATLAB editor.

For more information on how to use the power_loadflow function in your code and for detailed information on the LF structure, see the power_loadflow reference page.

Using the Phasor Solution Method for Stability Studies

Up to now, you have simulated a relatively simple power system consisting of a maximum of three machines. If you increase complexity of your network by adding extra lines, loads, transformers, and machines, the required simulation time becomes longer and longer. Moreover, if you are interested in slow electromechanical oscillation modes (typically between 0.02 Hz and 2 Hz on large systems) you might have to simulate for several tens of seconds, implying simulation times of minutes and even hours. The conventional continuous or discrete solution method is therefore not practical for stability studies involving low-frequency oscillation modes. To allow such studies, you have to use the phasor technique (see Introducing the Phasor Simulation Method).

For a stability study, we are not interested in the fast oscillation modes resulting from the interaction of linear R, L, C elements and distributed parameter lines. These oscillation modes, which are usually located above the fundamental frequency of 50 Hz or 60 Hz, do not interfere with the slow machine modes and regulator time constants. In the phasor solution method, these fast modes are ignored by replacing the network's differential equations by a set of algebraic equations. The state-space model of the network is therefore replaced by a transfer function evaluated at the fundamental frequency and relating inputs (current injected by machines into the network) and outputs (voltages at machine terminals). The phasor solution method uses a reduced state-space model consisting of slow states of machines, turbines, and regulators, thus dramatically reducing the required simulation time. Continuous variable-step solvers are very efficient in solving this type of problem. Recommended solver is ode23tb with a maximum time step of one cycle of the fundamental frequency (1/60 s or 1/50 s).

Now apply the phasor solution method to the two-machine system you have just simulated with the conventional method. Open the power_machinespower_machines example.

Double-click the Powergui, click Configure Parameters, and in the Powergui block parameters dialog box set Simulation type to Phasor. You must also specify the fundamental frequency used to solve the algebraic network equations. A default value of 60 Hz should already be entered in the Phasor frequency field. Close the Powergui and notice that the word Phasors now appears on the Powergui icon, indicating that this new method can be used to simulate your circuit. To start the simulation in steady state, you must first repeat the machine initialization procedure explained in the previous section, Machine Initialization Tool.

In the Configuration Parameters dialog box, specify a Max step size of 1/60 s (one cycle) and start the simulation.

Observe that simulation is now much faster. The results compare well with those obtained in the previous simulation. A comparison of synchronous machine and asynchronous machine signals is shown below.

Comparison of Results for Continuous and Phasor Simulation Methods

The phasor solution method is illustrated on more complex networks presented as the following examples:

  • Transient stability of two machines with power system stabilizers (PSS) and a static var compensator (SVC) (power_svc_psspower_svc_pss model)

  • Performance of three power system stabilizers for interarea oscillations (power_PSSpower_PSS model)

The first example illustrates the impact of PSS and use of a SVC to stabilize a two-machine system. The second example compares the performance of three different types of power system stabilizers on a four-machine, two-area system.

The phasor solution method is also used for FACTS models available in the factslib library. See the case studies Improve Transient Stability Using SVC and PSS and Control Power Flow Using UPFC and PST.

Was this topic helpful?