Вы находитесь на странице: 1из 442

PSAT

Power System Analysis Toolbox Documentation for PSAT version 1.3.3, January 26, 2005

Federico Milano

Copyright c 2003, 2004, 2005 Federico Milano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being all sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in Appendix K entitled GNU Free Documentation License.

Ai miei genitori

Note
PSAT is a Matlab toolbox for static and dynamic analysis and control of electric power systems. I began writing PSAT in September 2001, while I was studying as Ph.D. student at the Universit a degli Studi di Genova, Italy, and completed the rst public version in November 2002, when I was a Visiting Scholar at the University of Waterloo, Canada. I am currently maintaining PSAT in the spare time, while I am working as assistant professor at the Universidad de Castilla-La Mancha, Ciudad Real, Spain. PSAT is provided free of charge, in the hope it can be useful and other people can use and improve it, but please be aware that this toolbox comes with ABSOLUTELY NO WARRANTY; for details type warranty at the Matlab prompt. PSAT is free software, and you are welcome to redistribute it under certain conditions; for details refer to Appendix J of this documentation or type gnulicense at the Matlab prompt. PSAT is currently in a early stage of development and its features, structures and data formats may be partially or completely changed in future versions. Be sure to visit often my webpage in order to get the last version: http://thunderbox.uwaterloo.ca/~fmilano If you nd bugs or have any suggestions, please send me an e-mail at: fmilano@thunderbox.uwaterloo.ca or you can subscribe to the PSAT Forum, which is available at: http://groups.yahoo.com/groups/psatforum

Acknowledgements
I wish to thank very much Professor C. A. Ca nizares for his priceless help, teachings and advises. Thanks also for providing me a webpage and a link to my software in the main webpage of the E&CE Deparment, University of Waterloo, Canada. A special thank to Liu Lin who has xed several bugs and carefully revised many sections of this documentation. Thanks also to Alberto Del Rosso, Marcos Miranda and Jasmine for their contributions and bug reports.

Contents
I Outlines
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
3 3 6 6 7 9 9 9 10 11 12 14 14 15 15 16 16 17 19 19 19 19 20 20 20 21 21 22

1 Introduction 1.1 Overview . . . . . . . . . . . . . . 1.2 PSAT vs. Other Matlab Toolboxes 1.3 Outlines of the Manual . . . . . . . 1.4 Users . . . . . . . . . . . . . . . . . 2 Getting Started 2.1 Download . . . . . . . 2.2 Requirements . . . . . 2.3 Installation . . . . . . 2.4 Launching PSAT . . . 2.5 Loading Data . . . . . 2.6 Running the Program 2.7 Displaying Results . . 2.8 Saving Results . . . . 2.9 Settings . . . . . . . . 2.10 Network Design . . . . 2.11 Tools . . . . . . . . . . 2.12 Interfaces . . . . . . . 3 News 3.1 News 3.2 News 3.3 News 3.4 News 3.5 News 3.6 News 3.7 News 3.8 News 3.9 News

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

in in in in in in in in in

version version version version version version version version version

1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.3.0 1.3.1 1.3.2 1.3.3

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

vii

viii

CONTENTS

II

Routines
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23
25 25 25 26 27 28 28 29 35 36 36 36 37 39 39 40 41 42 47 47 48 48 49 50 51 51 52 55 55 58 61 62 64 67 67 68 68 68 71 71

4 Power Flow 4.1 Power Flow Solvers . . . . . . . . . . . 4.1.1 Newton-Raphson Method . . . 4.1.2 Fast Decoupled Power Flow . . 4.1.3 Distributed Slack Bus Model . 4.1.4 Initialization of State Variables 4.2 Settings . . . . . . . . . . . . . . . . . 4.3 Example . . . . . . . . . . . . . . . . . 5 Bifurcation Analysis 5.1 Direct Methods . . . . . . . . . . 5.1.1 Saddle-Node Bifurcation . 5.1.2 Limit Induced Bifurcation 5.2 Continuation Power Flow . . . . 5.2.1 Predictor Step . . . . . . 5.2.2 Corrector Step . . . . . . 5.2.3 N-1 Contingency Analysis 5.2.4 Graphical User Interface . 5.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Optimal Power Flow 6.1 Interior Point Method . . . . . . . . . . . . . . . 6.2 OPF Routines . . . . . . . . . . . . . . . . . . . . 6.2.1 Maximization of the Social Benet . . . . 6.2.2 Maximization of the Distance to Collapse 6.2.3 Multi-Objective Optimization . . . . . . . 6.2.4 Lagrangian Function . . . . . . . . . . . . 6.3 OPF Settings . . . . . . . . . . . . . . . . . . . . 6.4 Example . . . . . . . . . . . . . . . . . . . . . . . 7 Small Signal Stability Analysis 7.1 Small Signal Stability Analysis 7.1.1 Example . . . . . . . . . 7.2 QV Sensitivity Analysis . . . . 7.2.1 Example . . . . . . . . . 7.3 Graphical User Interface . . . . 8 Time Domain Simulation 8.1 Integration Methods . . . . . 8.1.1 Forward Euler Method 8.1.2 Trapezoidal Method . 8.2 Settings . . . . . . . . . . . . 8.3 Snapshots . . . . . . . . . . . 8.4 Disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS

ix

8.5

Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73 79 79 80 80 80 81 81 81 82 82 87 87

9 PMU Placement 9.1 Linear Static State Estimation . . . . . . 9.2 PMU Placement Rules . . . . . . . . . . . 9.3 Algorithms . . . . . . . . . . . . . . . . . 9.3.1 Depth First . . . . . . . . . . . . . 9.3.2 Graph Theoretic Procedure . . . . 9.3.3 Bisecting Search Method . . . . . 9.3.4 Recursive Security N Algorithm . . 9.3.5 Single Shot Security N Algorithm . 9.3.6 Recursive and Single-Shot Security 9.4 PMU Placement GUI and Settings . . . . 9.4.1 Example . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N-1 Algorithms . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

III

Models
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91
93 . 93 . 94 . 95 . 95 . 97 . 98 . 100 . 101 . 102 103 104 105 105 106 108

10 Power Flow Data 10.1 Bus . . . . . . . . . . . . . . . . . . 10.2 Transmission Line . . . . . . . . . . 10.3 Transformers . . . . . . . . . . . . . 10.3.1 Two-Winding Transformers . 10.3.2 Three-Winding Transformers 10.4 Slack Generator . . . . . . . . . . . . 10.5 PV Generator . . . . . . . . . . . . . 10.6 PQ Load . . . . . . . . . . . . . . . . 10.7 Shunt . . . . . . . . . . . . . . . . . 11 CPF and OPF Data 11.1 Generator Supply . . . . . 11.2 Generator Reserve . . . . 11.3 Generator Power Ramping 11.4 Load Demand . . . . . . . 11.5 Load Ramping . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

12 Faults and Breakers 111 12.1 Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 12.2 Breaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 13 Measurements 115 13.1 Bus Frequency Measurements . . . . . . . . . . . . . . . . . . . . . . 115

CONTENTS

14 Loads 14.1 Voltage Dependent Load . . . . . . . 14.2 ZIP Load . . . . . . . . . . . . . . . 14.3 Frequency Dependent Load . . . . . 14.4 Exponential Recovery Load . . . . . 14.5 Thermostatically Controlled Load . . 14.6 Note on the Use of Non-conventional 15 Machines 15.1 Synchronous Machine . . . . 15.1.1 Order II . . . . . . . . 15.1.2 Order III . . . . . . . 15.1.3 Order IV . . . . . . . 15.1.4 Order V, Type 1 . . . 15.1.5 Order V, Type 2 . . . 15.1.6 Order V, Type 3 . . . 15.1.7 Order VI . . . . . . . 15.1.8 Order VIII . . . . . . 15.2 Induction Motor . . . . . . . 15.2.1 Order I . . . . . . . . 15.2.2 Order III (single cage) 15.2.3 Order V (double cage) 16 Controls 16.1 Turbine Governor . . . . . . . 16.1.1 TG Type I . . . . . . 16.1.2 TG Type II . . . . . . 16.2 Automatic Voltage Regulator 16.2.1 AVR Type I . . . . . . 16.2.2 AVR Type II . . . . . 16.2.3 AVR Type III . . . . . 16.3 Power System Stabilizer . . . 16.3.1 Type I . . . . . . . . . 16.3.2 Type II . . . . . . . . 16.3.3 Type III . . . . . . . . 16.3.4 Type IV and V . . . . 16.4 Over Excitation Limiter . . . 16.5 Secondary Voltage Control . .

. . . . . . . . . . . . . . . . . . . . Loads

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

117 117 118 119 120 122 123 125 125 131 131 132 132 133 133 134 134 135 136 137 138 141 141 142 142 143 144 145 146 146 149 151 151 152 152 154 159 159 160 164

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

17 Regulating Transformers 17.1 Under Load Tap Changer . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Load Tap Changer With Embedded Load . . . . . . . . . . . . . . . 17.3 Phase Shifting Transformer . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS

xi

18 FACTS 18.1 SVC . . . . 18.2 TCSC . . . 18.3 STATCOM 18.4 SSSC . . . . 18.5 UPFC . . . 18.6 HVDC . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

167 168 170 172 178 179 184 191 191 192 194 195 196 196 199 204 209 209 211 212 216 221

19 Wind Turbines 19.1 Wind Models . . . . . . . . . . . . . . . . . 19.1.1 Weibull Distribution . . . . . . . . . 19.1.2 Composite Wind Model . . . . . . . 19.1.3 Measurement Data . . . . . . . . . . 19.2 Wind Turbines . . . . . . . . . . . . . . . . 19.2.1 Constant Speed Wind Turbine . . . 19.2.2 Doubly Fed Induction Generator . . 19.2.3 Direct Drive Synchronous Generator 20 Other Models 20.1 Dynamic Shaft . . . . . . . . . . . 20.2 RLC Series Circuit . . . . . . . . . 20.3 Sub-synchronous Resonance Model 20.4 Solid Oxide Fuel Cell . . . . . . . . 20.5 Sub-tramsmission Area Equivalents . . . . . . . . . . . . . . . . . . . . . . . . .

IV

CAD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

227
229 229 229 237 237 240 245 245 246 248 248 248 248 249 250 250 250

21 Network Design 21.1 Simulink Library . . . . . . . . . . . . 21.2 Simulink PMC Library . . . . . . . . . 21.3 Extracting Data from Simulink Models 21.4 Displaying Results in Simulink Models 21.5 Examples . . . . . . . . . . . . . . . . 22 Block Usage 22.1 Block Connections . . . . . . . . . . 22.2 Standard Blocks . . . . . . . . . . . 22.3 Nonstandard Blocks . . . . . . . . . 22.3.1 Buses . . . . . . . . . . . . . 22.3.2 Goto and From Blocks . . . . 22.3.3 Links . . . . . . . . . . . . . 22.3.4 Breakers . . . . . . . . . . . . 22.3.5 Power Supplies and Demands 22.3.6 Generator Ramping . . . . . 22.3.7 Generator Reserves . . . . . . . . . . . . . . . .

xii

CONTENTS

22.3.8 Non-conventional Loads . . . 22.3.9 Synchronous Machines . . . . 22.3.10 Primary Regulators . . . . . 22.3.11 Secondary Voltage Regulation 22.3.12 Under Load Tap Changers . . 22.3.13 SVCs . . . . . . . . . . . . . 22.3.14 Solid Oxide Fuel Cells . . . . 22.3.15 Dynamic Shafts . . . . . . . . 23 Block Masks 23.1 Blocks vs. Global Structures . . . . 23.2 Editing Block Masks . . . . . . . . . 23.2.1 Mask Initialization . . . . . . 23.2.2 Mask Icon . . . . . . . . . . . 23.2.3 Mask Documentation . . . . 23.3 Syntax of Mask Parameter Names . 23.4 Remarks on Creating Custom Blocks

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

250 252 253 253 255 255 255 256 259 259 260 260 262 264 264 265

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

Tools

269
271 273 273 273 275 278 279 279 281 281 281 281 281 282 287 287 290 291 292

24 Data Format Conversion 25 User Dened Models 25.1 Installing and Removing Models 25.2 Creating a User Dened Model . 25.2.1 Component Settings . . . 25.2.2 State Variable Settings . . 25.2.3 Parameter Settings . . . . 25.3 Limitations . . . . . . . . . . . . 26 Utilities 26.1 Command History . . . . . 26.2 Sparse Matrix Visualization 26.3 Themes . . . . . . . . . . . 26.4 Text Viewer . . . . . . . . . 26.5 Building p-code Archive . . 27 Command Line Usage 27.1 Basics . . . . . . . . . . 27.2 Advanced Usage . . . . 27.3 Command Line Options 27.4 Example . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

CONTENTS

xiii

28 Running PSAT on GNU 28.1 Basic Commands . . . 28.2 Plot Variables . . . . . 28.3 ToDos . . . . . . . . .

Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

295 296 296 298

VI

Interfaces
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

299
301 301 302 302 303 305 311 311 312 312 314

29 GAMS Interface 29.1 Getting Started . . . . 29.2 GAMS Solvers . . . . 29.3 PSAT-GAMS Interface 29.4 PSAT-GAMS Models . 29.5 Example . . . . . . . .

30 UWPFLOW Interface 30.1 Getting Started . . . . . 30.2 Graphical User Interface 30.3 Limitations and ToDos . 30.4 Example . . . . . . . . .

VII

Libraries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

319
321 321 322 323 323 324 327

31 Numeric Linear Analysis 31.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.1 Comparison of state matrices . . . . . . . . . . . . 31.2.2 Results for a change of an exciter reference voltage 31.2.3 Results for a change of governor reference speeds . 31.2.4 Results for a change of a SVC reference voltage . .

VIII

Appendices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

331
333 333 337 339 345 345 347 349 350 353

A Global Structures A.1 General Settings . . . . . . . . A.2 Other Settings . . . . . . . . . A.3 System Properties and Settings A.4 Outputs and Variable Names . A.5 User Dened Models . . . . . . A.6 Models . . . . . . . . . . . . . . A.7 Command Line Usage . . . . . A.8 Interfaces . . . . . . . . . . . . B Matlab Functions

xiv

CONTENTS

C Other Files and Folders D Third Party Matlab Code E Data Formats F Test System Data F.1 3-bus Test System F.2 6-bus Test System F.3 9-bus Test System F.4 14-bus Test System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

361 365 367 369 369 370 371 374 377 377 379 380 381 381 382 383 385

G FAQs G.1 Getting Started . . . . . . . . . . . . G.2 Simulink Library . . . . . . . . . . . G.3 Power Flow . . . . . . . . . . . . . . G.4 Optimal & Continuation Power Flow G.5 Time Domain Simulation . . . . . . G.6 Data Conversion . . . . . . . . . . . G.7 Interfaces . . . . . . . . . . . . . . . H PSAT Forum I

References to PSAT 389 I.1 Journals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 I.2 Conference Proceedings . . . . . . . . . . . . . . . . . . . . . . . . . 389 391 401 408 416

J GNU Lesser General Public License K GNU Free Documentation License Bibliography Index

List of Figures
1.1 1.2 2.1 4.1 4.2 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.1 6.2 7.1 7.2 7.3 7.4 8.1 8.2 8.3 8.4 8.5 8.6 8.7 9.1 PSAT at a glance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . PSAT around the world. . . . . . . . . . . . . . . . . . . . . . . . . . Main graphical user interface of PSAT. . . . . . . . . . . . . . . . . . GUI for general settings. . . . . . . . . . . . . . . . . . . . . . . . . . GUI for displaying power ow results. . . . . . . . . . . . . . . . . . GUI for saddle-node bifurcation settings. . . . . . . . GUI for limit-induced bifurcation settings. . . . . . . Continuation Power Flow: tangent vector . . . . . . Continuation Power Flow: perpendicular intersection Continuation Power Flow: local parametrization . . GUI for the continuation power ow settings. . . . . GUI for plotting CPF results. . . . . . . . . . . . . . Nose curves for the 6-bus test system (LIB) . . . . . Nose curves for the 6-bus test system (SNB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8 13 29 30 37 38 39 40 41 42 43 44 45 52 54 57 57 63 65 69 70 71 74 75 76 77 81

GUI for the optimal power ow. . . . . . . . . . . . . . . . . . . . . GUI for plotting OPF Pareto sets. . . . . . . . . . . . . . . . . . . . Eigenvalue Analysis: S -domain. . . . . . . Eigenvalue Analysis: Z -domain. . . . . . . Eigenvalue Analysis: QV sensitivity. . . . GUI for the small signal stability analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Time domain integration block diagram. . . . . . GUI for general settings. . . . . . . . . . . . . . . Snapshot GUI. . . . . . . . . . . . . . . . . . . . GUI for plotting time domain simulations. . . . . Generator speeds for the 9-bus test system. . . . Generator rotor angles for the 9-bus test system. Bus voltages for the 9-bus test system. . . . . . .

PMU placement rules. . . . . . . . . . . . . . . . . . . . . . . . . . . xv

xvi

LIST OF FIGURES

9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11

Flowchart of the Graph Theoretic Procedure. . . . . Flowchart of the Bisecting Search. . . . . . . . . . . Pseudo-code of the simulated Annealing Algorithm. Recursive N Security Method. . . . . . . . . . . . . . Search of alternative placement sets. . . . . . . . . . Pure transit node ltering. . . . . . . . . . . . . . . . Single-Shot N Security Method. . . . . . . . . . . . . Recursive N-1 Security Method. . . . . . . . . . . . . Single Shot N-1 Security Method. . . . . . . . . . . . GUI for the PMU placement methods. . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

82 83 84 85 85 85 86 87 88 89 95 98

10.1 Transmission line circuit. . . . . . . . . . . . . . . . . . . . . . . . 10.2 Three-winding transformer equivalent circuit. . . . . . . . . . . . . .

13.1 Bus frequency measurement lter. . . . . . . . . . . . . . . . . . . . 115 14.1 Measure of frequency deviation. . . . . . . . . . . . . . . . . . . . . . 120 14.2 Thermostatically controlled load. . . . . . . . . . . . . . . . . . . . . 122 15.1 15.2 15.3 15.4 15.5 15.6 Synchronous machine scheme. . . . . . . . . . . . . . . . Synchronous machine: block diagram of stator uxes. . Field saturation characteristic of synchronous machines. Order I induction motor: electrical circuit. . . . . . . . . Order III induction motor: electrical circuit. . . . . . . . Order V induction motor: electrical circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 127 128 138 138 139 142 143 145 147 148 151 151 152 153 153 155 156 161 161 163 164 165

16.1 Turbine governor type I. . . . . . . 16.2 Turbine governor type II. . . . . . 16.3 Exciter Type I. . . . . . . . . . . . 16.4 Exciter Type II. . . . . . . . . . . 16.5 Exciter Type III. . . . . . . . . . . 16.6 Power system stabilizer Type I. . . 16.7 Power system stabilizer Type II. . 16.8 Power system stabilizer Type III. . 16.9 Power system stabilizer Type IV. . 16.10Power system stabilizer Type V. . 16.11Over excitation limiter. . . . . . . 16.12Secondary voltage control scheme. 17.1 17.2 17.3 17.4 17.5

Under Load Tap Changer: equivalent circuit. . . . . . . . . . Under Load Tap Changer: voltage and reactive power controls. Load Tap Changer with embedded load. . . . . . . . . . . . . . Phase shifting transformer circuit. . . . . . . . . . . . . . . . . Phase shifting transformer control scheme. . . . . . . . . . . . .

18.1 SVC Type 1 Regulator. . . . . . . . . . . . . . . . . . . . . . . . . . 168 18.2 SVC Type 2 Regulator. . . . . . . . . . . . . . . . . . . . . . . . . . 169

LIST OF FIGURES

xvii

18.3 TCSC Type 1 & Type 2 Regulators. . . . . . . . . . . . . 18.4 STATCOM circuit. . . . . . . . . . . . . . . . . . . . . . . 18.5 STATCOM voltage control block diagram. . . . . . . . . . 18.6 STATCOM amplitude and phase control block diagrams. 18.7 SSSC circuit. . . . . . . . . . . . . . . . . . . . . . . . . . 18.8 SSSC control block diagrams. . . . . . . . . . . . . . . . . 18.9 UPFC circuit. . . . . . . . . . . . . . . . . . . . . . . . . . 18.10UPFC shunt control block diagrams. . . . . . . . . . . . . 18.11UPFC series dq control block diagrams. . . . . . . . . . . 18.12HVDC current control. . . . . . . . . . . . . . . . . . . . . 19.1 19.2 19.3 19.4 19.5 19.6 20.1 20.2 20.3 20.4 20.5 20.6 20.7 Low-pass lter for smoothing wind speed variations. Wind turbine types . . . . . . . . . . . . . . . . . . . Rotor speed control scheme. . . . . . . . . . . . . . . Voltage control scheme. . . . . . . . . . . . . . . . . Power-speed characteristic. . . . . . . . . . . . . . . Pitch angle control scheme. . . . . . . . . . . . . . . Synchronous machine mass-spring shaft model. . . . Dynamic phasor circuit types. . . . . . . . . . . . . . Generator with dynamic shaft and compensated line. Solid Oxide Fuel Cell scheme. . . . . . . . . . . . . . Solid Oxide Fuel Cell connection with the AC grid. . AC voltage control for the Solid Oxide Fuel Cell. . . Sub-transmission equivalent area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

172 175 175 176 180 180 184 185 185 188 192 197 202 203 203 203 210 213 214 219 221 221 224 230 230 231 232 232 232 233 233 234 234 235 236 236 237 238 239 240 241 242 243

21.1 Simulink library: Main Window. . . . . . . . . . . . . . . . . 21.2 Simulink library: Connections. . . . . . . . . . . . . . . . . . 21.3 Simulink library: Power Flow data. . . . . . . . . . . . . . . . 21.4 Simulink library: OPF & CPF data. . . . . . . . . . . . . . . 21.5 Simulink library: Faults & Breakers. . . . . . . . . . . . . . . 21.6 Simulink library: Measurements. . . . . . . . . . . . . . . . . 21.7 Simulink library: Loads. . . . . . . . . . . . . . . . . . . . . . 21.8 Simulink library: Machines. . . . . . . . . . . . . . . . . . . . 21.9 Simulink library: Regulators. . . . . . . . . . . . . . . . . . . 21.10Simulink library: Regulating Transformers. . . . . . . . . . . 21.11Simulink library: FACTS controllers. . . . . . . . . . . . . . . 21.12Simulink library: Wind Turbines. . . . . . . . . . . . . . . . . 21.13Simulink library: Other models. . . . . . . . . . . . . . . . . . 21.14Simulink library: Subtransmission equivalent areas. . . . . . . 21.15Simulink PMC library. . . . . . . . . . . . . . . . . . . . . . . 21.16Simulink PMC library (with SimPowerSystems). . . . . . . . 21.17GUI for Simulink model settings. . . . . . . . . . . . . . . . . 21.18Simulink model of the WSCC 3-generator 9-bus test system. . 21.19Simulink model of the IEEE 14-bus test system. . . . . . . . 21.20Simulink model of the 6-bus test system. . . . . . . . . . . . .

xviii

LIST OF FIGURES

22.1 Examples of standard blocks of the PSAT Simulink Library. 22.2 Examples of allowed connections. . . . . . . . . . . . . . . . . 22.3 Examples of not allowed connections. . . . . . . . . . . . . . . 22.4 Examples of allowed but infeasible connections. . . . . . . . . 22.5 Bus block usage. . . . . . . . . . . . . . . . . . . . . . . . . . 22.6 Goto and From block usage. . . . . . . . . . . . . . . . . . . . 22.7 Breaker block usage. . . . . . . . . . . . . . . . . . . . . . . . 22.8 Supply and Demand block usage. . . . . . . . . . . . . . . . . 22.9 Generator Ramping block usage. . . . . . . . . . . . . . . . . 22.10Generator Reserve block usage. . . . . . . . . . . . . . . . . . 22.11Non-conventional Load block usage. . . . . . . . . . . . . . . 22.12Synchronous Machine block usage. . . . . . . . . . . . . . . . 22.13Primary Regulator block usage. . . . . . . . . . . . . . . . . . 22.14Secondary Voltage Regulation block usage. . . . . . . . . . . 22.15Under Load Tap Changer block usage. . . . . . . . . . . . . . 22.16SVC block usage. . . . . . . . . . . . . . . . . . . . . . . . . . 22.17Solid Oxide Fuel Cell block usage. . . . . . . . . . . . . . . . 22.18Dynamic Shaft block usage. . . . . . . . . . . . . . . . . . . . 23.1 23.2 23.3 23.4 23.5 23.6 Simulink blocks vs. PSAT global structures . . . . . Mask GUI of a PSAT-Simulink block. . . . . . . . . . Mask initialization GUI for a PSAT-Simulink block. . Mask icon GUI of a PSAT-Simulink block. . . . . . . Mask documentation GUI of a PSAT-Simulink block. Simulink model underneath a mask of a PSAT block. . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

246 247 247 247 248 249 249 250 251 251 252 253 254 254 255 256 256 257 260 261 262 263 264 267

24.1 GUI for data format conversion. 25.1 25.2 25.3 25.4 25.5 26.1 26.2 26.3 26.4 26.5

. . . . . . . . . . . . . . . . . . . . 272 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 275 276 277 278 282 283 284 284 285

Browser of user dened models. . . . . . GUI for creating user dened models. . GUI for setting component properties. . GUI for setting state variable properties. GUI for setting parameters properties. . Command history GUI. . . . . . . . GUI for sparse matrix visualization. GUI for PSAT theme selection. . . . GUI for text viewer selection. . . . . GUI for p-code archive builder. . . . . . . . . . . . . .

27.1 Master-slave architecture. . . . . . . . . . . . . . . . . . . . . . . . . 290 28.1 Example of graph obtained using GNU/Octave and gplot. . . . . . . 297 29.1 Structure of the PSAT-GAMS interface. . . . . . . . . . . . . . . . . 303 29.2 GUI of the PSAT-GAMS interface. . . . . . . . . . . . . . . . . . . . 304 29.3 PSAT-Simulink model of the three-bus example. . . . . . . . . . . . 308

LIST OF FIGURES

xix

30.1 GUI of the PSAT-UWPFLOW interface. . . . . . . . . . . . . . . . . 313 30.2 UWPFLOW nose curves for the 6-bus test systems. . . . . . . . . . 318 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 F.1 F.2 F.3 F.4 Comparison of voltages at buses 6 and 7. . . . Comparison of reactive powers ows in lines 2-7 Comparison of active powers ows in line 2-7. . Comparison of rotor speeds. . . . . . . . . . . . Detail of the comparison of rotor speeds. . . . . Comparison of active powers ows in line 2-7. . Comparison of SVC state variables. . . . . . . . Comparison of voltages at bus 8. . . . . . . . . 3-bus test system. . . . . . . . . . . . 6-bus test system. . . . . . . . . . . . WSCC 3-generator 9-bus test system. IEEE 14-bus test system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . and 6-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 325 326 328 328 329 330 330 370 372 374 376

H.1 PSAT Forum main page . . . . . . . . . . . . . . . . . . . . . . . . . 386 H.2 PSAT Forum statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 387

List of Tables
1.1 5.1 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.1 11.2 11.3 11.4 11.5 Matlab-based packages for power system analysis . . . . . . . . . . . N-1 Contingency Analysis Report . . . . . . . . . . . . . . . . . . . . Bus Data Format . . . . . . . . . Line Data Format . . . . . . . . Alternative Line Data Format . . Transformer Data Format . . . . Three-Winding Transformer Data Slack Generator Data Format . . PV Generator Data Format . . . PQ Load Data Format . . . . . . Shunt Admittance Data Format . . . . . . . . . . . . . . . . . . . . . Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 46

. 93 . 96 . 96 . 97 . 99 . 99 . 101 . 102 . 102 . . . . . 105 106 107 108 109

Power Supply Data Format . . . . . . . Power Reserve Data Format . . . . . . . Generator Power Ramping Data Format Power Demand Data Format . . . . . . Load Ramping Data Format . . . . . . .

12.1 Fault Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 12.2 Breaker Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.1 Bus Frequency Measurement Data Format . . . . . . . . . . . . . . . 116 14.1 14.2 14.3 14.4 14.5 14.6 Voltage Dependent Load Data Format . . . . . ZIP Load Data Format . . . . . . . . . . . . . . Frequency Dependent Load Data Format . . . Typical load coecients . . . . . . . . . . . . . Exponential Recovery Load Data Format . . . Thermostatically Controlled Load Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 119 120 121 121 123

15.1 Synchronous Machine Data Format . . . . . . . . . . . . . . . . . . . 130 15.2 Reference table for synchronous machine parameters. . . . . . . . . . 131 15.3 Induction Motor Data Format . . . . . . . . . . . . . . . . . . . . . . 137 xxi

xxii

LIST OF TABLES

16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9

Turbine Governor Type I Data Format . Turbine Governor Type II Data Format Exciter Type I Data Format . . . . . . . Exciter Type II Data Format . . . . . . Exciter Type III Data Format . . . . . . Power System Stabilizer Data Format . Over Excitation Limiter Data Format . Central Area Controller Data Format . Cluster Controller Data Format . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

143 144 146 147 148 150 155 157 158

17.1 Load Tap Changer Data Format . . . . . . . . . . . . . . . . . . . . 162 17.2 Tap Changer with Embedded Load Data Format . . . . . . . . . . . 163 17.3 Phase Shifting Transformer Data Format . . . . . . . . . . . . . . . 165 18.1 18.2 18.3 18.4 18.5 18.6 18.7 19.1 19.2 19.3 19.4 19.5 19.6 20.1 20.2 20.3 20.4 20.5 20.6 SVC Type 1 Data Format SVC Type 2 Data Format TCSC Data Format . . . STATCOM Data Format SSSC Data Format . . . . UPFC Data Format . . . HVDC Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 170 173 177 181 186 189 193 195 196 200 204 207 211 213 217 220 225 226

Wind Speed Data Format . . . . . . . . . . . . . . Roughness length for various ground surfaces . . . Recent wind turbines . . . . . . . . . . . . . . . . . Constant Speed Wind Turbine Data Format . . . . Doubly Fed Induction Generator Data Format . . Direct Drive Synchronous Generator Data Format Dynamic Shaft Data Format . . . . . . . . . RLC Circuit Data Format . . . . . . . . . . . SSR Data Format . . . . . . . . . . . . . . . . Solid Oxide Fuel Cell Data Format . . . . . . Sub-transmission Area (2 loads) Data Format Sub-transmission Area (3 loads) Data Format . . . . . . . . . . . . . . . . . .

23.1 Mask parameter symbols . . . . . . . . . . . . . . . . . . . . . . . . . 265 23.2 Example of well formed mask variable names . . . . . . . . . . . . . 265 23.3 Mask parameter constants . . . . . . . . . . . . . . . . . . . . . . . . 266 25.1 Functions and les to be modied for installing a UDM . . . . . . . 274 27.1 Routine Conventional Names for Command Line Usage. . . . . . . . 289 27.2 General Options for Command Line Usage. . . . . . . . . . . . . . . 290 27.3 Structures to be modied for changing default behavior. . . . . . . . 291 29.1 PSAT IPM-based OPF report for the three-bus test system. . . . . . 306

LIST OF TABLES

xxiii

29.2 29.3 29.4 29.5 30.1 30.2 30.3 30.4

PSAT-GAMS OPF report for the three-bus test system. Input le psatglobs.gms for the three-bus test system. Input le psatdata.gms for the three-bus test system. . Output le psatsol.m for the three-bus test system. . . IEEE CDF le to be used within UWPFLOW . . . . UWPFLOW power ow results . . . . . . . . . . . . . Input le for dening power directions in UWPFLOW UWPFLOW output le with CPF results . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

307 308 309 310 315 316 317 317

31.1 State matrix eigenvalues for the 9-bus test system

. . . . . . . . . . 323

Part I

Outlines

Chapter 1

Introduction
This chapter provides an overview of PSAT features and a comparison with other Matlab toolboxes for power system analysis. The outlines of this documentation and a list of PSAT users around the world are also reported.

1.1

Overview

PSAT is a Matlab toolbox for electric power system analysis and control. The command line version of PSAT is also GNU Octave compatible. PSAT includes power ow, continuation power ow, optimal power ow, small signal stability analysis and time domain simulation. All operations can be assessed by means of graphical user interfaces (GUIs) and a Simulink-based library provides an user friendly tool for network design. PSAT core is the power ow routine, which also takes care of state variable initialization. Once the power ow has been solved, further static and/or dynamic analysis can be performed. These routines are: 1. Optimal power ow; 2. Continuation Power ow; 3. Small signal stability analysis; 4. Time domain simulations; 5. Phasor measurement unit (PMU) placement. In order to perform accurate power system analysis, PSAT supports a variety of static and dynamic component models, as follows: Power Flow Data: Bus bars, transmission lines and transformers, slack buses, PV generators, constant power loads, and shunt admittances. CPF and OPF Data: Power supply bids and limits, generator power reserves, generator ramping data, and power demand bids and limits. 3

1 Introduction

Switching Operations: Transmission line faults and transmission line breakers. Measurements: Bus frequency measurements. Loads: Voltage dependent loads, frequency dependent loads, ZIP (impedance, constant current and constant power) loads, exponential recovery loads [Hill 1993, Karlsson and Hill 1994], and thermostatically controlled loads [Hirsch 1994]. Machines: Synchronous machines (dynamic order from 2 to 8) and induction motors (dynamic order from 1 to 5). Controls: Turbine Governors, Automatic Voltage Regulators, Power System Stabilizer, Over-excitation limiters, and Secondary Voltage Regulation (Central Area Controllers and Cluster Controllers). Regulating Transformers: Load tap changer with voltage or reactive power regulators and phase shifting transformers. FACTS: Static Var Compensators, Thyristor Controlled Series Capacitors, Static Synchronous Source Series Compensators, Unied Power Flow Controllers, and High Voltage DC transmission systems. Wind Turbines: Wind models, Constant speed wind turbine with squirrel cage induction motor, variable speed wind turbine with doubly fed induction generator, and variable speed wind turbine with direct drive synchronous generator. Other Models: Synchronous machine dynamic shaft, dynamic phasor RLC series circuit, sub-synchronous resonance model, Solid Oxide Fuel Cell, and subtransmission area equivalents. Besides mathematical routines and models, PSAT includes a variety of utilities, as follows: 1. Simulink library for drawing networks; 2. GUIs for settings system and routine parameters; 3. User dened model construction and installation; 4. GUI for plotting results; 5. Filters for converting data to and from other formats; 6. Command logs. Finally, PSAT includes bridges to GAMS and UWPFLOW programs, which highly extend PSAT ability of performing optimization and continuation power ow analysis. Figure 1.1 depicts the structure of PSAT.

Input

Simulink Models

Other Data Format Saved Results Data Files

Simulink Library

PSfrag replacements

Simulink Model Conversion

Power Flow & State Variable Initialization

Conversion Utilities

Settings

User Dened Models

Interfaces GAMS Static Analysis Optimal PF Continuation PF UWpow PMU Placement Time Domain Simulation Dynamic Analysis Small Signal Stability

PSAT

Command History

Plotting Utilities

Output

Text Output

Save Results

Graphic Output

Figure 1.1: PSAT at a glance.

1 Introduction

Table 1.1: Matlab-based packages for power system analysis Package PF CPF OPF SSSA TDS EMT GUI CAD EST MatEMTP Matpower PAT PSAT PST SPS VST

1.2

PSAT vs. Other Matlab Toolboxes

Table 1.1 depicts a rough comparison of the currently available Matlab-based software packages for power electric system analysis. These are: 1. Educational Simulation Tool (EST) [Vournas et al. 2004]; 2. MatEMTP [Mahseredjian and Alvarado 1997]; 3. Matpower [Zimmerman and Gan 1997]; 4. Power System Toolbox (PST) [Chow and Cheung 1992, Chow 1991-1999, Chow 1991-1997] 5. Power Analysis Toolbox (PAT) [Schoder et al. 2003]; 6. SimPowerSystems (SPS) [Sybille 2004];1 7. Voltage Stability Toolbox (VST) [Chen et al. 1996, Nwankpa 2002]. The features illustrated in the table are standard power ow (PF), continuation power ow and/or voltage stability analysis (CPF-VS), optimal power ow (OPF), small signal stability analysis (SSSA) and time domain simulation (TDS) along with some aesthetic features such as graphical user interface (GUI) and graphical network construction (CAD).

1.3

Outlines of the Manual

This documentation is divided in seven parts, as follows. Part I provides an introduction to PSAT features and a quick tutorial. Part II describes the routines and algorithms for power system analysis.
1 Since

Matlab Release 13, SimPowerSystems has replaced the Power System Blockset package.

1.4 Users

Part III illustrates models and data formats of all components included in PSAT. Part IV describes the Simulink library for designing network and provides hints for the correct usage of Simulink blocks. Part V provides a brief description of the tools included in the toolbox. Part VI presents PSAT interfaces for GAMS and UWPFLOW programs. Part VII illustrates functions and libraries contributed by PSAT users. Part VIII depicts a detailed description of PSAT global structures, functions, along with test system data and frequent asked questions. The GNU Lesser General Public License and the GNU Free Documentation License are also reported in this part.

1.4

Users

PSAT is currently used in several countries. These include: Algery, Argentina, Australia, Brasil, Canada, Chile, China, Colombia, Croatia, Czech Republic, Egypt, France, Great Britain, Greece, Guatemala, Hong Kong, India, Indonesia, Iran, Italy, Japan, Korea, Costa Rica, Macedonia, Malaysia, Mexico, Nederlands, New Zealand, Nigeria, Norway, Per u, Philippines, Poland, Puerto Rico, Romania, Spain, Slovenia, South Africa, Sudan, Sweden, Taiwan, Thailand, Turkey, Uruguay, USA, Venezuela, and Vietnam. Figure 1.2 depicts PSAT users around the world.

PSAT users

PSfrag replacements

Figure 1.2: PSAT around the world.

Chapter 2

Getting Started
This chapter explains how to download, install and run PSAT. The structure of the toolbox and a brief description of its main features are also presented.

2.1

Download

PSAT can be downloaded at: http://thunderbox.uwaterloo.ca/~fmilano or following the link available at: http://www.power.uwaterloo.ca The link and the web-page are kindly provided by Prof. Claudio A. Ca nizares, who has been my supervisor for 16 months (September 2001-December 2002), when I was a Visiting Scholar at the E&CE of the University of Waterloo, Canada.

2.2

Requirements

PSAT 1.3.3 has been developed using Matlab 6.5.0.180913a (R13) and 7.0.0.19901 (R14) on Fedora Linux Core 2 for i686. It has also been tested on a Sun workstation (Solaris 2.8), Irix 6.5, Mac OS X 10 and Windows 2000 and XP platforms. PSAT should properly work also with the previous Matlab versions 6.5 (R13), 6.1 (R12.1), 6.0 (R12), and 5.3 (R11).1 Because of the compatibility issue, some of the latest features of the current Matlab release 6.5 are not used or, when used, are disabled when PSAT runs under older Matlab versions. This is the case of some
1 Less commonly used PSAT functions can still contain calls to built-in functions which where not present in Matlab versions older than 6.5. Please report all inconsistencies in order to x these bugs.

10

2 Getting Started

built-in functions (e.g. uigetdir) and Perl modules.2 Furthermore, the interfaces with GAMS and UWPFLOW programs can be used only with Matlab 6.5. In order to run PSAT, only the basic Matlab and Simulink packages are needed, except for compiling user dened models, which requires the Symbolic Toolbox. The command line version of PSAT will work on GNU Octave as well. In particular, the main PSAT routines and component models have been tested using version 2.1.56 and the version 12-02-2004 of the octave-forge package on Fedora Linux Core 2 for i686.3

2.3

Installation

First extract the zipped les from the distribution tarball. On Unix or Unix-like environment, make sure the current path points at the folder where you downloaded the PSAT tarball and type at the terminal prompt: $ gunzip psat-pcode-1.x.y.tar.gz $ tar xvf psat-pcode-1.x.y.tar or: $ tar zxvf psat-pcode-1.x.y.tar or, if the distribution archive comes in the zip format: $ unzip psat-pcode-1.x.y.zip where x and y are the current PSAT patch numbers. This will create in the working directory a psat folder which contains all p-code les and all necessary directories. On a Windows platform, use WinZip or similar program to unpack the PSAT tarball. Most recent releases of Windows zip programs automatically supports gunzip and tar compression and archive formats. Some of these programs (e.g. WinZip) ask for creating a temporary directory where to expand the tar le. If this is the case, just accept it and extract the PSAT package. It is ne overwriting a previous version of PSAT (unless you made changes and/or replaced les!). Then open Matlab. Before you can run PSAT you need to update your Matlab path, i.e. the list of folders where Matlab looks for functions and scripts. You may proceed in one of the following ways: 1. Open the GUI available at the menu File/Set Path of the main Matlab window. Then type or browse the PSAT folder and save the session. Note that on some Unix platforms, it is not allowed to overwrite the pathdef.m le and you will be requested to write a new pathdef.m in a writable location. If this is the case, save it in a convenient folder but remember to start future Matlab session from that folder in order to make Matlab to use your custom path list.
2 Perl lters for data le conversion can be used only with Matlab 6.5. Older Matlab les such as fm cdf.m are still included in the PSAT distribution but will be no longer maintained. 3 Refer to Chapter 28 for further information on PSAT usage on GNU Octave.

2.4 Launching PSAT

11

2. If you started Matlab with the -nojvm option, you cannot launch the GUI from the main window menu. In this case, use the addpath function, which will do the same operation but at the Matlab prompt. For example: >> addpath /home/username/psat

or: >> addpath c:\Document and Settings\username\psat

For further information, refer to the on-line documentation of the function addpath or the Matlab documentation for help. 3. Change the current Matlab working directory to the PSAT folder and launch PSAT from there. This works since PSAT checks the current Matlab path list denition when it is launched. If PSAT does not nd itself in the list, it will use the addpath function as in the previous point. Using this PSAT feature does not always guarantee that the Matlab path list is properly updated and is not recommended. However, this solution is the best choice in case you wish maintaining dierent PSAT versions in dierent folders. Just be sure that in your pathdef.m le there is no PSAT folder. You should also update the Matlab path or restart Matlab anytime you want to work with a dierent PSAT version. 4. If you have an older version of PSAT on your computer and this version is working ne, just expand the PSAT tarball on top of it. Then launch PSAT as usual.

Note 1: PSAT will not work properly if the Matlab path does not contain the PSAT folder. Note 2: PSAT makes use of four internal folders (images, build, themes, and filters). It is recommended not to change the position and the names of these folders. Observe that PSAT can work properly only if the current Matlab folder and the data le folders are writable. Furthermore, also the PSAT folder should be writable if you want to build and install user dened components.

2.4
>> psat

Launching PSAT

After setting the PSAT folder in the Matlab path, type from the Matlab prompt:

12

2 Getting Started

This will create all the structures required by the toolbox, as follows:4 >> who Your variables are: Algeb Breaker Bus Buses Busfreq CPF Cac Cluster Comp Cswt DAE Ddsg Demand Dfig Exc Fault Fig File Fl GAMS Hdl History Hvdc Initl LIB Line Lines Exload Ltc Mass Mn Mot OPF Oxl PQ PV Param Path Phs Pl Pss RLC Rmpg Rmpl Rsrv SAE1 SAE2 SAE3 SNB SSR SW Servc Settings Shunt Snapshot Sofc Source Sssc Statcom State Supply Svc Syn Tap Tcsc Tg Theme Thload Twt UWPFLOW Upfc Varname Varout Vltn Wind Ypdp ans jay

and will open the main user interface window5 which is depicted in Fig. 2.1. All modules and procedures can be launched from this window by means of menus, push buttons and/or shortcuts.

2.5

Loading Data

Almost all operations require that a data le is loaded. The name of this le is always displayed in the edit text Data File of the main window. To load a le simply double click on this edit text, or use the rst button of the tool-bar, the menu File/Open/Data File or the shortcut <Ctr-d> when the main window is active. The data le can be either a .m le in PSAT format or a Simulink model created with the PSAT library. If the source is in a dierent format supported by the PSAT format conversion utility, rst perform the conversion in order to create the PSAT data le. It is also possible to load results previously saved with PSAT by using the second button from the left of the tool-bar, the menu File/Open/Saved System or the shortcut <Ctr-y>. To allow portability across dierent computers, the .out les used for saving system results include also the original data which can be saved in a new .m data le. Thus, after loading saved system, all operations are allowed, not only the visualization of results previously obtained. There is a second class of les that can be optionally loaded, i.e. perturbation or disturbance les. These are actually Matlab functions and are used for setting
4 By default, all variables previously initialized in the workspace are cleared. If this is not desired, just comment or remove the clear all statement at the beginning of the script le psat.m. 5 This window should always be present during all operations. If it is closed, it can be launched again by typing fm main at the prompt. In this way, all data and global variables are preserved.

Figure 2.1: Main graphical user interface of PSAT.

13

14

2 Getting Started

independent variables during time domain simulations (refer to Chapter 8 for details). In order to use the program, it is not necessary to load a perturbation le, not even for running a time domain simulation.

2.6

Running the Program

Setting a data le does not actually load or update the component structures. To do this, one has to run the power ow routine, which can be launched in several ways from the main window (e.g. by the shortcut <Ctr-p>). Refer to Chapter 4 for details. The last version of the data le is read each time the power ow is performed. The data are updated also in case of changes in the Simulink model originally loaded. Thus it is not necessary to load again the le every time it is modied. After solving the rst power ow, the program is ready for further analysis, such as Continuation Power Flow (Chapter 5), Optimal Power Flow (Chapter 6), Small Signal Stability Analysis (Chapter 7), Time Domain Simulation (Chapter 8), PMU placement (Chapter 9), etc. Each of these procedures can be launched from the tool-bar or the menu-bar of the main window.

2.7

Displaying Results

Results can be generally displayed in more than one way, either by means of a graphical user interface in Matlab or as a ascii text le. For example power ow results, or whatever is the actual solution of the power ow equations of the current system, can be inspected with a GUI (in the main window, look for the menu View/Static Report or use the shortcut <Ctr-v>). Then, the GUI allows to save the results in a text le. The small signal stability and the PMU placement GUIs have similar behaviors. Other results requiring a graphical output, such as continuation power ow results, multi-objective power ow computations or time domain simulations, can be depicted and saved in .eps les with the plotting utilities (in the main window, look for the menu View/Plotting Utilities or use the shortcut <Ctr-w>). Refer to the chapters where these topics are discussed for details and examples. Some computations and several user actions result also in messages stored in the History structure. These messages/results are displayed one at the time in the static text banner at the bottom of the main window. By double clicking on this banner or using the menu Options/History a user interface will display the last messages. This utility can be useful for debugging data errors or for checking the performances of the procedures.6
6 All errors displayed in the command history are not actually errors of the program, but are due to wrong sequence of operations or inconsistencies in the data. On the other hand, errors and warnings that are displayed on the Matlab prompt are more likely bugs and it would be of great help if you could report these errors to me whenever you encounter one.

2.8 Saving Results

15

2.8

Saving Results

At any time the menu File/Save/Current System or the shortcut <Ctr-a> can be invoked for saving the actual system status in a .mat le. All global structures used by PSAT are stored in this le which is placed in the folder of the current data le and has the extension .out. Also the data le itself is saved, to ensure portability across dierent computers. Furthermore, all static computations allow to create a report in a text le that can be stored and used later. The extensions for these les are as follows: .txt for reports in plain text; .xls for reports in Excel;
A .tex for reports in L TEX.

The report le name are built as follows: [data file name] [xx].[ext] where xx is a progressive number, thus previous report les will not be overwritten. 7 All results are placed in the folder of the current data le, thus it is important to be sure to have the authorization for writing in that folder. Also the text contained in the command history can be saved, fully or in part, in a [data file name] [xx].log le.

2.9

Settings

The main settings of the system are directly included in the main window an they can be modied at any time. These settings are the frequency and power bases, starting and ending simulation times, static and dynamic tolerance and maximum number of iterations. Other general settings, such as the xed time step used for time domain simulations or the setting to force the conversion of PQ loads into constant impedances after power ow computations, can be modied in a separate windows (in the main window, look for the menu Edit/General Settings or use the shortcut <Ctr-k>). All these settings and data are stored in the Settings structure which is fully described in Appendix A. The default values for some elds of the Settings structure can be restored by means of the menu Edit/Set Default. Customized settings can be saved and used as default values for the next sessions by means of the menu File/Save/Settings. Computations requiring additional settings have their own structures and GUIs for modifying structure elds. For example, the continuation power ow analysis refers to the structure CPF and the optimal power ow analysis to the structure OPF. These structures are described in the chapters dedicated to the corresponding topics.
7 Well, after writing the 99th le, the le with the number 01 is actually overwritten without asking for any conrmation.

16

2 Getting Started

A dierent class of settings is related to the PSAT graphical interface appearance, the preferred text viewer for the text outputs and the settings for the command history interface. These features are described in Chapter 26.

2.10

Network Design

The Simulink environment and its graphical features are used in PSAT to create a CAD tool able to design power networks, visualize the topology and change the data stored in it, without the need of directly dealing with lists of data. However, Simulink has been thought for control diagrams with outputs and inputs variables, and this is not the best way to approach a power system network. Thus, the time domain routines that come with Simulink and its ability to build control block diagrams are not used. PSAT simply reads the data from the Simulink model and writes down a data le. The library can be launched from the main window by means of the button with the Simulink icon in the menu-bar, the menu Edit/Network/Edit Network/Simulink Library or the shortcut <Ctr-s>. A full description of this library an its interactions with the rest of the program is presented in Chapter 21.

2.11

Tools

Several tools are provided with PSAT, e.g. data format conversion functions and user dened model routines. The data format conversion routines (see Chapter 24) allow importing data les from other power system software packages. However, observe that in some cases the conversion cannot be complete since data dened for commercial software have more features than the ones implemented in PSAT. PSAT static data les can be converted into the IEEE Common Data Format. User dened model routines (see Chapter 25) provide a simple way for extending the capabilities of PSAT and, hopefully, facilitating contributions. The construction of a user dened model can be yielded in few steps, as follows: 1. Dene parameters and dierential and algebraic equations by means of a GUI; 2. Create the Matlab function of the model;8 3. Save the model in a .m le; 4. Install the model in the program, by means of an automatic procedure. If the component is not needed any longer it can also be uninstalled in a similar way. Thus, user dened models can be shared easily by simply providing the component function and the component structure stored in a Matlab script le. However, the routine which compiles model functions is not complete so far, and it is intended only for creating a rst draft of the component function.
8 The

Symbolic Toolbox is required for building the new component function.

2.12 Interfaces

17

Other PSAT tools and utilities, such as the command history, the sparse matrix visualization GUI, the theme selector, and the text viewer selector are described in Chapter 26.

2.12

Interfaces

PSAT provides interfaces to GAMS and UWPFLOW, which highly extend PSAT ability to perform OPF and CPF analysis respectively. The General Algebraic Modeling System (GAMS) is a high-level modeling system for mathematical programming problems. It consists of a language compiler and a variety of integrated high-performance solvers. GAMS is specically designed for large and complex scale problems, and allows creating and maintaining models for a wide variety of applications and disciplines [Brooke et al. 1998]. Refer to Chapter 29 for a more detailed description of the routine and the GUI which interfaces PSAT to GAMS. UWPFLOW is an open source program for sophisticated continuation power ow analysis [Ca nizares and Alvarado 2000]. It consists of a set of C functions and libraries designed for voltage stability analysis of power systems, including voltage dependent loads, HVDC, FACTS and secondary voltage control. Refer to Chapter 30 for a more detailed description of the PSAT-UWPFLOW interface, which allows exporting PSAT models to UWPFLOW. The interface is currently in an early stage; refer to Section 30.3 for limitations and ToDos.

Chapter 3

News
This chapter lists new features of the current release of PSAT with respect of older versions.

3.1

News in version 1.0.1

Minor bug-xing release. Main improvements are in functions fm fault.m and in the documentation.

3.2

News in version 1.1.0

1. Created the PSAT Forum (http://groups.yahoo.com/group/psatforum). 2. Added PSAT/GAMS interface. 3. Added PSAT/UWPFLOW interface. 4. Added phase shifting transformer model. 5. Added lter for CYMFLOW data format. 6. Corrected some bugs in the lter for MatPower data format.

3.3

News in version 1.2.0

1. First PSAT release which is Matlab version independent. 2. Installation of PSAT folder is now not required, although recommended. 3. Several bug xes in continuation and optimal power ow routines. 4. Improved fault computation for time domain simulations. These improvements remove simulation errors which occurred in previous PSAT versions. 19

20

3 News

5. Added a new lters in Perl language for data format conversion. 6. Several bugs and typos were removed thanks to Liulin.

3.4

News in version 1.2.1

Minor bug-xing release. Main improvements are in functions psat.m, fm base.m and fm sim.m.

3.5

News in version 1.2.2

1. Added the autorun.m function which allows launching any routine without solving the power ow analysis rst. 2. Power ow reports can be exported to Excel, TEX or plain text formats. 3. Added lters to convert data les into BPA and Tshingua University formats. 4. Improved model of solid oxide fuel cell. Reactive power output is now included in the converted model. 5. Overall improvement of the toolbox and its documentation. The stablest release so far.

3.6

News in version 1.3.0

1. Added the command line version. 2. Basic compatibility with GNU/Octave (only for command line version). 3. Added wind models, i.e. Weibull distribution and composite wind model. Wind measurement data are supported as well. 4. Added wind turbine models (constant speed wind turbine and doubly fed induction generator). 5. Bus frequency measurement block. 6. Improved continuation and optimal power ow routines. The continuation power ow routine allows now using dynamic components (experimental). 7. Improved model of LTC transformers. Discrete tap ratio is now better supported and includes a time delay. 8. Improved PSAT/GAMS interface. 9. Improved the routine for small signal stability analysis. Results and settings are now contained in the structure SSSA. Output can be exported to Excel, TEX or plain text formats.

3.7 News in version 1.3.1

21

10. PMU placement reports can be exported to Excel, TEX or plain text formats. 11. Corrected a few bugs in the PSS function.

3.7

News in version 1.3.1

1. Added a numeric linear analysis library (contribution by Alberto Del Rosso). 2. Added a new wind turbine model with direct drive synchronous generator (development). 3. Improved models of synchronous generators (which now include a simple q axis saturation), AVRs and PSSs. 4. Added a lter for PSS/E 29 data format. 5. Added base conversion for ow limits of transmission lines. 6. Corrected a bug in the fm pq function (computation of Jacobian matrices when voltage limit control is enabled). 7. Improved continuation power ow routine. 8. Corrected several minor bugs in the functions and typos in the documentation. 9. Fixed a few Octave compatibility issues.

3.8

News in version 1.3.2

1. First release fully tested on Matlab 7.0 (R14). 2. Added a Physical Model Component Library for Simulink (Only for Matlab 6.5.1 or greater). 3. Fixed a bug which did not allow setting fault times t = 0 in dynamic simulations. 4. Added the possibilities of exporting time domain simulations as ascii les. 5. Fixed some bugs in the lter for PSS/E 29 data format. 6. Modied the TCSC control system (the rst block is now a wash-out lter). 7. Fixed a bug in time domain simulation which produced an error when handling snapshots. 8. Corrected several minor bugs in the functions and typos in the documentation (the latter thanks to Marcos Miranda). 9. Successful testing on Matlab 7.0 and octave 2.1.57 & octave-forge 2004-07-07 for MAC OS X 10.3.5 (by Randall Smith).

22

3 News

3.9

News in version 1.3.3

Minor release with a few bug xes and a revision of PSAT documentation.

Part II

Routines

Chapter 4

Power Flow
This chapter describes routines, settings and graphical user interfaces for power ow computations. The standard Newton-Raphson method [Tinney and Hart 1967] and the Fast Decoupled Power Flow (XB and BX variations [Stott and Alsac 1974, Stott 1974, van Amerongen 1989]) are implemented. A power ow with a distributed slack bus model is also included.

4.1

Power Flow Solvers

The power ow problem is formulated as the solution of a nonlinear set of equations in the form: x = 0 = f (x, y ) 0 = g (x, y ) (4.1)

where y (y R2n ), n being the number of buses in the network, are the algebraic variables, i.e. voltage amplitudes V and phases at the network buses, x (x R m ) are the state variables, g (g R2n ) are the algebraic equations for the active and the reactive power balances at each bus1 and f (f Rm ) are the dierential equations. Dierential equations are included in (4.1) since PSAT initializes the state variables of some dynamic components (e.g. induction motors and load tap changers) during power ow computations. Other state variables and control parameters are initialized after solving the power ow solution (e.g. synchronous machines and regulators). Refer to Section 4.1.4 for the complete list of components that are included in or initialized after the power ow solution.

4.1.1

Newton-Raphson Method

Newton-Raphson methods for solving the power ow problem are described in many books and papers (e.g. [Tinney and Hart 1967]). At each iteration, the Jacobian
1 The algebraic equations g are internally stored in two vectors, g (g Rn ) and g (g Rn ) P P Q Q which represent the active and reactive power balances respectively.

25

26

4 Power Flow

matrix of (4.1) is updated and the following linear problem is solved: x i y i xi+1 y i+1 = =
i Fx i Gx i Fy i JLF V 1

fi gi

(4.2)

x i xi i + y i y

where Fx = x f , Fy = y f , Gx = x g and JLF V = y g . If the variable increments x and y are lower than a given tolerance or the number of iteration is greater than a given limit (i > imax ) the routine stops. The power ow Jacobian matrix JLF V is always built such that JLF V R2n2n as follows: - The column of the derivatives with respect to the reference angle is set to zero; - The columns of the derivatives with respect to generator voltages are set to zero; - The row of the derivatives of the slack bus active power balance gPslack is set to zero; - The rows of the derivatives of generator reactive power balances gQ are set to zero; - Diagonal elements at the intersections of the columns and the rows described above are set to one; - The elements of the vector g associated with the generator reactive powers and the slack bus active power are set to zero. These assumptions are equivalent to the trivial equations: slack VG = = slack0 V G0 (4.3)

where slack is the voltage phase of the reference bus and VG the vector of generator voltages. Although forcing the dimensions of JLF V to be always maximum (i.e. 2n), this formulation is not computationally expensive, since the properties of Matlab sparse matrices are used.

4.1.2

Fast Decoupled Power Flow

The Fast Decoupled Power Flow (FDPF) was originally proposed in [Stott and Alsac 1974] and has been further developed and generalized in several variations. PSAT uses the XB and BX methods presented in [van Amerongen 1989]. The power ow Jacobian matrix JLF V can be decomposed in four sub-matrices: JLF V = JP JQ JP V JQV (4.4)

4.1 Power Flow Solvers

27

where JP = gP , JP V = V gP , JQ = gQ , and JP = V gQ . The basic assumptions of FDPF methods are: JP V JQ JP JQV = = 0 0 B B (4.5)

where B and B can be thought as admittance matrices with the following simplications: 1. Line charging, shunts and transformer tap ratios are neglected when computing B ; 2. Phase shifters are neglected and line charging and shunts are doubled when computing B . The XB and BX variations dier only in further simplications of the B and B matrices respectively, as follows: XB: line resistances are neglected when computing B ; BX: line resistances are neglected when computing B . Thus the FDPF consists in turn of solving two systems at each iteration, as follows:
i g P /V i i g Q

= =

B i B V
i

(4.6)

/V

where gP and gQ are the active and reactive power ow equation mismatches. The solution of the active equations is used as input to the reactive ones, as this reduces the number of iterations. PSAT allows using FDPF methods for system which contain only PV generators, PQ loads and one slack bus. If other components are present in the network, the standard Newton-Raphson routine is used.

4.1.3

Distributed Slack Bus Model

The distributed slack bus model is based on a generalized power center concept and consists in distributing losses among all generators [Barcelo and Lemmon 1988]. This is practically obtained by including in (4.1) a variable kG and rewriting the system active power balance as follows:
nG i nP

(1 + kG i )PGi

PLi Plosses = 0

(4.7)

Equations (4.2) are modied by adding to the Jacobian matrix JLF V the row of the derivatives of the slack bus active power balance and a column for the derivatives

28

4 Power Flow

of dierential and algebraic equations with respect to kG . The additional parameter is also included in order to allow tuning the weight of the participation of each generator to the losses. (In the single slack bus model, = 0 for all generators but one.) When the distributed slack bus ag is active, FDPF methods are automatically disabled.

4.1.4

Initialization of State Variables

Dynamic components and non-conventional loads can be included in or initialized after the power ow solution. The following components are included in the power ow equation set: Hvdc Phs Sssc Lines Pl Statcom Ltc RLC Tap Mn SAE1 Tcsc Mot SAE2 Upfc PQ SAE3 PV SW

whereas the following ones are initialized after solving the power ow problem: Busfreq Fl SSR Cac Exload Sofc Cluster Mass Svc Cswt Mn Syn Ddsg Oxl Tg Dfig Pl Thload Exc Pss Wind

Voltage dependent and ZIP loads (Mn and Pl) appears in both lists since their inclusion in the power ow computation is an available option. Refer to the specic descriptions of each component for details.

4.2

Settings

General settings for power ow computations, i.e. power and frequency rates of the system, convergence tolerance and maximum number of iterations used for the Newton-Raphson/FDPF techniques can be set in the main window. Other parameters can be customized in the GUI for general settings (menu Edit/General Settings or shortcut <Ctr-k> in the main window), which is depicted in Fig. 4.1. In this window, one can choose the power ow solver, enable the distributed slack bus model, discard the dynamic components included in the data,2 enable checking component power and voltage ratings,3 and enable the conversion of PQ buses to constant impedances (refer to Sections 10.6 and 14.1 for details). Other check boxes allow graphical settings, i.e. plotting the error status during the power solutions and opening automatically the GUI for displaying results after the power ow solutions.
dynamic components initialized after the power ow are discarded. check of the consistency of component ratings is made by the function fm base.m. Only a reduced number of component parameters are checked. Refer to the code for details.
3 The 2 Only

4.3 Example

29

Figure 4.1: GUI for general settings. Power ow settings are stored in the structure Settings, which contains also general settings and parameters for time domain simulations. This structure is fully described in Appendix A.

4.3

Example

Figure 4.2 depicts the GUI for power ow results. Data refer to a 9-bus test system presented and discussed in [Sauer and Pai 1998]. The GUI reports the bus names and their correspondent voltages and total power injections. Voltage proles can be plotted using the buttons on top of the lists for voltage magnitudes and angles. Angles can be expressed either in radiants or degrees. If the loaded system presents state and control variables, these are reported in the GUI as well. Power ow results can be saved using the Report button. A log le will be created using the A selected format (plain text, L TEX, Excel) and displayed with the selected viewer (see Section 26.4 for details). For example, the plain text power ow solution for the WSCC 9-bus test system is as follows:

POWER FLOW REPORT P S A T 1.2.2

Figure 4.2: GUI for displaying power ow results.

30

4.3 Example

31

Author: Federico Milano, 2003 e-mail: fmilano@thunderbox.uwaterloo.ca website: http://thunderbox.uwaterloo.ca/~fmilano File: Date: ~/psat/tests/d_009.mdl 26-Oct-2003 12:53:43

NETWORK STATISTICS Bus: Lines: Transformers: Generators: Loads: SOLUTION STATISTICS Number of Iterations: Maximum P mismatch [p.u.] Maximum Q mismatch [p.u.] Power rate [MVA] POWER FLOW RESULTS Bus V [p.u.] 1 2 3 4 5 6 7 8 9 1.04 1.025 1.025 1.0258 0.99563 1.0127 1.0258 1.0159 1.0324 phase [rad] 0 0.16197 0.08142 -0.03869 -0.06962 -0.06436 0.06492 0.0127 0.03433 P gen [p.u.] 0.71641 1.63 0.85 0 0 0 0 0 0 Q gen [p.u.] 0.27046 0.06654 -0.1086 0 0 0 0 0 0 P load [p.u.] 0 0 0 0 1.25 0.9 0 1 0 Q load [p.u.] 0 0 0 0 0.5 0.3 0 0.35 0 4 0 0 100 9 6 3 3 3

Bus Bus Bus Bus Bus Bus Bus Bus Bus

STATE VECTOR delta_Syn_1 omega_Syn_1 e1q_Syn_1 e1d_Syn_1 delta_Syn_2 omega_Syn_2 e1q_Syn_2 e1d_Syn_2 delta_Syn_3 omega_Syn_3 e1q_Syn_3 e1d_Syn_3 vm_Exc_1 vr1_Exc_1 vr2_Exc_1 efd_Exc_1 vm_Exc_2 1.0664 1 0.78817 0.6222 0.94486 1 0.76786 0.62424 0.06258 1 1.0564 0 1.025 1.446 -0.25254 1.403 1.025

32

4 Power Flow

vr1_Exc_2 vr2_Exc_2 efd_Exc_2 vm_Exc_3 vr1_Exc_3 vr2_Exc_3 efd_Exc_3

1.8951 -0.32208 1.7893 1.04 1.1006 -0.19479 1.0822

MECHANICAL POWERS & FIELD VOLTAGES Pmech_1 Pmech_2 Pmech_3 Vfd_1 Vfd_2 Vfd_3 EXCITER REFERENCE VOLTAGES Vref_1 Vref_2 Vref_3 LINE FLOWS From Bus To Bus Line P Flow [p.u.] 0.24183 0.7638 0.60817 0.8662 -0.4068 -0.30537 1.63 0.85 0.71641 Q Flow [p.u.] 0.0312 -0.00797 -0.18075 -0.08381 -0.38687 -0.16543 0.06654 -0.1086 0.27046 P Loss [p.u.] 0.00088 0.00475 0.01354 0.023 0.00258 0.00166 0 0 0 Q Loss [p.u.] -0.21176 -0.11502 -0.31531 -0.19694 -0.15794 -0.15513 0.15832 0.04096 0.03123 1.0973 1.1198 1.095 1.63 0.85 0.71641 1.7893 1.403 1.0822

Bus Bus Bus Bus Bus Bus Bus Bus Bus

9 7 9 7 5 6 2 3 1

Bus Bus Bus Bus Bus Bus Bus Bus Bus

8 8 6 5 4 4 7 9 4

1 2 3 4 5 6 7 8 9

LINE FLOWS From Bus To Bus Line P Flow [p.u.] -0.24095 -0.75905 -0.59463 -0.8432 0.40937 0.30704 -1.63 -0.85 -0.71641 Q Flow [p.u.] -0.24296 -0.10704 -0.13457 -0.11313 0.22893 0.0103 0.09178 0.14955 -0.23923 P Loss [p.u.] 0.00088 0.00475 0.01354 0.023 0.00258 0.00166 0 0 0 Q Loss [p.u.] -0.21176 -0.11502 -0.31531 -0.19694 -0.15794 -0.15513 0.15832 0.04096 0.03123

Bus Bus Bus Bus Bus Bus Bus Bus Bus

8 8 6 5 4 4 7 9 4

Bus Bus Bus Bus Bus Bus Bus Bus Bus

9 7 9 7 5 6 2 3 1

1 2 3 4 5 6 7 8 9

GLOBAL SUMMARY REPORT

TOTAL GENERATION

4.3 Example

33

REAL POWER [p.u.] REACTIVE POWER [p.u.] TOTAL LOAD REAL POWER [p.u.] REACTIVE POWER [p.u.] TOTAL SHUNT REAL POWER [p.u.] REACTIVE POWER (IND) [p.u.] REACTIVE POWER (CAP) [p.u.] TOTAL LOSSES REAL POWER [p.u.] REACTIVE POWER [p.u.]

3.1964 0.2284

3.15 1.15

0 0 0

0.04641 -0.9216

Chapter 5

Bifurcation Analysis
This chapter describes Direct Methods (DM) for computing Saddle-Node Bifurcation (SNB) points and Limit-Induced Bifurcation (LIB) points, and a Continuation Power Flow (CPF) technique based on [Ca nizares 2002]. The CPF analysis is more general than DMs, and can be used also for determining generator reactive power limits, voltage limits and ow limits of transmission lines. Bifurcation analysis requires steady-state equations of power system models, as follows: x = 0 0 = = f (x, y, ) g (x, y, ) (5.1)

where x are the state variables, y the algebraic variables (voltage amplitudes and phases) and is the loading parameter, i.e. a scalar variable which multiplies generator and load directions, as follows: PG PL QL = = = PG0 + ( + kG )PS PL0 + PD QL0 + QD (5.2)

In (5.2), PG0 , PL0 and QL0 are the base case generator and load powers, whereas PS , PD and QD are the generator and load power directions. Power directions are dened in the structures Supply and Demand. If these data are not dened, the base case powers are used as load directions and (5.2) become: PG PL QL = = = ( + kG )PG0 PL0 QL0 (5.3)

Observe that power directions (5.2) and (5.3) used in the bifurcation analysis dier from (6.3), i.e. the power directions used in the voltage stability constrained OPF described in Chapter 6. The distributed slack bus variable kG and the generator participation coecients are optional. 35

36

5 Bifurcation Analysis

5.1

Direct Methods

Direct Methods which are implemented in PSAT allow to compute the value of the loading parameter for at Saddle-Node Bifurcation points and at Limit-Induced Bifurcation points. In PSAT, Direct Methods can perform only static bifurcation analysis, i.e. make use of static power ow models (see Chapter 10). Thus, (5.1) reduce to the algebraic set g . Before running any direct method routine, the power ow analysis has to be run rst to initialize the algebraic variables.

5.1.1

Saddle-Node Bifurcation
g (y, ) = 0 (5.4)

The conditions for a SNB point are as follows: y g (y, )v = 0 |v | = 1 or g (y, ) y g (y, )T w = 0 = 0 = 1 (5.5)

|w|

where v and w are the right and the left eigenvectors respectively, and the Euclidean norm is used for the | | operator. The Euclidean norm reduces the sparsity of the Jacobian matrix, but allows to avoid re-factorizations (as happens in the case of -norm) and is numerically more stable than the 1-norm. The solution for (5.4) and (5.5) are obtained by means of a Newton-Raphson technique, and the complete Jacobian matrix is computed explicitly: y g 0 g yy gv y g 0 (5.6) 0 v (|v |) 0 Since the Hessian matrix yy g is computed analytically, this method can be applied only to a limited number of components, namely (SW, PV , PQ and Line), which anyway are the standard models used in power ow analysis. The SNB routine searches a good initial guess for the eigenvectors v and w. However the best way to initialize the SNB routine is to run rst a CPF analysis. Figure 5.1 depicts the GUI for SNB settings. A complete description of SNB settings is reported in Appendix A.

5.1.2

Limit Induced Bifurcation


0 0 = = g (y, ) (y ) (5.7)

Limit Induced Bifurcation points are dened as the solution of the following system:

5.2 Continuation Power Flow

37

Figure 5.1: GUI for saddle-node bifurcation settings.

where (y ) is an additional constraint that can be: QG = QGlim for slack or PV generator buses , or VL = VLlim (5.9) (5.8)

for PQ load buses . Observe that only reactive power limits of generator buses can lead to saddle limit induced bifurcation (SLIB) points, that are associated to a maximum loading condition. Figure 5.2 depicts the GUI for LIB settings. A complete description of LIB structure is reported in Appendix A.

5.2

Continuation Power Flow

The Continuation Power Flow method implemented in PSAT consists in a predictor step realized by the computation of the tangent vector and a corrector step that can be obtained either by means of a local parametrization or a perpendicular intersection.

Figure 5.2: GUI for limit-induced bifurcation settings.

38

5.2 Continuation Power Flow

39

(yp + yp , p + p ) p

PSfrag replacements (yp , p ) g (y, ) = 0

Figure 5.3: Continuation Power ow: predictor step obtained by means of tangent vector.

5.2.1

Predictor Step

At a generic equilibrium point, the following relation applies: dg g dy g (yp , p ) = 0 = 0 = y g |p + d p d p p and the tangent vector can be approximated by: dy y p p = d p p p y p = =
1 y g | p

(5.10)

(5.11)

From (5.10) and (5.11), one has:

p p

g p

(5.12)

A step size control k has to be chosen for determining the increment yp and p , along with a normalization to avoid large step when |p | is large: p k |p | y p kp |p | (5.13)

where k = 1, and its sign determines the increase or the decrease of . Figure 5.3 presents a pictorial representation of the predictor step.

5.2.2

Corrector Step
g (y, ) (y, ) = = 0 0 (5.14)

In the corrector step, a set of n + 1 equations is solved, as follows:

40

5 Bifurcation Analysis

/2 (yc (yp + yp ), c (p + p )) p PSfrag replacements (yp , p ) (yc , c )

g (y, ) = 0

Figure 5.4: Continuation Power ow: corrector step obtained by means of perpendicular intersection. where the solution of g must be in the bifurcation manifold and is an additional equation to guarantee a non-singular set at the bifurcation point. As for the choice of , there are two options: the perpendicular intersection and the local parametrization. In case of perpendicular intersection, whose pictorial representation is reported in Fig. 5.4, the expression of becomes: (y, ) = y p p
T

yc (yp + yp ) =0 c (p + p )

(5.15)

whereas for the local parametrization, either the parameter or a variable yi is forced to be a xed value: (y, ) = c p p or (y, ) = yci ypi ypi (5.17) The choice of the variable to be xed depends on the bifurcation manifold of g , as depicted in Fig. 5.5. (5.16)

5.2.3

N-1 Contingency Analysis

PSAT is provided with a N-1 contingency analysis which allows computing active power ow limits in transmission lines and transformers taking into account security limits (transmission line thermal limits, generator reactive power limits and voltage security limits) and voltage stability constraints. At this aim, it is performed a continuation power ow analysis for each line outage. Note that if the line outage leads to an unfeasible base case ( max < 1), that line outage is neglected. Then all the contingencies are sorted in a worst line

5.2 Continuation Power Flow

41

yi

corrector (y, ) = c p p

PSfrag replacements

corrector (y, ) = yci ypi ypi

Figure 5.5: Continuation Power ow: corrector step obtained by means of local parametrization. contingency order looking for the minimum power ows in each transmission line and transformers. These minimum power ows are the power ow limits and are thus the output of the N-1 contingency analysis. The N-1 contingency analysis can be run for all networks for which the continuation power ow routine will work. Thus, in general, dynamic components are not supported so far. To launch the N-1 contingency analysis, select the menu Run/N-1 Contingency Analysis in the main window or in the GUI for continuation power ow analysis.

5.2.4

Graphical User Interface

Figure 5.6 depicts the user interface for continuation power ow analysis. Several options allow adjusting the performance and customing routine outputs. It is possible to set the tolerance of the convergence test of the Newton-Raphson technique in the corrector step, the step size of the predictor step, and the total number of points determined by the routine. Furthermore, the routine can use a single slack bus or a distributed slack bus model and check for voltage limits, generator reactive power limits, and ow limits in the transmission lines and transformers. It is also possible to set the tolerances required to determine the voltage, reactive power and ow limits. As in the case of Optimal Power Flow routine, ow limits can be current amplitudes, active powers or apparent powers. For all of these ows, both ij and ji are checked. Three stopping criteria are available: 1. complete nose curve: the routine terminates when the maximum number of point is reached or when becomes negative;

42

5 Bifurcation Analysis

Figure 5.6: GUI for the continuation power ow settings. 2. if either a SNB or a LIB point is encountered: the LIB that causes the end of the routine corresponds also to the maximum loading parameter; 3. if either a bifurcation point or a limit is encountered. The trace of the CPF computations is stored in the Command History. All outputs can be plotted versus the loading parameter using the Plotting Utilities. Appendix A depicts a complete description of the CPF structure.

5.3

Examples

Figure 5.7 depicts CPF nose curves as displayed by means of the PSAT GUI for plotting results. The gure refers to three load voltages of the IEEE 14-bus test system (see Appendix F.4). Since no power directions are dened in the Supply and Demand data, base powers are used, as dened in the slack and PV generators and PQ load data. Figures 5.8 and 5.9 depict CPF results for the 6-bus test system (see Appendix F.2) with distributed slack bus model. In this example, the power directions are dened in the Supply and Demand data. Figures 5.8 and 5.9 are obtained with and without generator reactive power limits and show a limit-induced bifurcation and a saddle-node bifurcation, respectively.

5.3 Examples

43

Figure 5.7: GUI for plotting CPF results. The nose curves refers to three load voltages of the IEEE 14-bus test system. Table 5.1 illustrates the results of the N-1 contingency analysis for the 6-bus test system. The output is organized in four columns: the rst column depicts the transmission line or transformer while the second one shows for which line outage it has been found the minimum power in that line. The last two columns depict the actual power ow and the power ow limit, respectively, in the transmission line or transformer.

1.1

0.9

0.8

Voltages [p.u.]
PSfrag replacements

0.7

0.6

0.5

0.4

0.3

VBus 1 VBus 2 VBus 3 VBus 4 VBus 5 VBus 6

0.2 0

0.5

1.5

Loading Parameter

2.5

3.5

4.5

5.5

Figure 5.8: Nose curves for the 6-bus test system with generator reactive power limits. The maximum loading condition is due to a saddle limit-induced bifurcation.

44

0.8

Voltages [p.u.]
PSfrag replacements

0.6

0.4

0.2
VBus 4 VBus 5 VBus 6

0 0

Loading Parameter

10

Figure 5.9: Nose curves for the 6-bus test system without generator reactive power limits. The maximum loading condition is due to a saddle-node bifurcation.

45

Table 5.1: N-1 Contingency Analysis Report for the 6-bus test system
N-1 CONTINGENCY ANALYSIS P S A T 1.3.2

Author: Federico Milano, (c) 2002-2004 e-mail: fmilano@thunderbox.uwaterloo.ca website: http://thunderbox.uwaterloo.ca/~fmilano File: Date: ~/psatd/tests/d_006.mdl 25-Nov-2004 17:28:02

POWER FLOW LIMITS Line Line Outage 1-5 2-5 3-5 1-5 1-2 3-5 2-4 2-5 2-5 2-4 1-2 Pij [p.u.] 0.15013 0.50254 0.07867 0.24653 0.0199 0.60904 0.11245 0.40302 0.38453 0.44108 0.30954 Pij max [p.u.] 0.22452 0.62959 0.11511 0.31823 0.02523 0.72198 0.1899 0.47836 0.50879 0.51417 0.36198

2-3 3-6 4-5 3-5 5-6 2-4 1-2 1-4 1-5 2-6 2-5

46

Chapter 6

Optimal Power Flow


This chapter describes the Optimal Power Flow (OPF) problem and its implementation in PSAT. The Interior Point Method (IPM) is used to solve the nonlinear set of equations of the OPF problem as described in [Torres and Quintana 1999]. A discussion of diverse objective functions and OPF models used in the program is presented along with a detailed description of the structures and the data needed for solving the OPF. Finally, a simple 6-bus system example is presented and the graphical user interface and text outputs are described.

6.1

Interior Point Method

In [Huneault and Galiana 1991], several strategies were proposed for an OPF with active power dispatching and voltage security using an IPM that proved to be robust, especially in large networks, as the number of iterations increase slightly with the number of constraints and network size. Most implementations of IPM for solving market problems, accounting somewhat for system security, use a linear programming technique [Stott et al. 1979, Monmoh et al. 1994, Alsac et al. 1990]. In [Quintana and Torres 1996] and [Torres and Quintana 1999], the authors present a comprehensive investigation of the use of IPM for non-linear problems, and describe the application of Mehrotras predictor-corrector to the OPF, which highly reduces the number of iterations to obtain the nal solution. Thus, the implementation proposed in [Torres and Quintana 1999] is used as the main algorithm for solving the IPM-NLP problem. Furthermore, non-linear optimization techniques have also been shown to be adequate for addressing a variety of voltage stability issues, such as the maximization of the loading parameter in voltage collapse studies, as discussed in [Irisarri et al. 1997], [Ca nizares 1998], [Ca nizares et al. 2000] and [Ca nizares, Rosehart, Berizzi and Bovo 2001]. In [Madrigal and Quintana 1998] and [Madrigal 2000], non-linear IPM techniques are applied to the solution of diverse OPF market problems. The OPF routines implemented in the program also uses the techniques proposed in [Ca nizares, Chen and Rosehart 2001] and [Milano et al. 2003], where 47

48

6 Optimal Power Flow

the authors proposed diverse methods to account for system security through the use of voltage stability based constraints in an OPF-IPM market representation, so that security is not simply modeled through the use of voltage and power transfer limits, typically determined o-line, but it is properly represented in on-line market computations.

6.2

OPF Routines

In the program three dierent objective functions are available: the maximization of the social benet, the maximization of the distance to the maximum loading condition and also a multi-objective approach similar to the one proposed in [Ca nizares, Rosehart, Berizzi and Bovo 2001]. The following sections describe each model and the constraints implemented and tested so far.1 Section 6.2.4 presents the Lagrangian function which is minimized by means of the IPM-NLP method.

6.2.1

Maximization of the Social Benet

The OPF-based approach is basically a non-linear constrained optimization problem, and consists of a scalar objective function and a set of equality and inequality constraints. A typical OPF-based market model can be represented using the following security constrained optimization problem (e.g. [Xie et al. 2000]): Min. s.t. (CDi (PDi ) CSi (PSi )) g (, V, QG , PS , PD ) = 0 0 PS PSmax 0 PD PDmax | Pij (, V ) | Pijmax Social benet PF equations Sup. bid blocks Dem. bid blocks Power transfer lim. Gen. Q lim. V security lim. (6.1)

| Pji (, V ) | Pjimax QGmin QG QGmax Vmin V Vmax

where CS and CD are vectors of supply and demand bids in $/MWh, respectively; QG stand for the generator reactive powers; V and represent the bus phasor voltages; Pij and Pji represent the power owing through the lines in both directions, and are used to model system security by limiting the transmission line power ows, together with line current Iij and Iji thermal limits and bus voltage limits; and PS and PD represent bounded supply and demand power bids in MW. In this model, which is typically referred to as a security constrained OPF, Pij and Pji limits are obtained by means of o-line angle and/or voltage stability studies. In practice, these limits are usually determined based only on power ow based voltage stability studies [Gisin et al. 1999] and can be determined using the continuation power ow routines described in Chapter 5.
1 Some

additional constraints can be included or will be included in future versions.

6.2 OPF Routines

49

6.2.2

Maximization of the Distance to Collapse

The following optimization problem is implemented to properly represent system security through the use of voltage stability conditions, based on what was proposed in [Ca nizares et al. 2000], [Ca nizares, Rosehart, Berizzi and Bovo 2001], [Ca nizares, Chen and Rosehart 2001]: Min. s.t. G = c (6.2)

g (, V, QG , PS , PD ) = 0 PF equations g (c , Vc , QGc , c , PS , PD ) = 0 Max load PF eqs. cmin c cmax 0 PS PSmax 0 PD PDmax loading margin Sup. bid blocks Dem. bid blocks Thermal limits

Iij (, V ) Iijmax Iji (, V ) Ijimax

Iij (c , Vc ) Iijmax Iji (c , Vc ) Ijimax

Vmin V Vmax Vmin Vc Vmax

QGmin QG QGmax QGmin QGc QGmax

Gen. Q limits V security lim.

In this case, a second set of power ow equations and constraints with a subscript c is introduced to represent the system at the limit or critical conditions associated with the maximum loading margin c in p.u., where is the parameter that drives the system to its maximum loading condition. The maximum or critical loading point could be either associated with a thermal or bus voltage limit or a voltage stability limit (collapse point) corresponding to a system singularity (saddle-node bifurcation) or system controller limits like generator reactive power limits (limit induced bifurcation) [Ca nizares 2002, Rosehart et al. 1999]. Thus, for the current and maximum loading conditions, the generator and load powers are dened as follows: PG PL P Gc PLc = = = = P G0 + P S P L0 + P D (1 + c + kGc )PG (1 + c )PL (6.3)

where PG0 and PL0 stand for generator and load powers which are not part of the market bidding (e.g. must-run generators, inelastic loads), and kGc represents a scalar variable used to distribute the system losses associated only with the solution of the critical power ow equations in proportion to the power injections obtained in the solution process, i.e. a standard distributed slack bus model is used. It is

50

6 Optimal Power Flow

assumed that the losses corresponding to the maximum loading level dened by c in (6.2) are distributed among all generators. Observe that power directions (6.3) used in the voltage stability constrained OPF dier from (5.2), i.e. the power directions used in the bifurcation analysis presented in Chapter 5.

6.2.3

Multi-Objective Optimization

A multi-objective optimization is also implemented, based on what was proposed in [Milano et al. 2003], so that system security which is modeled through the use of voltage stability conditions is combined with the electricity market: Min. s.t. G = 1 (CDi (PDi ) CSi (PSi )) 2 c g (, V, QG , PS , PD ) = 0 PF equations g (c , Vc , QGc , c , PS , PD ) = 0 cmin c cmax 0 PS PSmax 0 PD PDmax (6.4)

Max load PF eqs. loading margin Sup. bid blocks Dem. bid blocks

Iij (, V ) Iijmax Iji (, V ) Ijimax Iij (c , Vc ) Iijmax

Thermal limits

Iji (c , Vc ) Ijimax QGmin QG QGmax

Vmin Vc Vmax

QGmin QGc QGmax Vmin V Vmax

Gen. Q limits V security lim.

In the multi-objective function G, two terms are present, with their inuence on the nal solution being determined by the value of the weighting factors 1 and 2 (1 > 0, 2 > 0). The rst term represents the social benet, whereas the second term guarantees that the distance between the market solution and the critical point is maximized [Ca nizares et al. 2000]. Observe that 1 > 0, since for 1 = 0 there would be no representation of the market in the proposed OPF formulation, rendering it useless. Furthermore, 2 > 0, otherwise c will not necessarily correspond to a maximum loading condition of the system. Notice that the two terms of the objective function are expressed in dierent units, since the social benet would be typically in $/h, whereas the security term would be in p.u., which will basically aect the chosen values of 1 and 2 (typically, 1 2 ). However, it is possible to assume that 1 = (1 ) and 2 = , with proper scaled values of for each system under study (0 < < 1), as this simplies the optimization problem without losing generality. The representation of the generator and load powers in (6.4) is the same as in (6.3).

6.3 OPF Settings

51

6.2.4

Lagrangian Function

Internally, the program represents the previous problems (6.1), (6.2) and (6.4) in the same way, ignoring the constraints that are not used or assuming proper values for the parameters that are not dened. The following Lagrangian function is minimized: Min. L = G T f (, V, QG , PS , PD ) (6.5)

T c f (c , Vc , QGc , c , PS , PD )

T Iij max (Imax Iij sIij max )

T PD min (PD sPD min )

T PD max (PDmax PD sPD max )

T PS min (PS sPS min )

T PS max (PSmax PS sPS max )

c max (cmax c sc max ) c min (c sc min )

T Iji max (Imax Iji sIji max )

T Iijc max (Imax Iijc sIijc max )

T Ijic max (Imax Ijic sIjic max )

T QG max (QGmax QG sQG max ) T QG min (QG QG min sQG min ) T QGc max (QGmax QGc sQGc max )

T Vmax (Vmax V sVmax ) T Vmin (V Vmin sVmin )

T QGc min (QGc QG min sQGc min )

T Vc min (Vc Vmin sVc min ) s (

T Vc max (Vmax Vc sVc max )

ln si )
i

where s R, s > 0, is the barrier parameter, and and c Rn , and all the other (i > 0, i) correspond to the Lagrangian multipliers. The s variables form the slack vector whose non-negativity condition (si > 0, i) is ensured by including the logarithmic barrier terms i ln si .

6.3

OPF Settings

Figure 6.1 depicts the GUI for settings OPF parameters (menu Edit/OPF Settings or shortcut <Ctr-z> in the main window). For a detailed description of the parameters used for the IPM refer to [Torres and Quintana 1999]. The parameters

52

6 Optimal Power Flow

Figure 6.1: GUI for the optimal power ow. and the results of OPF computations are contained in the structure OPF, which is described in Appendix A.

6.4

Example

The following results refer to a 6-bus test system, whose data are described in Appendix F. Imposing = 0 and current limit constraints, the OPF solution is as follows: 2
---------------------------------------------------------------Interior Point Method for OPF Computation Spot Price of Security (including loading parameter) Social Benefit Objective Function Data file "~/psatd/tests/d_006(mdl)" ---------------------------------------------------------------Iter. Iter. Iter. Iter. = = = = 1 2 3 4 mu mu mu mu = = = = 0.00101 0.00189 0.00194 0.00262 |dy| |dy| |dy| |dy| = = = = 16.6461 3.623 0.98703 0.67338 |f(y)| |f(y)| |f(y)| |f(y)| = = = = 1.4238 1.4119 1.3604 1.163 |dG(y)| |dG(y)| |dG(y)| |dG(y)| = = = = 1 0.1275 0.16238 0.20112

2 These results are stored in the History.text cell array and can be viewed opening the command history GUI (menu Options/History or shortcut <Ctr-h> in the main window).

6.4 Example

53

Iter. Iter. Iter. Iter. Iter. Iter. Iter.

= = = = = = =

5 6 7 8 9 10 11

mu mu mu mu mu mu mu

= = = = = = =

0.00084 0.00019 2e-05 0 0 0 0

|dy| |dy| |dy| |dy| |dy| |dy| |dy|

= = = = = = =

0.40172 0.15719 0.07339 0.00917 0.00073 4e-05 0

|f(y)| |f(y)| |f(y)| |f(y)| |f(y)| |f(y)| |f(y)|

= = = = = = =

0.73002 0.06974 0.03592 0.00204 0.00011 1e-05 0

|dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)|

= = = = = = =

0.0319 0.02654 0.03594 0.00168 0.00017 1e-05 0

Reactive Powers --------------------------------------------------------------Bus Qg Qg max Qg min <i> [MVar] [MVar] [MVar] 2 76.2060 150 -150 1 44.6233 150 -150 3 72.0844 150 -150 Power Supplies --------------------------------------------------------------Bus Ps Ps max Ps min Cs <i> [MW] [MW] [MW] [$/MWh] 1 0.0010 20 0.0010 9.7000 2 25.0000 25 0.0010 8.8000 3 20.0000 20 0.0010 7.0000 Power Demands --------------------------------------------------------------Bus Pd Pd max Pd min Cd <i> [MW] [MW] [MW] [$/MWh] 4 25.0000 25 0.0010 12.0000 5 10.0000 10 0.0010 10.5000 6 8.0694 20 0.0010 9.5000 Power Flow Solution --------------------------------------------------------------Bus V theta P Q LMP NCP <i> [p.u.] [rad] [MW] [MVar] [$/MWh] [$/MWh] 1 1.1000 0.0141 90.0010 44.6233 9.0204 -0.0451 2 1.1000 0.0000 164.8754 76.2060 8.9805 0.0000 3 1.1000 -0.0246 80.0000 72.0844 9.1455 0.0712 4 1.0211 -0.0507 -115.0000 -76.6650 9.5630 0.1939 5 1.0129 -0.0732 -110.0000 -77.0000 9.6535 0.2713 6 1.0404 -0.0676 -98.0694 -62.6898 9.4284 0.2234 Flows on Transmission Lines --------------------------------------------------------------From Bus To Bus Iij Iijmax Iij margin Iji Ijimax <i> <j> [p.u.] [p.u.] [p.u.] [p.u.] [p.u.] 2 3 0.1169 0.3082 0.1913 0.1045 0.3082 3 6 0.7310 1.3973 0.6663 0.7451 1.3973 4 5 0.0715 0.1796 0.1081 0.0634 0.1796 3 5 0.3373 0.6585 0.3212 0.3673 0.6585 5 6 0.1158 0.2000 0.0842 0.0635 0.2000 2 4 0.8478 1.3740 0.5262 0.8581 1.3740 1 2 0.0813 0.2591 0.1778 0.0623 0.2591 1 4 0.4941 0.9193 0.4252 0.5184 0.9193 1 5 0.3921 0.8478 0.4557 0.4222 0.8478 2 6 0.4327 0.9147 0.4820 0.4511 0.9147

Pay [$/h] -811.8424 -1480.6597 -731.6399 1099.7418 1061.8823 924.6399

Iji margin [p.u.] 0.2037 0.6522 0.1162 0.2912 0.1365 0.5159 0.1968 0.4009 0.4256 0.4636

54

6 Optimal Power Flow

Figure 6.2: GUI for plotting OPF Pareto sets.


2 5 0.3568 0.7114 0.3546 0.3779 0.7114 0.3335

Totals --------------------------------------------------------------Total Losses = 11.807[MW] Bid Losses = 1.932 [MW] Total demand = 43.0694 [MW] TTL = 323.069 [MW] IMO Pay = 62.1219 [$/h] ----------------------------------------------------------------

Figure 6.2 depicts the graphical user interface for plotting OPF Pareto set results, which can be obtained by setting a vector of values for the weighting factor . The GUI allows a variety of settings, such as choosing the variables to plot, setting in detail the graphical appearance, adding and modifying a legend of the plotted variables and saving the graph to a color .eps le, which is placed in the folder of the current data le and automatically named with a progressive number (from 00 to 99).

Chapter 7

Small Signal Stability Analysis


This chapter describes small signal stability analysis available in PSAT and the associated graphical user interface. After solving the power ow problem, it is possible to compute and visualize the eigenvalues and the participation factors of the system. The eigenvalues can be computed for the state matrix of the dynamic system (small signal stability analysis) [Sauer and Pai 1998, Ili c and Zaborszky 2000], and for three dierent types of power ow Jacobian matrices (QV sensitivity analysis) [Xu and Mansour 1994]. The following sections describe the main features of the small signal stability analysis and of the power ow Jacobian eigenvalue analysis.

7.1

Small Signal Stability Analysis

The system used for the small signal stability analysis is a dierential algebraic equation (DAE) set, in the form: x = f (x, y ) 0 = g (x, y ) (7.1)

where x is the vector of the state variables and y the vector of the algebraic variables, which in PSAT are only the voltages amplitudes V and phases . The state matrix AS is thus computed by manipulating the complete Jacobian matrix AC , that is dened by the linearization of the DAE system equations (7.1): x f x = x g 0 y f y g x x = [AC ] y y (7.2)

Hereinafter, the Jacobian matrices which form the AC matrix, will be referred to 55

56

7 Small Signal Stability Analysis

as follows: Fx Fy Gx JLF V x f y f x g y g (7.3)

where JLF V is the complete power ow Jacobian matrix. In the program, two other types of power ow Jacobian matrices are dened, namely JLF and JLF D , which are described in the next section. The state matrix AS is simply obtained by eliminating the algebraic variables, and thus implicitly assuming that JLF V is non-singular (i.e. absence of singularityinduced bifurcations): 1 AS = Fx Fy JLF (7.4) V Gx The computation of all eigenvalues can be a lengthy process if the dynamic order of the system is high. At this aim, it is possible to compute only a few eigenvalues with a particular property, i.e. largest or smallest magnitude, largest or smaller real or imaginary part. When all the eigenvalues are computed, it is also possible to obtain the participation factors, that are evaluated in the following way. Let V and W be the right and the left eigenvector matrices respectively, such that = W AS V and W = V 1 , then the participation factor pij of the ith state variable to the j th eigenvalue can be dened as: wij vji pij = t (7.5) w j vj In case of complex eigenvalues, the amplitude of each element of the eigenvectors is used: |wij ||vji | (7.6) pij = n k=1 |wjk ||vkj | No normalization of the participation factors is performed. The state matrix in (7.4) leads to the computation of the eigenvalues in the S domain, i.e., the system is stable if the real part of the eigenvalues is less than 0. It is sometime useful to compute the eigenvalues in the Z -domain, which can also ease the visualization of very sti systems. In this way, if the system is stable, all the eigenvalues are inside the unit circle. For the Z -domain eigenvalue computation, a bilinear transformation is performed: AZ = (AS + In )(AS In )1 (7.7)

where is a weighting factor, that in the program is set to 8. Even though more expensive, AZ can be useful for fastening the determination of the maximum amplitude eigenvalue (by means for example of a power method), especially in case of unstable equilibrium points with only one eigenvalue outside the unit circle.

15

10

Imag
PSfrag replacements

10

15 6

Real

Figure 7.1: Eigenvalue Analysis: S -domain.

1 0.8 0.6 0.4 0.2

Imag
PSfrag replacements

0 0.2 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

Real

Figure 7.2: Eigenvalue Analysis: Z -domain.

57

58

7 Small Signal Stability Analysis

7.1.1

Example

The following Figs. 7.1 and 7.2, and the small signal stability report depict the eigenvalue analysis for the WSCC 9-bus test system and have been generated with the Eigenvalue Analysis interface available in the View menu of the main window. For the static and dynamic data of the network, refer to Subsection F.3.
EIGENVALUE REPORT P S A T 1.3.0

Author: Federico Milano, (c) 2002-2004 e-mail: fmilano@thunderbox.uwaterloo.ca website: http://thunderbox.uwaterloo.ca/~fmilano File: Date: ~/psatd/tests/d_009.mdl 07-Jul-2004 13:27:10

STATE MATRIX EIGENVALUES Eigevalue Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Most Associated States vf_Exc_3 vf_Exc_2 vm_Exc_1 vm_Exc_2 vf_Exc_1 vm_Exc_3 delta_Syn_2, omega_Syn_2 delta_Syn_2, omega_Syn_2 omega_Syn_1, delta_Syn_1 omega_Syn_1, delta_Syn_1 vr1_Exc_2, efd_Exc_2 vr1_Exc_2, efd_Exc_2 vr1_Exc_1, efd_Exc_1 vr1_Exc_1, efd_Exc_1 vr1_Exc_3, efd_Exc_3 vr1_Exc_3, efd_Exc_3 e1d_Syn_1 e1d_Syn_2 e1q_Syn_2, vr2_Exc_1 e1q_Syn_2, vr2_Exc_1 e1q_Syn_3 e1q_Syn_1 delta_Syn_3 omega_Syn_3 vr2_Exc_2 vr2_Exc_3 e1d_Syn_3 Real part -1000 -1000 -1000.1586 -1000 -999.8413 -1000 -0.71885 -0.71885 -0.19604 -0.19604 -5.6016 -5.6016 -5.3135 -5.3135 -5.3453 -5.3453 -5.1586 -3.4142 -0.39249 -0.39249 -0.15555 -0.07939 0 0 -0.58538 -0.51815 -3.2258 Imag. Part 0 0 0 0 0 0 12.7467 -12.7467 8.3749 -8.3749 8.0352 -8.0352 7.9144 -7.9144 7.9896 -7.9896 0 0 0.68569 -0.68569 0 0 0 0 0 0 0 Frequency 0 0 0 0 0 0 2.0287 2.0287 1.3329 1.3329 1.2788 1.2788 1.2596 1.2596 1.2716 1.2716 0 0 0.10913 0.10913 0 0 0 0 0 0 0

PARTICIPATION FACTORS (Euclidean norm) delta_Syn_1 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 0 0 0.08587 0.08587 0.30885 0.30885 0 omega_Syn_1 0 0 0 0 0 0 0.08587 0.08587 0.30885 0.30885 0 e1q_Syn_1 0 0 0 0 0 0 0.00478 0.00478 0.0133 0.0133 0 e1d_Syn_1 0 0 0 0 0 0 0.00544 0.00544 0.00719 0.00719 0 delta_Syn_2 0 0 0 0 0 0 0.38243 0.38243 0.04969 0.04969 0

7.1 Small Signal Stability Analysis

59

Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig

As As As As As As As As As As As As As As As As

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

0 0.0001 0.0001 0 0 0.00726 0.00124 0.0002 0.0002 0.00037 0.0054 0.08987 0.08987 0 0 0

0 0.0001 0.0001 0 0 0.00726 0.00124 0.0002 0.0002 0.00037 0.0054 0.08987 0.08987 0 0 0

0 4e-05 4e-05 0 0 0.00398 0.0008 0.03162 0.03162 0.31088 0.62639 0 0 0 0 0

0 0.00081 0.00081 0 0 0.48139 0.46266 0.01027 0.01027 0.0039 0.00215 0 0 0 0 0

0 0.00153 0.00153 0 0 0.0107 0.00447 0.00155 0.00155 6e-05 0.00028 0.04441 0.04441 0 0 0

PARTICIPATION FACTORS (Euclidean norm) omega_Syn_2 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 0 0 0 0 0 0 0.38243 0.38243 0.04969 0.04969 0 0 0.00153 0.00153 0 0 0.0107 0.00447 0.00155 0.00155 6e-05 0.00028 0.04441 0.04441 0 0 0 e1q_Syn_2 0 0 8e-05 0 8e-05 0 0.01189 0.01189 0.00174 0.00174 0 0 0.0142 0.0142 0 0 0.01529 0.00352 0.44421 0.44421 8e-05 0.0476 0 0 0 0 0 e1d_Syn_2 0 0 0 0 0 0 0.03082 0.03082 0.00052 0.00052 0 0 0.00361 0.00361 0 0 0.45764 0.50582 0.04301 0.04301 0 0.00087 0 0 0 0 0 delta_Syn_3 0 0 0 0 0 0 0.00459 0.00459 0.12976 0.12976 0 0 0.00016 0.00016 0 0 4e-05 0.00076 0.00037 0.00037 0.00054 0.00534 0.36572 0.36572 0 0 0 omega_Syn_3 0 0 0 0 0 0 0.00459 0.00459 0.12976 0.12976 0 0 0.00016 0.00016 0 0 4e-05 0.00076 0.00037 0.00037 0.00054 0.00534 0.36572 0.36572 0 0 0

PARTICIPATION FACTORS (Euclidean norm) e1q_Syn_3 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1e-05 1e-05 0 0 2e-05 2e-05 0 e1d_Syn_3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 vm_Exc_1 0 0 0.49988 0 0.49988 0 1e-05 1e-05 0 0 0 0 0.00013 0.00013 0 vr1_Exc_1 0 0 8e-05 0 8e-05 0 0.0006 0.0006 0.00029 0.00029 0 0 0.4306 0.4306 0 vr2_Exc_1 0 0 0 0 0 0 4e-05 4e-05 7e-05 7e-05 0 0 0.12656 0.12656 0

60

7 Small Signal Stability Analysis

Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig

As As As As As As As As As As As As

16 17 18 19 20 21 22 23 24 25 26 27

0 0 0.00391 0.01251 0.01251 0.68318 0.28479 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 1

0 2e-05 1e-05 0.00034 0.00034 0 1e-05 0 0 0 0 0

0 0.00028 0 0.04418 0.04418 0 0.00188 0 0 0 0 0

0 0.00534 0.01032 0.34506 0.34506 1e-05 0.01158 0 0 0 0 0

PARTICIPATION FACTORS (Euclidean norm) efd_Exc_1 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 0 0 8e-05 0 8e-05 0 0.00062 0.00062 0.00031 0.00031 0 0 0.42031 0.42031 0 0 3e-05 3e-05 0.06423 0.06423 0 0.00269 0 0 0 0 0 vf_Exc_1 0 0 0.49988 0 0.49988 0 1e-05 1e-05 0 0 0 0 0.00013 0.00013 0 0 2e-05 1e-05 0.00034 0.00034 0 1e-05 0 0 0 0 0 vm_Exc_2 0 0 0 0.94173 0 0.05827 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 vr1_Exc_2 0 0 0 0 0 0 0 0 0 0 0.44275 0.44275 0 0 0 0 0 0 0 0 0 0 0 0 0.08472 0 0 vr2_Exc_2 0 0 0 0 0 0 0 0 0 0 0.12256 0.12256 0 0 0 0 0 0 0 0 0 0 0 0 0.80351 0 0

PARTICIPATION FACTORS (Euclidean norm) efd_Exc_2 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 0 0 0 0 0 0 0 0 0 0.4347 0.4347 0 0 0 0 0 0 0 vf_Exc_2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 vm_Exc_3 0 0 0 0.05827 0 0.94173 0 0 0 0 0 0 0 0 0 0 0 0 0 vr1_Exc_3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44342 0.44342 0 0 0 vr2_Exc_3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12595 0.12595 0 0 0

7.2 QV Sensitivity Analysis

61

Eig Eig Eig Eig Eig Eig Eig Eig

As As As As As As As As

20 21 22 23 24 25 26 27

0 0 0 0 0 0.11177 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0.07606 0

0 0 0 0 0 0 0.80363 0

PARTICIPATION FACTORS (Euclidean norm) efd_Exc_3 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig As As As As As As As As As As As As As As As As As As As As As As As As As As As 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.43063 0.43063 0 0 0 0 0 0 0 0 0 0.12031 0 vf_Exc_3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

STATISTICS DYNAMIC ORDER # OF EIGS WITH Re(mu) < 0 # OF EIGS WITH Re(mu) > 0 # OF REAL EIGS # OF COMPLEX PAIRS # OF ZERO EIGS 27 25 0 15 6 2

7.2

QV Sensitivity Analysis

For the eigenvalue analysis of the power ow Jacobian matrices, three matrices can be used: 1. JLF , which is obtained from the static equations (10.1) of only lines and transformers, and is generally dened as the standard power ow Jacobian matrix; 2. JLF V , which is the Jacobian of the complete Jacobian matrix of the algebraic equations of the system;

62

7 Small Signal Stability Analysis

3. JLF D , which is computed from the complete matrix AC :


1 Fy JLF D = JLF V Gy Fx

(7.8)

and can thus be considered a kind of dynamic power ow Jacobian matrix. If there are pure integrators in the system, Fx can be singular. In this case, Fx is conditioned by adding a small value on the diagonal before computing the inverse. After selecting the power ow Jacobian matrix, the eigenvalue analysis is performed on a reduced matrix, as follows. Lets assume that the power ow Jacobian matrix is divided in four sub-matrices: JLF = JP JQ JP V JQV (7.9)

In case of the standard Jacobian matrix JLF , this has also a physical meaning, since it can be obtained by the linearization of the power ow equations with constant power injections: P J JP V = P (7.10) Q JQ JQV V Then, the reduced matrix is dened as follows:
1 JLF r = JQV JQ JP JP V

(7.11)

That can thus be used for a QV sensitivity analysis, if one assumes that P = 0 and that the sub-matrix JP is non-singular: Q = JLF r V (7.12)

For JLF V and JLF D , the reduced matrix is dened as in (7.11), even though it lacks the rigorous physical meaning of (7.12).

7.2.1

Example

The following Fig. 7.3 and QV sensitivity report depicts the QV sensitivity analysis for the IEEE 14-bus test system and have been generated with the GUI for Small Signal Stability Analysis available in the View menu of the main window. For the static data of the network, refer to Section F.4. The report refers to the JLF matrix, but since the system has only constant power loads and generators and there are no dynamic components, one has JLF = JLF V = JLF D . The report shows ve high eigenvalues ( = 999), which represent the constant voltage buses of the ve generators.
EIGENVALUE REPORT P S A T Author: e-mail: 1.3.0 Federico Milano, (c) 2002-2004 fmilano@thunderbox.uwaterloo.ca

7.2 QV Sensitivity Analysis

63

0.8

0.6

0.4

0.2

Imag
PSfrag replacements

0.2

0.4

0.6

0.8

10

20

30

40

50

60

70

Real

Figure 7.3: Eigenvalue Analysis: QV sensitivity.

website: http://thunderbox.uwaterloo.ca/~fmilano File: Date: ~/psatd/tests/d_014.mdl 16-Mar-2004 14:47:53

EIGENVALUES OF THE COMPLETE POWER JACOBIAN MATRIX Eigevalue Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Jlfv1 Jlfv2 Jlfv3 Jlfv4 Jlfv5 Jlfv6 Jlfv7 Jlfv8 Jlfv9 Jlfv10 Jlfv11 Jlfv12 Jlfv13 Jlfv14 Real part 64.9803 39.2929 21.7272 18.8536 16.2706 2.6984 5.5274 7.6017 11.2207 999 999 999 999 999 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Imaginary Part

PARTICIPATION FACTORS (Euclidean norm) Bus 01 Eig Eig Eig Eig Jlfv1 Jlfv2 Jlfv3 Jlfv4 0 0 0 0 Bus 02 0 0 0 0 Bus 03 0 0 0 0 Bus 04 0.53957 3e-05 0.07934 0.00038 Bus 05 0.45377 0.00065 0.15554 0.00048

64

7 Small Signal Stability Analysis

Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig

Jlfv5 Jlfv6 Jlfv7 Jlfv8 Jlfv9 Jlfv10 Jlfv11 Jlfv12 Jlfv13 Jlfv14

0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 1 0 0

0.28196 0.00823 0.00246 1e-05 0.08802 0 0 0 0 0

0.31696 0.00397 0.00136 0 0.06726 0 0 0 0 0

PARTICIPATION FACTORS (Euclidean norm) Bus 06 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Jlfv1 Jlfv2 Jlfv3 Jlfv4 Jlfv5 Jlfv6 Jlfv7 Jlfv8 Jlfv9 Jlfv10 Jlfv11 Jlfv12 Jlfv13 Jlfv14 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Bus 07 0.00653 0.1549 0.49063 0.00013 0.02216 0.0691 0.01672 3e-05 0.23981 0 0 0 0 0 Bus 08 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Bus 09 0.00012 0.61494 0.00357 0.00015 0.04693 0.19882 0.03173 4e-05 0.10371 0 0 0 0 0 Bus 10 1e-05 0.21327 0.21787 0.00443 0.16526 0.2394 0.11939 0.0364 0.00396 0 0 0 0 0

PARTICIPATION FACTORS (Euclidean norm) Bus 11 Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Eig Jlfv1 Jlfv2 Jlfv3 Jlfv4 Jlfv5 Jlfv6 Jlfv7 Jlfv8 Jlfv9 Jlfv10 Jlfv11 Jlfv12 Jlfv13 Jlfv14 0 0.00759 0.05254 0.00192 0.15559 0.11026 0.13155 0.11208 0.42848 0 0 0 0 0 Bus 12 0 0 3e-05 0.17934 0.0022 0.01886 0.32558 0.46399 0.01 0 0 0 0 0 Bus 13 0 0.00012 0.00018 0.766 0.00499 0.03232 0.16032 0.03394 0.00213 0 0 0 0 0 Bus 14 0 0.0085 0.00031 0.04716 0.00395 0.31905 0.2109 0.3535 0.05664 0 0 0 0 0

STATISTICS NUMBER OF BUSES # OF EIGS WITH Re(mu) < 0 # OF EIGS WITH Re(mu) > 0 # OF REAL EIGS # OF COMPLEX PAIRS # OF ZERO EIGS 14 0 14 14 0 0

7.3

Graphical User Interface

Figure 7.4 depicts the user interface for small signall stability analysis. Several options are available for adjusting the performance and the changing the output of the routine. It is possible to set the output map (S -map, Z -map of participation

7.3 Graphical User Interface

65

Figure 7.4: GUI for the small signal stability analysis. factor map); the Jacobian matrix (state matrix AS or one of the power ow Jacobian matrices JLF r , JLF V r or JLF Dr ); and the number and the kind of eigenvalues to be computed. The Graph and the Report pushbuttons will export the eigenvalue analysis in a new Matlab gure and write the small signall stability analysis report, respectively. A complete description of SSSA settings is reported in Appendix A.

Chapter 8

Time Domain Simulation


This chapter describes the time domain integration methods used in PSAT and their settings. A particular class of settings are the snapshots that allows computing specic points during the time simulations. How to include disturbances is also described in this chapter. Three phase faults and breaker operations are supported by means of specic functions and structures, while a generic disturbance can be created writing an user dened function. Finally, the plotting utilities for time domain simulations are briey described by means of simple examples. Observe that several programs for power system analysis make a distinction between power ow (static) data and dynamic ones. On the contrary, in PSAT, static and dynamic data can be dened in the same data le. Then PSAT makes use of static and/or dynamic data depending on the kind of the currently running simulation.

8.1

Integration Methods

Two integration methods are available, i.e. forward Euler and trapezoidal rule, which are implicit A-stable algorithms and use a complete Jacobian matrix to evaluate the algebraic and state variable directions at each step. These methods are well known and can be found in many books (e.g. [Brenan et al. 1995]). For a generic time t, and assumed a time step t, one has to solve the following problem: 0 = fn (x(t + t), y (t + t), f (t)) 0 = g (x(t + t), y (t + t)) (8.1)

where f and g represent the dierential and algebraic equations and fn is a function that depends on the integration method. Equations (8.1) are nonlinear and their solution is obtained by means of a Newton-Raphson technique which in turn consists of computing iteratively the increment xi and y i of the state and algebraic 67

68

8 Time Domain Simulation

variables and updating the actual variables: x i y i xi+1 y i+1 = =


1 [Ai c] i fn gi

(8.2)

xi x i + yi y i

where Ai c is a matrix depending on the algebraic and state Jacobian matrices of the system. The loop stops if the variable increment is below a certain xed tolerance 0 or if the maximum number of iteration is reached. In the latter case the time step t is reduced and the Newton-Raphson technique repeated again. Figure 8.1 depicts the block diagram of the time domain integration. For sake of completeness, i the following sections report the expressions of Ai c and fn for each method.

8.1.1

Forward Euler Method

The forward Euler integration method is a rst order method. It is generally faster i but less accurate than the trapezoidal method. At a generic iteration i, Ai c and fn are as follows: Ai c
i fn

= =

i In tFx i Gx

i tFy i JLF V

(8.3)

xi x(t) tf i

where In is the identity matrix of the same dimension of the dynamic order of the system, and the other matrices are the Jacobian matrices of the algebraic dierential equations, i.e. Fx = x f , Fy = y f , Gx = x g and JLF V = y g .

8.1.2

Trapezoidal Method

The trapezoidal method is the workhorse for solving electro-mechanical DAE, and is widely used, in a variety of avors, in most commercial and non-commercial power system software packages. The version implemented in PSAT is probably the simplest one, but proved to be very robust and reliable for several test cases. i At a generic iteration i, Ai c and fn are as follows: Ai c
i fn

= =

i In 0.5tFx i Gx

i 0.5tFy i JLF V

(8.4)

xi x(t) 0.5t(f i + f (t))

where the notation is the same as in (8.3).

8.2

Settings

General settings for time domain simulations, i.e. the initial1 and nal times, convergence tolerance, and maximum number of iterations of the Newton-Raphson
1 Although the initial time could be assigned any value, it is recommended to use t = 0 as 0 other values have not been tested. In any case it must be t0 > 0.

Power Flow & Initial State Variables

t = t0 Evaluate initial time step t

i=0

i=i+1 no yes i > imax Reduce t t < tmin

yes Evaluate disturbance PSfrag replacements Evaluate system equations & Jacobians END Singularity likely

Compute x and y no no |xi |, |y i | < yes

Integration method

Update x & y

Output

Recompute t

no t + t t f

yes END

Figure 8.1: Time domain integration block diagram. 69

70

8 Time Domain Simulation

Figure 8.2: GUI for general settings.

technique for each time step can be set in the main window. Other parameters can be customized in the GUI for general settings (menu Edit/General Settings or shortcut <Ctr-k> in the main window), which is depicted in Fig. 8.2. In this window, one can enable the use of a xed time step,2 , choose the value of the xed time step and choose the integration method. The pop-up menu for selecting plotting variables refers only to the variables that are visualized during the time domain simulation, and not to the variables that are stored in the Varout structure. All system variables, all power injections and all transmission line power ows are stored.3 Settings for time domain integrations are stored in the structure Settings, which contains also general settings and parameters for power ow computations. This structure is fully described in Appendix A.

2 If the check-box for the xed time step is disabled, the time domain integration routine will call the function fm tstep for determining a reasonable initial time step based on the eigenvalues of the system. 3 A huge amount of memory is needed to store the complete set of variables for big networks. Future versions of PSAT will allow to create a selection of the desired variables.

8.3 Snapshots

71

Figure 8.3: Snapshot GUI.

8.3

Snapshots

Figure 8.3 depicts the graphical user interface for setting the snapshots (menu Tools/Snapshots or shortcut <Ctr-n> in the main window). This GUI is displayed only after solving the power ow and always contains a snapshot called Power Flow Result. The GUI allows to set any number of snapshots at desired times. When running the time domain simulation, the integration routine will compute a point for each time dened in the snapshots and store the system variables in the structure Snapshot. This option can be useful for being sure that the time domain simulation will compute a point for a determined time at which a disturbance is applied or for tting the time steps in delimited regions of the simulation time interval. The GUI allows also to set the currently selected snapshot as the initial time for the next time domain simulation. This option can be used for starting time domain simulation without actually recomputing the power ow. A snapshot dened as initial time can be visualized by the GUI for displaying power ow results (menu View/Static Report or shortcut <Ctr-v> in the main window). A sequence of snapshots can be also visualized in the GUI for plotting variables (menu View/Plotting Utilities or shortcut <Ctr-w> in the main window).

8.4

Disturbances

Disturbances are fully supported in PSAT, although they might require some programming skill. The most common perturbations for transient stability analysis,

72

8 Time Domain Simulation

i.e. faults and breaker interventions, are handled by means of special structures and functions, whereas a generic perturbation requires the denition of an user dened function. Fault and breaker models are described in Chapter 12. Observe that one does not need to load a perturbation le/function when using faults and/or breakers models.4 Generic disturbances are supported by means of user dened functions.5 Perturbation les are loaded in the main window as described in Section 2. Only one (or none) perturbation le at a time can be loaded. Their structure should be as follows:

function pert(t) global global_variable_name1 global_variable_name2 ... if ... % criterion % actions elseif ... % criterion % actions else % actions end The function must accept as an input the current simulation time (scalar value) and may include any global structure of the system for taking the desired actions. 6 Observe that the time domain integration calls the disturbance le at each iteration, thus it may be convenient to reduce the number of operations within the disturbance function. In order to force the integration routine to evaluate a particular point, dene the desired time in the Snapshot structure.
4 One could run a time domain simulation just after the power ow analysis for any system. It does not matter if there is no perturbation le and no fault and breaker components loaded. It does not even matter if there is no dynamic component in the actual network. Of course in the latter cases, the time domain simulation will provide constant values for all variables. Observe that running a trivial time domain simulation could be useful for testing the initialization of dynamic components and regulators. For the same reason, it is better set disturbance actions some time after the intial simulation time. 5 Step perturbations can also be obtained by changing parameter or variable values at the Matlab prompt after solving the power ow computation and before starting the time domain simulation. 6 Observe that it may be necessary to call other functions. For example, after modifying a transmission line impedance, one has to call fm y in order to rebuild the admittance matrix.

8.5 Examples

73

8.5

Examples

Figure 8.4 depicts the graphical user interface for plotting time domain simulation results. As an example the gure depicts the speeds for the three generators of the WSCC 9-bus test system. Generators are represented by means of a fourth order model with automatic voltage regulation (IEEE type I) [Sauer and Pai 1998]. The data for this system are reported in Appendix F.3. After solving the power ow, the rotor speed of one generator is set to 0.95 p.u. as follows: >> DAE.x(Syn.omega(2)) = 0.95; then the time domain simulation is performed. The GUI allows a variety of settings, such as choosing the variables to plot, setting in detail the graphical appearance, adding and modifying a legend of the plotted variables and saving the graph to a color .eps le, which is placed in the folder of the current data le and automatically named with a progressive number (from 00 to 99). Figures 8.5, 8.6, and 8.7 depict generator speeds, generator rotor angles and bus voltages for the 9-bus test system with simplied synchronous machine models (, model), as described in the examples 2.6-2.7, pp. 41-46, Power System Control and Stability, by P. M. Anderson and A. A. Fouad [Anderson and Fouad 1977]. A three phase fault occurs at t = 1 s, at bus 7. The fault is then cleared by opening the line 4-7 at t = 1.083 s. Finally the line 4-7 is reclosed at t = 4 s. The data for this system are reported as well in Appendix F.3.

Figure 8.4: GUI for plotting time domain simulations. In this example, the speeds refer to the 9-bus test with IV order generator models and AVRs type II. The perturbance is obtained by varying the speed of generator 2 at the Matlab prompt (2 (t0 ) = 0.95 p.u.).

74

1.045

1.04

1.035

Rotor Speeds [p.u.]

1.03

1.025

1.02

1.015

1.01
PSfrag replacements Gen 1 Gen 2 Gen 3

1.005

1 0

Time [s]

Figure 8.5: Generator speeds for the 9-bus test system with II order generator models and a fault applied at bus 7.

75

40

35

30

Rotor Angles [rad]


PSfrag replacements

25

20

15

10

Gen 1 Gen 2 Gen 3

0 0

Time [s]

Figure 8.6: Generator rotor angles for the 9-bus test system with II order generator models and a fault applied at bus 7.

76

0.8

Voltages [p.u.]
PSfrag replacements

0.6

0.4
VBus 1 VBus 2 VBus 3 VBus 4 VBus 5 VBus 6 VBus 7 VBus 8 VBus 9

0.2

0 0

Time [s]

Figure 8.7: Bus voltages for the 9-bus test system with II order generator models and a fault applied at bus 7.

77

Chapter 9

PMU Placement
This chapter describes seven methods for Phasor Measurement Unit (PMU) placement with the aim of linear static state estimation of power system networks. These methods are depth rst, graph theoretic procedures and bisecting search-simulated annealing which were proposed in [Baldwin et al. 1993], as well as recursive and single shot N security and recursive and single shot N-1 security algorithms which were proposed in [Denegri et al. 2002]. A description of the PMU placement GUI and an example of report le for the 14-bus test system are reported at the end of this chapter.

9.1

Linear Static State Estimation

This section briey describes basic concepts of power system static state estimation based on what was proposed in [Schweppe et al. 1970] and [Clements et al. 1981]. The static state estimation problem is generally formulated as a non-linear set of equations, as follows: z = h(x) + (9.1) where: z (z Rm ): measurement vector; x (x Rn ): state vector; ( Rm ): measurement errors vector; h (h : Rn Rm ): vector of the relationships between states and measurements; Equation (9.1) is typically solved by means of a Newton-Raphson technique [Schweppe et al. 1970, Allemong et al. 1982, Monticelli and Garcia 1990]. Using devices able to provide voltage and current phasors, such as PMUs, yields a linear relationship between state variables and measurements variables, as follows: z = Hx + 79 (9.2)

80

9 PMU Placement

where H (H Rmn ) is the state matrix of the system. Typically m > n, and the solution of (9.2) is obtained by a least mean square technique [Thorp et al. 1985]. By splitting the vector z into the mV 1 voltage and mI 1 current subvectors, zV and zI , and the vector x into the nM 1 and nC 1 non-measured subvectors, VM and VC , relationship (9.2) becomes zV zI = I YIM 0 YIC VM + VC
V C

(9.3)

where I is the identity matrix, and YIM , YIC are submatrices whose elements are series and shunt admittances of the network branches. Neglecting shunts, the matrix H is as follows: H= I MIB YBB AT MB 0 MIB YBB AT CB (9.4)

where MIB is the mI b measurement-to-branch incidence matrix associated with the current phasor measurements, YBB is the b b diagonal matrix of the branch admittances, and AM B and ACB are the nM b and nC b calculated node-tobranch incidence submatrices, respectively [Baldwin et al. 1993, Clements et al. 1980].

9.2

PMU Placement Rules

The following PMU placement rules were proposed in [Baldwin et al. 1993]: Rule 1: Assign one voltage measurement to a bus where a PMU has been placed, including one current measurement to each branch connected to the bus itself (Fig. 9.1.a). Rule 2: Assign one voltage pseudo-measurement to each node reached by another equipped with a PMU. Rule 3: Assign one current pseudo-measurement to each branch connecting two buses where voltages are known (Fig. 9.1.b). This allows interconnecting observed zones. Rule 4: Assign one current pseudo-measurement to each branch where current can be indirectly calculated by the Kirchho current law (Fig. 9.1.c). This rule applies when the current balance at one node is known, i.e. if the node has no power injections (if N-1 currents incident to the node are known, the last current can be computed by dierence).

9.3
9.3.1

Algorithms
Depth First

This method uses only Rules from 1 to 3 (it does not consider pure transit nodes). The rst PMU is placed at the bus with the largest number of connected branches.

9.3 Algorithms

81

PSfrag replacements

pure transit node (a) (b) (c)

Figure 9.1: PMU placement rules. If there is more than one bus with this characteristic, one is randomly chosen. Following PMUs are placed with the same criterion, until the complete network observability is obtained, as depicted in Fig. 9.2.1

9.3.2

Graph Theoretic Procedure

This method was originally proposed in [Baldwin et al. 1993] and is similar to the depth rst algorithm, except for taking into account pure transit nodes (Rule 4).

9.3.3

Bisecting Search Method

Figures 9.3 and 9.4 depict the owchart of the bisecting search method and the pseudo-code of the simulated annealing procedure. Refer to [Baldwin et al. 1993] for the complete description of this method.

9.3.4

Recursive Security N Algorithm

This method is a modied depth rst approach. The procedure can be subdivided into three main steps: a) Generation of N minimum spanning trees: Fig. 9.5 depicts the ow chart of the minimum spanning tree generation algorithm. The algorithm is performed N times (N being the number of buses), using as starting bus each bus of the network. b) Search of alternative patterns: The PMU sets obtained with the step (a) are reprocessed as follows: one at a time, each PMU of each set is replaced at the buses connected with the node where a PMU was originally set, as depicted in Fig. 9.6. PMU placements which lead to a complete observability are retained. c) Reducing PMU number in case of pure transit nodes: In this step it is veried if the network remains observable taking out one PMU at a time from each set, as depicted in Fig. 9.7. If the network does not present pure transit nodes, the procedure ends at step (b).
1 The

depth rst and the graph theoretic procedures do not ensure a minimum PMU placement.

82

9 PMU Placement

Start

Place a PMU at the bus with the most branches in the unobservable region

Determine the systems coverage with the placed PMUs PSfrag replacements

No

Is the system observable?

Yes

End

Figure 9.2: Flowchart of the Graph Theoretic Procedure. The placement sets which present the minimum number of PMUs are nally selected.

9.3.5

Single Shot Security N Algorithm

This method was proposed in [Denegri et al. 2002]. The algorithm is based only on topological rules, and determines a single spanning tree, as illustrated in Fig. 9.8.

9.3.6

Recursive and Single-Shot Security N-1 Algorithms

The rules for minimal PMU placement assume a xed network topology and a complete reliability of measurement devices. Simple criteria which yield a complete observability in case of line outages (N-1 security) are proposed in [Denegri et al. 2002] and are based on the following denition: A bus is said to be observable if at least one of the two following conditions applies: Rule 1: a PMU is placed at the node; Rule 2: the node is connected at least to two nodes equipped with a PMU. Rule 2 is ignored if the bus is connected to single-end line. Figures 9.9 and 9.10 depict the algorithms for obtaining the N-1 security placement proposed in [Denegri et al. 2002]. The rst method is a slightly dierent version of the recursive technique

Start

Initiate search range upper and lower limits

Is the lower limit = 0?

Yes

No Select test point at the midpoint of interval Select test point at the 85% of the interval

Select randomly a placement set

Execute simulated annealing-based proc.

PSfrag replacements

Is the system observable?

Yes

No Set new lower limit at test point Set new upper limit at test point

No

Search interval length = 1?

Yes

End

Figure 9.3: Flowchart of the Bisecting Search.

83

begin evaluate coverage of PMU placement set S E := N number of buses in the observed region T := 15 N , Mmax } M := min{0.002 test for i := 1 to 40 do for j := 1 to M do randomly select a PMU save the bus location of the selected PMU randomly select a non-PMU bus evaluate coverage of the modied placement set Enew := N number of buses in the observed region if Enew = 0 then return with system observable and the modied placement set E := Enew E if E > 0 then generate a random accept/reject value with a probability exp (ET ) if reject then return selected PMU to previous bus location od T := 0.879T od return with system not observable end Figure 9.4: Pseudo-code of the simulated Annealing Algorithm.

84

Start

Starting bus with PMU

Find bus j which maximizes the coverage of the network with the existing PMUs

Place PMU at bus j PSfrag replacements No Is the system observable?

Yes End

Figure 9.5: Recursive N Security Method.


A
PSfrag replacements

D B C (a)

D B C (b)

D B C (c)

Figure 9.6: Search of alternative placement sets.


A pure transit node
PSfrag replacements

A pure transit node D B B C

Figure 9.7: Pure transit node ltering.

85

Start

Placement of PMUs at buses with h = 1

h=h+1

Yes h > hmax ? No Complete spanning tree

Find buses with h connections

End

PSfrag replacements

Find buses connected to the ones previously determined

No

num{w > 100} > 0 & num{w < 100} = 1? Yes

Assign PMUs and recompute w at nodes

Figure 9.8: Single-Shot N Security Method.

86

9.4 PMU Placement GUI and Settings

87

Start

Starting bus with PMU

Find buses connected to the current placed PMUs

Find buses connected to the buses determined in the previous step

PSfrag replacements

Place PMUs at the closer buses

No

Is the N-1 criterion satised?

Yes

End

Figure 9.9: Recursive N-1 Security Method. described in Section 9.3.4, whereas the second method is a variant of the algorithm described in Section 9.3.5.

9.4

PMU Placement GUI and Settings

Figure 9.11 depicts the GUI for PMU placement, which allows to select the PMU placement method and enable to write result in a report le. The listboxes report the voltages obtained with the power ow and the ones determined with the linear static state estimation based on the current PMU set, as well as the position of the PMUs. All PMU settings and results are set in the structure PMU. Refer to Appendix A for details.

9.4.1

Example

An example of report text le of PMU placement is as follows:

Start

Placement of PMUs at buses with h = 1

h=h+1

Yes h > hmax ? No Complete spanning tree with N-1 security

Find buses with h connections

End

PSfrag replacements

Find buses connected to the ones previously determined

No

num{w > 100} < h & num{w < 100} = 1?

Yes

Assign PMUs and recompute w at nodes

Figure 9.10: Single Shot N-1 Security Method.

88

9.4 PMU Placement GUI and Settings

89

Figure 9.11: GUI for the PMU placement methods.

PMU PLACEMENT REPORT P S A T 1.3.0

Author: Federico Milano, (c) 2002-2004 e-mail: fmilano@thunderbox.uwaterloo.ca website: http://thunderbox.uwaterloo.ca/~fmilano File: Date: ~/psatd/tests/d_014.mdl 15-Mar-2004 17:39:21 Annealing Method 0h 0m 0.59293s

Placement Method: Elapsed Time:

STATISTICS Buses Lines PMUs PMU Sets Meas. Currents Pseudo-Meas. Currents PMU PLACEMENT Bus Name Set 1 14 20 3 1 12 20

90

9 PMU Placement

Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus

01 02 03 04 05 06 07 08 09 10 11 12 13 14

0 1 0 0 0 1 0 0 1 0 0 0 0 0

Part III

Models

Chapter 10

Power Flow Data


This chapter describes the bus components, which are used to dene network topology, as well as the basic components for power ow analysis. They are transmission line, transformer, slack bus, constant power and constant voltage generator (PV), constant power load (PQ), and constant admittance.

10.1

Bus

The network topology is dened by bus components, whose data format is depicted in Table 10.1.1 Bus numbers, which can be in any order, and voltage ratings Vb are mandatory. Voltage magnitudes V0 and phases 0 can be optionally set if the power ow solution is known or if a custom initial guess is needed. If voltages are not specied, a at start is used (V = 1 at all buses except for the PV and slack generator buses, and = 0). Once the power ow has been solved, voltage values can be saved in the data le using the File/Save/Append Voltages menu in the main window. Data associated with area and region numbers are optional, and will be used in future version of the program. Bus components are dened in the structure Bus, as follows:
1 In

this table and in the following tables of this chapter, elds marked with a are optional.

Table 10.1: Bus Data Format (Bus.con) Column 1 2 3 4 5 6 Variable Vb V0 0 Ai Ri Description Bus number Voltage base Voltage amplitude initial guess Voltage phase initial guess Area number (not used yet...) Region number (not used yet...) Unit int kV p.u. p.u. int int

93

94

10 Power Flow Data

1. con: bus data. 2. n: total number of buses. 3. int: bus indexes. 4. Pg: active power injected in the network by generators. 5. Qg: reactive power injected in the network by generators. 6. Pl: active power absorbed from the network by loads. 7. Ql: reactive power absorbed from the network by loads. 8. island: indexes of islanded buses. The elds Pg, Qg, Pl and Ql are a byproduct of the power ow solution. In the elds Pl and Ql shunt power consumptions are not included, since the shunt admittances are included in the admittance matrix. The eld island depends on breaker interventions: if a bus is disconneted from the grid after one or more breaker interventions, the resulting island is properly handled by the time domain simulation routine. PSAT is component oriented, i.e. standard components can be connected to any bus in any number and type. Only exceptions are slack generators (SW), PV generators (PV) and PQ loads (PQ), which have to be unique for each bus. Refer to Chapter 22 for a detailed description of component connection rules in PSAT.

10.2

Transmission Line

Fig. 10.1 depicts the circuit used for dening the transmission line lumped model, as described in many power system text books. The line equations are as follows: Pk Qk Pm Qm = = = =
2 Vk (gkm + gk0 ) Vk Vm (gkm cos(k m ) + bkm sin(k m )) (10.1) 2 (bkm + bk0 ) Vk Vm (gkm sin(k m ) bkm cos(k m )) Vk

2 (gkm + gm0 ) Vk Vm (gkm cos(k m ) bkm sin(k m )) Vm 2 Vm (bkm + bm0 ) + Vk Vm (gkm sin(k m ) + bkm cos(k m ))

Transmission lines are dened in the structure Line, which is used also for transformers (see Section 10.3). The user can dene data in absolute values or in p.u. In the latter case, the length of the line has to be = 0. If = 0, it is assumed that parameters are expressed in unit per km. Table 10.2 depicts the data format of transmission lines. Imax , Pmax and Smax dene the limits for currents, active power ows and apparent power ows (S = P 2 + Q2 ). These limits are not required in power ow computations, but can be used for CPF and OPF computations. Refer to Chapters 5 and 6 for details. 1. con: transmission line data.

10.3 Transformers

95

Vk k

jX

Vm m

PSfrag replacements B/2 B/2

Figure 10.1: Transmission line circuit. 2. n: total number of lines. 3. Y: admittance matrix of the network. 4. from: indexes of buses at which lines begin. 5. to: indexes of buses at which lines end. All lines included in the structure Line are used to build the network admittance matrix Y . It is also possible to dene lines not to be included in the admittance matrix, by means of the structure Lines, whose data format is depicted in Table 10.3. Transmission line data contained in the structure Lines are organized as follows: 1. con: data chart of the Lines components. 2. n: total number of alternative lines. 3. bus1: indexes of buses k at which the lines begin. 4. bus2: indexes of buses m at which the lines end.

10.3

Transformers

Two kinds of static transformers can be dened, i.e. two-winding transformers and three-winding transformers. Refer to Chapter 17 for models of regulating transformers.

10.3.1

Two-Winding Transformers

Two-winding transformers are modeled as series reactances without iron losses and their equations are included in (10.1). Table 10.4 depicts the transformer data format which is included in the structure Line. The primary and secondary voltage ratio kT allows distinguishing between transmission lines and transformers: if k T =

Table 10.2: Line Data Format (Line.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Variable k m Sn Vn fn r x b Imax Pmax Smax Description From Bus To Bus Power rating Voltage rating Frequency rating Line length not used Resistance Reactance Susceptance not used not used Current limit Active power limit Apparent power limit Unit int int MVA kV Hz km p.u. (/km) p.u. (H/km) p.u. (F/km) p.u. p.u. p.u.

Table 10.3: Alternative Line Data Format (Lines.con) Column 1 2 3 4 5 6 7 8 Variable k m Sn Vn fn r x b Description From Bus To Bus Power rating Voltage rating Frequency rating Resistance Reactance Susceptance Unit int int MVA kV Hz p.u. p.u. p.u.

96

10.3 Transformers

97

Table 10.4: Transformer Data Format (Line.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Variable k m Sn Vn fn kT r x a Imax Pmax Smax Description From Bus To Bus Power rating Voltage rating Frequency rating not used Primary and secondary voltage ratio Resistance Reactance not used Fixed tap ratio Fixed phase shift Current limit Active power limit Apparent power limit Unit int int MVA kV Hz kV/kV p.u. p.u. p.u./p.u. deg p.u. p.u. p.u.

0, PSAT interprets the component as a line, if kT = 0, the component is considered a transformer. When kT = 0, the line length is neglected, even if = 0. The xed tap ratio a and the xed phase shift ratio are optional parameters.

10.3.2

Three-Winding Transformers

Three-winding transformers are internally modeled as two two-winding transformers and one transmission line in a Y connection, as depicted in Fig. 10.2. PSAT processes three-winding transformer data before running the power ow for the rst time and adds one bus in the Bus structure and three new lines in the Line structure. Observe that the new bus will get same voltage rating, area and region as the secondary winding bus. The data format of three-winding transformers allows setting impedances of the triangle branches, whose relationships with the resulting star impedances are as follows: z 12 z 13 z 23 Thus, one has: z 1 z 2 z 3 = ( z12 + z 13 z 23 )/2 = ( z12 + z 23 z 13 )/2 = ( z13 + z 23 z 12 )/2 (10.3) = z 1 + z 2 = z 1 + z 3 = z 2 + z 3 (10.2)

PSfrag replacements

98

10 Power Flow Data

2 Vn1 z 12 z 23 1 z 13 Vn3 3 1 a:1 0 Vn2 z 1 , Vn1 /Vn2

z 2

z 3 , Vn2 /Vn3

Figure 10.2: Three-winding transformer equivalent circuit. Three-winding transformers are dened in the structure Twt, which has only the con eld. Table 10.5 depicts the three-winding transformer data format. Observe that PSAT clears the Twt.con matrix after processing it and that there is no function associated with three-winding transformer components.

10.4

Slack Generator

Slack generators are modeled as xed voltage magnitude and phase buses, as follows: V = V0 = 0 (10.4)

The phase 0 is assumed to be the reference angle of the system.2 Table 10.6 depicts the slack generator data, which also contains data used in optimal power ow and continuation power ow analysis. In case of distributed slack bus model, the last two parameters P0 and are mandatory and the following additional equation holds: P = (1 + kG )P0 (10.5)

where kG is the distributed slack bus variable. If not specied, is assumed to be = 1. Slack generators are dened in the structure SW, as follows: 1. con: slack generator data. 2. n: total number of slack generators. 3. bus: number of buses to which slack generators are connected. 4. store: copy of the slack generator data. This eld is used only in the command line version of PSAT (see Chapter 27).
2 Only

one slack bus per network can be dened.

Table 10.5: Three-Winding Transformer Data Format (Twt.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Variable Sn fn Vn1 Vn2 Vn3 r12 r13 r23 x12 x13 x23 a Imax1 Imax2 Imax3 Pmax1 Pmax2 Pmax3 Smax1 Smax2 Smax3 Description Bus number of the 1th winding Bus number of the 2nd winding Bus number of the 3rd winding Power rating Frequency rating Voltage rating of the 1th winding Voltage rating of the 2nd winding Voltage rating of the 3rd winding Resistance of the branch 1-2 Resistance of the branch 1-3 Resistance of the branch 2-3 Reactance of the branch 1-2 Reactance of the branch 1-3 Reactance of the branch 2-3 Fixed tap ratio Current limit of the 1th winding Current limit of the 2nd winding Current limit of the 3rd winding Real power limit of the 1th winding Real power limit of the 2nd winding Real power limit of the 3rd winding Apparent power limit of the 1th winding Apparent power limit of the 2nd winding Apparent power limit of the 3rd winding Unit int int int MVA Hz kV kV kV p.u. p.u. p.u. p.u. p.u. p.u. p.u./p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u.

Table 10.6: Slack Generator Data Format (SW.con) Column 1 2 3 4 5 6 7 8 9 10 11 Variable Sn Vn V0 0 Qmax Qmin Vmax Vmin P0 Description Bus number Power rating Voltage rating Voltage magnitude Reference Angle Maximum reactive power Minimum reactive power Maximum voltage Minimum voltage Active power guess Loss participation coecient Unit int MVA kV p.u. p.u. p.u. p.u. p.u. p.u. p.u. -

99

100

10 Power Flow Data

10.5

PV Generator

PV generators x the voltage magnitude and the power injected at the buses where they are connected, as follows: P V = = Pg (10.6)

V0

In case of distributed slack bus model, the active power equation becomes: P = (1 + kG )Pg (10.7)

where kG is the distributed slack bus variable and is the loss participation factor. Table 10.7 depicts PV generator data, which include reactive power and voltage limits needed for optimal power ow and continuation load ow analysis. Refer to Chapters 6 and 5 for details. If the check of PV reactive limits is enforced (see GUI for General Settings, which is depicted in Fig. 4.1), reactive power limits are used in power ow analysis as well. When a limit is violated, the PV generator is switched to a PQ bus, as follows: P Q = Pg = Qmax,min (10.8)

After solving the power ow, the PQ buses are switched again to PV buses, assuming V0 = V at the bus where the PV generators are connected. PV generators are dened in the structure PV, as follows: 1. con: PV generator data. 2. n: total number of PV generators. 3. bus: numbers of buses to which PV generators are connected. 4. pq: internal PQ bus data (used when generator reactive power limits are encountered): (a) con: PQ load data. (b) n: total number of PQ loads. (c) bus: numbers of buses to which PQ loads are connected. 5. store: copy of the PV generator data. This eld is used only in the command line version of PSAT (see Chapter 27).

10.6 PQ Load

101

Table 10.7: PV Generator Data Format (PV.con) Column 1 2 3 4 5 6 7 8 9 10 Variable Sn Vn Pg V0 Qmax Qmin Vmax Vmin Description Bus number Power rating Voltage rating Active Power Voltage Magnitude Maximum reactive power Minimum reactive power Maximum voltage Minimum voltage Loss participation coecient Unit int MVA kV p.u. p.u. p.u. p.u. p.u. p.u. -

10.6

PQ Load
P Q = PL = QL (10.9)

PQ loads are modeled as constant active and reactive powers:

as long as voltages are within the specied limits. If a voltage limit is violated, PQ loads are converted into constant impedances , as follows: P Q
2 = P V 2 /Vlim 2 2 = QV /Vlim

(10.10)

where Vlim is Vmax or Vmin depending on the case. By default, maximum and minimum voltage limits are assumed to be 1.2 and 0.8 p.u. respectively. Table 10.8 depicts the PQ load data format. If u = 0, voltage limit control is disabled. PQ loads can be changed in constant impedances after the power ow solution (see Chapter 4). Refer to Chapter 14 for more detailed static and dynamic load models. PQ loads are dened in the structure PQ, as follows: 1. con: PQ load data. 2. n: total number of PQ loads. 3. bus: numbers of buses to which PQ loads are connected. 4. P0: initial active power (used with non-conventinal loads of Chapter 14). 5. Q0: initial reactive power (used with non-conventional loads of Chapter 14). 6. store: copy of the PQ load data. This eld is used only in the command line version of PSAT (see Chapter 27).

102

10 Power Flow Data

Table 10.8: PQ Load Data Format (PQ.con) Column 1 2 3 4 5 6 7 8 Variable Sn Vn PL QL Vmax Vmin u Description Bus number Power rating Voltage rating Active Power Reactive Power Maximum voltage Minimum voltage Allow conversion to impedance Unit int MVA kV p.u. p.u. p.u. p.u. boolean

Table 10.9: Shunt Admittance Data Format (Shunt.con) Column 1 2 3 4 5 6 Variable Sn Vn fn g b Description Bus number Power rating Voltage rating Frequency rating Conductance Susceptance Unit int MVA kV Hz p.u. p.u.

10.7

Shunt
P Q = = gV 2 bV
2

Shunt impedances are described by the following equations: (10.11)

and are included in the network admittance matrix Y . The susceptance b is negative for inductive charges, positive for capacitive ones. Shunts are dened in the structure Shunt, as follows: 1. con: shunt impedance data. 2. g: column vector of the conductances at each bus of the network. 3. b: column vector of the susceptances at each bus of the network.

Chapter 11

CPF and OPF Data


This section describes the components needed for the OPF routines. The basic components are the slack generator, the PV generator and the PQ load. As dened in Tables 10.6, 10.7 and 10.8, the user can dene the reactive power and voltage limits for the generation, and the voltage limits for the loads. Furthermore, in the denition of transmission lines and transformers, it is possible to set a limit for a maximum ow (current, active power or apparent power). Then, in the OPF window, the ow type can be specied and selected in a popup menu. For the voltages at all the N network buses, one has: Vmini Vi Vmaxi i = 1, . . . , N (11.1)

whereas the limits for the generation are the following: Qmini Qgi Qmaxi i = 1, . . . , Ng (11.2)

where Ng is the total number of generators given by the sum of the slack and PV generators. Finally the ows constraints are: i maxi i = 1, . . . , NL (11.3)

If no constraint is dened for lines or transformers, i.e. the 13th , 14th or 15th element is left blank or set to zero in the Line.con chart, a huge limit for the ow is used. The components SW, PV , PQ and Line allow to dene only some security limits. The cost parameters and additional market constraints are dened in other structures, described below, that are specically used for the OPF routines. For the generation three structures can be dened: 1. Supply: power bids, generator power directions and limits. 2. Rsrv: power reserve data. 3. Rmpg: power ramping data. 103

104

11 CPF and OPF Data

whereas for the load side the following two structures are available: 1. Demand: power bids, load power directions and limits. 2. Rmpl: power ramping data. Each structure is composed of three elds, as follows: 1. con: data. 2. n: total number of elements. 3. bus: number of buses at which elements are connected.

11.1

Generator Supply

The Supply structure denes the basic data for generations bids and costs, as depicted in Table 11.1. This structure is always required for running the OPF. The user has to dene the range of the power bid and the cost parameter that can be both for active and reactive power generation, as dened by the following equations: C (PS ) C (Qg ) =
i=1,NS 2 CP0i + CP1i PSi + CP2i PS i

(11.4)

=
i=1,NS

CQ0i + CQ1i Qgi + CQ2i Q2 gi

Then the power supply inequalities are: PSmin i PSi PSmax i i = 1, . . . , NS (11.5)

The datum PS is actually set by the OPF routine, and can be left as zero. In any case, the 6th column is used as an output rather than an input of data. It is also possible to set an unit commitment variable u, i.e. the status of the generators.1 Finally, the user can set a tie breaking cost kT B . The tie breaking involves a penalty cost kT B prorated by the amount scheduled over the maximum amount that could be scheduled for the generator by means of a quadratic function added to the objective function: P2 (11.6) CT B = k T B S PSmax If the generator does not supply power, this cost is zero, whereas if PS is close to the maximum power the tie breaking cost increases quadratically and penalizes the generator. Thus two otherwise tied energy oers will be scheduled to the point where their modied costs are identical, eectively achieving a prorated result. Generally the value of kT B should be small (e.g. 0.0005). The default value is zero. The structure Supply is also used in the continuation power ow (see Chapter 5) for dening the pattern of generator increase with respect to the base case. In this case the forecasted active power PS0 has to be set. For optimal power ow computation this value can be zero.
1 The

unit commitment could be added in future versions.

11.2 Generator Reserve

105

Table 11.1: Power Supply Data Format (Supply.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Variable Sn P S0 PSmax PSmin PS C P0 C P1 C P2 C Q0 C Q1 C Q2 u kT B Description Bus number Power rating Forecasted active power Maximum power bid Minimum power bid Actual active power bid Fixed cost (active power) Proportional cost (active power) Quadratic cost (active power) Fixed cost (reactive power) Proportional cost (reactive power) Quadratic cost (reactive power) Commitment variable Tie breaking cost Unit int MVA p.u. p.u. p.u. p.u. $/h $/MWh $/MW2 h $/h $/MVArh $/MVAr2 h boolean $/MWh

11.2

Generator Reserve

The operating reserve of a system is associated with the power that is not directly used by loads but can be requested and generators have to provide quickly. The power reserve has an associated cost: C (PR ) =
i=1,NR

C R i PR i

(11.7)

and limits as for the power supplies: PRmin i PRi PRmax i i = 1, . . . , NR (11.8)

along with the inequalities for ensuring that the sum of the power supply and the power reserve is less than the total available power supply PSmax and that the total power reserve must be less than the total power demand: PSi + PRi PR i
i=1,NR

PSmax i PDi
i+1,ND

i = 1, . . . , NR

(11.9)

The structure Rsrv denes these data, as reported in Table 11.2. The power reserve PR is lled up by the optimization routine and can be left blank.

11.3

Generator Power Ramping

Generation facilities have limits on their ability to move from one level of production to another, and these limits are generally taken in account by the so called ramping

106

11 CPF and OPF Data

Table 11.2: Power Reserve Data Format (Rsrv.con) Column 1 2 3 4 5 6 Variable Sn PRmax PRmin CR PR Description Bus number Power rating Maximum power reserve Minimum power reserve Reserve oer price Power reserve Unit int MVA p.u. p.u. $/MWh p.u.

constraints. The structure Rmpg denes the generator ramping data, as reported in Table 11.3.2 The parameters used in the optimization routine are the up and down ramp rates, i.e. Rup and Rdown . These quantities express the amount of power that can be moved each minute up or down by the generator and are associated to technical limits of the generation plants. The constraints are the following:
t + PS i t1 t PS PS i i t1 PS i

PSmax i Rupi t PSmax i Rdowni t

i = 1, . . . , NS

(11.10)

Along with these ramp limits, the user can dene also a maximum reserve ramp rate RRmax , that multiplied by the time interval t, expresses the maximum amount of power that can be dedicated to the reserve, thus: PRi RRmax i t i = 1, . . . , NR (11.11)

If the generator output is low, also the operating reserve can decrease, and the operating reserve loading point PRLP allows to reduce the power reserve for low outputs: RRmax i t i = 1, . . . , NR (11.12) P R i P Si PRLPi Thus, the power reserve PR will be the minimum between (11.11) and (11.12).

11.4

Load Demand

The Demand structure denes the basic data for load demand bids and costs, as presented in Table 11.4. The user has to dene the maximum and minimum power bids, as well as the cost coecients that can be both for active and reactive powers. The cost functions, similar to (11.4) for the power supplies, are: C1 (PD ) C2 (PD )
2 These

=
i=1,ND

2 CP0i + CP1i PDi + CP2i PD i 2 tan(i )2 CQ0i + CQ1i PDi tan(i ) + CQ2i PD i i=1,ND

(11.13)

constraints have not been implemented yet but will be included soon in future versions.

11.4 Load Demand

107

Table 11.3: Generator Power Ramping Data Format (Rmpg.con) Column 1 2 3 4 5 6 7 8 9 Variable Sn Rup Rdown UT DT U Ti DTi CSU Description Supply number Power rating Ramp rate up Ramp rate down Minimum # of period up Minimum # of period down Initial # of period up Initial # of period down Strat up cost Unit int MVA p.u./h p.u./h h h int int $

As for the constraints, one has: PRmin i PRi PRmax i i = 1, . . . , NR (11.14)

As it can be noted, for the reactive power cost, the power factor is used and it is determined by PD0 and QD0 . Their ratio can be dierent from the power factor of the base case load dened in the PQ structure . Anyway the values of P D0 and QD0 are not used in the OPF routine, but only their ratio. The structure Demand is not mandatory. In case power demands are not dened, an inelastic load model is assumed. The structure Demand is also used in the continuation load ow (see Chapter 5) for dening the pattern of load increase with respect to the base case. In this case the forecasted active power PD0 and reactive power QD0 have to be set with the desired values. The datum PD is actually set by the OPF routine, and can be left zero. Thus, the 7th column is used as an output rather than an input of data. It possible to set an unit commitment variable, i.e. the status of the loads. 3 Finally, the user can set a tie breaking cost kT B . The tie breaking involves a penalty cost kT B prorated by the amount scheduled over the maximum amount that could be scheduled for the load by means of a quadratic function added to the objective function: P2 CT B = k T B D (11.15) PDmax If the load does not consume power, this cost is zero, whereas if PD is close to the maximum power the tie breaking cost increases quadratically and penalizes the load. Thus two otherwise tied energy demands will be scheduled to the point where their modied costs are identical, eectively achieving a prorated result. Generally the value of kT B should be small (e.g. 0.0005). The default value is zero.
3 The

unit commitment could be added in future versions.

108

11 CPF and OPF Data

Table 11.4: Power Demand Data Format (Demand.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Variable Sn P D0 Q D0 PDmax PDmin PD C P0 C P1 C P2 C Q0 C Q1 C Q2 u kT B Description Bus number Power rating Forecasted active power Forecasted reactive power Maximum power bid Minimum power bid Actual active power bid Fixed cost (active power) Proportional cost (active power) Quadratic cost (active power) Fixed cost (reactive power) Proportional cost (reactive power) Quadratic cost (reactive power) Commitment variable Tie breaking cost Unit int MVA p.u. p.u. p.u. p.u. p.u. $/h $/MWh $/MW2 h $/h $/MVArh $/MVAr2 h boolean $/MWh

11.5

Load Ramping

Although less commonly used than the generation ramp rate, it is possible to dene load ramp rates. These take in account the load ability to move from one level of consumption to another. The structure Rmpl denes the load ramping data, as reported in Table 11.5.4 The parameters used in the optimization routine are the up and down ramp rates, i.e. Rup and Rdown . These quantities express the amount of power that can be moved each minute up or down by the load and are associated to technical limits in load facilities as follows:
t1 t PD PD i i

t PD i

t1 PD i

PDmax i Rupi t PDmax i Rdowni t

i = 1, . . . , ND

(11.16)

These equations are conceptually similar to (11.10) for the generation ramp rate, and uses the same time interval t dened in the OPF window.

4 These

constraints have not been implemented yet but will be included in future versions.

Table 11.5: Load Ramping Data Format (Rmpl.con) Column 1 2 3 4 Variable Sn Rup Rdown Description Bus number Power rating Ramp rate up Ramp rate down Unit int MVA p.u./min p.u./min

109

Chapter 12

Faults and Breakers


This chapter describes three phase faults and breakers.

12.1

Fault

Table 12.1 depicts data for three phase faults, i.e. the time tf of occurrence of the fault, the clearance time tc and the internal impedance of the fault rf and xf . During time domain simulations, a time vector for computing a point slightly before and slightly after the fault occurrences is created. When the faults or the fault clearances occur, the shunt admittances of the network are modied and the admittance matrix is recomputed. Three phase faults are dened in the Fault structure, as follows: 1. con: Fault data. 2. n: total number of faults. 3. bus: vector of bus numbers to which faults are connected. 4. dat: internal data. 5. V: vector of pre-fault voltages. 6. ang: vector of pre-fault angles. 7. delta: mean of synchronous machine rotor angles.

12.2

Breaker

Table 12.2 depicts the data format for transmission line breakers. Besides MVA, kV and Hz ratings, the user can set up two intervention times and a status for the braker. 111

112

12 Faults and Breakers

Table 12.1: Fault Data Format (Fault.con) Column 1 2 3 4 5 6 7 8 Variable Sn Vn fn tf tc rf xf Description Bus number Power rating Voltage rating Frequency rating Fault time Clearance time Fault resistance Fault reactance Unit int MVA kV Hz s s p.u. p.u.

In static computations, i.e. for the construction of the admittance matrix, only the status u is needed. If u = 1, the transmission line parameters are used as they are; if u = 0, the line is assumed to be open and its parameters are changed as follows: r = 0 x = 106 b = 0 (12.1)

Thus, the line is not deleted.1 Observe that only one breaker is needed for each line and the position (at the beginning or at the end of the line) is insignicant. In dynamic computations, the time domain simulation routine checks the breaker data and denes a time vector for computing points slightly before and slightly after the breaker actions. When a breaker intervention occurs, the admittance matrix is recomputed. For each intervention, the breaker change its status, as follows: u 1 0 t1 open close t2 close open

Breakers are dened in the structure Breaker, as follows: 1. con: Breaker data. 2. n: total number of breakers. 3. line: vector of line numbers to which breakers are connected. 4. bus: vector of bus numbers to which breakers are connected.

12.2 Breaker

113

Table 12.2: Breaker Data Format (Breaker.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 Variable Sn Vn fn u t1 t2 r x b a Description Line number Bus number Power rating Voltage rating Frequency rating Status First intervention time Second intervention time Line resistance Line reactance Line Susceptance Line xed tap ratio Line xed phase shift Unit int int MVA kV Hz boolean s s p.u. p.u. p.u. p.u./p.u. rad

- These elds are set automatically by the program. Breaker components can connect or disconnect only transmission lines. Directly connecting breakers to other components, such as syncrhonous machines, is not allowed. Refer to Chapter 22 for more details.

1 Observe

that disabling single-end lines may result in convergence problems.

Chapter 13

Measurements
This chapter describes components intended for measurements of non-standard quantities during time domain simulations. So far only the bus frequency measurement is included in this section.

13.1

Bus Frequency Measurements

The bus frequency measurement is obtained by means of a high-pass and a low-pass lter, as depicted in Fig. 13.1. Dierential equations are as follows: x = where is: = x +
PSfrag replacementsfollowing

1 1 1 ( 0 ) x TF 2f0 TF ( + 1 )/T 1 1 ( 0 ) 2f0 TF

(13.1)

(13.2)

Bus frequency measurement data are stored in the structure Busfreq, with the elds:

1. con: Bus frequency measurement data. 2. n: total number of components.

+ 0

1 2f0

s 1 + sTf

+ + n

1 1 + sT

Figure 13.1: Bus frequency measurement lter. 115

116

13 Measurements

Table 13.1: Bus Frequency Measurement Data Format (Busfreq.con) Column 1 2 3 Variable Tf T Description Bus number Time constant of the high-pass lter Time constant of the low-pass lter Unit int s s

3. dat: Bus frequency measurement parameters. 4. x: indexes of state variables x. 5. w: indexes of state variables . Table 13.1 depicts the data format for the bus frequency measurement components.

Chapter 14

Loads
This chapter describes static and dynamic nonlinear loads. They are voltage dependent load, ZIP load, frequency dependent load, exponential recovery load, and thermostatically controlled load. These models requires a PQ load in order to initialize parameters and state variables. Voltage dependent and ZIP loads can be optionally included in the power ow analysis.

14.1

Voltage Dependent Load


P Q = = P 0 V P Q 0 V Q (14.1)

Voltage dependent loads are dened as follows:

Table 14.1 depicts the voltage dependent load data. Equations (14.1) are a simplication of the nonlinear general exponential voltage frequency dependent load described in Section 14.3. Voltage dependent loads can

Table 14.1: Voltage Dependent Load Data Format (Mn.con) Column 1 2 3 4 5 6 7 8 Variable Sn Vn P0 Q0 P Q u Description Bus number Power rating Voltage rating Active power rating Reactive power rating Active power exponent Reactive power exponent Initialize after power ow Unit int MVA kV p.u. (%) p.u. (%) {0, 1}

117

118

14 Loads

be directly included in the power ow computation (u = 0) or initialized after the power ow solution (u = 1). In the latter case, a PQ load must be connected to the same bus, and P0 and Q0 represent percent fractions of PQ load powers. Voltage dependent loads are dened in the structure Mn, as follows: 1. con: voltage dependent load data. 2. n: total number of voltage dependent loads. 3. bus: numbers of buses to which voltage dependent loads are connected. 4. init: status for power ow computations. 5. store: copy of the voltage dependent load data. This eld is used only in the command line version of PSAT (see Chapter 27). If the option for changing the constant power loads into constant impedance is enabled, PQ loads are redened as monomial loads and added to the structure Mn. In this case it is assumed that P = Q = 2 and P0 Q0 = = PL /V02 QL /V02 (14.2)

where V0 is the voltage value obtained with the power ow solution.

14.2

ZIP Load
P Q = gV 2 + IP V + Pn = bV 2 + IQ V + Qn (14.3)

The polynomial or ZIP loads are dened as follows:

Table 14.2 depicts the ZIP load data. ZIP loads are dened in the structure Pl, as follows: 1. con: ZIP load data. 2. n: total number of ZIP loads. 3. bus: bus numbers to which ZIP loads are connected. 4. init: status for power ow computations. ZIP loads can be directly included in the power ow computation (u = 0) or initialized after the power ow solution (u = 1). In the latter case, a PQ load must be connected to the ZIP load bus, and g , IP , Pn , b, IQ and Qn represent percent fractions of PQ load powers.

14.3 Frequency Dependent Load

119

Table 14.2: ZIP Load Data Format (Pl.con) Column 1 2 3 4 5 6 7 8 9 10 11 Variable Sn Vn fn g IP Pn b IQ Qn u Description Bus number Power rating Voltage rating Frequency rating Conductance Active current Active power Susceptance Reactive current Reactive power Initialize after power ow Unit int MVA kV Hz p.u. (%) p.u. (%) p.u. (%) p.u. (%) p.u. (%) p.u. (%) {0, 1}

14.3

Frequency Dependent Load

A generalized exponential voltage frequency dependent load is modeled as follows [Hirsch 1994]: P Q = = kP 100 kQ 100 V V0 V V0
P

(1 + )P (1 + )Q

(14.4)

where represents the frequency deviation at the load bus, determined by ltering and dierentiating the bus voltage phase angle as follows (see Fig. 14.1): x = = 1 1 1 ( 0 ) + x TF 2f0 TF 1 1 ( 0 ) x+ 2f0 TF (14.5)

and V0 and 0 are the voltage magnitude and phase angle determined in the power ow solution. This component is initialized after power ow computations. A PQ load must be connected to the same bus, and its power and voltage ratings will be inherited by the frequency dependent load. Table 14.3 reports the data format for the component whereas Table 14.4 depicts some typical coecients for characteristic loads [Berg 1973]. Frequency dependent loads are dened in the structure Fl, as follows: 1. con: frequency dependent load data. 2. n: total number of polynomial power loads. 3. bus: bus numbers to which frequency dependent loads are connected.

PSfrag replacements

120

14 Loads

+ 0

1 2f0

s 1 + sTF

Figure 14.1: Measure of frequency deviation. Table 14.3: Frequency Dependent Load Data Format (Fl.con) Column 1 2 3 4 5 6 7 8 Variable kP P P kQ Q Q TF Description Bus number Active power percentage Active power voltage coecient Active power frequency coecient Reactive power percentage Reactive power voltage coecient Reactive power frequency coecient Filter time constant Unit int % % s

4. a0: initial bus voltage phase angles. 5. Dw: bus frequency deviations . 6. x: indexes of lter state variables x.

14.4

Exponential Recovery Load

An exponential recovery load is included in PSAT based on what was proposed in [Hill 1993, Karlsson and Hill 1994]. Equations are as follows: x P P = xP /TP + Ps Pt = xP /TP + Pt (14.6)

where Ps and Pt are the static and transient real power absorptions, which depend on the load voltage: Ps Pt = = P0 (V /V0 )s P0 (V /V0 )t (14.7)

Similar equations hold for the reactive power: x Q Q = = xQ /TQ + Qs Qt (14.8)

xQ /TQ + Qt

14.4 Exponential Recovery Load

121

Table 14.4: Typical load coecients [Berg 1973] Load Filament lamp Fluorescent lamp Heater Induction motor (half load) Induction motor (full load) Reduction furnace Aluminum plant P 1.6 1.2 2.0 0.2 0.1 1.9 1.8 Q 0 3.0 0 1.6 0.6 2.1 2.2 P 0 -0.1 0 1.5 2.8 -0.5 -0.3 Q 0 2.8 0 -0.3 1.8 0 0.6

Table 14.5: Exponential Recovery Load Data Format (Exload.con) Column 1 2 3 4 5 6 7 8 9 10 Variable Sn Vn fn TP TQ s t s t Description Bus number Power rating Active power voltage coecient Active power frequency coecient Real power time constant Reactive power time constant Static real power exponent Dynamic real power exponent Static reactive power exponent Dynamic reactive power exponent Unit int MVA kV Hz s s -

and: Qs Qt = = Q0 (V /V0 )s Q0 (V /V0 )


t

(14.9)

The power ow solution and the PQ load data are used for determining the values of P0 , Q0 and V0 . A PQ load has to be connected to the exponential recovery load bus. The data format is depicted in Table 14.5. Exponential recovery loads are dened in the structure Exload, as follows: 1. con: Exponential recovery load data. 2. bus: number of buses to which the exponential recovery loads are connected. 3. dat: initial powers and voltages (P0 , Q0 and V0 ). 4. n: total number of exponential recovery loads. 5. xp: indexes of the state variable xP . 6. xq: indexes of the state variable xQ .

122

14 Loads

Kp PSfrag replacements Tref + Gmax T + Ki Ti s + 1 0 0 +

Gmax G

1 T1 s + 1 +

+ K1 Ta V2

Figure 14.2: Thermostatically controlled load.

14.5

Thermostatically Controlled Load

The Thload structure denes a dynamic load with temperature control [Hirsch 1994]. This component is initialized after the power ow solution and needs a PQ load connected at the same bus. The control diagram block is depicted in Fig. 14.2 which represents the following equations: T G P = (Ta T + K1 P )/T1 (14.10)

= (Kp (Ta T + K1 P )/T1 + Ki (Tref T ))/Tc = GV 2

where the PI control block undergoes an anti-windup limit. The power ow solution provides the initial voltage V0 and active power P0 which are used for determining the gain K1 and the maximum conductance Gmax , as follows: K1 Gmax = = Tref T0 P0 KL G0 (14.11)

where G0 = P0 /V02 and KL (KL > 1) is the ceiling conductance output ratio. The structure Thload is organized as follows: 1. con: data of the Thload components. 2. bus: bus number to which the components are connected. 3. n: total number of components.

14.6 Note on the Use of Non-conventional Loads

123

Table 14.6: Thermostatically Controlled Load Data Format (Thload.con) Column 1 2 3 4 5 6 7 8 9 10 11 Variable Kp Ki Tc T1 Ta Tref Gmax K1 KL Description Bus number Percentage of active power Gain of proportional controller Gain of integral controller Time constant of integral controller Time constant of thermal load Ambient temperature Reference temperature Maximum conductance Active power gain Ceiling conductance output Unit int % p.u./p.u. p.u./p.u. s s F or C F or C p.u./p.u. ( F or C)/p.u. p.u./p.u.

4. T: indexes of the state variable T . 5. G: indexes of the state variable G . Table 14.6 depicts the data format for this component. When computing the active power, only PQ components are considered. If no constant PQ load is connected at the same bus of the thermostatically controlled load a warning message is displayed and P0 = 0 is used. The ambient and reference temperatures must be expressed in the same units. Gmax and K1 are computed and stored in the data matrix during the initialization step.

14.6

Note on the Use of Non-conventional Loads

Observe that, in general, all non-conventional loads need a PQ load connected at the same bus. Only voltage dependent and ZIP loads can be used alone if the Initialize after power ow parameter is set to zero. The powers used to initialize non-conventional loads but the exponential recovery loads are a percentage of the PQ load powers. If the sum of all percentages is 100%, the PQ load is removed from the data. Observe that PSAT does not check if the total sum of non-conventional load percentages is greater than 100%. When this happens the resulting PQ load will show negative powers. Finally, observe that exponential recovery loads are processed last, clearing the PQ load powers. Thus, be aware that when exponential recovery loads and other non-conventional loads are used together, the actual powers used by exponential recovery loads are the powers remaining after the initialization of the other loads (not the initial PQ load powers). Refer to Section 22.3.8 for details on the usage of non-conventional load within Simulink models.

Chapter 15

Machines
This chapter describes the synchronous machine and the induction motor models. These components are described by the general equations: x P Q = f (x, y, u) = gP (x, y ) = gQ (x, y ) (15.1)

where x are the state variables, y the algebraic variables (i.e. V and ) and u input variables. With regard to the induction motor models, u (i.e. the mechanical torque Tm ) is set by the user, and equations (15.1) are included in the power ow analysis. The synchronous machines are initialized after power ow computations and a PV or a slack generator is needed for imposing the desired voltage and active power at the machine bus. Once the power ow solution has been determined, V 0 , 0 , P0 and Q0 at the generation bus are used for initializing the state and input variables, the latter being the eld voltage vf and the mechanical torque Tm . Thus, the following system is solved: 0 P0 Q0 = f (x, y0 , u) = gP (x, y0 ) = gQ (x, y0 ) (15.2)

At the end of the initialization procedure, the PV and/or slack generators connected at the generator buses are removed. Synchronous machines controls such as AVRs or Turbine Governors are not included in the machine models. Refer to Chapter 16 for a detailed description of generator control systems.

15.1

Synchronous Machine

The Park-Concordia model is used for synchronous machine equations, whose scheme is depicted in Fig. 15.1. Various simplication levels are applied, from the 125

126

15 Machines

Figure 15.1: Synchronous machine scheme. classical swing equations to an eight order model with eld saturation. Fig. 15.2 depicts the d and q -axis block diagrams of stator uxes for the VI order model while Fig. 15.3 illustrates the eld saturation characteristic of the synchronous machine. The link between the network phasors and the machine voltage is as follows: vd vq = = V sin( ) (15.3)

V cos( )

whereas, power injections are expressed in the form: P Q = v d id + v q iq = v q id v d iq (15.4)

The expressions of d and q -axis currents depend on the model, and in general terms are dened as follows: 0 0 = = g1 (x, id , id , V, ) g2 (x, id , id , V, ) (15.5)

For models III, IV, V.1, V.2 and VI, the eld voltage includes a feedback of the rotor speed and the active power produced by the machine:
vf = vf + K ( 1) + KP (Pm P (x, V, ))

(15.6)

is used, thus implementing a simple power system stabilizer. Where the notation v f (15.6) is implied.

id

(xd xd ) d

(xd xd ) + d

xd x l

1 sTd0

eq +

1 sTd0

eq +

PSfrag replacements

1 vf

TAA Td0

TAA Td0

d-axis

q -axis

iq (xq xq ) q (xq xq ) + q xq x l

+ 1 sTq0

ed +

1 sTq0

ed +

Figure 15.2: d and q -axis block diagrams of the stator uxes for the most detailed synchronous machine model. Coecients d and q are dened as follows: d = q = Td0 xd (xd xd ) Td0 xd Tq 0 x q (xq xq ) Tq 0 x q

127

eq Air gap line

1.2 1.0 0.8

PSfrag replacements

ia1 ib1

ia1.2

ib1.2

xad if

Figure 15.3: Field saturation characteristic of synchronous machines. Saturation factors are dened as follows: ia1 ib1 ia1.2 = 1 ib1.2 = 1

S (1.0) S (1.2)

Note: the saturation curve is linear for e q < 0.8, whereas it is approximated by means of a quadratic interpolation for e q 0.8. S (1.0) < S (1.2) should hold to ensure the right convexity of the saturation curve. Observe that if the saturation factors S (1.0) and/or S (1.2) are given, the d-axis additional leakage time constant is assumed TAA = 0.

128

15.1 Synchronous Machine

129

Table 15.1 depicts the complete synchronous machine data format. Coecients P and Q are used in case of multiple generators connected to the same bus. In this case the amount of active and reactive power that each machine has to provide should be specied. The sum of these coecients for the machines connected to the same bus has to be one. PSAT does not check the consistency of these coecients. By default, P and Q are set to 1. If the d-axis additional leakage time constant TAA is omitted, it is assumed TAA = 0. Table 15.2 depicts a quick reference card for the usage of time constants and reactances within synchronous machine models. When a time constant or a reactance is not used, it can be zero. PSAT checks time constants and reactances when initializing machine state variables; if needed time constants and/or reactances are negative or zero, PSAT will automatically set default values and display warning messages. The synchronous machine is dened in the Syn structure, with the following elds: 1. con: Synchronous machine data. 2. n: total number of synchronous machines. 3. bus: numbers of buses to which synchronous machines are connected. 4. Pg, Qg: active and reactive powers of the machines. 5. J11, J12, J21, J22: Jacobians of algebraic equations. 6. Gp, Gq: Jacobians of dierential equations with respect to V and . 7. delta: rotor angle indexes. 8. omega: rotor speed indexes. 9. e1q: q-axis transient voltage eq indexes. 10. e1d: d-axis transient voltage ed indexes. 11. e2q: q-axis subtransient voltage eq indexes. 12. e2d: d-axis subtransient voltage ed indexes. 13. psiq: q-axis ux q indexes. 14. psid: d-axis ux d indexes. 15. pm: mechanical power/torque Tm . 16. vf: eld voltage vf .

Table 15.1: Synchronous Machine Data Format (Syn.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Variable Sn Vn fn xl ra xd xd xd T d0 T d0 xq xq xq Tq 0 Tq 0 M = 2H D K KP P Q TAA S (1.0) S (1.2) Description Bus number Power rating Voltage rating Frequency rating Machine model Leakage reactance Armature resistance d-axis synchronous reactance d-axis transient reactance d-axis subtransient reactance d-axis open circuit transient time constant d-axis open circuit subtransient time constant q -axis synchronous reactance q -axis transient reactance q -axis subtransient reactance q -axis open circuit transient time constant q -axis open circuit subtransient time constant Inertia constant Damping coecient Speed feedback gain Active power feedback gain Active power ratio at node Reactive power ratio at node d-axis additional leakage time constant First saturation factor Second saturation factor Unit int MVA kV Hz p.u. p.u. p.u. p.u. p.u. s s p.u. p.u. p.u. s s kWs/kVA p.u. gain gain [0,1] [0,1] s Model all all all all all all all III, IV, V.1, V.2, V.3, VI, VIII II, III, IV, V.1, V.2, V.3, VI, VIII V.2, VI, VIII III, IV, V.1, V.2, V.3, VI, VIII V.2, VI, VIII III, IV, V.1, V.2, V.3, VI, VIII IV, V.1, VI, VIII V.2, VI, VIII IV, V.1, VI, VIII V.1, V.2, VI, VIII all all III, IV, V.1, V.2, VI III, IV, V.1, V.2, VI all all V.2, VI, VIII III, IV, V.1, V.2, VI, VIII III, IV, V.1, V.2, VI, VIII

optional elds

130

15.1 Synchronous Machine

131

Table 15.2: Reference table for synchronous machine time constants and reactances. Order Td0 Tq0 Td0 Tq0 xd xd xd xq xq xq II III IV V.1 V.2 V.3 VI VIII

15.1.1

Order II

This is the classic electro-mechanical model, with constant amplitude e.m.f. e q . The state variables are and . The eects of the leakage reactance and the armature resistance can be included. The dierential equations are as follows: = = b ( 1) (15.7)

(Pm Pe D( 1))/M

where the electrical power Pe is dened as follows: Pe = (vq + ra iq )iq + (vd + ra id )id Finally, the following relationships between voltages and currents hold: 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id (xd xl )iq (15.9) (15.8)

The q -axis transient voltage eq is constant and is stored in the eld vf of the Syn structure as if it were a eld voltage. Automatic Voltage Regulators should not be connected to order II synchronous machines.

15.1.2

Order III

In this model all the q -axis electromagnetic circuits are neglected, whereas a leadlag transfer function is used for the d-axis inductance. The three state variables , and eq are described by the following dierential equations: e q = b ( 1) (15.10)

= (Pm Pe D( 1))/M )/Td0 = (fs (eq ) (xd xd )id + vf

132

15 Machines

where the electrical power is (15.8) and the voltage and current link is described by the equations: 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id (xq xl )iq (15.11)

This model is the simplest one to which an Automatic Voltage Regulator can be connected.

15.1.3

Order IV

In this model, lead-lag transfer functions are used for modeling the d and q -axis inductances, thus leading to a fourth order system in the state variables , , e q and ed : e q e d = = (Tm Te D( 1))/M )/Td0 = (fs (eq ) (xd xd )id + vf = (ed + (xq xq )iq )/Tq0 b ( 1) (15.12)

where the electrical power is (15.8) and the voltage and current link is described by the equations: 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id ed (xq xl )iq (15.13)

A similar fourth order model can be formulated using the subtransient d-axis voltage ed instead of ed . The corresponding dierential equation is: e d = (ed + (xq xq )iq )/Tq0 (15.14)

15.1.4

Order V, Type 1
xd x d x q (15.15)

In this model, it is assumed: which leads to a single d-axis equation for the variable eq . The d-axis transient and subtransient dynamics are used. The model is a fth order in the variables , , eq , ed and ed and is described by the equations: e q e d e d = = (Pm Pe D( 1))/M = (fs (eq ) (xd xd )id + vf )/Td0 = = (ed + (xq xq b ( 1) (15.16)

Tq 0 x d (xq xq ))iq )/Tq0 Tq 0 x q Tq 0 x d (xq xq ))iq )/Tq0 Tq 0 x q

(ed + ed + (xq xd +

15.1 Synchronous Machine

133

where the electrical power is (15.8) and the voltage and current link is as follows: 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id ed (xq xl )iq (15.17)

15.1.5

Order V, Type 2

A second type of fth order model can be obtained assuming only one additional circuit on the d-axis. The resulting model has ve state variables , , eq , eq and ed and the following dierential equations: e q e q e d = b ( 1) (15.18) = (Pm Pe D( 1))/M T x TAA )v )/Td0 = (fs (eq ) (xd xd d0 d (xd xd ))id + (1 Td0 xd Td0 f T x TAA = (eq + eq (xd xd + d0 d (xd xd ))id + v )/Td0 Td0 xd Td0 f = (ed + (xq xq )iq )/Tq0 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id ed (xq xl )iq (15.19)

where the electrical power is (15.8) and the voltage and current link is as follows:

15.1.6

Order V, Type 3

This model is the basic model for electromechanical and electromagnetic studies. The eects of speed variation on uxes are considered along with the eld ux dynamic. Thus, the system presents ve state variables , , f , q and d and the dierential equations: f q d = b ( 1) = (Tm Te D( 1))/M = (vf eq )/Td0 = = b (vq + ra iq d ) (15.20)

b (vd + ra id + q )

where the electrical torque is: T e = d iq q id To complete the model, three algebraic constraints are needed: f d q = = = eq (xd xd )id eq (xd xl )id (xq xl )iq (15.22) (15.21)

134

15 Machines

These equations can be rewritten in order to obtain a dierential equation for e q , thus eliminating from the system the eld ux f : e q = xd x l 1 xd x d ( (vf eq ) d ) xd xl Td0 xd x l (15.23)

The state variables used in PSAT are , , eq , q and d . In order to compute correct eigenvalues for the small signal stability analysis, this model should be used in networks where a slack bus is present.

15.1.7

Order VI

The sixth order model is obtained assuming the presence of a eld circuit and an additional circuit along the d-axis and two additional circuits along the q -axis. The system has six state variables ( , , eq , ed , eq and ed ) and the following equations: e q e d e q e d = b ( 1) (15.24) = (Pm Pe D( 1))/M TAA T x )v )/Td0 = (eq (xd xd d0 d (xd xd ))id + (1 Td0 xd Td0 f Tq 0 x q = (fs (ed ) + (xq xq (xq xq ))iq )/Tq0 Tq 0 x q = (eq + eq (xd xd + Td0 xd TAA (xd xd ))id + v ))/Td0 Td0 xd Td0 f Tq 0 x q = (ed + ed + (xq xq + (xq xq ))iq )/Tq0 Tq 0 x q

where the electrical power is (15.8) and the algebraic constraints are as follows: 0 0 = = vq + ra iq eq + (xd xl )id vd + ra id ed (xq xl )iq (15.25)

This model is basically the same of the VIII order one, but with the assumptions d = q = 0, d d and q q .

15.1.8

Order VIII

This model is obtained with the same assumption of model VI, but including electromagnetic ux dynamics. The state variables are , , eq , ed , eq , ed , d and q ,

15.2 Induction Motor

135

with the following equations: e q e d e q e d q d = = b ( 1) (15.26)

(Tm Te D( 1))/M TAA T x )vf )/Td0 = (fs (eq ) (xd xd d0 d (xd xd ))id + (1 Td0 xd T d0 Tq 0 x q = (ed + (xq xq (xq xq ))iq )/Tq0 Tq 0 x q = = = = (eq + eq (xd xd + TAA Td0 xd (xd xd ))id + vf )/Td0 Td0 xd Td0 Tq 0 x q (xq xq ))iq )/Tq0 (ed + ed + (xq xq + Tq 0 x q

b (vq + ra iq d )

b (vd + ra id + q )

where the electrical torque is (15.21). The following algebraic relationship complete the model: d q = = eq (xd xl )id ed (xq xl )iq (15.27)

In order to compute correct eigenvalues for the small signal stability analysis, this model should be used in networks where a slack bus is present.

15.2

Induction Motor

The models used for the induction motors are dened with an approach similar to what was described for the synchronous machine. Three models are dened for the induction motor. These are pure mechanical model, single cage rotor model, and double cage rotor model. The expression used for the torque/speed characteristic is a composite load model: Tm = a + b + c 2 (15.28) and given the relationship between the slip and the speed in p.u., e.g. = 1 , the torque/slip characteristic becomes: Tm = + + 2 where = a+b+c = b 2c c (15.29)

136

15 Machines

Table 15.3 depicts the data format of the induction machine. The start-up control parameter, if enabled, allows xing = 1 for the power ow computation. After solving the power ow, all the start-up parameters are reset to o, and the slip is free to vary. This procedure allows computing the start-up transient of induction machines. If the start-up is enabled, the initial condition of slips do not correspond to a = 0. For the detailed models of each kind of induction motors, refer to the following subsections. The induction machine is dened in the Mot structure, which has the following elds: 1. con: induction motor data. 2. n: total number of induction motors. 3. bus: numbers of buses to which induction motors are connected. 4. dat: induction motor parameters. 5. slip: slip indexes. 6. e1r: real part of 1st cage voltage er indexes. 7. e1m: imaginary part of 1st cage voltage em indexes. 8. e2r: real part of 2st cage voltage er indexes. 9. e2m: imaginary part of 2st cage voltage em indexes.

15.2.1

Order I

The electrical circuit used for the rst order induction motor is depicted in Fig. 15.4. Only the mechanical state variable is considered, being the circuit in steady-state condition. The dierential equation is as follows: = rR 1 V 2 1 Tm ( ) 2 2Hm rR1 + 2 (xS + xR1 )2 (15.30)

whereas the power injections are: P Q = = rR 1 V 2 + 2 (xS + xR1 )2 (15.31)

2 rR 1 2

(xS + xR1 )V 2 2 V + 2 xm rR1 + 2 (xS + xR1 )2

15.2 Induction Motor

137

Table 15.3: Induction Motor Data Format (Mot.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Variable Sn Vn fn sup rS xS rR 1 xR 1 rR 2 xR 2 xm Hm a b c Description Bus number Power rating Voltage rating Frequency rating Model order Start-up control Stator resistance Stator reactance 1st cage rotor resistance 1st cage rotor reactance 2nd cage rotor resistance 2nd cage rotor reactance Magnetization reactance Inertia constant 1st coe. of Tm ( ) 2nd coe. of Tm ( ) 3rd coe. of Tm ( ) Unit int MVA kV Hz int boolean p.u. p.u. p.u. p.u. p.u. p.u. p.u. kWs/kVA p.u. p.u. p.u. Model all all all all all all III, V all all all V V all all all all all

15.2.2

Order III (single cage)

The simplied electrical circuit used for the single-cage induction motor is depicted in Fig. 15.5. The equations are formulated in terms of the real (r) and imaginary (m) axis, with respect to the network reference angle. In a synchronously rotating reference frame, the link between the network and the stator machine voltages is as follows: vr vm P Q = V sin = V cos (15.32)

Using the notation of Fig. 15.5, the power absorptions are: = v r ir + v m im = v m ir v r im (15.33)

The dierential equations in terms of the voltage behind the the stator resistance rS are: e r e m = = b em (er + (x0 x )im )/T0 (15.34) b er (em (x0 x )ir )/T0 = = r S ir x im r S im + x ir (15.35)

whereas the link between voltages, currents and state variables is as follows: vm e m vr e r

138
xS xR 1

15 Machines

PSfrag replacements V xm rR1 /

Figure 15.4: Order I induction motor: electrical circuit.


PSfrag replacements rS xS xR 1

vr vm

ir im

xm

rR1 /

Figure 15.5: Order III induction motor: electrical circuit. where x0 , x and T0 can be obtained from the motor parameters: x0 x T0 = = = xS + xm xR 1 xm xS + xR 1 + x m xR 1 + x m b rR 1 (15.36)

Finally, the mechanical equation is as follows: = (Tm ( ) Te )/(2Hm ) where the electrical torque is: T e = e r ir + e m im (15.38) (15.37)

15.2.3

Order V (double cage)

The electrical circuit for the double-cage induction machine model is depicted in Fig. 15.6. In analogy with the single-cage model, machine real and imaginary axis are dened with respect to the network reference angle, and (15.32) and (15.33) apply. Two voltages behind the stator resistance rS model the cage dynamics, as

15.2 Induction Motor


rS xS

139

PSfrag replacements ir vr vm xm im xR 1 xR 2

rR1 /

rR2 /

Figure 15.6: Order V induction motor: electrical circuit. follows: e r e m e r e m = = = = b em (er + (x0 x )im )/T0 (15.39)

b er (em (x0 x )ir )/T0 b (em em ) + e r (er em (x x )im )/T0 m (em er + (x x )ir )/T0 b (er er ) + e

and the links between voltages and currents are: vr e r = = r S ir x im r S im + x ir (15.40)

vm e m

where the parameters are determined from the circuit resistances and reactances and are given by equations (15.36) and: x T0 = = xS + xR 1 xR 2 xm xR 1 xR 2 + x R 1 xm + x R 2 xm xR2 + xR1 xm /(xR1 + xm ) b rR 2 (15.41)

The dierential equation for the slip is the (15.37), while the electrical torque is dened as follows: (15.42) T e = e r ir + e m im

Chapter 16

Controls
This chapter describes regulators and controllers included in PSAT. These are Turbine Governor (TG), Automatic Voltage Regulator (AVR), Power System Stabilizer (PSS), Over Excitation Limiter (OXL), and Secondary Voltage Control system which includes Central Area Controllers (CACs) and Cluster Controllers (CCs) for coordinating AVRs and SVCs. Control models are described by means of a set of dierential equations, as follows: x zout = f (x, y, zin ) = zout (x, y, zin ) (16.1)

where x are the state variable of the component, y the algebraic variables (e.g. bus voltages in case of AVRs), zin are the input variables (e.g. the rotor speed in case of TGs), and zout are the output variables (e.g. the synchronous machine eld voltage and mechanical torque).

16.1

Turbine Governor

Turbine Governors (TGs) dene the primary frequency regulation of synchronous machines. TG data are stored in the structure Tg, as follows: 1. con: Turbine Governor data. 2. n: total number of TGs. 3. syn: generator numbers. 4. dat1: computed parameters for TG type 1. 5. dat2: computed parameters for TG type 2. 6. tg: indexes of state variable tg . 7. tg1: indexes of state variable tg1 . 141

PSfrag replacements

142

16 Controls

Torder Tmax ref + 1/R + +


Tin

Tin

1 Ts s + 1

T3 s + 1 Tc s + 1 Servo

T4 s + 1 T5 s + 1 Reheat

Tmech

Tmin

Governor

Figure 16.1: Turbine governor type I. 8. tg2: indexes of state variable tg2 . 9. tg3: indexes of state variable tg3 . Limits of the mechanical torque are checked at the initialization step. Observe that mechanical torque limits are in p.u. with respect to the machine power rating. If a limit is violated, an error message is displayed and the associated state variables are not properly initialized.

16.1.1

TG Type I
1 (ref ) R if Tmin Tin Tmax if Tin > Tmax if Tin < Tmin

The TG type I is depicted in Fig. 16.1 and described by the following equations:
Tin

Tin g1 t g2 t g3 t Tmech

Torder + Tin = Tmax Tmin = = = =

(16.2)

(Tin tg1 )/Ts T3 ((1 )tg1 tg2 )/Tc Tc T4 T3 ((1 )(tg2 + tg1 ) tg3 )/T5 T5 Tc T3 T4 tg3 + (tg2 + tg1 ) T5 Tc

Table 16.1 depicts the data format of the TG type I.

16.1.2

TG Type II
1 T1 (1 )(ref ) tg )/T2 R T2 1 T1 (ref ) + Tmech0 tg + R T2

The TG type II is depicted in Fig. 16.2 and described by the following equations: g t
Tmech

= =

(16.3)

16.2 Automatic Voltage Regulator

143

Table 16.1: Turbine Governor Type I Data Format (Tg.con) Column 1 2 3 4 5 6 7 8 9 10 11 Variable 1 ref R Tmax Tmin Ts Tc T3 T4 T5 Description Generator number Turbine governor type Reference speed Droop Maximum turbine output Minimum turbine output Governor time constant Servo time constant Transient gain time constant Power fraction time constant Reheat time constant Unit int int p.u. p.u./p.u. p.u. p.u. s s s s s

PSfrag replacements

Tmech0 + 1/R T1 s + 1 T2 s + 1 + Tmin


Tmech

Tmax Tmech

ref

Figure 16.2: Turbine governor type II. Tmech Tmax Tmin


if Tmin Tmech Tmax if Tmech > Tmax if Tmech < Tmin

Tmech

Table 16.2 depicts the data format of the TG type II.

16.2

Automatic Voltage Regulator

Automatic Voltage Regulators (AVRs) dene the primary voltage regulation of synchronous machines. Several AVR models have been proposed and realized in practice. PSAT allows to dene three simple dierent types of AVRs. AVR Type I is a standard Italian regulator (ENEL), whereas AVR Type II is the standard IEEE model 1. AVR Type III is the simplest AVR model which can be used for rough stability evaluations. AVRs are stored in the structure Exc, which has the following elds: 1. con: data chart of the Exc components.

144

16 Controls

Table 16.2: Turbine Governor Type II Data Format (Tg.con) Column 1 2 3 4 5 6 7 8 Variable 2 ref R Tmax Tmin T2 T1 Description Generator number Turbine governor type Reference speed Droop Maximum turbine output Minimum turbine output Governor time constant Transient gain time constant Unit int int p.u. p.u./p.u. p.u. p.u. s s

2. n: total number of automatic voltage regulators. 3. syn: generator numbers. 4. vrif: reference voltage vref . 5. vrif0: reference voltage vref0 (initial value). 6. vr1: indexes of state variable vr1 . 7. vr2: indexes of state variable vr2 . 8. vr3: indexes of state variable vr3 . 9. vm: indexes of state variable vm . 10. vf: indexes of state variable vf . The reference voltages vref are initialized after the power ow computations. Limits are checked at the initialization step. In case of violation, a warning message is displayed and AVR state variables are not correctly initialized.

16.2.1

AVR Type I

The AVR Type I is depicted in Fig. 16.3 and described by the following equations: v m v r1 v r2
vr

(V vm )/Tr T2 = (0 (1 )(vref vm ) vr1 )/T1 T1 T3 T2 = ((1 )(vr1 + 0 (vref vm )) vr2 )/T4 T4 T1 T2 T3 = vr2 + (vr1 + 0 (vref vm ) + vr1 ) T4 T1

(16.4)

16.2 Automatic Voltage Regulator

145

PSfrag replacements vr max


vr

Se

vref

+ 0 vm

(T2 s + 1)(T4 s + 1) (T1 s + 1)(T3 s + 1)

vr +

1 Te s + 1

vf

vr min 1 Tr s + 1

Figure 16.3: Exciter Type I. vr vr max vr min


if vr min vr vr max , if vr > vr max , if vr < vr min .

vr v f

= =

(vf (1 + Se (vf )) vr )/Te

where the ceiling function Se is: Se (vf ) = Ae (eBe |vf | 1) Table 16.3 depicts the data format of AVR Type I. (16.5)

16.2.2

AVR Type II
v m v r1 = = (V vm )/Tr (16.6)

The AVR Type II is depicted in Fig. 16.4 and described by the following equations: Kf vf ) vr1)/Ta (Ka (vref vm vr2 Tf if vr min vr1 vr max , vr 1 vr max if vr1 > vr max , vr min if vr1 < vr min .

vr

v r2 v f

= =

Kf vf + vr2 )/Tf Tf (vf (1 + Se (vf )) vr )/Te (

146

16 Controls

Table 16.3: Exciter Type I Data Format (Exc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 Variable 2 Vr max Vr min 0 T1 T2 T3 T4 Te Tr Ae Be Description Generator number Exciter type Maximum regulator voltage Minimum regulator voltage Regulator gain 1st pole 1st zero 2nd pole 2nd zero Field circuit time constant Measurement time constant 1st ceiling coecient 2nd ceiling coecient Unit int int p.u. p.u. p.u./p.u. s s s s s s -

where the ceiling function Se is (16.5). The amplier block is subjected to an anti-windup limit. Table 16.4 depicts the data format of AVR Type II.

16.2.3

AVR Type III


v m v r v f = = = (V vm )/Tr T1 (0 (1 )(vref vm ) vr )/T2 T2 T1 V ((vr + 0 (vref vm ) + vf 0 ) vf )/T T2 V0 (16.7)

The AVR Type III is depicted in Fig. 16.5 and described by the following equations:

The initial eld voltage Vf0 and bus voltage V0 are set at the initialization step. The eld voltage vf is subjected to an anti-windup limiter and T is a xed small time constant (T = 0.001 s).1 Table 16.5 depicts the data format of AVR Type III.

16.3

Power System Stabilizer

Power System Stabilizers (PSSs) are typically used for damping power system oscillations and many dierent models have been proposed in the literature. In addition to the simple PSS embedded in the synchronous machine equations (models III, IV, V.1, V.2 and VI), ve models of PSS are implemented in PSAT.
1 Observe that T is not dened by the user. However it can be changed directly in the function fm exc.m

PSfrag replacements vr max

Se

vref

+ vm 1 Tr s + 1

+ vr min

Ka Ta s + 1

vr +

1 Te s + 1

vf

Kf s Tf s + 1

Figure 16.4: Exciter Type II.

Table 16.4: Exciter Type II Data Format (Exc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 Variable 2 Vr max Vr min Ka Ta Kf Tf Te Tr Ae Be Description Generator number Exciter type Maximum regulator voltage Minimum regulator voltage Amplier gain Amplier time constant Stabilizer gain Stabilizer time constant (not used) Field circuit time constant Measurement time constant 1st ceiling coecient 2nd ceiling coecient Unit int int p.u. p.u. p.u./p.u. s p.u./p.u. s s s -

147

PSfrag replacements

1/V0 Kf s vf max vr V 1 Tr s + 1 vm + T1 s + 1 0 T2 s + 1 + + 1 T s+1 vf

vref

vf 0

vf min

Figure 16.5: Exciter Type III.

Table 16.5: Exciter Type III Data Format (Exc.con) Column 1 2 3 4 5 6 7 8 9 10 11 Variable 3 vf max vf min 0 T2 T1 v f0 V0 Tr Description Generator number Exciter type Maximum eld voltage Minimum eld voltage Regulator gain Regulator pole Regulator zero Field voltage oset Bus voltage oset (not used) Measurement time constant Unit int int p.u. p.u. p.u./p.u. s s p.u. p.u. s

148

16.3 Power System Stabilizer

149

All models accept as input signals the rotor speed , the active power Pg and the bus voltage magnitude Vg of the generator to which the PSS is connected through the automatic voltage regulator. The PSS output signal is the state variable vs , which modies the reference voltage vref of the AVR. the output signal vs is subjected to an anti-windup limiter and its dynamic is given by a small time constant T = 0.001 s.2 Note that PSSs cannot be used with order II generators. PSSs are dened by the structure Pss, as follows: 1. con: PSS data. 2. n: total number of PSSs. 3. bus: bus numbers. 4. syn: synchronous machine numbers. 5. exc: automatic voltage regulator numbers. 6. v1: indexes of the state variable v1 . 7. v2: indexes of the state variable v2 . 8. v3: indexes of the state variable v3 . 9. va: indexes of the state variable va . 10. vss: indexes of the state variable vs . 11. Vs: PSS output signals vs . 12. s1: current status of switches s1 . The complete PSS data format is depicted in Table 16.6.

16.3.1

Type I

PSS Type I is depicted in Fig. 16.6, and is described by the following dierential equation: v 1 v s = = (Kw + Kp Pg + Kv Vg + v1 )/Tw (Kw + Kp Pg + Kv Vg + v1 vs )/T (16.8)

where , Pg and Vg are the rotor speed, the active power and the voltage magnitude of the generator to which the PSS is connected through the AVR.
2 Observe that T is not dened by the user. However it can be changed directly in the function fm pss.m

Table 16.6: Power System Stabilizer Data Format (Pss.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Variable vsmax vsmin Kw Tw T1 T2 T3 T4 Ka Ta Kp Kv vamax va min vsmax vs min ethr thr s2 Description AVR number PSS model PSS input signal 1 , 2 Pg , 3 Vg Max stabilizer output signal Min stabilizer output signal Stabilizer gain (used for in model I) Wash-out time constant First stabilizer time constant Second stabilizer time constant Third stabilizer time constant Fourth stabilizer time constant Gain for additional signal Time constant for additional signal Gain for active power Gain for bus voltage magnitude Max additional signal (anti-windup) Max additional signal (windup) Max output signal (before adding va ) Min output signal (before adding va ) Field voltage threshold Rotor speed threshold Allow for switch S2 Unit int int int p.u. p.u. p.u./p.u. s s s s s p.u./p.u. s p.u./p.u. p.u./p.u. p.u. p.u. p.u. p.u. p.u. p.u. boolean Model all all III, IV, all all all all III, IV, III, IV, III, IV, III, IV, IV, V IV, V I I IV, V IV, V IV, V IV, V IV, V IV, V IV, V

II,

II, II, II, II,

V V V V

150

PSfrag replacements

16.3 Power System Stabilizer

151

Kw Pg Kp + Vg Kv
PSfrag replacements

vs max + 1 T s+1 vs min

vref0 + +

Tw s Tw s + 1

vs

vref

Figure 16.6: Power system stabilizer Type I.


vs max vSI Kw Tw s Tw s + 1 T1 s + 1 T2 s + 1 T3 s + 1 T4 s + 1 1 T s+1 vs min vs

Figure 16.7: Power system stabilizer Type II.

16.3.2

Type II

The PSS Type II is depicted in Fig. 16.7, and is described by the equations: v 1 v 2 v 3 v s (Kw vSI + v1 )/Tw T1 = ((1 )(Kw vSI + v1 ) v2 )/T2 T2 T3 T1 = ((1 )(v2 + ( (Kw vSI + v1 ))) v3 )/T4 T4 T2 T1 T3 = (v3 + (v2 + (Kw vSI + v1 )) vs )/T T4 T2 = (16.9)

16.3.3

Type III

The PSS Type III is depicted in Fig. 16.8, and is described by the equations: v 1 v 2 v 3 v s = = = = (Kw vSI + v1 )/Tw (16.10)

a1 v3 + a2 (Kw vSI + v1 ) v2 + a3 v3 + a4 (Kw vSI + v1 ) T3 (v2 + (Kw vSI + v1 ) vs )/T T4

PSfrag replacements

152

16 Controls

vs max vSI Kw Tw s Tw s + 1 T1 s 2 + T 3 s + 1 T2 s + T 4 s + 1 vs min


2

1 T s+1

vs

Figure 16.8: Power system stabilizer Type III. where a1 a2 a3 a4 = = = = 1 T4 1 T3 (T1 T2 ) T4 T4 T2 T4 T3 T2 T3 1 (T1 T2 ) T4 T4 T4 (16.11)

16.3.4

Type IV and V

PSS Type IV and V are a slight variation of Type II and III respectively. The block diagrams are depicted in Figs. 16.9 and 16.10. The additional signal va is generally disabled, being the switch S 1 open. S 1 closes if the machine eld voltage is lower than a threshold value vf < ethr and remains closed even after vf ethr . S 1 opens if the rotor speed is lower than a threshold value < thr . It is possible to enable the action of a second switch S 2 after the lag block of the additional signal v a . If S 2 is enabled, it stays generally open. S 2 closes when the rotor speed deviation < 0 and remains closed even after 0.

16.4

Over Excitation Limiter

Over excitation limiters (OXLs) provide an additional signal vOXL to the reference voltage vref0 of automatic voltage regulators (AVRs). It consists in a pure integrator, with anti-windup hard limits, as depicted in Fig. 16.11. This regulator is generally sleeping, i.e. vOXL = 0, unless the eld current is greater than its thermal limit (if > if lim ). The eld current is approximated by the following expression: if =
2+( (Vg + q )2 + Pg

q (Vg + q ) + p xd + 1) xq 2 (Vg + q )2 + Pg

(16.12)

PSfrag replacements

va max
va max

Ka S1 Ta s + 1 S2 0

vs max

vs max + 1 T s+1 vs min

vSI Kw

Tw s Tw s + 1

T1 s + 1 T2 s + 1

T3 s + 1 T4 s + 1
vs min

vs

Figure 16.9: Power system stabilizer Type IV.

PSfrag replacements

va max
va max

Ka S1 Ta s + 1 S2 0

vs max

vs max + 1 T s+1 vs min

vSI Kw

Tw s Tw s + 1

T1 s 2 + T 3 s + 1 T2 s 2 + T 4 s + 1
vs min

vs

Figure 16.10: Power system stabilizer Type V.

153

154

16 Controls

where p q = = xq Pg /Vg xq Qg /Vg

and Vg is the voltage at the generator bus, and Pg and Qg are the active and the reactive power of the generator, respectively. Observe that the denition of the current limiter needs the d and q -axis reactances xd and xq of the generator at which the OXL is connected through the AVR. These values can be automatically grabbed from the synchronous machine data or set by the user along with the other data, as illustrated in Table 16.7. It is assumed that at the initial condition given by the power ow solution, all if <= if lim , thus leading to vOXL = 0 for each OXL. If this is not a case, a warning message is shown and the initialization is not completed correctly. The dierential equation for the OXL is as follows: v OXL = (if if v OXL = 0
lim )/T0

if if > if if if if

lim lim

(16.13)

OXLs are stored in the structure Oxl, that has the following elds: 1. con: data chart of the Oxl components. 2. n: total number of over excitation limiters. 3. exc: index of AVR to which the OXL is connected. 4. syn: index of synchronous machine to which the OXL is connected through the AVR. 5. bus: index of bus at which the generators Oxl.syn are connected. 6. v: indexes of the state variable vOXL . 7. If: eld current. The output signal vOXL is added to the reference voltage vref0 of the AVR to which the OXL is connected. If no value is set for T0 , the default value (T0 = 10s) will be used.

16.5

Secondary Voltage Control

A Secondary Voltage Control is included in PSAT by means of a Central Area Controller (CAC) which controls the voltage at a pilot bus, and Cluster Controllers (CC), which compare the CAC signal with the reactive power generated by synchronous machines and/or SVCs and modify the reference voltages of AVRs and SVCs.3 Figure 16.12 depicts the secondary voltage control scheme.
3 These models were realized in collaboration with Sameh Kamel Mena Kodsi, Ph.D. candidate at University of Waterloo.

16.5 Secondary Voltage Control


PSfrag replacements

155

vref0 + if 0 if (Pg , Qg , Vg ) +

if lim

1 T0 s

vOXL

vref AVR Generator Network

Figure 16.11: Over excitation limiter. Table 16.7: Over Excitation Limiter Data Format (Oxl.con) Column 1 2 3 4 5 6 Variable T0 xd xq If lim Description AVR number Integrator time constant Use estimated generator reactances d-axis estimated generator reactance q -axis estimated generator reactance Maximum eld current Unit int s {0, 1} p.u. p.u. p.u.

CAC equations are as follows: q 1 q = KI (VPref VP ) = q1 + KP (VPref VP ) (16.14)

whereas the CC equations are: v sg = v ssvc 1 (xtg + xeqg )(Qgr q Qg ) Tg 1 xeq (Qsvcr q Qsvc ) = Tsvc svc (16.15)

where vsg and vssvc are the output signals of CCs for AVR and SVC regulators respectively, xtg are the reactances of the transformers connected to the generators and xeqg and xeqsvc are equivalent reactances computed considering the pilot bus and the generator or the SVC bus. CAC and CC integrators are subjected to anti-windup limiters. Each CAC has to be connected at least to one CC. There is no limitation in the number of CC connected to a CAC. Central Area and Cluster Controllers are stored in the structures CAC and Cluster, as follows: Central Area Controller Data 1. con: Central Area Controller data

Central Area Controller


q1max PSfrag replacements q KP + KI /s q1min VPref +

Network

VP

Pilot Bus

Cluster Controllers
KP + KI /s + vsg max vgref q Qgref xtg + xeq vs g + + AVR

_
Qgr Qg vsg min

sTg

vssvc max +

vsvcref + + SVC Control

Qsvcref

xeq

vssvc

_
Qsvcr Qsvc vssvc min

sTsvc

Figure 16.12: Secondary voltage control scheme.

156

16.5 Secondary Voltage Control

157

Table 16.8: Central Area Controller Data Format (CAC.con) Column 1 2 3 4 5 6 7 8 9 Variable Sn Vn VPref KI KP q1max q1min Description Pilot bus number Power rating Voltage rating number of connected CC Reference pilot bus voltage Integral control gain Proportional control gain Maximum output signal Minimum output signal Unit int MVA kV int p.u. p.u. p.u. p.u. p.u.

2. n: total number of CAC 3. bus: indexes of pilot buses 4. q1: indexes of the state variable q1

Cluster Controller Data 1. con: Cluster Controller data 2. n: total number of CC 3. bus: indexes of generator or SVC buses 4. syn: indexes of generators 5. avr: indexes of AVRs 6. svc: indexes of SVCs 7. Vs: indexes of the state variable Vs Tables 16.8 and 16.9 depicts the data format of Central Area and Cluster Controllers.

Table 16.9: Cluster Controller Data Format (Cluster.con) Column 1 2 3 4 5 6 7 8 9 Variable Tg (Tsvc ) x tg xeqg (xeqsvc ) Qgr (Qsvcr ) Vsmax Vsmin Description AVR or SVC number Control type (1) AVR; (2) SVC Central Area Controller number Integral time constant Generator transformer reactance Equivalent reactance Reactive power ratio Maximum output signal Minimum output signal Unit int int int s p.u. p.u. p.u. p.u. p.u.

158

Chapter 17

Regulating Transformers
This chapter describes dynamic models and data formats of the Under Load Tap Changer (ULTC) and the Phase Shifthing Transformer (PST). The presented models are included in power ow analysis and do not need refactorization.

17.1

Under Load Tap Changer

The equivalent circuit of the Under Load Tap Changer (ULTC) transformer is depicted in Fig. 17.1. No magnetising shunt is considered. The algebraic equations of the power injections are as follows: Pk Qk Pm Qm
2 = Vk (gkm + gk0 ) Vk Vm (gkm cos km + bkm sin km ) 2 = Vk (bkm + bk0 ) Vk Vm (gkm sin km bkm cos km ) 2 = Vm (gkm + gm0 ) Vk Vm (gkm cos km bkm sin km )

(17.1)

2 (bkm + bm0 ) + Vk Vm (gkm sin km + bkm cos km ) Vm

where km = k m ; parameters gkm , bkm , bk0 and gk0 are functions of the tap ratio m and the transformer resistance rT and reactance xT , as follows: gkm + jbkm gk0 + jbk0 gm0 + jbm0 = = = m z 1m z m(m 1) z (17.2)

where z = rT + jxT . Fig. 17.2 depicts the ULTC control block diagrams. Three quantities can be controlled, i.e. the secondary voltage Vm (type 1), the reactive power Qm (type 2), and the remote voltage Vr (type 3). If the tap ratio step m = 0, the ULTC model is continuous and dierential equations are used for the controls. The voltage control equation is as follow: m = Hm + K (Vm(r) vref ) 159 (17.3)

160

17 Regulating Transformers

where the negative sign for the error Vm(r) vref is due to the stability characteristic of the non-linear control loop. For the reactive power control, a similar equation holds: m = Hm + K (Qm Qref ) (17.4) where it is assumed that Qm is inductive and injected at the bus m. The tap ratio is subjected to an anti-windup limiter. If the tap ratio step m > 0, a discrete model is used, as follows: mk+1 = mk + mR where R is a relay type function: 1 R = 1 0 (17.5)

if u uref > u if u uref < u if |u uref | u

(17.6)

where u is the input signal (voltage or reactive power), uref the reference signal and u the error tolerance. It is not allowed to control the voltage on a PV generator or the reactive power of a PQ load. If this control is set, the power ow routine does not reach any convergence, or the message badly scaled Jacobian matrix is displayed. The data used for the transformer and the control are in p.u., and in nominal condition, the tap ratio is considered equal to 1. Table 17.1 reports the ULTC data format. The bus number r can be r = 0 if local voltage or reactive power control are used. ULTC are dened in the structure Ltc, as follows: 1. con: ULTCs data. 2. n: total number of ULTCs. 3. bus1: numbers of buses k (primary winding). 4. bus2: numbers of buses m (secondary winding). 5. dat: ULTC parameters. 6. m: indexes of the state variable m.

17.2

Load Tap Changer With Embedded Load

Figure 17.3 depicts a simplied model of ULTC with embedded voltage dependent load.1 The transformer model consists of an ideal circuit with tap ratio m and the voltage on the secondary winding is modeled as Vs = V /m. The voltage control is
1 A similar, more detailed model can be obtained using ULTCs (Section 17.1) and voltage dependent loads (Section 14.1).

k V

z /m

m V

PSfrag replacements

(1 m)/z

m(m 1)/z

Figure 17.1: Under Load Tap Changer: equivalent circuit.

mmax

Vref

K H +s

LTC & Network

Vm (Vr )

mmin PSfrag replacements mmax

Qref

+ mmin

K H +s

LTC & Network

Qmk

Figure 17.2: Under Load Tap Changer: voltage and reactive power controls.

161

162

17 Regulating Transformers

Table 17.1: Load Tap Changer Data Format (Ltc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Variable k m Sn Vn fn kT H K mmax mmin m Vref (Qref ) xT rT r Description Bus number (from) Bus number (to) Power rating Voltage rating Frequency rating Nominal tap ratio Integral deviation Inverse time constant Max tap ratio Min tap ratio Tap ratio step Reference voltage (power) Transformer reactance Transformer resistance Remote control bus number 1 Secondary voltage Vm Control 2 Reactive power Qm 3 Remote voltage Vr Unit int int MVA kV Hz kV/kV p.u. 1/s p.u./p.u. p.u./p.u. p.u./p.u. p.u. p.u. p.u. int int

obtained by means of a quasi-integral anti-windup regulator. The data format is reported in Table 17.2. The algebraic equations of the component are as follows: P Q = = Pn Qn V m V m

(17.7)

and the scalar dierential equation is: m = hm + k V vref m (17.8)

ULTCs with embedded voltage dependent load are dened in the structure Tap, as follows: 1. con: ULTC with embedded load data. 2. bus: number of buses to which the ULTCs are connected. 3. n: total number of ULTCs. 4. m: indexes of the state variable m.

PSfrag replacements V m:1 1 h + ks

mmax Vs P = Pn Vs Q = Qn Vs

mmin

Figure 17.3: Load Tap Changer with embedded load.

Table 17.2: Tap Changer with Embedded Load Data Format (Tap.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 Variable Sn Vn h k mmin mmax vref Pn Qn Description Bus number Power rating Voltage rating Deviation from integral behaviour Inverse of time constant Maximum tap ratio Minimum tap ratio Reference voltage Nominal active power Nominal reactive power Voltage exponent (active power) Voltage exponent (reactive power) Unit int MVA kV p.u. 1/s p.u./p.u. p.u./p.u. p.u. p.u. p.u. p.u. p.u.

163

164
PSfrag replacements

17 Regulating Transformers

Vk

Vm

1 : ej

Vm

xT

rT

Figure 17.4: Phase shifting transformer circuit.

17.3

Phase Shifting Transformer

The equivalent longitudinal circuit of the Phase Shifting Transformer (PST) is depicted in Fig. 17.4. No magnetising shunt is considered. The algebraic equations of the power injections are as follows: Pk Qk Pm Qm = = = =
2 Vk gT Vk Vm (gT cos(km ) + bT sin(km )) 2 bT Vk Vm (gT sin(km ) bT cos(km )) Vk

(17.9)

2 Vm gT Vk Vm (gT cos(km ) bT sin(km )) 2 bT + Vk Vm (gT sin(km ) + bT cos(km )) Vm

where km = k m and gT + jbT = 1/(rT + jxT ). Fig. 17.5 depicts the PST control block diagrams. The measure Pmes of the real power ow Ph is compared with the desired power ow Pref and a PI controller is used to vary the phase angle . Dierential equation are as follows: Pmes = = Kp (Ph Pmes )/Tm + Ki (Pref Pmes ) (Ph Pmes )/Tm (17.10)

The phase angle is subjected to an anti-windup limiter. It is not allowed to connect two areas of a network only by means of PSTs, as this would lock the total real power transfer between the two areas. The data format is reported in Table 17.3. Phase angle regulating transformers are dened in the structure Phs, as follows: 1. con: PST data. 2. n: total number of PSTs. 3. bus1: numbers of buses k (primary winding). 4. bus2: numbers of buses m (secondary winding). 5. alpha: indexes of the state variable . 6. Pm: indexes of the state variable Pmes .

max PSfrag replacements Pref + Kp s + K i s PHS & Network Pkm

Vs m:1

min

Pmes

1 Tm s + 1

Figure 17.5: Phase shifting transformer control scheme.

Table 17.3: Phase Shifting Transformer Data Format (Phs.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Variable k m Sn Vn Vn fn Tm Kp Ki Pref rT xT max min Description Bus number (from) Bus number (to) Power rating Primary voltage rating Secondary voltage rating Frequency rating Integral deviation Proportional gain Integral gain Reference power Transformer resistance Transformer reactance Maximum phase angle Minimum phase angle Unit int int MVA kV kV Hz s p.u. p.u. p.u. rad rad

165

Chapter 18

FACTS
This chapter describes the models of Thyristor Controlled Reactor (TCR) and Voltage Sourced Inverter (VSI) based Flexible ac Transmission System (FACTS) Controllers and High Voltage dc (HVDC) transmission system. In particular, TCR are represented by Static Var Compensator (SVC) and Thyristor Controlled Series Compensator (TCSC) , whereas VSI are the Static Var Compensator (STATCOM), the Static Synchronous Source Series Compensator (SSSC) and the Unied Power Flow Controller (UPFC) . Each model is described by a set of dierential algebraic equations: x c x s P Q = fc (xc , xs , V, , u) = fs (xc , xs , V, ) = gp (xc , xs , V, ) = gp (xc , xs , V, ) (18.1)

where xc are the control system variables, xs are the controlled state variables (e.g. ring angles), and the algebraic variables V and are the voltage amplitudes and phases at the buses at which the components are connected, they are vectors in case of series components. Finally, the variables u represent the input control parameters, such as reference voltages or reference power ows. SVCs require a PV generator to be initialized, while the other components are directly included in the power ow equations. When regulators are not pure integrators, this means that the controlled variables will be aected by the static error of the control loop. FACTS models are based on what was proposed in [Ca nizares 1999], whereas the HVDC model is based on [Ca nizares et al. 1992].

167

168

18 FACTS

PSfrag replacements

bmax

Kr Tr s + 1

bSVC

Vref

bmin

Figure 18.1: SVC Type 1 Regulator.

18.1

SVC

Two SVC regulators are implemented in the program. The rst one assumes a time constant regulator, as depicted in Fig. 18.1. In this model, a total reactance b SVC is assumed and the following dierential equation holds: SVC = (Kr (Vref V ) bSVC )/Tr b (18.2)

The model is completed by the algebraic equation expressing the reactive power injected at the SVC node: Q = bSVC V 2 (18.3) The regulator has an anti-windup limiter, thus the reactance bSVC is locked if one of its limits is reached and the rst derivative is set to zero. Table 18.1 reports the data and control parameter format for the SVC type 1. The second model takes in account the ring angle, assuming a balanced, fundamental frequency operation. Thus, the model can be developed with respect to a sinusoidal voltage. The dierential and algebraic equations are as follows: v M (KM V vM )/TM T1 = (KD + K (vM KM V ) + K (Vref vM ))/T2 T2 TM 2 sin 2 (2 xL /xC ) 2 Q = V = bSVC ()V 2 xL = (18.4)

The state variable undergoes an anti-windup limiter. The SVCs state variables are initialized after the power ow solution. To impose the desired voltages at the compensated buses, a PV generator with zero active power should be used. After the power ow solution the PV bus is removed and the SVC equations are used. During the state variable initialization a check for SVC limits is performed. Table 18.1 and Fig. 18.2 report the complete data format and the control block diagram for the SVC model 2. As a remark, it should be noted that the two reactances xL and xC are not completely independent, and xC < xL should hold.

PSfrag replacements max

KM TM s + 1

vM

+ Vref min

K (T1 s + 1) T2 s + K D

Figure 18.2: SVC Type 2 Regulator.

Table 18.1: SVC Type 1 Data Format (Svc.con) Column 1 2 3 4 5 6 7 8 9 10 Variable Sn Vn fn 1 Tr Kr Vref bmax bmin Description Bus number Power rating Voltage rating Frequency rating Model type Regulator time constant Regulator gain Reference Voltage Maximum susceptance Minimum susceptance Unit int MVA kV Hz int s p.u./p.u. p.u. p.u. p.u.

169

170

18 FACTS

Table 18.2: SVC Type 2 Data Format (Svc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Variable Sn Vn fn 2 T2 K Vref f max f min KD T1 KM TM xL xC Description Bus number Power rating Voltage rating Frequency rating Model type Regulator time constant Regulator gain Reference Voltage Maximum ring angle Minimum ring angle Integral deviation Transient regulator time constant Measure gain Measure time delay Reactance (inductive) Reactance (capacitive) Unit int MVA kV Hz int s p.u./p.u. p.u. rad rad p.u. s p.u./p.u. s p.u. p.u.

Finally, The SVC components are dened in the structure Svc with the following elds: 1. con: SVC data. 2. n: total number of SVC. 3. bus: SVC bus numbers. 4. bcv: indexes of the state variable bSVC . 5. alpha: indexes of the state variable . 6. vm: indexes of the state variable vM . 7. Be: equivalent admittances bSVC . 8. Vref: voltage references Vref .

18.2

TCSC

TCSC regulator is depicted in Fig. 18.3. The system undergoes the algebraic equations: Pkm = Vk Vm B sin(k m ) (18.5)

18.2 TCSC

171

Pmk Qkm Qmk

= = =

Pkm 2 B Vk Vm B cos(k m ) Vk

2 Vm B Vk Vm B cos(k m )

where the indexes k and m denote the two buses at which the TCSC is connected, and to the dierential equations: x 1 x 2 x 3 = = = KSI (Pref Pkm )/Tw x1 /Tw (x1 x2 + (Pref Pkm ))/T1 ((1 T2 /T3 )x2 x3 )/T3 (18.6)

The output signal can be interpreted in two dierent ways, as a total equivalent reactance xc or, more physically, as the ring angle of the power electronics switching control system T2 xc , = x2 + x 3 (18.7) T3 where, the conductance assumes the following expressions: B (xc ) = or B () =
4 2 (kx 2kx + 1) cos kx ( )/ 4 cos kx ( ) xC kx

1 xc

(18.8)

(18.9)

+ + kx =

4 cos kx ( ) 2kx cos kx ( ) 2 4 2kx cos kx ( ) kx sin 2 cos kx ( ) 2 4kx cos sin cos kx ( )

2 3 kx sin 2 cos kx ( ) 4kx cos2 sin kx ( )

xC xL

For the power ow solution, a static model is used, imposing Pkm Pmk Qkm Qmk = = = = Pref Pref Pref Vk Pref cot(k m ) Vm sin(k m ) Vm Pref Pref cot(k m ) Vk sin(k m ) (18.10)

After the load ow solution, state variables are initialized and the reference power Pref recomputed for taking in account the static error of regulators. At this step, a

PSfrag replacements

172

18 FACTS
xc max , max +

Pref

KSI Tw s Tw s + 1 P x1

1 T1 s + 1 x2

T2 s + 1 T3 s + 1 x3 xc min , min

xc , SD2

Figure 18.3: TCSC Type 1 & Type 2 Regulators. check of xc and/or windup limits is performed. In case of limit violation a warning message is displayed. Table 18.3 reports the data format of TCSCs components. In case of model type 2, xC and xL are ignored. Finally, the Tcsc structure is composed by the following elds: 1. con: TCSC data. 2. n: total number of TCSCs. 3. bus1: bus numbers k (from). 4. bus2: bus numbers m (to). 5. Pe: active power ow Pkm . 6. B: total conductances of TCSCs. 7. x1: indexes of state variables x1 . 8. x2: indexes of state variables x2 . 9. x3: indexes of state variables x3 .

18.3

STATCOM

The circuital representation of the STATCOM is depicted in Fig. 18.4. The AC circuit is considered in steady-state, whereas the DC circuit is described by the following dierential equation, in terms of the voltage Vdc on the capacitor: dc = V Vdc R(P 2 + Q2 ) P CVdc RC C CV 2 Vdc (18.11)

The power injection at the AC bus has the form: P Q = = V 2 G kVdc V G cos( ) kVdc V B sin( )
2

(18.12)

V B + kVdc V B cos( ) kVdc V G sin( )

18.3 STATCOM

173

Table 18.3: TCSC Data Format (Tcsc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Variable k m Sn Vn fn KSI Pref xC max or max xC min or min xL xC Tw T1 T2 T3 Description Bus number (from) Bus number (to) Power rating Voltage rating Frequency rating reactance xC 1 Model type ring angle 2 Regulator gain Reference active power ow Maximum ring angle Minimum ring angle Reactance (inductive) Reactance (capacitive) Washout time constant First regulator time constant Second regulator time constant Third regulator time constant Unit int int MVA kV Hz int p.u./p.u. p.u. rad rad p.u. p.u. s s s s

where k = 3/8m. A basic PWM voltage control is obtained regulating the amplitude m as dened by the following equation: m = KD Ka T 1 K (KMac V VMac ) m + (Vrefac VMac ) T2 KD T2 TMac (18.13)

and three dierent kind of controls can be chosen: 1. amplitude control (control type 1): = KP KMdc KP KI VMdc + KI Vrefdc Vdc TMdc TMdc (18.14)

2. phase control PI (control type 2): = KI (0.9 3/8m) 3/8KP m (18.15)

3. phase control Low Pass (control type 3): = (K (0.9 3/8m) )/T3 (18.16)

Finally, a low pass lter is considered for both the AC and DC voltage measurements, with the following equations: M V ac = (VMac + KMac V )/TMac (18.17)

174

18 FACTS

M V dc

(VMdc + KMdc Vdc )/TMdc

The voltage control along with the measurement transfer function is depicted in Fig. 18.5, whereas the three controls for the state variable are reported in Fig. 18.6. Note that for the control type 2 and 3 the measurement of the DC voltage is not required for the control, although VMdc is still computed by the program. The voltage control has an anti-windup limiter, whose limits are directly set by the user. For the amplitude control, instead, the limits on are automatically computed imposing the following system: P Vdc V P = = = =
2 Vdc + RI 2 RC Vrefdc

(18.18)

Vrefac V 2G 3/8Vdc V G cos() bc a2 + b 2


2

3/8Vdc V B sin()

from which it can be obtained: cos() = where a b c = = = 3/8Vrefdc Vrefac B (18.20) bc a2 + b 2 c2 a 2 a2 + b 2 (18.19)

3/8Vrefdc Vrefac G 2 Vref 2 dc RI 2 G Vref ac RC

Then, the limits for are computed imposing in the equation (18.19) the limits Imax and Imin . The STATCOM components are stored in the structure Statcom, which has the following elds: 1. con: STATCOM data. 2. n: total number of STATCOM. 3. bus: STATCOM bus numbers. 4. dat: STATCOM parameters. 5. Vdc: indexes of the state variable Vdc . 6. alpha: indexes of the state variable . 7. m: indexes of the state variable m. 8. Vmdc: indexes of the state variable VMdc . 9. Vmac: indexes of the state variable VMac . Table 18.4 reports the complete data format for the STATCOM.

m:1

P + jQ

R + jX

+ PSfrag replacements

kVdc

RC

Figure 18.4: STATCOM circuit.

PSfrag replacements

Imax

KMac TMac s + 1

VMac

+ Vref Imin

K (T1 s + 1) T2 s + K D

Figure 18.5: STATCOM voltage control block diagram.

175

Control Type 1

max

Vdc

KMdc TMdc s + 1

VMdc

+ Vrefdc min

KP s + K I s

PSfrag replacements

Control Type 2 0.9 + k (m) KP s + K I s

Control Type 3 0.9 + k (m) KP T3 s + 1

Figure 18.6: STATCOM amplitude and phase control block diagrams.

176

Table 18.4: STATCOM Data Format (Statcom.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Variable Sn Vn fn Vrefac Vrefdc Imax Imin R X RC C K Kd T1 T2 KP KI (T3 ) KMac TMac KMdc TMdc Description Bus number Control Type 1 Amplitude control Control Type 2 Phase control PI Control Type 3 Phase control LP Power rating Voltage rating Frequency rating AC reference voltage DC reference voltage Maximum current Minimum current Resistance of the AC circuit Reactance of the AC circuit Resistance of the DC circuit Capacitance of the DC circuit Gain of the V control Integral deviation of the V control Transient Time constant of the V control Time constant of the V control Proportional gain for the control Integral gain (time const.) for the control Gain of the AC measurement Time constant of the AC measurement Gain of the DC measurement Time constant of the DC measurement Unit int int MVA kV Hz p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u./p.u. p.u./p.u. s s p.u./p.u. 1/s (s) p.u./p.u. s p.u./p.u. s

177

178

18 FACTS

18.4

SSSC

The SSSC circuit is represented in Fig. 18.7. The AC circuit is considered in steadystate and, using the notation of the gure and assuming that the tap ratio a of the TA is nominal (a = 1), the following expressions can be deduced: V Vk where V I = kVdc ej = 3/8mVdc ej (18.22) From the equations (18.21), one can obtain the expressions of the current I and the voltage V : I V where a1 a2 = = R + jX (RT + R) + j (XT + X ) RT + jXT (RT + R) + j (XT + X ) (18.24) = = Vk VmVI (RT + R) + j (XT + X ) a1 (V k V m ) + a2 V I (18.23) = V I (R + jX )I = V + V m + (RT + jXT )I (18.21)

Thus the algebraic equations of the power injections at the SSSC buses k and m are: Sk Sm = = Vk I

(18.25)

V m I

The following dierential equation applies to the DC circuit: dc = V {V I } Vdc RI 2 CVdc RC C CVdc

(18.26)

The control system is then used for controlling the DC voltage Vdc and the active power or current ow in the AC side. Fig. 18.8 depicts the DC voltage control, the power (current) control and the measurement low passes, which are described by the dierential equations: M V dc M ac = = = (KMdc Vdc VMdc )/TMdc KP KP KMdc KI VMdc + KI Vrefdc Vdc TMdc TMdc (KMac Mac )/TMac (18.27)

18.5 UPFC

179

KT1 K KD m + (refac Mac ) (KMac Mac ) T2 KD T2 TMac

where is either the active power ow Pk or the current amplitude I . Note, that to avoid overow numerical problems in the current computation (18.24), both R + jX and RT + jXT should not be zero. The SSSC components are stored in the structure Sssc, which has the following elds: 1. con: SSSC data. 2. n: total number of SSSC. 3. bus1: bus numbers k (from). 4. bus2: bus numbers m (to). 5. dat: SSSC parameters. 6. Vdc: indexes of the state variable Vdc . 7. beta: indexes of the state variable . 8. m: indexes of the state variable m. 9. Vmdc: indexes of the state variable VMdc . 10. Pmac: indexes of the state variable PMac . Table 18.5 reports the complete data format for the SSSC.

18.5

UPFC

The circuital model of the UPFC is obtained from the STATCOM and SSSC ones, where the DC voltage Vdc is common to the two inverters, as depicted in Fig. 18.9. Thus the power ow injections are the same of (18.12) and (18.25). With the notation of Fig. 18.9, one has: Pk Qk Pm Qm = = = = Psh + {V k I m }

(18.28)

{V m I m } {V m I m }

Qsh + {V

k I m}

where ksh =

3/8msh , the powers Psh and Qsh absorbed by the shunt are Psh
2 Gsh ksh Vdc Vk Gsh cos(k ) = Vk

(18.29)

ksh Vdc Vk Bsh sin(k )

Vk k I V

RT + jXT

Vm m

m:1 Pk + jQk mI PSfrag replacements P + jQ R + jX Pm + jQm

kVdc

RC

PSfrag replacements

Figure 18.7: SSSC circuit.

max

Vdc

KMdc TMdc s + 1

VMdc

+ Vrefdc min

KP s + K I s

mmax P I KMac TMac s + 1 PMac IMac + Prefac Irefac mmin K (T1 s + 1) T2 s + K D m

Figure 18.8: SSSC control block diagrams.

180

Table 18.5: SSSC Data Format (Sssc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Variable k m Sn Vn fn RC C R X K Kd T1 T2 KP KI KMac TMac KMdc TMdc Vrefdc Prefac (Irefdc ) RT XT max min mmax mmin Description Bus number (from) Bus number (to) Control Type 1 Active power Control Type 2 Current Power rating Voltage rating Frequency rating Resistance of the DC circuit Capacitance of the DC circuit Resistance of the AC circuit Reactance of the AC circuit Gain of the V control Integral deviation of the V control Transient Time constant of the V control Time constant of the V control Proportional gain for the control Integral gain for the control Gain of the AC measurement Time constant of the AC measurement Gain of the DC measurement Time constant of the DC measurement DC reference voltage AC reference power (current) Transformer resistance Transformer reactance Maximum angle Minimum angle Maximum amplitude m Minimum amplitude m Unit int int int MVA kV Hz p.u. p.u. p.u. p.u. p.u./p.u. p.u./p.u. s s p.u./p.u. 1/s p.u./p.u. s p.u./p.u. s p.u. p.u. p.u. p.u. rad rad p.u. p.u.

181

182

18 FACTS

Qsh

2 Bsh + ksh Vdc Vk Bsh cos(k ) = Vk ksh Vdc Vk Gsh sin(k )

and the current I m and the voltage V due to series compensation are: Im V where VI a1 a2 = = = kse Vdc ej = 3/8mse Vdc ej Rse + jXse (RT + Rse ) + j (XT + Xse ) RT + jXT (RT + Rse ) + j (XT + Xse ) (18.31) = = Vk VmVI (RT + Rse ) + j (XT + Xse ) a1 (V k V m ) + a2 V I (18.30)

The DC circuit presents the following dierential equation: dc V = {V I m } Vdc Psh + CVdc CVdc RC C 2 2 Rsh (Psh + Q2 ) R se Im sh 2 CVdc Vk CVdc

(18.32)

Then, two sets of dierential equations describe the shunt and the series control. Fig. 18.10 depicts the shunt control for the AC voltage Vk and the DC voltage Vdc , realized by means of PI regulators and low pass measurement lters. The equations are: M V ac m sh M V dc = (VMac + KMac Vk )/TMac KPac KMac KPac = KIac VMac + KIac Vrefac Vk TMac TMac (VMdc + KMdc Vdc )/TMdc KPdc KMdc KPdc KIdc VMdc + KIdc Vrefdc Vdc TMdc TMdc (18.33)

= =

The power ow regulation is a dq control, as shown in Fig. 18.11, which allows a decoupled control of the active and reactive powers. The equations are as follows: x 1 m I d = = KI 2Pmref I md V md 2Pmref I md V md (18.34)

x 1 KImd + KP

18.5 UPFC

183

x 2 m I q

= =

KI

2Qmref I mq V md 2Qmref I mq V md

x 2 KImq + KP

For this series branch dq control, the variables mse , and other control parameters are given by the following relations where b is the fundamental frequency base in rad/s and the other variables are expressed in per unit: K V md Vkd Vkq x1 x2 Vised Viseq Vise mse = = = = = = = = = = = (RT + Rse )b X + Xse T 2Vm 2Vk cos(m k ) 2Vk sin(m k ) (18.35)

2Pmref I md b I mq V md 2Qmref I mq + b I md x 2 + KP V md XT + Xse V k d V md x1 b XT + Xse V kq x2 b 1 Vi2 + Vi2 seq sed 2 x 1 + KP 8 Vise 3 Vdc m tan1 Viseq Vised

The UPFC components are stored in the structure Upfc, which has the following elds: 1. con: UPFC data. 2. n: total number of UPFC. 3. bus1: bus numbers k (from). 4. bus2: bus numbers m (to). 5. dat: UPFC parameters. 6. Vdc: indexes of the state variable Vdc . 7. alpha: indexes of the state variable .

184

18 FACTS

Vk k k I m I + mse : 1 Pk + jQk V

RT + jXT

V m m

PSfrag replacements

Pm + jQm msh : 1 Pse + jQse

se mse I

Psh + jQsh

sh msh I

Rsh + jXsh Pdc + ksh Vdc +

Rse + jXse

kse Vdc

+ C Vdc RC

Figure 18.9: UPFC circuit. 8. m: indexes of the state variable m. 9. x1: indexes of the state variable x1 . 10. x2: indexes of the state variable x2 . 11. Imd: indexes of the state variable Imd . 12. Imq: indexes of the state variable Imq . 13. Vmdc: indexes of the state variable VMdc . 14. Vmac: indexes of the state variable VMac . Table 18.6 reports the complete data format for the UPFC.

18.6

HVDC

A simple HVDC system is implemented in PSAT, representing two AC/DC converters connected by a single DC line. The line is modeled as an RL circuit, whereas

PSfrag replacements AC Voltage Control mshmax

Vk

KMac TMac s + 1

VMac

+ Vrefac

KPac s + KIac s

msh

mshmin DC Voltage Control max

Vdc

KMdc TMdc s + 1

VMdc

+ Vrefdc

KPdc s + KIdc s

min

Figure 18.10: UPFC shunt control block diagrams.

Imd Pmref 2 PSfrag replacements Imdref + KP + KI /s x 1 x1 B Vmd 1 + K +s Imin

Imax + + Imd

Vmq B Imax Qmref 2 Imqref + Imq x 2 KP + KI /s + + x2 + 1 K +s Imin Imq

Figure 18.11: UPFC series dq control block diagrams.

185

Table 18.6: UPFC Data Format (Upfc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Variable k m Sn Vn fn RC C Rsh Xsh KMac TMac KMdc TMdc Vrefac Vrefdc KPdc KIdc KPac KIac RT XT Rse Xse KPdq KIdq Pref Qref Imax Imin Description Bus number (from) Bus number (to) Power rating Voltage rating Frequency rating Resistance of the DC circuit Capacitance of the DC circuit Resistance of the shunt AC circuit Reactance of the shunt AC circuit Gain of the AC measurement Time constant of the AC measurement Gain of the DC measurement Time constant of the DC measurement AC voltage reference DC voltage reference Proportional gain of the Vdc control Integral gain of the Vdc control Proportional gain for the V control Integral gain for the V control Series transformer resistance Series transformer reactance Resistance of the series AC circuit Reactance of the series AC circuit Proportional gain for the dq control Integral gain for the dq control Active reference power Reactive reference power Maximum current Minimum current Unit int int MVA kV Hz p.u. p.u. p.u. p.u. p.u./p.u. s p.u./p.u. s p.u. p.u. p.u./p.u. 1/s p.u./p.u. 1/s p.u. p.u. p.u. p.u. p.u./p.u. 1/s p.u. p.u. p.u. p.u.

186

18.6 HVDC

187

the ring angle and the extinction angle are controlled by PI regulators, as depicted in Fig. 18.12. The control system regulates the current ow in the DC line. By default the converter connected to the bus k is considered the rectier, and the other one is the inverter. If the current ow changes direction, the two converters are switched. The model of the HVDC is as follows: dc I x R x I Pkm Qkm Pmk Qmk = = = = = = = (VRdc VIdc Rdc Idc )/Ldc KI (IR0 Idc ) KI (Idc II 0 ) Vndc Indc VRdc Idc Sn
2 SR

(18.36)

Vndc Indc VRdc Idc Sn

Vndc Indc VIdc Idc Sn


2 SI

Vndc Indc VIdc Idc Sn

along with the algebraic equations: cos VRdc SR IR 0 cos( ) VIdc SI II 0 = = = = = = = = xR + KP (IR0 Idc ) 3 3 2 Vk cos XtR Idc 3 2 Vndc Indc Vk Idc Sn Vk mR xI + KP (Idc II 0 ) 3 2 3 Vm cos( ) XtI Idc 3 2 Vndc Indc Vm Idc Sn Vm mI (18.37)

The HVDC components are stored in the structure Hvdc, which has the following elds: 1. con: HVDC data. 2. n: total number of HVDC. 3. bus1: bus numbers k (from). 4. bus2: bus numbers m (to).

188
Rectifier
IR0max IR 0 + IR0min Idc KP s + K I s cos(min )

18 FACTS

PSfrag replacements

cos(max ) cos()

Inverter
II 0max II 0 + Idc KP s + K I s cos( min ) cos( max ) cos( )

II 0min

Figure 18.12: HVDC current control. 5. dat: HVDC parameters. 6. Id: indexes of the state variable Id . 7. Vdc: indexes of the state variable Vdc . 8. xr: indexes of the state variable xr . 9. xi: indexes of the state variable xi . Table 18.7 reports the complete data format for the HVDC.

Table 18.7: HVDC Data Format (Hvdc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Variable k m Sn V nk V nm fn Vndc Indc X tR X tI mR mI KI KP Rdc Ldc R max R min I max I min IR0 max IR0 min II 0 max II 0 min Description Bus number (from) Bus number (to) Power rating Voltage rating at bus k Voltage rating at bus m Frequency rating DC voltage rating DC current rating Transformer reactance (rectier) Transformer reactance (inverter) Tap ratio (rectier) Tap ratio (inverter) Integral gain Proportional gain Resistance of the DC connection Inductance of the DC connection Maximum ring angle Minimum ring angle Maximum extinction angle Minimum extinction angle Maximum reference current (rectier) Minimum reference current (rectier) Maximum reference current (inverter) Minimum reference current (inverter) Unit int int MVA kV kV Hz kV kA p.u. p.u. p.u. p.u. 1/s p.u./p.u. H deg deg deg deg p.u. p.u. p.u. p.u.

189

Chapter 19

Wind Turbines
This chapter describes wind turbines and wind speed models. Three models of wind turbines are included: constant speed wind turbine with squirrel cage induction generator, variable speed wind turbine with doubly fed (wound rotor) induction generator and variable speed wind turbine with direct drive synchronous generator. Wind speed models are a Weibull distribution and a wind model composed of average speed, ramp, gust and turbulence. Wind speed measurement data can be used as well. Wind turbines are initialized after power ow computations and a PV generator is needed for imposing the desired voltage and active power at the wind turbine bus. Once the power ow solution has been determined, V0 , 0 , P0 and Q0 at the generation bus are used for initializing the state and input variables, the latter being the wind speed vw0 , which is used as the average wind speed vwa for the wind speed models. Controls and converter models are included in the wind turbine equations. Wind turbine models presented here were mostly based on models discussed in [Slootweg 2003].

19.1

Wind Models

Wind speed models included in PSAT are the Weibull distribution and a composite model which includes average speed, ramp, gust and turbulence. Real measurement data can be used as well. Observe that, regardless the wind speed model, the rst value of the wind speed sequence will be the initial average speed (vw (t0 ) = vwa ) as computed at the initialization step of the wind turbines (see Section 19.2). Table 19.1 depicts the data format for wind speed models. Air density at 15 C and standard atmospheric pressure is 1.225 kg/m3 , and depends on the altitude (e.g. at 2000 m is 20% lower than at the sea level). Wind speed time sequences are calculated after solving the power ow and initializing wind turbine variables. To visualize these sequences, type fm wind(-1) at the Matlab prompt or use the menu View/Plot wind speeds in the main PSAT 191

192
PSfrag replacements

19 Wind Turbines

Wind Time Sequence

v w

1 1 + s

vw

Figure 19.1: Low-pass lter for smoothing wind speed variations. window. During time domain simulations, the actual wind speed values which are used to calculate the mechanical power of wind turbines are the output of a lowpass lter with time constant (see Fig. 19.1), in order to simulate the smoothing of high-frequency wind speed variations over the rotor surface: v m = ( vw (t) vw )/ (19.1)

As all other state variables, the ltered wind speeds can be plotted in the plotting GUI only after running the time domain simulation. Wind data are stored in the structure Wind, with the following elds: 1. con: Wind data. 2. n: total number of wind components. 3. speed.time: time vector. 4. speed.vw: wind speed vector. 5. vwa: average (initial) wind speed. 6. vw: indexes of state variable vw .

19.1.1

Weibull Distribution

A common way to describe the wind speed is by means of the Weibull distribution, which is as follows: k k1 ( vw )k e c (19.2) f (vw , c, k ) = k vw c where vw is the wind speed and c and k are constants as dened in the wind model data matrix. A Weibull distribution is then used to generate random time variations w (t) of the wind speed: 1 ln(t) k w (t) = (19.3) c where (t) is a generator of random numbers ( [0, 1]). Usually the shape factor k = 2, which leads to the Rayleigh distribution, while k > 3 approximates the normal distribution and k = 1 gives the exponential distribution. The scale factor c should be chosen in the range c (1, 10). Finally, the wind speed is computed

Table 19.1: Wind Speed Data Format (Wind.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Variable vwN t c k Tsr Ter vwr Tsg Teg vwg h z0 f n Description 1 Measurement data Wind model 2 Weibull distribution 3 Composite model Nominal wind speed Air density Filter time constant Sample time for wind measurements Scale factor for Weibull distribution Shape factor for Weibull distribution Starting ramp time Ending ramp time Ramp speed magnitude Starting gust time Ending gust time Gust speed magnitude Height of the wind speed signal Roughness length Frequency step Number of harmonics Unit int m/s kg/m3 s s s s m/s s s m/s m m Hz int

193

194

19 Wind Turbines

setting the initial average speed vwa determined at the initialization step as mean speed: v w (t) = (1 + w (t) w )vwa (19.4) where w is the mean value of w (t).

19.1.2

Composite Wind Model

A composite wind model is also included in PSAT similar to what proposed in [Wasynczuk et al. 1981, Anderson and Bose 1983]. This model considers the wind as composed of four parts, as follows: 1. average and initial wind speed vwa ; 2. ramp component of the wind speed vwr ; 3. gust component of the wind speed vwg ; 4. wind speed turbulence vwt ; thus the resulting wind speed v w is: v w (t) = vwa + vwr (t) + vwg (t) + vwt (t) (19.5)

where all components are time-dependent except for the initial average speed v wa . Wind Ramp Component The wind ramp component is dened by an amplitude Awr and starting and ending times, Tsr and Ter respectively: t < Tsr : Tsr t Ter : t > Ter : Wind Gust Component The wind gust component is dened by an amplitude Awg and starting and ending times, Tsg and Teg respectively: t < Tsg : Tsg t Teg : t > Teg : vwg (t) = 0 Awg t Tsg vwg (t) = 1 cos 2 2 Teg Tsg vwg (t) = Awg (19.7) vwr (t) = 0 vwr (t) = Awr vwr (t) = Awr t Tsr Ter Tsr (19.6)

19.1 Wind Models

195

Table 19.2: Roughness length z0 for various ground surfaces [Panofsky and Dutton 1984, Simiu and Scanlan 1986] Ground surface Open sea, sand Snow surface Mown grass, steppe Long grass, rocky ground Forests, cities, hilly areas Roughness length z0 [m] 104 103 103 5 103 103 102 0.04 0.1 15

Wind Turbulence Component The wind turbulence component is described by a power spectral density as follows: Swt =
1 (ln(h/z0 ))2

vwa
5 3

f 1 + 1.5 vwa

(19.8)

where f is the frequency, h the wind turbine tower height, z0 is the roughness length and is the turbulence length scale: h < 30 : h 30 : = 20h = 600 (19.9)

Table 19.2 depicts roughness values z0 for various ground surfaces. The spectral density is then converted in a time domain cosine series as illustrated in [Slootweg 2003]:
n

vwt (t) =
i=1

Swt (fi )f cos(2fi t + i + )

(19.10)

where fi and i are the frequency and the initial phase of the ith frequency component, being i random phases (i [0, 2 )). The frequency step f should be f (0.1, 0.3) Hz. Finally is a small random phase angle introduced to avoid periodicity of the turbulence signal.

19.1.3

Measurement Data

Measurement data can be used for wind speed time sequence simply by dening in the PSAT data le the eld Wind.speed(i).vw as a two column array, where the rst column is the time and the second one the wind speed in m/s, and i is the wind speed number. If no wind speed data are found in the le, the Weibull distribution model will be used. Observe that measurement data cannot be set with a Simulink model. Thus one rst should convert the Simulink model into a PSAT data le and then add the wind speed data editing the le itself.

196

19 Wind Turbines

Table 19.3: Recent wind turbines [European Wind Energy Association 2001] Type Bonus NEC NM 1500/72 Nordex N-80 Vestas V-80 Enercon e-66
GD TS

Power [MW] 2 1.5 2.5 2 1.5


DD PC

Diam. [m] 86 72 80 80 66

Height [m] 80 98 80 78 85
VS PS

Control GD/TS/PS GD/TS/PS GD/VS/PC GD/VS/PC GD/VS/PC

Speed [rpm] 17 17.3 19 19 22

gearbox drive two speed

direct drive pitch control

variable speed shift pitch by stall

19.2

Wind Turbines

This section describes the three wind turbine types as implemented in PSAT: the constant speed wind turbine with squirrel cage induction generator, the variable speed wind turbine with doubly fed (wound rotor) induction generator and the direct drive synchronous generator. These congurations were chosen as they are widely used nowadays and their models are mostly based on the models discussed in [Slootweg 2003]. Figure 19.2 depicts three wind turbines types, while Table 19.3 illustrates a few recent wind turbines data as documented in [European Wind Energy Association 2001].

19.2.1

Constant Speed Wind Turbine

The simplied electrical circuit used for the squirrel cage induction generator is the same as the one for the single-cage induction motor, depicted in Fig. 15.5, the only dierence with respect to the induction motor being that the currents are positive if injected in the network. The equations are formulated in terms of the real (r) and imaginary (m) axis, with respect to the network reference angle. In a synchronously rotating reference frame, the link between the network and the stator machine voltages is as follows: vr vm and the power absorptions are: P Q = v r ir + v m im 2 2 = vm ir vr im + bc (vr + vm ) (19.12) = V sin() (19.11)

= V cos()

where bc is the xed capacitor conductance which is determined at the initialization step. The dierential equations in terms of the voltage behind the the stator

Squirrel cage induction generator Gear box s V s I Grid

(a)

Rotor Capacitors

Doubly fed induction generator Gear box s V s I Grid

(b)

Rotor

Converter r V r I

c I

PSfrag replacements

Direct drive synchronous generator s V s I

Converter c V c I

Grid

(c)

Rotor

Figure 19.2: Wind turbine types. (a) Constant speed wind turbine with squirrel cage induction generator; (b) Variable speed wind turbine with doubly fed induction generator; (c) Variable speed wind turbine with direct drive synchronous generator.

197

198

19 Wind Turbines

resistance rS are: em v m e r e m = = er v r = = r S ir x im r S im + x ir (19.13)

whereas the link between voltages, currents and state variables is as follows: b (1 m )em (er (x0 x )im )/T0 b (1 m )er (em + (x0 x )ir )/T0 x0 x T0 = xS + xm xR xm = xS + xR + x m xR + x m = b rR (19.14)

where x0 , x and T0 can be obtained from the generator parameters: (19.15)

The mechanical dierential equations which take into account the turbine and rotor inertias Hwr and Hm , respectively, and shaft stiness Ks are as follows: wr m = = (Ks Te )/(2Hm ) = b (wr m ) T e = e r ir + e m im The mechanical torque is: (Twr Ks )/(2Hwr ) (19.16)

where the electrical torque Te is: (19.17)

Pw (19.18) wr being Pw the mechanical power extracted from the wind. The latter is a function of both the wind and the rotor speeds and can be approximated as follows: Twr = Pw = 3 cp ()Ar vw 2 (19.19)

in which is the air density, cp the performance coecient or power coecient, the tip speed ratio and Ar the area swept by the rotor. The speed tip ratio is the ratio between the blade tip speed vt and the wind upstream the rotor vw : = vt 2Rwr = GB vw pvw (19.20)

where GB is the gear box ratio, p the number of poles of the induction generator and R the rotor radius. Finally, the following equation is used to approximate the cp () curve: 125 16.5 cp = 0.44 (19.21) 6.94 e i i

19.2 Wind Turbines

199

with i =
1

1 + 0.002

(19.22)

To simulate the tower shadow eect, a periodic torque pulsation is added to T wr , whose frequency depends on the rotor speed wr , the gear box ratio GB , and the number of blades nb , as follows: Twr = Twr 1 + 0.025 sin GB b wr t nb (19.23)

where the torque pulsation amplitude is xed to 0.025 according to what was presented in [Akhmatov et al. 2000]. The constant speed wind turbine with squirrel cage induction generator is dened in the Cswt structure, which has the following elds: 1. con: constant speed wind turbine data. 2. n: total number of constant speed wind turbines. 3. bus: numbers of buses to which wind turbines are connected. 4. wind: numbers of wind speed models to which wind turbines are connected. 5. dat: wind turbines parameters. 6. omega wr: indexes of the state variable wr . 7. omega m: indexes of the state variable m . 8. gamma: indexes of the state variable . 9. e1r: indexes of the state variable er . 10. e1m: indexes of the state variable em . Table 19.4 depicts the data format of the constant speed wind turbine with squirrel cage induction generator.

19.2.2

Doubly Fed Induction Generator

Steady-state electrical equations of the doubly fed induction generator are assumed, as the stator and rotor ux dynamics are fast in comparison with grid dynamics and the converter controls basically decouple the generator from the grid. As a result of these assumptions, one has: vds vqs vdr vqr = = = = rS ids + ((xS + xm )iqs + xm iqr ) (19.24)

rS iqs ((xS + xm )ids + xm idr ) rR idr + (1 m )((xR + xm )iqr + xm iqs )

rR iqr (1 m )((xR + xm )idr + xm ids )

200

19 Wind Turbines

Table 19.4: Constant Speed Wind Turbine Data Format (Cswt.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Variable Sn Vn fn rS xS rR xR xm Hwr Hm Ks R p nb GB Description Bus number Wind speed number Power rating Voltage rating Frequency rating Stator resistance Stator reactance Rotor resistance Rotor reactance Magnetizing reactance Wind turbine inertia Rotor inertia Shaft stiness Rotor radius Number of poles Number of blades Gear box ratio Unit int int MVA kV Hz p.u. p.u. p.u. p.u. m/s kWs/kVA kWs/kVA p.u. m int int -

where the stator voltages are functions of the grid voltage magnitude and phase: vds vqs = V sin() = V cos() (19.25)

The active and reactive powers injected into the grid depend on the stator currents and the grid side currents of the converter, as follows: P Q = vds ids + vqs iqs + vdc idc + vqc iqc = vqs ids vds iqs + vqc idc vdc iqc (19.26)

which can be rewritten considering the converter power equations, as discussed below. Firstly, the converter powers on the grid side are: Pc Qc whereas, on the rotor side: Pr Qr = = vdr idr + vqr iqr vqr idr vdr iqr (19.28) = = vdc idc + vqc iqc vqc idc vdc iqc (19.27)

19.2 Wind Turbines

201

Secondly, assuming a lossless converter model and a unity power factor on the grid side of the converter leads to: Pc Qc = = Pr 0 (19.29)

therefore, the powers injected in the grid result: P Q = vds ids + vqs iqs + vdr idr + vqr iqr = vqs ids vds iqs (19.30)

The generator motion equation is modeled as a single shaft, as it is assumed that the converter controls are able to lter shaft dynamics. For the same reason, no tower shadow eect is considered in this model. Thus one has: m Te = = (Tm Te )/2Hm ds iqs qs ids (19.31)

where the link between stator uxes and generator currents is as follows: ds qs = ((xS + xm )ids + xm idr ) = ((xS + xm )iqs + xm iqr ) (19.32)

Thus the electrical torque Te results: Te = xm (iqr ids idr iqs ) The mechanical torque is: Tm = Pw m (19.33)

(19.34)

being Pw the mechanical power extracted from the wind. The latter is a function of the wind speed vw , the rotor speed m and the pitch angle p . Pw can be approximated as follows: 3 (19.35) Pw = cp (, p )Ar vw 2 in which parameters and variables are the same as in (19.19) and the speed tip ratio is dened as in (19.20). The following equation is used to approximate the cp (, p ) curve: 116 12.5 cp = 0.22 0.4p 5 e i (19.36) i with 1 0.035 1 = 3 i + 0.08p p + 1 (19.37)

Converter dynamics are highly simplied, as they are fast with respect to the electromechanical transients. Thus, the converter is modeled as an ideal current source, where iqr and idr are state variables and are used for the rotor speed control

202

19 Wind Turbines

iqrmax PSfrag replacements m


Pw Pw Tm

(xS + xm ) xm V (1 + sT )

iqr

iqrmin

Figure 19.3: Rotor speed control scheme. and the voltage control respectively, which are depicted in Figures 19.3 and 19.4. Dierential equations for the converter currents are as follows: qr i dr i = = 1 xs + x m Pw (m )/m iqr xm V T KV (V Vref ) V /xm idr (19.38)

where Pw (m ) is the power-speed characteristic which roughly optimizes the wind energy capture and is calculated using the current rotor speed value (see Fig. 19.5). It is assumed that Pw = 0 if m < 0.5 p.u. and that Pw = 1 p.u. if m > 1 p.u. Thus, the rotor speed control only has eect for sub-synchronous speeds. Both the speed and voltage controls undergo anti-windup limiters in order to avoid converter over-currents. Current limits are approximated as follows:

iqrmax iqrmin idrmax idrmin

= = = =

Pmin

(19.39)

Pmax Qmin Qmax

Finally the pitch angle control is illustrated in Fig. 19.6 and described by the dierential equation: p = (Kp (m ref ) p )/Tp (19.40) where is a function which allows varying the pitch angle set point only when the dierence (m ref ) exceeds a predened value . The pitch control works only for super-synchronous speeds. An anti-windup limiter locks the pitch angle to p = 0 for sub-synchronous speeds. The wind turbine with doubly fed induction generator is dened in the Dfig structure, which has the following elds: 1. con: doubly fed induction generator data. 2. n: total number of doubly fed induction generators. 3. bus: numbers of buses to which generators are connected.

PSfrag replacements Vref + + KV + idrmin 1 xm V 1 1+s

idrmax idr

Figure 19.4: Voltage control scheme.

0.8
Pw [p.u.] PSfrag replacements

0.6

0.4

0.2

0 0.4

0.5

0.6

0.7

0.8

0.9

1.1

m [p.u.]

Figure 19.5: Power-speed characteristic.

PSfrag replacements m + Kp ref 0 1 + Tp s p

Figure 19.6: Pitch angle control scheme.

203

204

19 Wind Turbines

Table 19.5: Doubly Fed Induction Generator Data Format (Dfig.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Variable Sn Vn fn rS xS rR xR xm Hm Kp Tp KV T R p nb GB Pmax Pmin Qmax Qmin Description Bus number Wind speed number Power rating Voltage rating Frequency rating Stator resistance Stator reactance Rotor resistance Rotor reactance Magnetizing reactance Rotor inertia Pitch control gain Pitch control time constant Voltage control gain Power control time constant Rotor radius Number of poles Number of blades Gear box ratio Maximum active power Minimum active power Maximum reactive power Minimum reactive power Unit int int MVA kV Hz p.u. p.u. p.u. p.u. m/s kWs/kVA s s m int int p.u. p.u. p.u. p.u.

4. wind: numbers of wind speed models to which generators are connected. 5. dat: generator parameters. 6. omega m: indexes of the state variable m . 7. theta p: indexes of the state variable p . 8. idr: indexes of the state variable idr . 9. iqr: indexes of the state variable iqr . Table 19.5 depicts the data format of the wind turbine with doubly fed induction generator.

19.2.3

Direct Drive Synchronous Generator

Steady-state electrical equations of the direct drive synchronous generator are assumed, as the stator and rotor ux dynamics are fast in comparison with grid dy-

19.2 Wind Turbines

205

namics and the converter controls basically decouple the generator from the grid. As a result of these assumptions, one has: vds vqs = = rs ids + m xq iqs rs iqs m (xd ids p ) (19.41)

where a permanent eld ux p is used here to represent the rotor circuit. The active and reactive power of the generator are as follows: Ps Qs = = vds ids + vqs iqs vqs ids vds iqs (19.42)

while the active and reactive powers injected into the grid depend only on the grid side currents of the converter: Pc Qc = = vdc idc + vqc iqc vqc idc vdc iqc (19.43)

where the converter voltages are functions of the grid voltage magnitude and phase, as follows: vdc vqc = = V sin() (19.44)

V cos()

Assuming a lossless converter and a power factor equal to 1, the output powers of the generator becomes: Ps Qs = = Pc 0 (19.45)

Furthermore, the reactive power injected in the grid is controlled by means of the converter direct current idc , which allows rewriting the second equation of (19.43), as follows: 1 V idc + tan()Ps (19.46) Qc = cos() The generator motion equation is modeled as a single shaft, as it is assumed that the converter controls are able to lter shaft dynamics. For the same reason, no tower shadow eect is considered in this model. Thus one has: m Te = = (Tm Te )/2Hm ds iqs qs ids (19.47)

where the link between stator uxes and generator currents is as follows: ds qs = = xd ids + p xq iqs (19.48)

206

19 Wind Turbines

The mechanical torque and power are modeled as in the doubly fed induction motor, thus equations from (19.34) to (19.37) apply. Converter dynamics are highly simplied, as they are fast with respect to the electromechanical transients. Thus, the converter is modeled as an ideal current source, where iqs , ids and idc are state variables and are used for the rotor speed control and the reactive power control and the voltage control, respectively. Dierential equations of the converter currents are as follows: qs i ds i dc i where iqsref idsref = =
(m ) Pw m (p xd ids )

= (KV (Vref V ) idc )/TV

= (iqsref iqs )/T p = (idsref ids )/T q

(19.49)

(19.50)

p xd

2 p Qref 2 xd m x d

where Pw (m ) is the power-speed characteristic which roughly optimizes the wind energy capture and which is calculated using the current rotor speed value (see Fig. 19.5). It is assumed that Pw = 0 if the m < 0.5 p.u. and that Pw = 1 p.u. if m > 1 p.u. Thus, the rotor speed control only has eect for sub-synchronous speeds. Both the speed and voltage controls undergo anti-windup limiters in order to avoid converter over-currents. Current limits are approximated as follows:

iqsmax iqsmin idsmax idsmin

= = = =

Pmin

(19.51)

Pmax idcmax = Qmin idcmin = Qmax

Finally the pitch angle control is illustrated in Fig. 19.6 and described by the dierential equation (19.40). The wind turbine with direct drive synchronous generator is dened in the Ddsg structure, which has the following elds: 1. con: direct drive synchronous generator data. 2. n: total number of direct drive synchronous generators. 3. bus: numbers of buses to which generators are connected. 4. wind: numbers of wind speed models to which generators are connected. 5. dat: generator parameters. 6. omega m: indexes of the state variable m .

19.2 Wind Turbines

207

Table 19.6: Direct Drive Synchronous Generator Data Format (Ddsg.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Variable Sn Vn fn rs xd xq p Hm Kp Tp KV TV Tp Tq R p nb GB Pmax Pmin Qmax Qmin Description Bus number Wind speed number Power rating Voltage rating Frequency rating Stator resistance d-axis reactance q -axis reactance Permanent eld ux Rotor inertia Pitch control gain Pitch control time constant Voltage control gain Voltage control time constant Active power control time constant Reactive power control time constant Rotor radius Number of poles Number of blades Gear box ratio Maximum active power Minimum active power Maximum reactive power Minimum reactive power Unit int int MVA kV Hz p.u. p.u. p.u. p.u. kWs/kVA s s s s m int int p.u. p.u. p.u. p.u.

7. theta p: indexes of the state variable p . 8. ids: indexes of the state variable ids . 9. iqs: indexes of the state variable iqs . 10. idc: indexes of the state variable idc . Table 19.5 depicts the data format of the wind turbine with direct drive synchronous generator.

Chapter 20

Other Models
This chapter describes additional components useful to represent particular dynamic phenomena. These are synchronous machine dynamic shaft, dynamic phasor RLC series circuit, sub-synchronous resonance generator model, solid oxide fuel cell, and sub-transmission equivalent areas with load tap changer dynamics.

20.1

Dynamic Shaft

A dynamic mass-spring model is used to dene the shaft of the synchronous machine. Figure 20.1 depicts the shaft scheme (springs are in solid black). The rotor mass is dashed since it is not actually part of the model. The dynamic shaft has to be connected to a synchronous machine.1 Table 20.1 depicts the dynamic shaft data format. The state variables are initialized after solving the power ow, and a PV or a slack generator are required at the machine bus. A nominal frequency ( = 1) is assumed when the shaft speeds are initialized. The power and frequency ratings of the shaft are inherited from the synchronous machine associated with the shaft. The complete set of dierential equations which describe the dynamic shaft is as follows: HP HP IP IP LP LP
1 In

= = = = = =

+KHP (HP IP ) + KIP (LP IP ))/MIP b (LP 1) (DLP (LP 1) D23 (LP IP ) D34 (LP )

b (IP 1) (DIP (IP 1) D12 (IP HP ) D23 (IP LP )

(Tm DHP (HP 1) D12 (HP IP ) +KHP (IP HP ))/MHP

b (HP 1)

(20.1)

the current PSAT version, turbine governors cannot be connected to the shaft.

209

210

20 Other Models

Tm PSfrag replacements

Te


HP IP LP rotor EX

Figure 20.1: Synchronous machine mass-spring shaft model. +KIP (IP LP ) + KLP ( LP ))/MLP = b ( 1) = (Te D( 1) D34 ( LP ) D45 ( EX ) = = +KLP (LP ) + KEX (EX ))/M b (EX 1)

EX EX

(DEX (EX 1) D45 (EX ) +KEX ( EX ))/MEX

Dynamic shafts are dened in the structure Mass, as follow: 1. con: data of the Mass components. 2. syn: indexes of generators to which the shafts are connected. 3. n: total number of dynamic shafts. 4. delta HP: indexes of the state variable HP . 5. omega HP: indexes of the state variable HP . 6. delta IP: indexes of the state variable IP . 7. omega IP: indexes of the state variable IP . 8. delta LP: indexes of the state variable LP . 9. omega LP: indexes of the state variable LP . 10. delta EX: indexes of the state variable EX . 11. omega EX: indexes of the state variable EX .

20.2 RLC Series Circuit

211

Table 20.1: Dynamic Shaft Data Format (Mass.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Variable MHP MIP MLP MEX DHP DIP DLP DEX D12 D23 D34 D45 KHP KIP KLP KEX Description Synchronous machine number High pressure turbine inertia Intermediate pressure turbine inertia Low pressure turbine inertia Exciter inertia High pressure turbine damping Intermediate pressure turbine damping Low pressure turbine damping Exciter damping High-Interm. pressure turbine damping Interm.-low pressure turbine damping Low pressure turbine-rotor damping Rotor-exciter damping High pressure turbine angle coe. Intermed. pressure turbine angle coe. Low pressure turbine angle coe. Exciter angle coecient Unit int kWs/kVA kWs/kVA kWs/kVA kWs/kVA p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u.

20.2

RLC Series Circuit (Dynamic Phasor)

A dynamic phasor model as described in [Ili c and Zaborszky 2000] is used to dene a RLC series circuit. Figure 20.2 depicts the three models that can be chosen and Table 20.2 depicts the RLC data format. The following dierential equations apply to the RC, the RL and RLC circuits respectively: Type 1: v dC v qC Type 2: dL i qL i Type 3: dL i qL i v dC v qC = b (iqL + vdL /xL ) = b (idL + vqL /xL ) = = b (xC idL + vqC ) b (xC iqL vdC ) (20.4) = = b (iqL + (Vk cos k ridL Vm cos m )/xL ) (20.3) b (idL + (Vk sin k riqL Vm sin m )/xL ) = = b (vqC + xC (Vk cos k vdC Vm cos m )/r b (vdC + xC (Vk sin k vqC Vm sin m )/r (20.2)

212

20 Other Models

where vd L vq L = = Vk sin k riqL vdC + Vm sin m Vk cos k ridL vqC + Vm cos m (20.5)

The link with the network is modeled in terms of active and reactive powers: Pk Qk Pm Qm = = = = Vk sin k id + Vk cos k iq (20.6)

Vk cos k id + Vk sin k iq Vm sin m id Vm cos m iq

Vm cos m id Vm sin m iq

where id = idL and iq = iqL for the RL and the RLC circuits, and id iq = = (Vk cos k vdC Vm cos m )/r (Vk sin k vqC Vm sin m )/r (20.7)

in case of RC model. The RLC series circuit is dened in the structure RLC, as follows: 1. con: data chart of the RLC components. 2. n: total number of RLC circuits. 3. dat: parameters and quantities computed by the program. 4. bus1: reordered bus numbers k . 5. bus2: reordered bus numbers m. 6. id: indexes of the state variable idL . 7. iq: indexes of the state variable iqL . 8. vd: indexes of the state variable vdC . 9. vq: indexes of the state variable vqC .

20.3

Sub-synchronous Resonance Model

Figure 20.3 depicts a generator with shaft dynamics and compensated line, which represents a simple model for studying the sub-synchronous resonance (SSR) problem. The shaft dynamics are similar to what described in Section 20.1 and are modeled as high, intermediate and low pressure turbine masses, exciter mass and machine rotor. The line is modeled as a dynamic phasor RLC series circuit as described in Section 20.2. This is one of the simplest models [Yao-Nan-Yu 1983] which presents the subsynchronous resonance (SSR) phenomenon, a well known problem of undamped

Vk k Type 1

xC

Vm m

Vk k Type 2 PSfrag replacements

xL

Vm m

Vk k Type 3

xL

xC

Vm m

Figure 20.2: Dynamic phasor circuit types.

Table 20.2: RLC Circuit Data Format (RLC.con) Column 1 2 3 4 5 6 7 8 9 Variable k m Sn Vn fn r xL xC Description Bus number (from) Bus number (to) Power rating Voltage rating Frequency rating Model Type 1 RC circuit Model Type 2 RL circuit Model Type 3 RLC circuit Resistance Inductive reactance Capacitive reactance Unit int int MVA kV Hz int p.u. p.u. p.u.

213

PSfrag replacements214

20 Other Models

Tm

Te V

xL

xC

vd + jvq HP IP LP , EX

id + jiq

vdC + jvqC

Figure 20.3: Generator with dynamic shaft and compensated line. oscillations that may occur when the transmission line to which the machine is connected is compensated by a series capacitor [Force 1977, Report 1985, Report 1992]. The dynamics of the RLC circuit cannot be neglected since the line presents two modes whose frequency can be roughly estimated as b (1 xC /xL ). For typical values of the inductive and capacitive reactances, the lower of these two frequencies can be close to one of the mechanical oscillations of the generator shaft. Thus, beyond a certain value of the compensation level, the machine may experiment a negative damping of one of the mechanical modes that results in dangerous stresses on the shaft. This phenomenon can be also described in terms of the bifurcation theory [Mitani and Tsuji 1995, Mitani et al. 1998]. The model used to represent the machine and the line is the same used in [Zhu et al. 1996]. It presents ve electrical state variables (id , iq , if , vdc , vqc ) which can be determined by the machine dierential equations: f d q the line dierential equations: d i q i v dc v qc = b (iq + (vd rid vdc V sin( ))/xL ) (20.9)

= = =

(vf d if )/Td0

(20.8)

b (ra id + q + vd ) b (ra iq d + vq )

= b (id + (vq riq vqc V cos( ))/xL ) = b (xC id + vqc ) = b (xC iq vdc )

along with the algebraic constraints that link the time derivatives of the generator uxes and of the line currents: f d q f (xd xd )i d = i f xd i d = i q = xq i (20.10)

20.3 Sub-synchronous Resonance Model

215

Finally, a ve mass system is used for describing the shaft dynamics: HP HP IP IP LP LP EX EX = = = = = = b (HP 1) (20.11)

(Tm DHP (HP 1) + KHP (IP HP ))/MHP b (IP 1) (DIP (IP 1) + KHP (HP IP ) +KIP (LP IP ))/MIP b (LP 1)

= b ( 1) = (Te D( 1) + KLP (LP ) = = +KEX (EX ))/M b (EX 1)

(DLP (LP 1) + KIP (IP LP ) +KLP ( LP ))/MLP

(DEX (EX 1) + KEX ( EX ))/MEX

where the electrical torque is Te = d iq q id . The algebraic equations for the power injections P Q = V id sin( ) V iq cos( ) = V id cos( ) + V iq sin( ) (20.12)

complete the model. In the implemented code, the eld reactance xf , the eld resistance rf and the d-axis reactance xad are used instead of xd and Td0 , with the following relationships: Td0 xd = = xf b rf xd xad (20.13)

The sub-synchronous resonance generator model is dened in the structure SSR, as follows: 1. con: SSR data. 2. bus: indexes of buses to which SSRs are connected. 3. n: total number of SSRs. 4. Id: indexes of the state variable id . 5. Iq: indexes of the state variable iq . 6. If: indexes of the state variable if . 7. Edc: indexes of the state variable vdc .

216

20 Other Models

8. Eqc: indexes of the state variable vqc . 9. Tm: mechanical torque Tm . 10. Efd: eld voltage vf d . 11. delta HP: indexes of the state variable HP . 12. omega HP: indexes of the state variable HP . 13. delta IP: indexes of the state variable IP . 14. omega IP: indexes of the state variable IP . 15. delta LP: indexes of the state variable LP . 16. omega LP: indexes of the state variable LP . 17. delta: indexes of the state variable . 18. omega: indexes of the state variable . 19. delta EX: indexes of the state variable EX . 20. omega EX: indexes of the state variable EX . The SSR data format is depicted in Table 20.3. The SSR state variables are initialized after solving the power ow and either a PV or a slack generator is needed at the SSR bus.

20.4

Solid Oxide Fuel Cell

A Solid Oxide Fuel Cell (SOFC) model is included in PSAT based on what was proposed in [Padull es et al. 2000], [Zhu and Tomsovic 2002], [Hatziadoniu et al. 2002], and [Knyazkin et al. 2003].2 Figure 20.4 depicts the fuel cell scheme, which is based on the following equations: p H2 p H2 O p O2 q H2 k V = = = = = ((qH2 2Kr Ik )/KH2 pH2 )/H2 (2Kr Ik /KH2 O pH2 O )/H2 O (20.14)

((qH2 /rHO Kr Ik )/kO2 pO2 )/O2 (2Kr Ik /Uopt qH2 )/Tf RT ln(pH2 pO2 /pH2 O )))/T (Vk rIk + N0 (E0 + 2F

where R is the gas constant (R = 8.314 [J/(mol K)]), F is the Faraday constant (F = 96487 [C/mol]), T the absolute gas temperature, and T is a small time
2 This model was realized in collaboration with Valery Knyazkin, Ph.D. candidate at the Royal Institute of Technology, Sweden.

Table 20.3: SSR Data Format (SSR.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Variable Sn Vn fn xd xq ra xad r xL xC rf xf MHP MIP MLP M MEX DHP DIP DLP D DEX KHP KIP KLP KEX Description Bus number Power rating Voltage rating Frequency rating d-axis synchronous reactance q -axis synchronous reactance Armature resistance d-axis reactance Line resistance Line inductive reactance Line capacitive reactance Field resistance Field reactance High pressure turbine inertia Intermediate pressure turbine inertia Low pressure turbine inertia Rotor inertia Exciter inertia High pressure turbine damping Intermediate pressure turbine damping Low pressure turbine damping Rotor damping Exciter damping High pressure turbine angle coe. Intermed. pressure turbine angle coe. Low pressure turbine angle coe. Exciter angle coecient Unit int MVA kV Hz p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. kWs/kVA kWs/kVA kWs/kVA kWs/kVA kWs/kVA p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u.

217

218

20 Other Models

constant which does not aects the fuel cell dynamics. The fuel cell current I k can be subjected to a constant power control: k = (Pref /Vk Ik )/Te I or a constant current control: k = (Pref /V(k ) Ik )/Te I 0 (20.16) (20.15)

where Vk0 is the initial fuel cell DC voltage. If the input signal exceeds the dynamic limits proportional to the fuel ow, one has: k = ( Ulim qH2 Ik )/Te I 2Kr (20.17)

where Ulim is the maximum or the minimum fuel utilization (Umax , Umin ). The connection with the network is assumed to be realized by means of an ideal inverter and a transformer with reactance xT , as depicted in Fig. 20.5. The AC voltage is regulated by means of the inverter modulating amplitude m, as follows: m = (Km (Vref Vs ) m)/Tm (20.18)

The amplitude control has anti-windup limiters and is depicted in Fig. 20.6. The DC power of the fuel cell (Pk = Vk Ik ) is considered to be the real power injected in the network (Ps = Pk ). Thus the link with the AC network is as follows: Ps Qs where Vt = kmVk , k = = = Vt Vs sin(t s ) = Vk Ik xT Vt Vs V2 cos(t s ) s xT xT (20.19)

3/8. Thus, one has: t = s + asin xT Ik kmVs xT Ik kmVs


2

(20.20)

and, nally: Qs = Vs2 Vs kmVk + xT xT (1 (20.21)

The reference voltage Vref and the initial value of the inverter amplitude m0 are computed based on the power ow solution, as follows: m0 Vref = = xt Vs kVk
2+ Q + Pg g

Vg2 xT

(20.22)

Vg + m/Km

where Vg , Pg and Qg are the PV generator voltage, active power and reactive power respectively. Observe that to be properly initialized, the fuel cell needs a PV generator connected at the same bus (slack generators are not allowed). The SOFC model is dened in the structure Sofc, as follows:

qH 2 1/Vk 1 Ik Te s + 1 2Kr Kr Umin /2Kr r Umax /2Kr

PSfrag replacements Pref

qH 2

_
+

Figure 20.4: Solid Oxide Fuel Cell scheme.


2Kr 1 Tf s + 1 qH 2 rHO qO2 1 + Uopt

219
1/KH2 H 2 s + 1 1/KH2 O H2 O s + 1 pH 2 pH 2 O N0 E0 + RT 2F ln

Ik

1/KO2 O 2 s + 1

pO2 pH 2 pO 2 pH 2 O +

_
Vk

Pk

Table 20.4: Solid Oxide Fuel Cell Data Format (Sofc.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Variable Sn Vn Te H2 K H2 Kr H2 O K H2 O O2 K O2 rHO Tf Uopt Umax Umin r N0 E0 T Pref Vref PB VB xT Km Tm mmax mmin Description Bus number Power rating Voltage rating Electrical response time Response time for hydrogen ow Valve molar constant for hydrogen Constant Response time for water ow Valve molar constant for water Response time for oxygen ow Valve molar constant for oxygen Ratio of hydrogen to oxygen Fuel processor response time Optimal fuel utilization Maximum fuel utilization Minimum fuel utilization Ohmic losses Number of cells in series in the stack Ideal standard potential Gas Absolute temperature Reference power Reference AC voltage Base power Base voltage Control mode (1) current, (0) power Transformer reactance Gain of the voltage control loop Time constant of the voltage control loop Maximum modulating amplitude Minimum modulating amplitude Unit int MW kV s s s s s p.u. V K p.u. p.u. MW kV int p.u. p.u. s p.u./p.u. p.u./p.u.

Note: elds marked with a are not set by the user.

220

20.5 Sub-tramsmission Area Equivalents

221

PSfrag replacements
Vk

Ik

Vt t

Vs s

Figure 20.5: Solid Oxide Fuel Cell connection with the AC grid.
mmax PSfrag replacements Vs

+
Vref

Km Tm s + 1

mmin

Figure 20.6: AC voltage control for the Solid Oxide Fuel Cell. 1. con: Solid Oxide Fuel Cell data. 2. bus: indexes of buses to which SOFCs are connected. 3. n: total number of SOFCs. 4. Ik: indexes of the state variable Idc . 5. Vk: indexes of the state variable Vdc . 6. pH2: indexes of the state variable pH2 . 7. pH2O: indexes of the state variable pH2 O . 8. pO2: indexes of the state variable pO2 . 9. qH2: indexes of the state variable qH2 . 10. m: indexes of the state variable m.

20.5

Sub-tramsmission Area Equivalents

Three sub-transmission area equivalent (SAE) models are included in PSAT based on what was proposed in [Denegri et al. 2001]. A SAE with three LTCs and loads

222

20 Other Models

is depicted 20.7.a. Each load is considered to be static and voltage dependent, as follows: PLi Q Li = = i Vi mi V2 i i2 mi (20.23)

where mi is the tap ratio of the LTC connected to the load i. The LTC controls the load voltage and the following dierential equation holds: m i = hi mi + ki ( Vi Vrefi ) mi (20.24)

Generic algebraic equations of the SAE are obtained by means of a nodal reduction of the network which is described in [Denegri et al. 2001] and can be summarized as follows: PA QA PB QB = = = = x xA0
N

kP i V A +
i=1

x VA VB sin(A B ) xA0 xB 0

(20.25)

x x 1 2 2 VA VA VB cos(A B ) xA0 xA0 xA0 xB 0 x xB 0 1 xB 0


N

kP i V B +
i=1

x VA VB sin(B A ) xA0 xB 0

x x 2 VA VB cos(B A ) V B x2 xA0 xB 0 B0

where bA bB bAB IA IB x = = = = 1 1 1 1 x + xA0 xA0 xB 0 1 1 1 1 x + xB 0 xB 0 xA0 x xB 0 xA0 x xA0 x xB 0


N

(20.26)

kP i
i=1 N

kP i
i=1 N 1

1 1 + + kQ xA0 xB 0 i=1 i

20.5 Sub-tramsmission Area Equivalents

223

and kP i = kP i = i mi x0i i 1 + 2 x0i mi 1 i + 2 x0i mi


1

(20.27)
1

1 1 2 x0i x0i

The meaning of the variables is illustrated in Fig. 20.7, which depicts the nodal reduction procedure. A modal reduction is also proposed in [Denegri et al. 2001], based on the assumption of dynamic coherence of LTCs, as follows: m eq = 1 N
N

fi (meq )
i=1

(20.28)

where N is the total number of LTC and loads, and fi is: fi (mi ) = m i = hi mi + ki x VB VA + xA0 xB 0 x T i mi i 1 + 2 xTi mi Vrefi (20.29)
1

Three SAE models are implemented: 1. SAE with three LTCs and loads, modal and nodal reductions dened in the structure SAE1 as follows: con SAE data n total number of SAE m indexes of state variables meq 2. SAE with two LTCs and loads and nodal reductions dened in the structure SAE2 as follows: con n m1 m2 SAE data total number of SAE indexes of state variables m1 indexes of state variables m2

3. SAE with three LTCs and loads and modal reductions dened in the structure SAE3 as follows: con n m1 m2 m3 SAE data total number of SAE indexes of state variables m1 indexes of state variables m2 indexes of state variables m3

The SAE data format are depicted in Tables 20.5 and 20.6. Parameters marked with are computed at the initialization step if parameters marked with a are provided.

VA xA1 x12 x(n1)n xBn

VB

(a)

m1 xT 1 V1 PSfrag replacements

mi xT i Vi

mn xT n Vn Generic SAE

(1 , 1 )

(i , i )

(n , n )

VA xA0 xB 0

VB

(b)

x10 V1 Vi

xi0

xn0 Nodal Reduction Vn

(1 , 1 )

(i , i )

(n , n )

VA

VB

(c)

bAB IA bA0 bB 0 IB Equivalent Circuit

Figure 20.7: Nodal reduction of the Sub-transmission equivalent area.

224

Table 20.5: Sub-transmission Area (2 loads) Data Format (SAE2.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Variable hA hB Sn Vn fn x10 x20 xA0 xB 0 1 1 2 2 h1 k1 vref1 h2 k2 vref2 mmax 1 mmin 1 mmax 2 mmin 2 xT 1 xT 2 xA1 xB 2 x12 Description Bus number A Bus number B Power rating Voltage rating Frequency rating Equivalent reactance of branch 1 Equivalent reactance of branch 2 Equivalent reactance of branch A Equivalent reactance of branch B Nominal active power of load 1 Nominal reactive power of load 1 Nominal active power of load 2 Nominal reactive power of load 2 First constant of regulator 1 Second constant of regulator 1 Reference voltage of regulator 1 First constant of regulator 2 Second constant of regulator 2 Reference voltage of regulator 2 Max tap ratio of transformer 1 Min tap ratio of transformer 1 Max tap ratio of transformer 2 Min tap ratio of transformer 2 Reactance of transformer 1 Reactance of transformer 2 Reactance of line A-1 Reactance of line B-2 Reactance of line 1-2 Unit int int MVA kV Hz p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. 1/s p.u. p.u. 1/s p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u. p.u. p.u. p.u. p.u.

225

Table 20.6: Sub-transmission Area (3 loads) Data Format (SAE1.con, SAE3.con) Column 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Variable hA hB Sn Vn fn x10 x20 x30 xA0 xB 0 1 1 2 2 3 3 h1 k1 vref1 h2 k2 vref2 h3 k3 vref3 mmax 1 mmin 1 mmax 2 mmin 2 mmax 3 mmin 3 xT 1 xT 2 xT 3 xA1 xB 2 x12 x23 Description Bus number A Bus number B Power rating Voltage rating Frequency rating Equivalent reactance of branch 1 Equivalent reactance of branch 2 Equivalent reactance of branch 3 Equivalent reactance of branch A Equivalent reactance of branch B Nominal active power of load 1 Nominal reactive power of load 1 Nominal active power of load 2 Nominal reactive power of load 2 Nominal active power of load 3 Nominal reactive power of load 3 First constant of regulator 1 Second constant of regulator 1 Reference voltage of regulator 1 First constant of regulator 2 Second constant of regulator 2 Reference voltage of regulator 2 First constant of regulator 3 Second constant of regulator 3 Reference voltage of regulator 3 Max tap ratio of transformer 1 Min tap ratio of transformer 1 Max tap ratio of transformer 2 Min tap ratio of transformer 2 Max tap ratio of transformer 3 Min tap ratio of transformer 3 Reactance of transformer 1 Reactance of transformer 2 Reactance of transformer 3 Reactance of line A-1 Reactance of line B-2 Reactance of line 1-2 Reactance of line 2-3 Unit int int MVA kV Hz p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u. 1/s p.u. p.u. 1/s p.u. p.u. 1/s p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u./p.u. p.u. p.u. p.u. p.u. p.u. p.u. p.u.

226

Part IV

CAD

Chapter 21

Network Design
This chapter describes the graphic library for network design which is built in Simulink and contains all components dened in the toolbox. The interaction between PSAT and the Simulink models is also briey discussed. Finally, Section 21.5 depicts the Simulink models of three test systems used in this documentation, i.e. 14-bus, 9-bus and 6-bus test systems.

21.1

Simulink Library

Figure 21.1 depicts the main frame of the PSAT Simulink library, which is dened in the le fm lib.mdl, whereas following Figures 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 21.10, 21.11, 21.12, 21.13, and 21.14 illustrate the complete set of Simulink blocks for network design, which are grouped as follows: connections, power ow data, OPF & CPF data, faults & breakers, measurements, loads, machines, controls, regulating transformers, FACTS, wind turbines, other models, and subtransmission equivalent areas respectively. Observe that running time domain simulations from the Simulink model menus produces no eect, since no Simulink dynamic model is associated with PSAT blocks. Furthermore, only the blocks contained in the PSAT library should be used for building the network.1

21.2

Simulink PMC Library

A new Physical Model Component (PMC) which allows bidirectional connections has been added since Simulink 5.1. Figure 21.15 depicts all PSAT blocks of the Simulink PMC library of PSAT. This library is dened in the le fm libpmc.mdl. Observe that the physical connections are represented by means of circles. A second Simulink library which uses PMCs is dened in the le fm libsps.mdl. This library
1 The

function Create Subsystem available in Simulink model menu is fully supported.

229

PSAT Library

PSfrag replacements Connections Power Flow OPF & CPF Faults & Breakers Measurements

Transformers

Loads

Machines

Regulating Transformers

Controls

FACTS

Wind Turbines

Others

SAE

Figure 21.1: Simulink library: Main Window.

Buses & Connections


PSfrag replacements Bus [A] Link Bus Goto Bus [A] From Bus

Figure 21.2: Simulink library: Connections.

230

Static Components & Devices

Slack Bus

PV Generator

Constant PQ Load

Shunt Admittance

PSfrag replacements

Transformer

Transmission Line

Static Condenser

Three-Winding Transformer

Cable

Tap Ratio and Phase Shifter Tap Ratio Transformer Transformer Phase Shifter Transformer

Extra Model for Transmission Line

Static Compensator

Autotransformer

Figure 21.3: Simulink library: Power Flow data.

231

OPF & CPF Data

Power Supply Bids and Generator Power Directions PSfrag replacements

Power Demand Bids and Load Power Directions

Generator Ramping

Generator Reserve Bids

Violation Penalty Factors

Load Ramping

Yearly Power Demand Prole

Figure 21.4: Simulink library: OPF & CPF data.


Faults & Operations

Fault PSfrag replacements Breaker

Figure 21.5: Simulink library: Faults & Breakers.


Measurements

PSfrag replacements Bus Frequency Measurement

Figure 21.6: Simulink library: Measurements. 232

Loads

Voltage Dependent Load


PSfrag replacements

ZIP Load

Thermostatically Controlled Load

Frequency Dependent Load

Exponential Recovery Load

Figure 21.7: Simulink library: Loads.

Electrical Machines
PSfrag replacements

Synchronous Generator

Induction Motor

Figure 21.8: Simulink library: Machines.

233

Controls
PSfrag replacements

Turbine Governor

Automatic Voltage Regulator

Cluster Controller

Power System Stabilizer

Over Excitation Limiter

Central Area Controller

Figure 21.9: Simulink library: Regulators.

Regulating Transformers

Under Load Tap Changer PSfrag replacements

Under Load Tap Changer with Embedded Load

Phase Shifting Transformer

Figure 21.10: Simulink library: Regulating Transformers.

234

Flexible AC Transmission Systems

SVC (model 1) HVDC Transmission Line

SVC (model 2)

TCSC (model 1)

TCSC (model 2)

PSfrag replacements

StatCom

UPFC

SSSC

Figure 21.11: Simulink library: FACTS controllers.

235

Wind Turbines

Wind Model

PSfrag replacements

Constant Speed Wind Turbine with Squirrel Cage Induction Generator

Variable Speed Wind Turbine with Doubly Fed Induction Generator

Variable Speed Wind Turbine with Direct Drive Synchronous Generator

Figure 21.12: Simulink library: Wind Turbines.

Other Models
+

PSfrag replacements

Solid Oxyde Fuel Cell

Subsynchronous Resonance Model

Dynamic Phasor RLC Series Circuit

Dynamic Mass-Spring Shaft Model

Figure 21.13: Simulink library: Other models.

236

21.3 Extracting Data from Simulink Models

237

Subtransmission Area Equivalents

PSfrag replacements

Subtransmission Area Equivalent (two loads and nodal reduction) Subtransmission Area Equivalent (three loads, modal and nodal reduction) Subtransmission Area Equivalent (three loads and nodal reduction)

Figure 21.14: Simulink library: Subtransmission equivalent areas. needs that the toolbox SimPowerSystems is loaded in the system.2 Figure 21.16 depicts all PSAT blocks of the Simulink PMC-SimPowerSystems library.

21.3

Extracting Data from Simulink Models

The Simulink models are used only as a graphical user interfaces. Other Simulink features, such as the time domain simulation, are not used by PSAT. After completing the network model, one has to extract the data from the model and create a PSAT data le. This operation is performed by the function fm sim that is automatically called when a Simulink le is loaded as data le. Files created from Simulink models are marked with the ag (mdl).3 When the loaded data le is generated from a Simulink model, a check of the model status is performed each time the power ow routine is launched. If the model has been changed, the data are extracted again from the model.

21.4

Displaying Results in Simulink Models

After solving the power ow, it is possible to display bus voltage and power ow values within the Simulink model of the currently loaded system. The GUI associated with this utility is depicted in Fig. 21.17 and is available in the menu
2 Observe that the toolbox SimPowerSystems is needed just to load the Simulink library. SimPowerSystems blocks and routines are not compatible with PSAT. 3 It is possible to convert a Simulink model without actually loading the data le, using the Edit/Simulink Model Conversion menu in the main window.

Figure 21.15: Simulink PMC library.

238

Figure 21.16: Simulink PMC library (with SimPowerSystems).

239

240

21 Network Design

Figure 21.17: GUI for Simulink model settings. Edit/Simulink Model Settings of the main window. Finally, Simulink models can be exported to Encapsulated Post Script les by clicking on the Simulink logo or using the menu File/Export Network to EPS. This utility allows removing the annoying black arrows from the resulting .eps le (see examples depicted in the next Section 21.5).

21.5

Examples

Figures 21.18, 21.19 and 21.20 depict the Simulink models of the 9-bus, 14-bus and 6-bus test systems.4 Figure 21.19 depicts also the bus voltage report generated using the GUI for Simulink settings.

4 The

models are available in the subfolder tests of the main PSAT folder.

Bus 7

Bus 9

Bus 8 Bus 2 Bus 3

Bus 5 Bus 1

Bus 6

Bus 4

Figure 21.18: Simulink model of the WSCC 3-generator 9-bus test system.

241

Bus 13
|V| = 1.047 p.u. <V = 0.2671 rad

Bus 14 Bus 10
|V| = 1.0318 p.u. <V = 0.2622 rad |V| = 1.0207 p.u. <V = 0.2801 rad

Bus 12
|V| = 1.0534 p.u. <V = 0.2664 rad

Bus 11
|V| = 1.0471 p.u. <V = 0.2589 rad

Bus 09
|V| = 1.0328 p.u. <V = 0.2585 rad

Bus 07
|V| = 1.0493 p.u. <V = 0.2309 rad

Bus 06
|V| = 1.07 p.u. <V = 0.2516 rad

Bus 08 Bus 04
|V| = 1.012 p.u. <V = 0.1785 rad |V| = 1.09 p.u. <V = 0.2309 rad

Bus 05
|V| = 1.016 p.u. <V = 0.1527 rad

Bus 01
|V| = 1.06 p.u. <V = 0 rad

Bus 02
|V| = 1.045 p.u. <V = 0.0871 rad

Bus 03
|V| = 1.01 p.u. <V = 0.2226 rad

Figure 21.19: Simulink model of the IEEE 14-bus test system.

242

GENCO 2

PSfrag replacements
GENCO 3 ESCO 3 Bus 3 Bus 6 Bus 2 ESCO 1 GENCO 1 ESCO 2 Bus 4 Bus 5 Bus 1

Figure 21.20: Simulink model of the 6-bus test system.

243

Chapter 22

Block Usage
This chapter describes how to use and connect blocks of the Simulink library provided with PSAT.

22.1

Block Connections

Generally speaking, a well formed PSAT Simulink model is a set of interconnected blocks with the following properties: 1. all connections are allowed; 2. all connections are feasible. The rst property depends on PSAT internal structures and routines, while the latter depends on mathematical or physical issues. In some cases not allowed connections will result in error messages when compiling the data le from the Simulink model, while infeasible connections will typically cause singularities or unpredictable results when running PSAT routines. A connection can be allowed but not be feasible (e.g. a slack bus and a PV generator with dierent desired voltages connected at the same bus). In other cases, one connection could be feasible in theory but is not allowed by PSAT (e.g. two or more PQ loads connected to the same bus). As a general rule, PSAT should take care of all not allowed connections,1 while the user should check for possible infeasible conditions. Following Sections 22.2 and 22.3 mostly explains how to set up Simulink models with all allowed connections, i.e. models which will result in working PSAT data les. When possible, hints to avoid infeasible conditions are provided as well. In the following, blocks are subvided in two main groups: standard and nonstandard. Standard blocks must be connected only to buses, while nonstandard blocks can be connected to other blocks or may need another block at the same bus. Observe that well formed models must contain only blocks which are provided with the PSAT Simulink library.
1 There

is still some work to do on this issue.

245

246

22 Block Usage

Figure 22.1: Examples of standard blocks of the PSAT Simulink Library.

22.2

Standard Blocks

Standard blocks only need to be connected to one bus for each input/output port. Blocks which do not follow this rule are described in the following Section 22.3. Some examples of standard blocks are depicted in Fig. 22.1. In most cases, any number of the same standard block can be connected to the same bus, with the only exceptions of slack generators,2 PV generators, and constant PQ loads (see Figs. 22.2 and 22.3). PSAT assumes that these blocks are unique for each bus. Connecting more than one slack bus, more than one PV generator, or more than one PQ load to the same bus would lead to unpredictable results. However, PSAT will display an error message and will not try to solve the power ow. Future versions of PSAT could include warning messages in case of other not allowed or infeasible combinations of multiple blocks being connected to the same bus. Observe that connecting several components to the same bus, although permitted, can be sometimes inconsistent from the mathematical point of view. For example connecting one PV and one slack generator at the same bus or two under load tap changers in parallel may lead to unpredictable results or to singularities (see Fig. 22.4). This kind of inconsistency cannot be easily checked automatically. A particular care should be devoted to avoid infeasible constraints.

2 Note that the number of slack generators may be greater than one. This may occur if one denes two or more disconnected networks within the same Simulink model. However this usage is not recommended, since not all routines have been checked with a multiple network test case.

Figure 22.2: Examples of allowed connections of slack generators, PV generators and PQ loads.

Figure 22.3: Not allowed connection of slack generators, PV generators and PQ loads.

Figure 22.4: Allowed but infeasible or likely infeasible block connections.

247

248

22 Block Usage

PSfrag replacements (a) (b) (c)

Figure 22.5: Bus block usage. (a) Minimal working network; (b) Not allowed bus connections; (c) Unused bus ports are allowed but not recommended.

22.3

Nonstandard Blocks

PSAT blocks are nonstandard if they cannot be directly connected to buses (this is the case of all synchronous machine regulators), need the presence of other blocks for working properly, or have input/output signals. Another way for dening nonstandard blocks could be dependent blocks, as their usage depends on variables and parameters of other components and/or devices inserted in the network. Following subsections describes the usage of all nonstandard blocks.

22.3.1

Buses

Bus blocks are the basic elements of each model. A PSAT network has to contain at least one bus. Observe that Bus blocks cannot be connected directly one to another. The number of input and output ports is variable. It is not mandatory to use all ports, but the habit of leaving unused bus ports is not recommended. To avoid Simulink overows as a consequence of typing errors, the maximum number of input and output ports is limited to 10 for each. This value can be changed by modifying the function fm inout.m. Figure 22.5 illustrates the bus block usage.

22.3.2

Goto and From Blocks

Goto and From blocks are inherited from the Simulink standard library and can connect any two blocks of the PSAT library. In practice they can be useful to draw neater schemes. Figure 22.6 illustrates the usage of Goto and From blocks.

22.3.3

Links

The Link block is a special kind of connection which is used only within a Secondary Voltage Regulation control system. See Section 22.3.11 for details.

22.3 Nonstandard Blocks

249

[B] [A]

[C]

[B] [A] PSfrag replacements [C]

Figure 22.6: Goto and From block usage.

(a)

(c)

PSfrag replacements (b) (d)

Figure 22.7: Breaker block usage. (a) Correct usage of a breaker block; (b) Same as case (a); (c) Not allowed usage of a breaker for disconnecting a synchronous machine; (d) Correct usage of a breaker for disconnecting a synchronous machine.

22.3.4

Breakers

Breaker blocks works only when connected to one line and one bus. The relative position with respect to the line does not matter. It is not allowed to use breaker for disconnecting other components than lines; thus in order to simulate a switch for a generator, a load or any other component, one has to insert a new bus and a dummy line (low impedance). Future versions of PSAT could include switches which avoid including new buses and new lines. Figure 22.7 illustrates the usage of breaker blocks.

250

22 Block Usage

(a)

(b)

(d)

PSfrag replacements

(c)

(e)

Figure 22.8: Supply and Demand block usage. (a) and (b) Correct usage of Supply blocks; (c) Incorrect usage of Supply blocks; (d) Correct usage of Demand blocks; (e) Incorrect usage of Demand blocks.

22.3.5

Power Supplies and Demands

Supply blocks must be connected to one bus and need either one PV or one slack generator connected to the same bus. Demand blocks must be connected to one bus and need one PQ load connected to the same bus. Figure 22.8 illustrates Supply and Demand block usage.

22.3.6

Generator Ramping

Generator Ramping blocks must be connected to Supply blocks. Supply block mask allows having zero or one input port. The input port is needed only when connecting the Ramping block; it is not recommended to leave unused input ports in Supply blocks. Figure 22.9 illustrates the Ramping block usage. Observe that Generator Ramping data only have eects when used with the PSAT-GAMS interface (multiperiod and unit commitment methods).

22.3.7

Generator Reserves

Generator Reserve blocks must be connected to a bus and need either one PV or one slack generator and Supply block connected to the same bus. Figure 22.10 illustrates the Reserve block usage. Observe that Generator Reserve data only have eects when used with the PSAT OPF routine.

22.3.8

Non-conventional Loads

Non-conventional load blocks are those described in Chapter 14, i.e. Voltage Dependent Load, ZIP Load, Frequency Dependent Load, Exponential Recovery Load, and Thermostatically Controlled Load. The rst two ones can be used as standard blocks when the Initialize after power ow parameter is set to 0. However, in

(a)

(b)

PSfrag replacements

(c)

(d)

Figure 22.9: Generator Ramping block usage. (a) and (b) Correct usage of Ramping blocks; (c) Incorrect usage of Ramping blocks; (d) Not recommended usage of Supply blocks.

PSfrag replacements (a) (b) (c)

Figure 22.10: Generator Reserve block usage. (a) and (b) Correct usage of Reserve blocks; (c) Incorrect usage of Reserve blocks.

251

252

22 Block Usage

(a)

(b)

(c)

PSfrag replacements

(d)

(e)

Figure 22.11: Non-conventional Load block usage. (a) and (b) Correct usage of non-conventional load blocks; (c) Incorrect usage of exponential recovery load. (d) Correct usage of voltage dependent and ZIP load blocks when the Initialize after power ow parameter is set to 0. (e) Incorrect usage of non-conventional load blocks. general, all non-conventional loads need a PQ load at the same bus. It is allowed to connect multiple non-conventional loads at the same bus, however, observe that it does not make sense to connect two exponential recovery loads at the same bus. See Section 14.6 for a few remarks on the usage of non-conventional loads. Figure 22.11 illustrates non-conventional loads usage within Simulink models.

22.3.9

Synchronous Machines

Synchronous machine blocks must be connected to a bus and need either one PV or one slack generator connected to the same bus. If no PV or slack generator is present, synchronous machine state variables will not be not properly initialized. Synchronous machine block mask allows having zero to two input ports. The input ports are needed only when using regulators; it is not recommended to leave unused input ports in Synchronous Machine blocks. Observe that when connecting multiple synchronous machine to the same bus, the sum of parameters Percentage of active and reactive power at bus must be 1. PSAT does not check the consistency of active and reactive fraction used by Synchronous machines. The power used to compute the Synchronous machine power injections are those of PV or slack bus generators. Figure 22.12 illustrates the Synchronous Machine block usage.

22.3 Nonstandard Blocks

253

(c)

PSfrag replacements (a) (b) (d)

Figure 22.12: Synchronous Machine block usage. (a) and (b) Correct usage of synchronous machine blocks; (c) Not recommended usage of synchronous machine blocks. (d) Incorrect usage of synchronous machine blocks.

22.3.10

Primary Regulators

Primary Regulator blocks such as Automatic Voltage Regulators and Turbine Governors must be connected to a synchronous machine; while Power System Stabilizers, and Over Excitation Systems must be connected to an Automatic Voltage Regulator. AVR block mask allows having zero to three input ports. The input ports are needed only when using PSSs, OXLs, or Secondary Voltage Regulator blocks; it is not recommended to leave unused input ports in AVR blocks. Only one kind of regulator is allowed for each machine. Figure 22.13 illustrates the usage of the primary regulator blocks.

22.3.11

Secondary Voltage Regulation

Secondary Voltage Regulation (SVR) blocks are the Central Area Controller (CAC) and the Cluster Controller (CC) blocks. It is not allowed to use CAC or CC blocks alone. For each SVR system there can be only one CAC block, while there is no limit to the number of CC blocks for each SVR system. The CAC input port has to be connected to a bus (pilot bus) where the voltage is controlled. The CAC output ports must be connected to CC blocks, and can be in any number. It is not recommended to leave unused output ports in CAC blocks. CC blocks can be connected directly to AVR blocks or to SVC blocks. In the latter case the Link block is needed to add the CC control channel to the SVC. Any number of SVCs or AVRs can be included in a SVR system. Furthermore, any model or control type of SVCs and AVRs is allowed. Figure 22.14 illustrates the usage of CAC, CC and Link blocks. Any other usage of these blocks is not allowed and would lead to unpredictable results or to error messages.

(a)

(c)

(b)

PSfrag replacements

(d)

(e)

Figure 22.13: Primary Regulator block usage. (a) and (b) Correct usage of regulator blocks; (c) Not recommended usage of automatic voltage regulator blocks; (d) and (e) Incorrect usage of regulator blocks.

Pilot Bus

PSfrag replacements

Figure 22.14: Secondary Voltage Regulation block usage.

254

22.3 Nonstandard Blocks

255

Remote voltage control

Secondary voltage and reactive power control

PSfrag replacements

Figure 22.15: Under Load Tap Changer block usage.

22.3.12

Under Load Tap Changers

Under Load Tap Changer (ULTC) blocks can be connected to two or three buses depending on the selected control type. Secondary voltage and reactive power controls (types 1 and 2) need only two buses, as the controlled bus is the secondary winding of the transformer. Remote voltage control (type 3) requires a connection to a third bus. When control type three is selected the shape of the ULTC block changes in order to allow a second input port. Figure 22.15 illustrates the usage of ULTC blocks. Observe that the ULTC is a standard block when using control types 1 and 2. In the case of control type 3, it is a nonstandard one since the remote bus provides a signal, not a topological connection.

22.3.13

SVCs

SVC blocks must be connected to a bus and need one PV generator block connected to the same bus. Note that slack generator blocks are not allowed in this case. If no PV generator is present, SVC state variables are not properly initialized and a warning message is displayed. Figure 22.16 illustrates the usage of SVC blocks.

22.3.14

Solid Oxide Fuel Cells

Solid Oxide Fuel Cell blocks must be connected to a bus and need one PV generator block connected to the same bus. Note that slack generator blocks are not allowed in this case. If no PV generator is present, fuel cell state variables are not properly

256

22 Block Usage

PSfrag replacements

(a)

(b)

(c)

Figure 22.16: SVC block usage. (a) Correct usage of SVC blocks; (b) and (c) Incorrect usage of SVC blocks.

+ + +

PSfrag replacements

(a)

(b)

(c)

Figure 22.17: Solid Oxide Fuel Cell block usage. (a) Correct usage of Fuel Cell blocks; (b) and (c) Incorrect usage of Fuel Cell blocks. initialized and a warning message is displayed. Figure 22.17 illustrates the fuel cell block usage.

22.3.15

Dynamic Shafts

Dynamic Shaft blocks must be connected to a synchronous machine. Observe that dynamic shafts blocks do not accept any input port, since the model implemented so far does not allow including a turbine governor when using a dynamic shaft. Thus, connecting a turbine governor and a dynamic shaft to the same synchronous machine does not give the expected results and it is not allowed. Furthermore, note that the interactions between AVRs and dynamic shaft when connected to the same generators have not been tested so far. Figure 22.18 illustrates the dynamic shaft block usage.

(a)

PSfrag replacements (b) (c)

Figure 22.18: Dynamic Shaft block usage. (a) Correct usage of Dynamic Shaft blocks; (b) Incorrect usage of Dynamic Shaft blocks; (c) Not tested usage of Dynamic Shaft blocks.

257

Chapter 23

Block Masks
As already mentioned in Chapter 21, the PSAT-Simulink library is not strictly correlated to PSAT internal functions or structures. As a matter of fact, one can write a Matlab script le for dening PSAT data and never use the Simulink interface. However, it is often simpler and more user-friendly drawing a network than dealing with data matrices. This chapter describes how masks associated with blocks of the PSAT-Simulink library work and how to create a new mask for a custom block.

23.1

Blocks vs. Global Structures

PSAT blocks provided within the Simulink library are hollow subsystems with a meaningful icon and with a mask which allows setting data. When using Simulink, one does not have to care about component indexing and can use the default values which comes with the masks. The fact that Simulink blocks are independent from PSAT structures have pros and cons, as follows: Pros 1. There can be more than one block associated to the same PSAT global structure, which can be useful to draw nicer networks (see Fig. 23.1); 2. In theory, any other CAD tool could be used to draw PSAT models, given a lter able to translate data in a format readable by PSAT. Cons 1. Simulink models cannot be directly used as data les; 2. Values contained in the blocks must be interpreted and translated into PSAT global structures.

259

260

23 Block Masks

SW.con

PQ.con

Syn.con (a)

PSfrag replacements

PV.con

Line.con

Shunt.con

(b)

Figure 23.1: Correspondence between Simulink blocks and PSAT global structures. (a) examples of strucures associated with only one Simulink block; (b) examples of structures associated with more than one Simulink block.

23.2

Editing Block Masks

Simulink allows dening new blocks, which are typically masked subsystems. This feature is extensively used in the PSAT-Simulink library, in order to dene custom blocks. Generally speaking, editing a block mask means setting up an initialization, an icon, and a documentation for the block. Only the initialization is strictly needed to set up a working block. However block icons are used in the PSAT library to emulate a power system diagram and a brief documentation helps reminding the component associated with the block. Finally, the mask provides a eld called Mask Type, which is used to dene the link between the PSAT blocks and PSAT global structures. This property tells the PSAT lter (i.e. the funtion fm sim) which structure is associated with the block. It is always possible to know which structure is associated with the current Simulink block by simply opening its mask: the name just below the GUI window title and above the block documentation is the PSAT structure (see Fig. 23.2). Furthermore, one can modify at any time the Mask Type property, by unlinking the block and editing its mask. Of course this is not generally needed unless one wants to create a new block. At this aim refer to Section 23.4 in this chapter.

23.2.1

Mask Initialization

Each Simulink block mask must be initialized, i.e. needs a set of parameters and functions which are launched a rst time when the block is created and then each time any property of the block is changed. An example of block initialization is

Figure 23.2: Mask GUI of a PSAT-Simulink block.

261

262

23 Block Masks

Figure 23.3: Mask initialization GUI for a PSAT-Simulink block. depicted in Fig. 23.3. Each PSAT block uses the initilization GUI to dene block parameters. Parameter names have a special syntax, which is fully described in Section 23.3.

23.2.2

Mask Icon

Mask icons are dened in the edit mask GUI as well. An example of block icon is depicted in Fig. 23.4. The icon is drawn by means of plot statements, which in some cases may be a lenghty process (e.g. when drawing circles). At this aim a few plotting utilities are provided in the function fm draw, which is called at the initialization step (see Fig. 23.3). Observe that more complicated block features, such as a variable icon which depends on parameter values cannot be obtained by means of the simple mask editing. In these cases a mask callback function has to be dened. The function fm block takes care of these special auto-adaptive PSAT blocks. Finally, blocks which have a variable number of input/output ports are handled at the intialization step by means of the fm inout function.

Figure 23.4: Mask icon GUI of a PSAT-Simulink block.

263

264

23 Block Masks

Figure 23.5: Mask documentation GUI of a PSAT-Simulink block.

23.2.3

Mask Documentation

Each PSAT block comes with a brief documentation. An example of block documentation is depicted in Fig. 23.5.

23.3

Syntax of Mask Parameter Names

Parameter names within block masks follow few simple rules, which make possible dening blocks independent from PSAT structures. When the parameters are loaded from the Simulink model, the function fm sim takes care of assigning the parameters values to the correct structure and to ll up the correct columns and rows within the data matrix of the structure. The structure is the Mask Type property of the block, while the row number depends on the number of blocks of the same kind included in the Simulink model. Thus, the parameter names have just to specify in which columns data have to be stored. The trick consists of using a special syntax for dening arrays which can be easily converted into Matlab expressions (using for example, regular expressions) and at the same time are well formed Matlab variables. The symbols are depicted in Table 23.1 whereas a few

23.4 Remarks on Creating Custom Blocks

265

Table 23.1: Mask parameter symbols Pseudo Symbol p q


2

Meaning open array close array comma list

Matlab Symbol [ ] , :

Table 23.2: Example of well formed mask variable names Variable name p3q p3 4q p3x5q p3x5 7q Matlab expression [3] [3,4] [3:5] [3:5,7] Sample mask value 0.05 [0.05 1.00] [0.05 1.00 1.25] [0.05 1.00 1.25 0.333]

examples of well formed mask variable names are depicted in Table 23.2. There are also some keywords, which are associated with constant values, as depicted in Table 23.3. The keywords in and out when used as parameter names produce no eects, and are typically used with blocks which have a variable number of ports, such as buses and synchronous machines. Observe that keywords cannot be used within parameter names formed using the symbols of Table 23.1. Mask values associated with mask parameter names must be consistent, i.e. have to be arrays of the dimension dened by the parameter names. A few examples are reported in the third column of Table 23.2 Observe that PSAT does not require that mask arrays are enclosed in brackets; however, to avoid warning messages generated by Simulink, it is recommended to use a correct Matlab syntax for mask values.

23.4

Remarks on Creating Custom Blocks

The easiest way to create a new PSAT block is to modify an existing one, as follows: 1. open and unlock the PSAT Simulink library; 2. copy the desired block; 3. unlink the copied block; 4. edit the block mask.
2 That

is underscore, not dash.

266

23 Block Masks

Table 23.3: Mask parameter constants Keyword on off omega power voltage monday tuesday wednesday thursday friday Value 1 0 1 2 3 1 2 3 4 5 Keyword saturday sunday winter week winter week summer week summer week spring fall spring fall in out Value 6 7 1 2 3 4 5 6 none none

day end day end week day week end

A few remarks on creating a new PSAT blocks follow: 1. Each PSAT block is a hollow subsystem. Thus in order to add or remove input/output ports, all it needs is opening the underneath subsystem model and adding or removing input/output blocks (see Fig. 23.6.a). If the block has an odd number of input/output ports add a sink or a source block (see Fig. 23.6.b). Block connections are needed to avoid Simulink error messages. 2. The Mask Type property has always to be dened and has to be an existing PSAT structure. 3. Mask variables must follow the conventional syntax dened in the previous Section 23.3. 4. Since mask variables are going to ll up the data eld of a PSAT structure, all columns (but the optional ones) of the resulting matrix of data have to be lled up.

1 Input Port PSfrag replacements

1 Output Port

(a)

1 Input Port Terminal

1 Source

1 Output Port

(b)

Figure 23.6: Simulink model underneath a mask of a PSAT block. (a) Usage of input and output ports connected by a line; (b) usage of sinks and terminal blocks.

267

Part V

Tools

Chapter 24

Data Format Conversion


Figure 24.1 depicts the GUI for data format conversion, which can be launched using the Tools/Data Format Conversion menu in the main window. The GUI allows browsing and viewing data les. Data les can be displayed based on lters able to recognize several common data formats used in power system research. Currently supported data formats which can be converted in PSAT data format are as follows: 1. CYME power ow data format (CYMFLOW) 2. IEEE common data format 3. WECC and EPRIs ETMSP data format 4. Matpower data format 5. PSAP data format (only for Matlab R13) 6. PSS/E 29 data format (only for Matlab R13) 7. BPA/China data format 8. PST data format 9. VST data format 10. TH data format PSAT data les containing only power ow data can be converted into the IEEE common data format and into the WECC and EPRIs ETMSP format. Note 1: Data format conversions to and from PSAT may not be complete and may lead to unexpected results. In some cases, changes in the default PSAT settings are needed to reproduce results obtained by other power system software packages. 271

272

24 Data Format Conversion

Figure 24.1: GUI for data format conversion. Note 2: In future versions of PSAT, data format lters will be written in Perl and the actual Matlab functions will not be maintained anymore. Three Perl lters have been implemented so far (ieee2psat, psap2psat, and th2psat) which are stored in the folder psat/filters.

Chapter 25

User Dened Models


This chapter describes routines and GUIs for creating and installing User Dened Models (UDMs) in PSAT. The routine which compiles UDM functions is not complete yet and several limitations apply. However it can be used to create templates and to easily install/remove custom components to and from PSAT.

25.1

Installing and Removing Models

Figure 25.1 depicts the browser of the UDM archive. UDM les are placed in the build folder within the PSAT main folder. The browser allows to install and uninstall UDMs and to compile the functions which describe the UDMs. After installing a UDM, PSAT should be restarted to work properly. Table 25.1 depicts all functions and les which are modied in order to install a new component. When the component is installed the rst time, a GUI will display a list of these les and allow the user to inspect changes.

25.2

Creating a User Dened Model

To create a new UDM, use the button New Component of the browser depicted in Fig. 25.1. The GUI depicted in Fig. 25.2 will appear. Using this interface should be quite intuitive. General settings of the component can be dened using the interface depicted in Fig. 25.3, which can be launched from the button Setting of the toolbar on top of the main UDM window GUI. In order to add variables and equations simply type them in the respective edit texts and then use the buttons Add for updating the model. Variable names and equations must be valid Matlab variables and expressions. State variables and parameters settings are handled by the masks depicted in Figs. 25.4 and 25.5. The complete list of properties that can be dened is reported in Appendix A. When the model denition is completed, the model can be saved and compiled. 1
1 The

Symbolic Toolbox is required for compiling UDM functions.

273

Figure 25.1: Browser of user dened models.

Table 25.1: Functions and les to be modied for installing a UDM Matlab functions Contents.m closepsat.m fm dynidx.m fm dynlf.m fm inilf.m fm ncomp.m fm var.m fm xfirst.m psat.m Other les comp.ini fcomp.ini namevar.ini service.ini

274

25.2 Creating a User Dened Model

275

Figure 25.2: GUI for creating user dened models. If the routine encounters inconsistencies during the compilation process, it will display a report of errors, which should simplify the debugging process. Brief descriptions of the GUIs for setting parameters and variables follow.

25.2.1

Component Settings

Component properties can be viewed and changed by means of the GUI depicted in Fig. 25.3. Properties are as follows: Name: the name of the component which is used as the name of the build le for dening the component itself, as the resulting function name to be included in PSAT, and as the structure name of the component. For example if the component name is testudm, one has: testudm.m fm testudm.m Testudm component build le component function component global structure

Figure 25.3: GUI for setting component properties.

276

Figure 25.4: GUI for setting state variable properties.

277

278

25 User Dened Models

Figure 25.5: GUI for setting parameters properties. Description: brief component description which will be included in the help of the component function and in the le Contents.m. The description should be one line long. Initialization: this eld tells the compiler if the component has to be included in the power ow or must be initialized when the power ow is completed. Select the checkbox to initialize after the power ow computation. Shunt: this eld is needed at the installation time and tells the installer if the component should be treated as a shunt or not. In the latter case, the component is not considered a load and its power absorption will not be included in the vectors Bus.Pl and Bus.Ql.

25.2.2

State Variable Settings

State variable properties can be viewed and changed by means of the GUI depicted in Fig. 25.4. Properties are as follows: Time Constant: time constant associated with the state variable dierential equation. The user can chose among all time constants dened in the parameter lists. If none is selected, no time constant will be used for the dierential equation.

25.3 Limitations

279

No Dynamic: if yes is selected the time constant is allowed to be zero, which corresponds to set an algebraic equation. Superior Limit: if a value is selected other than none, the state variable undergoes an anti-windup limit for its maximum value. Inferior Limit: if a value is selected other than none, the state variable undergoes an anti-windup limit for its minimum value. Oset: if yes is selected the state variable initial value is set to zero and an oset value is used to have a zero rst derivative at the end of the initialization step. Matlab Name: name of the variable which is used as a eld of the component structure. Must be a well formed Matlab variable. TeX Name: TEX formatted name which is used in the legend when plotting the state variable. Must be a well formed TEX math expression. Initial Guess: value to be used for components which are initialized after power ow solutions.

25.2.3

Parameter Settings

Parameter properties can be viewed and changed by means of the GUI depicted in Fig. 25.5. Properties are as follows: Unit: unit of the parameter. This eld is used only in the on-line help of the component function. Type: type of the parameter. This eld is generally used only in the on-line help of the component function. However, when Time Constant is selected, the parameter will be included in the list of time constants for dierential equations. Description: brief parameter description. This eld is used only in the on-line help of the component function. The description should be one line long.

25.3

Limitations

The routine that compiles UDM functions is currently incomplete, and several limitations applies, e.g.: 1. Only models which are connected to at least one bus can be dened; 2. Algebraic equations should be always dened; 3. UDMs cannot share state variables with other models; 4. Bus voltages are the only allowed algebraic variables;

280

25 User Dened Models

5. All dened variables should be used either in the algebraic or in the dierential equations.

Chapter 26

Utilities
This chapter describes the GUI and the properties of the PSAT command history, the GUI for sparse matrix visualization, and theme and text viewer settings.

26.1

Command History

The command history of all operations performed in PSAT is contained in the structure History, which can be displayed and saved by means of the GUI depicted in Fig. 26.1. The GUI can be launched using the Options/History menu in the main window.

26.2

Sparse Matrix Visualization

Figure 26.2 depicts the GUI for sparse matrix visualization, available in the View/ Sparse Matrix Visualization menu in the main window.1

26.3

Themes

The graphical appearance of PSAT GUIs can be changed using the theme browser GUI, available in the Option/Themes in the main window. Figure 26.3 depicts this GUI displaying a preview of a theme provided with the toolbox. For adding new themes, just open and modify one of the sample les contained in the sub-folder themes within the main PSAT folder.

26.4

Text Viewer

Figure 26.4 depicts the GUI for selecting the text viewer used by PSAT for displaying reports generated by the routines. The programs are grouped based on the
1 The

gure illustrates the complete power ow Jacobian matrix of a 1228-bus test system.

281

282

26 Utilities

Figure 26.1: Command history GUI. operating system, i.e. Unix (Solaris), Linux and Windows. Power ow results can be saved in three dierent formats, i.e. Microsoft Excel2 , plain text (ASCII le) A and L TEX formatted plain text. This GUI can be launched from the Options/Text Viewer menu in the main window and from several other setting windows.

26.5

Building p-code Archive

Matlab allows pre-compiling (p-code) the plain text m-les. Pre-compiled les run faster on some platforms, although they cannot be modifed as are in binary format. Figure 26.5 depicts the GUI for creating a p-code archive. The GUI can be launched from the menu Tools/p-code archive in the main window. Before running the utility, be sure you have writable permission in the PSAT folder.

2 ActiveX r

is used to export results to Microsoft Excel.

Figure 26.2: GUI for sparse matrix visualization.

283

Figure 26.3: GUI for PSAT theme selection.

Figure 26.4: GUI for text viewer selection. 284

Figure 26.5: GUI for p-code archive builder.

285

Chapter 27

Command Line Usage


A set of functions and script les for command line usage of PSAT have been added since PSAT version 1.3.0. These functions get rid of PSAT GUIs, which could be undesired when running PSAT on a remote server/host or when launching PSAT from within user dened routines. The command line usage of PSAT also speeds up operations.

27.1

Basics

Firstly, one needs to set up PSAT environment. Launching the script le initpsat, as follows: >> initpsat will initialize PSAT and display on the Matlab workspace: < P S A T > Copyright (C) 2002-2004 Federico Milano Version 1.3.2 November 2, 2004 PSAT comes with ABSOLUTELY NO WARRANTY; type gnuwarranty for details. This is free software, and you are welcome to redistribute it under certain conditions; type gnulicense for details. Host: Session: Usage: Path: Matlab 7.0.0.19901 (R14) 02-Nov-2004 17:30:23 Command Line /home/fmilano/psatd

Existing workspace variables are not cleared during the initialization, as it happens when launching the PSAT GUI. Clearing the workspace could not be the desired 287

288

27 Command Line Usage

behavior as the command line version of PSAT can be used from within user dened routines. However, observe that all user variables which have same names as a PSAT global variables will be overwritten. Refer to Chapter A for the complete list of PSAT global variables. The scope of PSAT global variables will be the scope of the current workspace from where initpsat is called. If initpsat is called from within a user dened function, the scope will be the function workspace and the PSAT global variables will not be available in the Matlab workspace. To set PSAT global variables in the common Matlab workspace, initpsat must be launched form the Matlab command line of from within a script le.1 Initializing the PSAT variables is required only once for each workspace. Following steps are setting up the data le and launching a PSAT routine. These operations can be done sequentially or at the same time by means of the function runpsat, as follows: >> runpsat(datafile ,data) >> runpsat(routine ) or >> runpsat(datafile ,routine ) where datafile is a string containing the data le name, and routine is a string containing the conventional name of the routine to be executed. The data le can be both a PSAT script le or a PSAT Simulink model. In the latter case the extension .mdl is mandatory. The dierence between the two methods is that when calling only the routine the data le name will not be overwritten. The rst method can be used if the data le under study does not change, while the user wants to perform several dierent analysis, as follows: >> >> >> >> runpsat(datafile ,data) runpsat(routine1 ) runpsat(routine2 ) runpsat(routine3 )

The second method can be used if there are several data les under study: >> runpsat(datafile1 ,routine ) >> runpsat(datafile2 ,routine ) >> runpsat(datafile3 ,routine ) In the previous commands it is assumed that the data le is in the current directory (i.e. the one which is returned by the function pwd). To force PSAT to use a directory other than the current one, commands changes as follows: >> runpsat(datafile ,datapath ,data) >> runpsat(routine )
1 The

latter should not have been launched from within a function.

27.1 Basics

289

Table 27.1: String pf cpf snb lib cpfatc sensatc n1cont opf sssa td pmu gams uw

Routine Conventional Names for Command Line Usage. Associated routine power ow analysis continuation power ow analysis direct method for saddle-node bifurcations direct method for limit-induced bifurcations evaluate ATC using CPF analysis evaluate ATC using sensitivity analysis N -1 contingency analysis optimal power ow analysis small signal stability analysis time domain simulation PMU placement OPF analysis through the PSAT-GAMS interface CPF analysis through the PSAT-UWPFLOW interface

or >> runpsat(datafile ,datapath ,routine ) where datapath is the absolute path of the data le. The perturbation le can be set in a similar way as the data le. At this aim, the following commands are equivalent: >> runpsat(pertfile ,pert) >> runpsat(pertfile ,pertpath ,pert) >> runpsat(datafile ,datapath ,pertfile ,pertpath ,routine ) Observe that if setting both the data and the perturbation les, it is necessary to specify as well the absolute paths for both les. The routine names are depicted in Table 27.1. Observe that if runpsat is launched with only one argument, say option, the following notations are equivalent: >> runpsat(option) >> runpsat option Other command line options for runpsat are depicted in Table 27.2. The syntax for the opensys option is the same as the one for data and pert options. If the PSAT variables are not needed anymore, the workspace can be cleared using the command: >> closepsat which will clear only PSAT global structures.

290

27 Command Line Usage

Table 27.2: General Options for Command Line Usage. String Associated routine data set data le pert set perturbation le opensys open solved case savesys save current system log write log le of the current session pfrep write current power ow solution eigrep write eigenvalue report le pmurep write PMU placement report le

input MASTER output


PSfrag replacements

SLAVE

Figure 27.1: Master-slave architecture.

27.2

Advanced Usage

The standard usage of PSAT through GUIs monopolizes the Matlab environment and makes dicult to include PSAT routine in other Matlab programs and/or including new features to PSAT. These issues will be briey commented in this section. When using PSAT GUIs, PSAT runs as a master program and the user can initialize and launch each internal routine from the main window. Thus each routine is a slave program (see Figure 27.1). Using this architecture, the only way for including a new routine in PSAT is writing a function which interacts with the PSAT GUIs, shares some of the PSAT global structures and properly exchanges information with PSAT. However, users who want to run PSAT routines within their own algorithms generally need to get rid of GUIs. Thus, the best solution would be to use the user dened program as the master and launching PSAT only when needed, as a slave application. In this way the user only needs to know how to pass and get data to and from PSAT. The latter can be easily solved by using PSAT global structures such as DAE, which mostly contains all variables of the current static solution (power ow, last CPF point, OPF), SSSA which contains the last small signal stability analysis solu-

27.3 Command Line Options

291

Table 27.3: Structures to be modied for changing default behavior. Routine Associated structure Power Flow Settings Continuation Power Flow CPF SNB direct method SNB LIB direct method LIB Optimal Power Flow OPF Small Signal Stability Analysis SSSA Time Domain Simulation Settings PMU placement PMU PSAT-GAMS interface GAMS PSAT-UWPFLOW interface UWPFLOW

tion, and Varout which contains the time domain simulation output, the continuation curves or the Pareto set. The structure DAE also contains the current system Jacobian matrices. Refer to Appendix A for details. Passing data and options to PSAT is quite simple if the default behavior is convenient for the current application. Otherwise, one needs to edit the PSAT global structures and set the desired options. Observe that, when using the standard version of PSAT, global structures are edited through the GUIs. Editing global structures from the command line can be a lengthy process, especially if one needs repeating often the same settings. In this case it could be convenient to write a script le where these settings are listed altogether and then launching the script le. Table 27.3 depicts PSAT routines and the associated global structures which dene routine options. A full description of these structures is presented in Appendix A.

27.3

Command Line Options

The default behavior of command line usage of PSAT can be adjusted by means of the structure clpsat, which contains a few options, as follows:2 init command line initialization status. It is 1 if PSAT is running with the standard GUI support, 0 otherwise. The value of this eld should not be changed by the user and is initialized when launching PSAT. mesg status of PSAT messages. If the value is 0, no message will be displayed on the Matlab workspace. Default value is 1. Disabling message display will result in a little bit faster operations. refresh if true (default), forces repeating power ow before running further analysis independently on the power ow status. This implies that the base case
2 In

the following the word true means the value of the variable is 1 and false means 0.

292

27 Command Line Usage

solution is used as the initial solution for all routines. refreshsim if true, forces reloading Simulink model before running power ow independently on the Simulink model status. Default is false since in the command line usage it is assumed that the user does not want to or cannot use the Simulink graphical interface. readfile if true (default), forces reading data le before running power ow. If the value is false, the data le is not reloaded, and slack generator, PV generator and PQ load data are reinitialized using their elds store. These data need to be reloaded since they might be modied during PSAT computations. showopf if true, forces displaying OPF result on the standard output. Default is false. pq2z if true (default), forces switching PQ loads to constant impedances before running time domain simulations. viewrep if true, forces displaying report les when created. Default is false, i.e. the report le is created silently. For the sake of completeness, a summary of the elds of the clpsat structure is also depicted in Appendix A.

27.4

Example

The following script le gives a simple example of command line usage of PSAT. % initialize PSAT initpsat % do not reload data file clpsat.readfile = 0; % set data file runpsat(d 006 mdl,data) % solve base case power flow runpsat(pf) voltages = DAE.V; % increase base loading by 50% for i = 1:10 PQ.store(:,[4,5]) = (1+i/20)*[0.9, 0.6; 1, 0.7; 0.9, 0.6]; PV.store(:,4) = (1+i/20)*[0.9; 0.6]; runpsat(pf) voltages = [voltages, DAE.V];

27.4 Example

293

end % clear PSAT global variables closepsat disp(voltages) Firstly, PSAT is initialized and the readfile option is set to false. Then the le d 006 mdl is loaded (assuming that the le is in the current directory). Following instructions are for solving the base case power ow and a series of power ows with increased loads by means of an embedding algorithm. Finally the PSAT variables are cleared and the bus voltages printed on the workspace, as follows: voltages = Columns 1 through 6 1.0500 1.0500 1.0500 0.9859 0.9685 0.9912 1.0500 1.0500 1.0500 0.9820 0.9633 0.9876 1.0500 1.0500 1.0500 0.9781 0.9579 0.9840 1.0500 1.0500 1.0500 0.9741 0.9525 0.9803 1.0500 1.0500 1.0500 0.9700 0.9469 0.9765 1.0500 1.0500 1.0500 0.9660 0.9413 0.9728

Columns 7 through 11 1.0500 1.0500 1.0500 0.9618 0.9356 0.9689 1.0500 1.0500 1.0500 0.9576 0.9298 0.9650 1.0500 1.0500 1.0500 0.9533 0.9239 0.9611 1.0500 1.0500 1.0500 0.9490 0.9179 0.9571 1.0500 1.0500 1.0500 0.9446 0.9118 0.9531

Observe the usage of the store elds of the PV and PQ components which allow changing the values of the system loading without the need for reloading the data le.

Chapter 28

Running PSAT on GNU Octave


GNU Octave1 is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab [Eaton 1997]. GNU Octave is also freely redistributable software. You may redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation. PSAT 1.3.0 and newer can be run on GNU Octave. PSAT has been tested with GNU Octave version 2.1.56 and on a few older distributions2 for Linux and the octave-forge package (dated 2004-02-12)3 The following restrictions apply: 1. only the command line usage of PSAT is allowed; 2. sparse matrix methods are not used; 3. there is no support for Simulink models; 4. only full eigenvalue analysis can be performed; 5. there is no plotting utility support; 6. PSAT cannot run on the stand-alone Windows release of Octave. I guess it is just a matter of waiting for the next Octave release for Windows (current version is octave-2.1.50-windows). There should not be any problem if using Windows, CygWin and the last Linux version of Octave.
Octave is available at www.octave.org. should work properly also on Octave versions back to 2.1.53. 3 Octave-forge is available at http://octave.sourgeforge.net/.
2 PSAT 1 GNU

295

296

28 Running PSAT on GNU Octave

28.1

Basic Commands

All commands provided by the command line usage (see Chapter 27) work well on GNU Octave. However observe that, on Octave, the syntax >> runpsat command is not allowed and one of the following functional forms >> runpsat(command) >> runpsat("command") must be used. Furthermore, on Octave, both initpsat and psat launch the command line version of PSAT, which will result in the following message: < P S A T > Copyright (C) 2002-2004 Federico Milano Version 1.3.2 November 2, 2004 PSAT comes with ABSOLUTELY NO WARRANTY; type gnuwarranty for details. This is free software, and you are welcome to redistribute it under certain conditions; type gnulicense for details. Host: Session: Usage: Path: Octave 2.1.53 02-Nov-2004 15:49:48 Command Line /home/fmilano/psat

28.2

Plot Variables

The runpsat function admits the additional option plot on GNU/Octave. The routine will print a menu and wait for the user answer, as follows: octave:100> runpsat(plot) Plot variables: [ [ [ [ [ [ 1] 2] 3] 4] 5] 6] States Voltages Active Powers Reactive Powers Generator speeds Generator angles

pick a number, any number: Figure 28.1 depicts an example of plot obtained using GNU/Octave and gplot. The graphs refers to the generator speeds of the 9-bus example described in Chapter 8 (see Fig. 8.5).

1.045 1.04 1.035 1.03 1.025 1.02 1.015 1.01 1.005 1 0.995 0 1 2 3 time (s) 4 5

omegaSyn 1 omegaSyn 2 omegaSyn 3

Figure 28.1: Example of graph obtained using GNU/Octave and gplot.

297

298

28 Running PSAT on GNU Octave

28.3

ToDos

The usage of PSAT on Octave is currently in an early stage of development. Any help, bug squash and contribution is very welcome. PSAT can be free software only if it is fully compatible with Octave.

Part VI

Interfaces

Chapter 29

GAMS Interface
The General Algebraic Modeling System (GAMS) is a high-level modeling system for mathematical programming problems. It consists of a language compiler and a variety of integrated high-performance solvers. GAMS is specically designed for large and complex scale problems, and allows creating and maintaining models for a wide variety of applications and disciplines [Brooke et al. 1998]. GAMS is able to formulate models in many dierent types of problem classes, such as linear programming (LP), nonlinear programming (NLP), mixed-integer linear programming (MILP) and (relaxed) mixed-integer nonlinear programming (MINLP). This chapter describes the routine and the GUI which interface PSAT to GAMS, an high-level language for the compact representation of large and complex models.

29.1

Getting Started

The use of the PSAT-GAMS interface requires you to have GAMS and a GAMSMatlab interface properly installed on your computer. GAMS is available at: http://www.gams.com The website allows downloading a demo version which works properly for tiny examples. Test systems reported in the PSAT tests folder do not need a full pledged version of GAMS for being solved. How to install, program and use GAMS is not described here. Refer to the extensive GAMS users guide [Brooke et al. 1998] for details. In the following, it will be assumed that you have GAMS working on your computer. Then, in order to set up the PSAT-GAMS interface, it is required the GAMS library psatout.gms, which can be found in the ~/psat/gams folder. There are two ways to make sure that GAMS will nd the library: 1. copy the le psatout.gms into the folder gamspath/gams/inclib. This operation generally requires to log as administrator; 301

302

29 GAMS Interface

2. use the ~/psat/gams path when running the PSAT-GAMS interface. The use of this path can be enforced by means of the PSAT-GAMS GUI (menu Options/Include GAMS Call Options). This may not work on all platforms (e.g. Windows). The user may also dene a custom path (menu Options/Edit GAMS Call Options).

29.2

GAMS Solvers

OPF models used in PSAT are formulated as a set of non-linear equations. This forces the use of NLP solvers (e.g. CONOPT [Drud 1996]) whose performances and results have been compared, when possible, to the ones obtained by means of the IPM implemented in PSAT. Furthermore, the solution of multi-period OPF needs a MINLP solver (e.g. DICOPT [Grossmann et al. 2002] and MINOS [Murtagh et al. 2002]), which basically works combining relaxed NLP with MIP master problem solutions. In large scale MINLP problems, the maximum number of integer iterations turns out to be the only possible stopping criterion. However, from the analysis of several multi-period OPF test cases, a maximum limit of 50000 integer iterations always led to reasonable results.

29.3

PSAT-GAMS Interface

A bridge between GAMS and Matlab allows using sophisticated nonlinear optimization tools with the visualization capabilities provided by Matlab. The existing Matlab-GAMS Interface (MGI) [Ferris 1999] has been used as the main reference for creating the PSAT-GAMS Interface (PGI). However, the PGI does not make use of the MGI and thus you do not need to install the latter on your computer. Main dierences between MGI and PGI are as follows: 1. PGI is platform independent, while MGI is based on platform dependent mex-les.1 2. PGI is optimized for the use with PSAT only, while MGI is general purpose. 3. PGI comes with a complete GUI. 4. PGI does not require the user to know anything about GAMS programming language. 5. PGI is somewhat slower than MGI with regard to input/output le operations.
1 A platform independent function gams.m is included in the PSAT distribution. This function can substitute the mex-les provided with the MGI tarball. However, be aware that the gams.m is generally slower than the correspondent mex-les. The PSAT distribution tarball also provides an enhanced version of the features of the GAMS library (matout.gms) which supports tables of any dimension. The improvements to matout.gms have been made in collaboration with M. C. Ferris.

29.4 PSAT-GAMS Models

303

Network & Market Data PSAT

Graphic Visualization Tools

PSfrag replacements

PSAT-GAMS Interface
Matlab Workspace Input Data GAMS Environment Market Solution

Matlab-GAMS Interface

fm gams.m

psatglobs.gms psatdata.gms

psatsol.gms

GAMS Library
psatout.gms

GAMS

OPF GAMS Model

Figure 29.1: Structure of the PSAT-GAMS interface. Figure 29.1 depicts the scheme of the PSAT-GAMS interface. The resulting software is a rather innovative tool able to set up large scale power system test cases, solve complex OPF problems and nally visualize results by means of a user-friendly GUI. Figure 29.2 depicts the PSAT-GAMS interface main window.

29.4

PSAT-GAMS Models

The current version of the PSAT-GAMS interface makes available ve models, as follows: 1. Simple Auction 2. Market Clearing Mechanism 3. Standard OPF

Figure 29.2: GUI of the PSAT-GAMS interface.

304

29.5 Example

305

4. Voltage Stability Constrained (VSC) OPF 5. Maximum Loading Condition The VSC-OPF can be iterated for the weigthing facor in order to produce a Pareto set. Refer to [Milano 2003] for a complete discussion of analytical models implemented in the PGI. Note Multi-period routines are not made available in the current PSAT version 1.3.3.

29.5

Example

In this section, which is taken from [Milano 2003] one simple example will be used to illustrate how PSAT and the PSAT-GAMS interface work. At this aim, let us consider the three-bus test system described in Appendix F.1. Firstly the user has to set up the data in the PSAT format. This can be done by writing a Matlab script le or, better, using the PSAT-Simulink library. Figure 29.3 depicts the resulting Simulink model which represent the three-bus test system. Each block of the diagram hides a mask where the user can set up the data associated with the correspondent component. Once the model is completed, it has to be loaded in the Matlab workspace. To load a le simply double click on this edit text, or use the rst button of the tool bar, the menu File/Open/Data File or the shortcut <Ctrl-d> when the main window is active. The name of this le is always displayed in the edit text Data File of the main window. Now, it is possible to solve the power ow, which can be launched by clicking on the Power Flow button in the main window. Power ow results can be visualized for a rst inspection in the Static Report GUI (which can be launched by <Ctrl-v> from the main window) and saved in a report le. After solving the base case power ow, PSAT is ready for further analysis. Observe that all variables, data and results are stored as global structures in the Matlab workspace so that they are available for other routines and can be inspected at any time by the user. For the sake of comparison, Tables 29.1 and 29.2 depict the solution of the OPF problem obtained with the IPM Matlab routine and the PSAT-GAMS interface respectively. Finally, Tables 29.3, 29.4, and 29.5 depict the input and output les which are used to exchange data between PSAT and GAMS.

Table 29.1: PSAT IPM-based OPF report for the three-bus test system.
Interior Point Method for OPF Computation Spot Price of Security (including loading parameter) Social Benefit Objective Function Data file "~/psat/tests/d_003(mdl)" Iter. = 1 mu = 0.00204 |dy| = 777.946 Iter. = 2 mu = 0.00219 |dy| = 690.6972 Iter. = 3 mu = 0.00736 |dy| = 196.56 Iter. = 4 mu = 0.03368 |dy| = 29.0175 Iter. = 5 mu = 0.04217 |dy| = 4.8342 Iter. = 6 mu = 0.04181 |dy| = 13.4591 Iter. = 7 mu = 0.02654 |dy| = 2.6056 Iter. = 8 mu = 0.03359 |dy| = 1.4792 Iter. = 9 mu = 0.01346 |dy| = 1.1384 Iter. = 10 mu = 0.00086 |dy| = 0.18377 Iter. = 11 mu = 9e-005 |dy| = 0.0301 Iter. = 12 mu = 0 |dy| = 0.02388 Iter. = 13 mu = 0 |dy| = 0.00374 Iter. = 14 mu = 0 |dy| = 0.00021 Iter. = 15 mu = 0 |dy| = 1e-005 Bus <i> 1.0000 2.0000 3.0000 Qg [MVar] 79.7251 4.0671 34.5459 Qg max [MVar] 150.0000 150.0000 150.0000 Qg min [MVar] -150.0000 -150.0000 -150.0000

|F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)| |F(y)|

= = = = = = = = = = = = = = =

0.5 0.4998 0.49944 0.4987 0.49768 0.14664 0.12414 0.14788 0.00953 0.01131 0.00488 0.00071 4e-005 0 0

|dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)| |dG(y)|

= = = = = = = = = = = = = = =

0.2379 0.24974 2.2465 0.74374 3.3855 0.77633 0.57051 0.34142 0.34836 0.03732 0.0031 0.00056 2e-005 0 0

Power Supplies Bus Ps <i> [MW] 1.0000 150.0000 3.0000 0.0000 2.0000 0.0000 Power Demands Bus <i> 3.0000 2.0000 Bus <i> 1.0000 2.0000 3.0000 From Bus <i> 1.0000 1.0000 2.0000

Ps max [MW] 150.0000 100.0000 100.0000

Ps min [MW] 0.0000 0.0000 0.0000

Cs [$/h] 25.0000 32.0000 33.0000

Pd [MW] 100.0000 49.2559 theta [rad] 0.0000 -0.0831 -0.0666 Iij [p.u.] 0.6078 0.7579 0.1503

Pd max [MW] 100.0000 100.0000 P [MW] 150.2223 -99.2559 -50.0000 Iijmax [p.u.] 999.0000 999.0000 999.0000

Pd min [MW] 0.0000 0.0000 Q [MW] -0.2749 -88.9190 -55.4542 Iij margin [p.u.] 998.3922 998.2421 998.8497

Cd [$/h] 35.0000 30.0000 LMP [$/MWh] 29.5868 30.0000 29.9176 Iji [p.u.] 0.6078 0.7579 0.1503 NCP [$/MWh] 0.0000 0.0292 0.0231 Ijimax [p.u.] 999.0000 999.0000 999.0000 Pay [$/h] -4444.5898 2977.6758 1495.8778 Iji margin [p.u.] 998.3922 998.2421 998.8497

V [p.u.] 1.1000 1.0959 1.0970 To Bus <j> 3.0000 2.0000 3.0000

Losses = 0.744 Total demand = 149.2559 TTL = 499.255 ISO Pay = 28.9638 Interior Point Method for OPF computation successfully completed in 1.001 s

306

Table 29.2: PSAT-GAMS OPF report for the three-bus test system.
----------------------------------------------------------------PSAT-GAMS Interface ----------------------------------------------------------------Standard OPF Single-Period Auction Power Supplies Bus Ps <i> [MW] 1.0000 150.0000 3.0000 0.0000 2.0000 0.0000 Power Demands Bus <i> 3.0000 2.0000

Ps max [MW] 150.0000 100.0000 100.0000

Ps min [MW] 0.0000 0.0000 0.0000

Pd [MW] 100.0000 49.2559

Pd max [MW] 100.0000 100.0000

Pd min [MW] 0.0000 0.0000

Generator Reactive Powers Bus Qg <i> [MVar] 1.0000 79.7251 2.0000 4.0672 3.0000 34.5459 Power Flow Solution Bus V <i> [p.u.] 1.0000 1.1000 2.0000 1.0959 3.0000 1.0970 Prices and Pays Bus LMP <i> [$/MWh] 1.0000 29.5868 2.0000 30.0000 3.0000 29.9176 Flows on Transmission Lines From Bus To Bus Iij <i> <j> [p.u.] 1.0000 3.0000 0.6078 1.0000 2.0000 0.7579 2.0000 3.0000 0.1503

Qg max [MVar] 150.0000 150.0000 150.0000

Qg min [MVar] -150.0000 -150.0000 -150.0000

theta [rad] 0.0000 -0.0831 -0.0666

PG [MW] 300.2223 100.0000 100.0000

PL [MW] 150.0000 199.2559 150.0000

QG [MVar] 79.7251 4.0672 34.5459

QL [MVar] 80.0000 92.9861 90.0000

NCP [$/MWh] 0.0000 0.0292 0.0231

Pay S [$/h] -8882.6037 -3000.0000 -2991.7556

Pay D [$/h] 4438.0139 5977.6770 4487.6335

Iijmax [p.u.] 999.0000 999.0000 999.0000

Iij margin [p.u.] 998.3922 998.2421 998.8497

Iji [p.u.] 0.6078 0.7579 0.1503

Ijimax [p.u.] 999.0000 999.0000 999.0000

Iji margin [p.u.] 998.3922 998.2421 998.8497

Totals --------------------------------------------------------------Total Losses = 0.966 [MW] Bid Losses = 0.744 [MW] Total demand = 149.2559 [MW] Total Transaction Level = 499.255 [MW] ISO Pay = 28.9638 [$/h] --------------------------------------------------------------Check file C:\Documents and Settings\fmilano\psat\fm_gams.lst for GAMS report. PSAT-GAMS Optimization Routine completed in 1.292 s

307

PSfrag replacements ESCO 2 GENCO 2 GENCO 1 GENCO 3 Bus 1 Bus 3 Bus 2 ESCO 3

Figure 29.3: PSAT-Simulink model of the three-bus example.

Table 29.3: Input le psatglobs.gms for the three-bus test system.


$setglobal $setglobal $setglobal $setglobal $setglobal $setglobal $setglobal nBus 3 nLine 3 nPs 3 nPd 2 nBusref 1 control 3 flow 1

308

Table 29.4: Input le psatdata.gms for the three-bus test system.


$onempty $kill Gh parameter Gh / 1.1 1.379310 2.1 -0.689655 3.1 -0.689655 1.2 -0.689655 2.2 1.379310 3.2 -0.689655 1.3 -0.689655 2.3 -0.689655 3.3 1.379310 /; $kill Bh parameter Bh / 1.1 -16.551724 2.1 8.275862 3.1 8.275862 1.2 8.275862 2.2 -15.751724 3.2 8.275862 1.3 8.275862 2.3 8.275862 3.3 -16.051724 /; $kill Li parameter Li / 1.1 1.000000 2.1 1.000000 3.2 1.000000 /; $kill Lj parameter Lj / 2.2 1.000000 1.3 1.000000 3.3 1.000000 /; $kill Ps_idx parameter Ps_idx / 1.1 1.000000 2.2 1.000000 3.3 1.000000 /; $kill Pd_idx parameter Pd_idx / 2.1 1.000000 3.2 1.000000 /; $kill S parameter S / 1.Ps0 1.500000 2.Ps0 0.800000 3.Ps0 0.800000 1.Psmax 1.500000 2.Psmax 1.000000 3.Psmax 1.000000 1.Cs 25.000000 2.Cs 33.000000 3.Cs 32.000000 /; $kill D parameter D / 1.Pd0 1.500000 2.Pd0 0.500000 1.Pdmax 1.000000 2.Pdmax 1.000000 1.tgphi 0.466667 2.tgphi 0.600000 1.Cd 30.000000 2.Cd 35.000000 /; $kill X parameter X / 1.V0 1.000000 2.V0 1.000000 3.V0 1.000000 1.Pg0 1.502223 2.Pg0 1.000000 3.Pg0 1.000000 1.Qg0 1.143238 2.Qg0 -0.216881 3.Qg0 -0.399686 1.Pl0 1.500000 2.Pl0 1.500000 3.Pl0 0.500000 1.Ql0 0.800000 2.Ql0 0.700000 3.Ql0 0.300000 1.Qgmax 1.500000 2.Qgmax 1.500000 3.Qgmax 1.500000 1.Qgmin -1.500000 2.Qgmin -1.500000 3.Qgmin -1.500000 1.Vmax 1.100000 2.Vmax 1.100000 3.Vmax 1.100000 1.Vmin 0.900000 2.Vmin 0.900000 3.Vmin 0.900000 /; $kill N parameter N / 1.g 0.689655 2.g 0.689655 3.g 0.689655 1.b -8.275862 2.b -8.275862 3.b -8.275862 1.g0 0.689655 2.g0 0.689655 3.g0 0.689655 1.Pijmax 999.000000 2.Pijmax 999.000000 3.Pijmax 999.000000 1.Pjimax 999.000000 2.Pjimax 999.000000 3.Pjimax 999.000000 /; $offempty

309

Table 29.5: Output le psatsol.m for the three-bus test system.


nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 1.5000000000000E+00; nout = nout + 1; varargout{nout} = zeros(2,1); varargout{nout}(1) = 4.9255900355964E-01; varargout{nout}(2) = 1.0000000000000E+00; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 1.1000000000000E+00; varargout{nout}(2) = 1.0958981381350E+00; varargout{nout}(3) = 1.0969539012616E+00; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(2) = -8.3060555780934E-02; varargout{nout}(3) = -6.6581229355952E-02; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 7.9725075713040E-01; varargout{nout}(2) = 4.0671510596295E-02; varargout{nout}(3) = 3.4545863601665E-01; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 2.9586759376491E+01; varargout{nout}(2) = 3.0000000000000E+01; varargout{nout}(3) = 2.9917556404433E+01; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 6.0779145937398E-01; varargout{nout}(2) = 7.5789060889560E-01; varargout{nout}(3) = 1.5030380290711E-01; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = 6.0779145937398E-01; varargout{nout}(2) = 7.5789060889560E-01; varargout{nout}(3) = 1.5030380290711E-01; nout = nout + 1; varargout{nout} = zeros(3,1); varargout{nout}(1) = -5.2661431716584E-01; varargout{nout}(2) = -6.8175367307536E-09; nout = nout + 1; varargout{nout} = zeros(3,1); nout = nout + 1; varargout{nout} = zeros(3,1);

310

Chapter 30

UWPFLOW Interface
UWPFLOW is an open source program for sophisticated continuation power ow analysis [Ca nizares and Alvarado 2000]. It consists of a set of C functions and libraries designed for voltage stability analysis of power systems, including voltage dependent loads, HVDC, FACTS and secondary voltage control. This chapter describes the PSAT-UWPFLOW interface, which allows exporting PSAT models to UWPFLOW, and provides a simple example. The interface is currently in an early stage; refer to Section 30.3 for limitations and ToDos.

30.1

Getting Started

The use of the PSAT-UWPFLOW interface requires you have UWPFLOW installed on your computer. UWPFLOW is freely available at www.power.uwaterloo.ca Unix and Linux1 users have just to follow installation instructions provided with the UWPFLOW tarball. Windows users, instead, have an extra work to do in order to get the PSAT-UWPFLOW interface properly working, as follows: 1. After installing the Windows version of UWPFLOW, look for the UWPFLOW folder and rename the uwpflow.exe (e.g. uwpflow ide.exe). Remember to change the path in the UWPFLOW desktop icon if you have one. These changes do not aect the Windows version of UWPFLOW, which will just keep working ne. 2. Move to the UWPFLOW source folder and compile UWPFLOW from scratch. I used make and gcc for win32 provided by CygWin.2 If you are using gcc as C compiler, remember to modify the UWPFLOW makefile, i.e. change
1 On some Linux platforms, such as Red Hat, UWPFLOW may produce segmentation faults when trying to display results. To avoid that, comment line 569 /*fclose(OutputHomot);*/ of le writesol.c. Then compile UWPFLOW. 2 available at www.cygwin.com

311

312

30 UWPFLOW Interface

the rst line as follows: CC = gcc. If you are using the CygWin package, the compiler will produce two les, uwpflow.exe and cygwin1.dll. 3 3. Copy the UWPFLOW executable le(s) created at the previous step in a Windows system folder, such as C:\Windows\system32.

30.2

Graphical User Interface

Figure 30.1 depicts the GUI of the PSAT-UWPFLOW interface. The user has just to set the desired options and then push the Run button. The GUI may be also used just as a generator of the command line for UWPFLOW.

30.3

Limitations and ToDos

The PSAT-UWPFLOW interface is an very early stage and is currently able to export very simple power ow models. That means voltage dependent loads, HVDC, FACTS and secondary voltage control are not supported yet. Furthermore, UWPFLOW does not support dynamic models, thus the interface will work successfully with networks containing only lines, slack generators, PV generators, PQ loads and shunt admittances (i.e. the components described in Chapter 10). Furthermore the interface allows exporting PSAT models to UWPFLOW and running UWPFLOW with the proper options, but not viceversa, i.e. UWPFLOW results and the power ow solutions are not loaded in PSAT. Furthermore, the user is always asked if UWPFLOW power ow solution should be loaded in PSAT. Finally, continuation power ow solutions, i.e. nose curves, are plotted in a separate Matlab window. A list of ToDos follows: 1. make possible to export voltage dependent loads, HVDC, FACTS and secondary voltage control; 2. make possible to load all UWPFLOW results in PSAT; 3. make possible to visualize UWPFLOW nose curves in PSAT; 4. add a batch le support for running sophisticated UWPFLOW sessions. Improvements to the PSAT-UWPFLOW interface will be included in future versions of PSAT.
3 Users which are not familiar with Unix-like systems, could nd a little bit confusing dealing with the make and gcc utilities. If you have no clue on how to compile UWPFLOW from scratch, I will send you the executable les. However, be aware that the reference UWPFLOW version will remain the original one, which is freely distributed by Prof. C. Ca nizares.

Figure 30.1: GUI of the PSAT-UWPFLOW interface.

313

314

30 UWPFLOW Interface

30.4

Example

This section illustrates the usage of the PSAT-UWPFLOW interface by means of the 6-bus text system, whose data are reported in Appendix F.2. Firstly, the network has to be loaded in PSAT and the power ow has to be solved, as usual. At this point, the PSAT-UWPFLOW interface can be launched. For example, in order to run the power ow, simply select Power Flow in the Solver Method pop-up menu and, if needed, set the desired UWPFLOW options. Pushing the Run UWPFLOW button will launch the PSAT-UWPFLOW interface, which creates the UWPFLOW command line, as follows: uwpflow -I d 006 mdl.cf psatuw.pf The interface will also write a IEEE common data format le containing the current system data, as depicted in Table 30.1.4 Results are stored in the le psatuw.pf,5 which is located in the same folder as the PSAT data le (see Table 30.2). At the end of the computations, the user may chose to load these results in PSAT. Observe that in order to load results, it is used the le psatuw.cf6 which is in the IEEE common data format.7 Because of the limited number of digits available for voltages, the UWPFLOW solution can present big equation mismatches when loaded in PSAT. To run the continuation power ow, select Continuation Method in the Solver Method pop-up menu and, if needed, set the desired UWPFLOW options. For the 6-bus test system, the command line will result as follows: uwpflow -I d 006 mdl.cf psatuw.pf -cpsatuw.cpf -Kpsatuw.k Observe that along with the d 006 mdl.cf le, the interface has to take care of the input le psatuw.k, which provide power direction for the continuation method. At this aim, Supply and Demand data are used. If Supply and Demand data are not dened, base case powers will be used, i.e. the powers of slack and PV generators and PQ loads. Table 30.3 depicts the psatuw.k le for the 6-bus test system. In the case of continuation methods, UWPFLOW writes a le containing the loading parameters and the most signicant voltages, as depicted in Table 30.4. When this le is created, the PSAT-UWPFLOW interface will load and display the data in a Matlab gure, as depicted in Fig. 30.2. Observe that nose curves obtained by means of the PSAT-UWPFLOW inteface are not internally loaded in PSAT and cannot be plotted using the PSAT GUI for plotting results.
4 The PSAT-UWPFLOW interface also performs a few syntax checks of the resulting UWPFLOW command line. In some cases some options are added in order to build a well formed command line. 5 The user may chose another name for this le using the menu Preferences/Modify InputOutput File Name of the PSAT-UWPFLOW interface. 6 Or whatever is the Input-Output File Name chosen by the user. 7 This le is always created by the PSAT-UWPFLOW interface, by means of the -w option. This option is not shown in the resulting command line, unless the user set the option in the PSAT-UWPFLOW interface.

Table 30.1: IEEE CDF le to be used within UWPFLOW (d 006 mdl.cf)


11/16/03 PSAT ARCHIVE 100.00 2003 W 6-Bus 11-Line System BUS DATA FOLLOW 6 ITEMS 1 Bus1 1 0 2 1.0500 0.000 0.0000 0.0000 90.000 2 Bus2 1 0 3 1.0500 0.000 0.0000 0.0000 140.000 3 Bus3 1 0 2 1.0500 0.000 0.0000 0.0000 60.000 4 Bus4 1 0 1 1.0000 0.000 90.0000 60.0000 0.000 5 Bus5 1 0 1 1.0000 0.000 100.0000 70.0000 0.000 6 Bus6 1 0 1 1.0000 0.000 90.0000 60.0000 0.000 -999 BRANCH DATA FOLLOW 11 ITEMS 2 3 1 1 1 0 0.0500000 0.25000000 0.0600000 0 0 0 3 6 1 1 1 0 0.0200000 0.10000000 0.0200000 0 0 0 4 5 1 1 1 0 0.2000000 0.40000000 0.0800000 0 0 0 3 5 1 1 1 0 0.1200000 0.26000000 0.0500000 0 0 0 5 6 1 1 1 0 0.1000000 0.30000000 0.0600000 0 0 0 2 4 1 1 1 0 0.0500000 0.10000000 0.0200000 0 0 0 1 2 1 1 1 0 0.1000000 0.20000000 0.0400000 0 0 0 1 4 1 1 1 0 0.0500000 0.20000000 0.0400000 0 0 0 1 5 1 1 1 0 0.0800000 0.30000000 0.0600000 0 0 0 2 6 1 1 1 0 0.0700000 0.20000000 0.0500000 0 0 0 2 5 1 1 1 0 0.1000000 0.30000000 0.0400000 0 0 0 -999 LOSS ZONES FOLLOW 1 ITEMS 1 6-Bus -99 INTERCHANGE DATA FOLLOW 1 ITEMS 1 2 Bus2 0.00 999.99 6Bus 6-Bus 11-Line System -9 TIE LINES FOLLOW 0 ITEMS -999 END OF DATA

0.000 0.000 0.000 0.000 0.000 0.000

400.00 400.00 400.00 400.00 400.00 400.00

1.0500 1.0500 1.0500 0.0000 0.0000 0.0000

150.00 -150.00 150.00 -150.00 150.00 -150.00 0.00 0.00 0.00 0.00 0.00 0.00

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

1 2 3 4 5 6

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

0.3082 1.3973 0.1796 0.6585 0.2000 1.3740 0.2591 0.9193 0.8478 0.9147 0.7114

315

Table 30.2: UWPFLOW power ow results (psatuw.pf)

U.E.P. Solution: 6-Bus 11-Line System Loading factor -> -5.39346e-05 AC buses -> 6 PV buses -> 0 X buses -> 0 Z buses -> 0 AC elem. -> 11 V Reg. Trf. -> 0 PQ Reg. Trf. -> 0 DC buses -> 0 DC lines -> 0 SVCs -> 0 TCSCs -> 0 STATCOMs -> 0 No. Areas -> 0 Iterations -> 30 (Maximum = 50) Max. p.u. mismatch -> 9.374e-07 (Tolerance = 0.0001 ) Reference Bus(es) -> 2 Bus2 (Angle= 0.00 deg.)

***** AC RESULTS ***** L=lower limit H=higher limit O=over limit U=under limit --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|-------------A i Bus V(pu) V(kV) Pg(MW) Pload Pshunt| j Bus C Pij Plosses |Iij|(A) kVi/kVj T Controlled Bus n Name d(deg) d(rad) Qg(MVAR) Qload Qshunt| Name r Qij Qlosses a(deg) k Name --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 1 Bus1 0.6536 261.43 114.55 0.00 0.00| 5 Bus5 1 47.63 15.41 197.91 3.70 0.0646 150.00H 0.00 0.00| 75.91 56.28 | 4 Bus4 1 48.95 7.74 178.02 | 64.05 29.72 | 2 Bus2 1 17.97 1.03 45.47 | 10.04 0.51 --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 2 Bus2 0.5940 237.58 170.69 0.00 0.00| 5 Bus5 1 39.83 13.11 163.88 0.00 0.0000 150.00H 0.00 0.00| 54.42 38.48 | 6 Bus6 1 53.32 9.42 166.12 | 42.77 25.63 | 1 Bus1 1 -16.94 1.03 47.24 | -9.53 0.51 | 4 Bus4 1 75.27 13.81 239.30 | 63.50 27.08 | 3 Bus3 1 19.21 0.52 46.77 | -1.16 0.53 --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 3 Bus3 0.5838 233.54 84.55 0.00 0.00| 5 Bus5 1 41.06 16.02 165.11 -7.97 -0.1391 150.00H 0.00 0.00| 52.67 33.68 | 6 Bus6 1 62.17 7.67 281.99 | 95.63 37.86 | 2 Bus2 1 -18.69 0.52 46.39 | 1.69 0.53 --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 4 Bus4 0.4293 171.74 0.00 90.00 0.00| 1 Bus1 1 -41.21 7.74 180.32 -9.79 -0.1708 0.00 60.00 0.00| -34.33 29.72 | 2 Bus2 1 -61.46 13.81 240.17 | -36.42 27.08 | 5 Bus5 1 12.67 3.17 55.87 | 10.75 5.32 --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 5 Bus5 0.2711 108.42 0.00 100.00 0.00| 2 Bus2 1 -26.72 13.11 165.67 -23.56 -0.4112 0.00 70.00 0.00| -15.94 38.48 | 1 Bus1 1 -32.22 15.41 200.92 | -19.63 56.28 | 6 Bus6 1 -6.52 1.88 63.55 | -10.00 4.93 | 3 Bus3 1 -25.04 16.02 167.37 | -19.00 33.68 | 4 Bus4 1 -9.50 3.17 58.27 | -5.43 5.32 --|---|----------|------|-------|--------|--------|--------|----|------------|-|--------|--------|--------|-------|-|----|--------0 6 Bus6 0.4049 161.97 0.00 90.00 0.00| 2 Bus2 1 -43.90 9.42 167.99 -18.44 -0.3219 0.00 60.00 0.00| -17.14 25.63 | 5 Bus5 1 8.40 1.88 61.04 | 14.92 4.93 | 3 Bus3 1 -54.50 7.67 283.12 | -57.78 37.86

316

Table 30.3: Input le for dening power directions in UWPFLOW (psatuw.k)


C C C C C C C C C C C C C C 6 BUS AC TEST SYSTEM Generation and Load Directions This file contains the generation (DPg) and load (Pnl, Qnl, and optional Pzl and Qzl) direction, and the maximum P generation (PgMax) needed for finding the bifurcation point. Since the IEEE Common Format does not allow for the definition of PgMax, this value is ignored in this file by making it equal to 0. The file must be read with the -K option whenever one wants to do bifurcation studies (-c, -C, -H and -B options). The unformatted data is given in the following order: BusNumber 1 2 3 4 5 6 BusName 0 0 0 0 0 0 DPg 0.20000 0.25000 0.20000 0.00000 0.00000 0.00000 Pnl 0.00000 0.00000 0.00000 0.25000 0.10000 0.20000 Qnl 0.00000 0.00000 0.00000 0.16665 0.07000 0.06667 PgMax [ Smax Vmax Vmin Pzl Qzl ] 0 0 1.10000 0.90000 0 0 1.10000 0.90000 0 0 1.10000 0.90000 0 0 1.10000 0.90000 0 0 1.10000 0.90000 0 0 1.10000 0.90000

Table 30.4: UWPFLOW output le with CPF results (psatuw.cpf)


L.F. V6 V5 V4 V3 V2 V1 0.0000 .99121 .96854 .98592 1.0500 1.0500 1.0500 2.9005 .96112 .92851 .92593 1.0500 1.0500 1.0500 3.2382 .95736 .92347 .91824 1.0500 1.0500 1.0500 3.4006 .95554 .92101 .91448 1.0500 1.0500 1.0500 3.4803 .95464 .91979 .91262 1.0500 1.0500 1.0500 3.5595 .95374 .91858 .91076 1.0500 1.0500 1.0500 3.5595 .95374 .91858 .91076 1.0500 1.0500 1.0500 4.1562 .94322 .90507 .88943 1.0500 1.0410 1.0500 4.4277 .93824 .89864 .87920 1.0500 1.0366 1.0500 4.5574 .93582 .89550 .87418 1.0500 1.0345 1.0500 4.6209 .93462 .89395 .87169 1.0500 1.0334 1.0500 4.6524 .93402 .89318 .87045 1.0500 1.0329 1.0500 4.6680 .93372 .89279 .86983 1.0500 1.0326 1.0500 4.6836 .93342 .89240 .86920 1.0500 1.0324 1.0500 4.6836 .93342 .89240 .86920 1.0500 1.0324 1.0500 4.9291 .91430 .87509 .85116 1.0345 1.0196 1.0500 5.0380 .90517 .86683 .84258 1.0271 1.0136 1.0500 5.0894 .90069 .86279 .83838 1.0235 1.0106 1.0500 5.1145 .89849 .86080 .83631 1.0217 1.0091 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 5.1392 .89628 .85880 .83425 1.0199 1.0076 1.0500 1.5719 .50769 .43186 .47080 .67418 .66722 .72318 .78340 .44492 .34784 .43371 .62063 .62063 .67933 .39080 .42091 .30787 .42720 .59947 .60438 .66391 .19516 .41181 .28897 .42726 .59091 .59843 .65811 .09753 .40808 .27988 .42806 .58719 .59601 .65568 -.0001 .40492 .27106 .42935 .58385 .59396 .65357

317

1.1

0.9

0.8

Voltages [p.u.]

0.7

0.6

0.5

0.4
PSfrag replacements

0.3

0.2

V6 V5 V4 V3 V2 V1

0.1

0.5

1.5

2.5

3.5

4.5

5.5

Loading Factor

Figure 30.2: UWPFLOW nose curves for the 6-bus test systems. Results are obtained enforcing reactive power limits of generators. Compare these results with the PSAT CPF results depicted in Fig. 5.8.

318

Part VII

Libraries

Chapter 31

Numeric Linear Analysis


by Alberto Del Rosso1

The library for numeric linear analysis computes output and input matrices A, B , C and D for small signal stability analysis, as follows: x y = Ax + B u = C x + D u (31.1)

where x Rn are the state variables, u Rm the input variables and y Rp the output variables. Currently supported input variables are reference voltages of AVRs, reference speeds of turbine governors, and additional input signal of SVC controllers.

31.1

Description

The numeric linear analysis library is composed of three functions, as follows: fex abcd.m: computes output and input matrices for linear analysis. This is the main function which internally calls the other library functions. fex nrloop.m: solves Newton-Raphson loop. Used for B matrix computations. fex lineflows.m: computes power ows in transmission lines. The function fex abcd.m is to be run from the Matlab prompt after solving power ow and computes output and input matrices A, B , C and D for linear analysis. Available output and input variables are described in the function source
1 Dr. Alberto Del Rosso is with Mercados Energeticos, Buenos Aires, Madrid, Washington D.C. and with National University of Technology, Buenos Aires. E-mail: adelrosso@mercadosenergeticos.com

321

322

31 Numeric Linear Analysis

code, while matrices for other variables can be easily added using this code as a template. The function evaluates Jacobian matrices via numerical dierentiation. Functions for numeric linear analysis have been written for the command line version of PSAT, but can also run if using PSAT GUIs. Jacobian matrices and settings for the numeric linear analysis library are contained in the structure NLA, which has the following elds: 1. tol: minimum state variation x for numeric Jacobian computations. Default value is 105 . 2. a sys: numeric state matrix A. 3. b Vr: numeric matrix B for exciter reference voltages Vref . 4. b Tr: numeric matrix B for governor reference speeds ref .2 5. b svc: numeric matrix B for SVC additional signals. 6. c V: numeric matrix C for voltage magnitudes. 7. c Pg: numeric matrix C for generator active powers. 8. c ps: numeric matrix C for active power ows Pij . 9. c qs: numeric matrix C for reactive power ows Qij . 10. c pr: numeric matrix C for active power ows Pji . 11. c qr: numeric matrix C for reactive power ows Qji . 12. c Is: numeric matrix C for current ows Iij . 13. c Ir: numeric matrix C for current ows Iji . Note: the current version of the numeric linear analysis functions is preliminary and only a few tests have been performed so far.

31.2

Test cases

The WSCC 9-bus test system described in [Sauer and Pai 1998] (see also the Appendix F.3) is used in this section to illustrate results obtained with the numeric linear analysis functions. In the following examples, the command line version of PSAT will be used and it will be assumed that the data les d 009 mdl.m is in the current path. The state matrix A which is obtained by means of fex abcd can be readily tested by means of the analytical state matrix calculated by PSAT. The consistency and the accuracy of input/output matrices B , C and D is checked by comparing time domain response of the linearized and the full non-linear systems.
2 Observe

that PSAT does not currently support additional signal for SVC controllers.

31.2 Test cases

323

Table 31.1: State matrix eigenvalues for the 9-bus test system Numerical State Matrix Analytical State Matrix 1000 1000 1000 1000 1000 1000 0.7075 11.60651i 0.7075 11.60652i 0.18645 7.6324i 0.18645 7.63242i 5.4838 7.94648i 5.48381 7.94648i 5.21801 7.81343i 5.21801 7.81343i 5.3211 7.91899i 5.3211 7.91899i 5.19713 5.19712 3.40392 3.4039 0.44279 1.21198i 0.44279 1.21199i 0.43829 0.74015i 0.43829 0.74015i 0.42483 0.49685i 0.42483 0.49685i 0 0.00652i 0 0.0106i 3.22581 3.22581

31.2.1

Comparison of state matrices

Table 31.1 depicts the eigenvalues obtained by means of the numerical and the analytical dierentiation, respectively. To obtain these results, the power ow has to be solved rst; then one has to compute eigenvalues by means of the numerical and the analytical dierentiation, as follows: >> >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) fex_abcd; mu1 = eig(NLA.a_sys); As = DAE.Fx - DAE.Fy*inv(DAE.Jlfv)*DAE.Gx; mu2 = eig(full(As));

31.2.2

Results for a change of an exciter reference voltage

Following time domain simulations assume a 2% step in the exciter reference voltage Vref of synchronous machine 1. A sample code which uses the numeric linear analysis function is as follows: >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) [Ps0,Qs0,Pr0,Qr0,Is0,Ir0] = fex_lineflows; t = 0:0.01:20; u(1:length(t)) = 0.02;

324

31 Numeric Linear Analysis

>> >> >> >> >> >> >> >> >> >> >> >> >>

d = zeros(length(DAE.V),1); x0 = zeros(DAE.n,1); [Vlinear,xlV] = lsim(NLA.a_sys,NLA.b_Vr(:,1),NLA.c_V,d,u,t,x0); d = zeros(length(Line.n),1); x0 = zeros(DAE.n,1); [Qs,xlV] = lsim(NLA.a_sys,NLA.b_Vr(:,1),NLA.c_qs,d,u,t,x0); [Ps,xlV] = lsim(NLA.a_sys,NLA.b_Vr(:,1),NLA.c_ps,d,u,t,x0); vmat = ones(size(Vlinear)); vl = Vlinear + vmat*diag(Snapshot.V); qmat = ones(size(Qs)); ql = Qs+qmat*diag(Qs0); pmat = ones(size(Ps)); pl = Ps+pmat*diag(Ps0);

Once computed the linear model using fex abcd, the time response is obtained by means of the Matlab function lsim. Variations of bus voltages, reactive powers and active power ows are contained in the matrices Vlinear, Qs and Ps, respectively. Finally, initial values of bus voltages and power ows are added to variations (see vl, ql and pl) to ease comparisons with non-linear system results. The time domain simulation of the full non-linear system is obtained as follows: >> >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) Settings.fixt = 1; Settings.tstep = 0.01; Exc.vrif0(1) = Exc.vrif0(1)*1.02; runpsat(td)

Observe that the instructions Settings.fixt = 1; and Settings.tstep = 0.01; x the simulation time step to t = 0.1 s in order to reproduce the same conditions as the linearized system. Figures 31.1, 31.2 and 31.3 depict results for the time domain simulations obtained with the linearized and the full non-linear system. Figure 31.1 depicts voltage magnitudes at buses 6 and 7, while Figs. 31.2 and 31.3 illustrate reactive power ow through transformer 2-7 and transmission line 6-4, and the active power ow through transformer 2-7, respectively. Observe that the maximum dierence within simulation time range is less than 0.2%.

31.2.3

Results for a change of governor reference speeds

Following time domain simulations assume a 0.5% step in the reference speeds ref of turbine governors of the synchronous machines connected at buses 1 and 3. Observe that one has to change the original 9-bus test system le by adding the governors data, as follows: Tg.con = [ ... 2 2 3 2 1 1 0.05 0.05 1.0 1.0 0.1 0.1 0.1 0.1 0.3; 0.3];

1.035

1.03

Voltages [p.u.]

1.025

1.02

1.015
PSfrag replacements

Bus Bus Bus Bus

7 7 6 6

Linear Non-Linear Linear Non-Linear

1.01

Time (s)

10

12

14

16

18

20

Figure 31.1: Comparison of voltages at buses 6 and 7 for a 2% step in the reference voltage of machine 2.
0.15
Q Q Q Q 2-7 2-7 6-4 6-4 Linear Non-Linear Linear Non-Linear

0.1

Reactive Powers [p.u.]


PSfrag replacements

0.05

0.05

0.1

0.15

0.2

Time (s)

10

12

14

16

18

20

Figure 31.2: Comparison of reactive powers ows in lines 2-7 and 6-4 for a 2% step in the reference voltage of machine 2. 325

1.632
P 2-7 - Linear P 2-7 - Non-Linear

1.6315

1.631

Active Powers [p.u.]


PSfrag replacements

1.6305

1.63

1.6295

1.629

1.6285

1.628

Time (s)

10

12

14

16

18

20

Figure 31.3: Comparison of active powers ows in line 2-7 for a 2% step in the reference voltage of machine 2.

326

31.2 Test cases

327

Code for the numeric linear analysis: >> >> >> >> >> >> >> >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) [Ps0,Qs0,Pr0,Qr0,Is0,Ir0] = fex_lineflows; fex_abcd; t = 0:0.01:20; u1(1:length(t)) = 0.005; u = [u1,u1]; d = zeros(Line.n,2); x0 = zeros(DAE.n,1); [Ps,xlV] = lsim(NLA.a_sys,NLA.b_Tr,NLA.c_ps,d,u,t,x0); pmat = ones(size(Ps)); pl = Ps+pmat*diag(Ps0);

Code for the non-linear time domain simulation: >> >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) Settings.fixt = 1; Settings.tstep = 0.01; Tg.con(:,3) = Tg.con(:,3)*1.005; runpsat(td)

Figures 31.4 and 31.5 depict the rotor speed of generator connected at bus 3 while Fig. 31.6 illustrates the active power ow through transformer 2-7.

31.2.4

Results for a change of a SVC reference voltage

Following time domain simulations assume a 2% step in the reference voltage V ref of a SVC connected at bus 8 for the 9-bus test system. Observe that one has to change the original le by adding the SVC and the dummy PV generator data, as follows: PV.con = [ ... 2 100 18 3 100 13.8 8 100 13.8 1.63 0.85 0.00 1.025 1.025 1.025 99 99 99 -99 -99 -99 1.1 1.1 1.1 0.9 0.9 0.9 1 -1 1; 1; 1]; ...

Svc.con = [8 100 230 0.001 0 1

60 1 10 0.01 0.2

100 1 0.1 ];

Code for the numeric linear analysis: >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) fex_abcd; t = 0:0.01:20; u(1:length(t)) = 0.02;

1.006
Gen 3 - Linear Gen 3 - Non-Linear

1.005

Rotor Speed [p.u.]


PSfrag replacements

1.004

1.003

1.002

1.001

Time (s)

10

12

14

16

18

20

Figure 31.4: Comparison of rotor speeds for a 0.5% step in the reference speed of all machine governors.
1.0035
Gen 3 - Linear Gen 3 - Non-Linear

1.003

Rotor Speed [p.u.]


PSfrag replacements

1.0025

1.002

1.0015

1.001

1.0005

0.5

Time (s)

1.5

Figure 31.5: Detail of the comparison of rotor speeds for a 0.5% step in the reference speed of all machine governors. 328

31.2 Test cases

329

1.68
P 2-7 - Linear P 2-7 - Non-Linear

1.66

1.64

Active Powers [p.u.]


PSfrag replacements

1.62

1.6

1.58

1.56

1.54

1.52

Time (s)

10

12

14

16

18

20

Figure 31.6: Comparison of active powers ows in line 2-7 for a 0.5% step in the reference speed of all machine governors. >> >> >> >> >> >> >> >> d = zeros(length(DAE.V),1); xi = DAE.x; x0 = zeros(DAE.n,1); [dV,dx] = lsim(NLA.a_sys,NLA.b_svc,NLA.c_V,d,u,t,x0); d = zeros(length(Line.n),1); xl = [dx + diag(xi)*ones(size(dx))]; vmat = ones(size(dV)); vl = dV + vmat*diag(Snapshot.V);

Code for the non-linear time domain simulation: >> >> >> >> >> >> runpsat(d_009_mdl.m,data) runpsat(pf) Settings.fixt = 1; Settings.tstep = 0.01; Svc.Vref = Svc.Vref+0.02; runpsat(td)

Figures 31.7 and 31.8 depict the SVC state variable and the voltage magnitude at bus 8, respectively.

0.3

SVC susceptance b [p.u.]

0.25

0.2

0.15
PSfrag replacements

SVC - Linear SVC - Non-Linear

Time (s)

10

12

14

16

18

20

Figure 31.7: Comparison of SVC state variables for a 2% step in the reference voltage of SVC regulators.
1.045

1.04

Voltage [p.u.]

1.035

1.03

1.025
Bus 8 - Linear Bus 8 - Non-Linear

PSfrag replacements

1.02

Time (s)

10

12

14

16

18

20

Figure 31.8: Comparison of voltages at bus 8 for a 2% step in the reference voltage of SVC regulators. 330

Part VIII

Appendices

Appendix A

Global Structures
This appendix lists all global structures used in PSAT and provides a detailed description of their elds. If the structures and the associated elds are described elsewhere, only the section number is reported.

A.1

General Settings

General settings and parameters for power ow computations and time domain simulations are stored in the structure Settings, whose elds are as follows: mva rad system power rating [MVA] system frequency rating [rad]

freq system frequency rating [Hz] refbus bus index of the reference angle lftol error tolerance for static analyses lfmit maximum number of iteration for static analyses dyntol error tolerance for dynamic analyses dynmit maximum number of iteration for dynamic analyses init power ow status 0 1 2 power ow not solved yet power ow completed time domain simulation completed

iter number of iterations of the last power ow computation lftime elapsed time for power ow computations 333

334

A Global Structures

conv system base conversion and checks 0 1 disabled enabled

pfsolver select power ow solver 1 2 3 Newton-Raphson method XB variation of fast decoupled power ow BX variation of fast decoupled power ow

distrsw set distributed slack bus model 0 1 disabled enabled

static discard dynamic component data 0 1 disabled enabled

pq2z convert PQ load to constant impedances 0 1 disabled enabled

showlf display report GUI after power ow solution 0 1 disabled enabled

fixt set xed time step 0 1 disabled enabled

tstep xed time step value [s] method integration method 1 2 t0 tf forward Euler method trapezoidal method

initial simulation time [s] nal simulation time [s]

deltat time step for time domain integrations [s]

A.1 General Settings

335

deltatmax maximum time step [s] deltatmin minimum time step [s] chunk initial dimension of output arrays plot plot during time domain simulations 0 1 disabled enabled

plottype select variable to be plot during time domain simulations 1 2 3 4 5 state variables bus voltage magnitudes bus voltage phases real powers injected at buses reactive powers injected at buses

show display iteration status and messages 0 1 ok disabled enabled

output of the fm choice dialog box 0 1 yes no

mv

model version of the currently loaded Simulink model

zoom zoom plotting variables 0 1 disabled enabled

beep beep control 0 1 disabled enabled

color default GUI colors xlabel label for plotting variables tviewer current text viewer status display convergence error of the current iteration on the main window

336

A Global Structures

0 1

disabled enabled

locksnap initialization of the Snapshot structure after power ow computation 0 1 disabled enabled

pv2pq generator reactive power limit control during power ow computation 0 1 disabled enabled

hostver Matlab or GNU Octave version of the current session violations enforce limit violation checks when writing the report le of the current case solution on disabled off enabled absvalues use of absolute/per unit values when writing the report le of the current case solution on use absolute values off use per unit values shuntvalues include shunt power absorptions in transmission line balances when writing the report le of the current case solution on include shunts in transmission lines off do not include shunts in transmission lines version current PSAT version date release date of the current PSAT version octave denes if the current PSAT session is running on Octave 0 1 PSAT is running on Matlab PSAT is running on Octave

local denes the folder where to write the function fm call.m. Use 0 only if the main PSAT folder is writable. 0 1 use folder Path.psat use folder Path.local (default)

noarrows denes if the arrows have to be removed when exporting PSAT Simulink model to eps les. 0 1 leaves arrows there removes arrows (default)

A.2 Other Settings

337

A.2

Other Settings

Fig: handles of the GUI windows. The handle value is 0 if the associated window is not open. The handle names are as follows: main hist stat eigen plot line pmu setting cpf opf snap matrx comp make cset xset pset sset update dir simset theme tviewer about policy author clock lib gams uwpflow PSAT main window command history GUI power ow report GUI small signal stability analysis GUI GUI for plotting variables GUI for line properties PMU placement GUI general setting GUI continuation power ow GUI optimal power ow GUI GUI for setting snapshots GUI for Jacobian matrix visualization user dened component browser GUI for building user dened components mask for user dened component properties mask for state variable properties mask for parameter properties mask for auxiliary variable properties (not used) GUI for installing and uninstalling user dened components le browser and data format conversion GUI GUI for setting Simulink model properties theme browser GUI for selecting the text viewer PSAT information GUI disclaimer GUI authors pic analogical watch window GUI for limit-induced bifurcations GUI for the PSAT-GAMS interface GUI for the PSAT-UWPFLOW interface

File: data and disturbance le names, as follows: data pert current data le name current disturbance le name

Path: path strings of the most commonly used folders, as follows: local data pert current workspace path current data le path current disturbance le path

338

A Global Structures

psat images build themes filters

PSAT path absolute path absolute path absolute path absolute path

of of of of

the the the the

secondary secondary secondary secondary

folder folder folder folder

images build themes filters

Hdl: handles of the most used graphic objects. hist text status frame bar axes command history listbox in the command history GUI message static text in the main window axis for convergence status in the main window frame of message text in the main window axis for the progress bar in the main window PSAT logo axis in the main window

Snapshot: snapshot data. name time V ang kg x Y Pg Qg Pl Ql vfd pmech Jlf Jlfv Fx Fy Gx Ploss Qloss cell array of snapshot names; array of times associated to the dened snapshots; vector of bus voltage magnitudes; vector of bus voltage phases; distributed slack bus variable; vector of state variables; admittance matrix; vector of generator real powers injected at buses; vector of generator reactive powers injected at buses; vector of load real powers absorbed from buses; vector of load reactive powers absorbed from buses; vector of synchronous machine eld voltages; vector of synchronous machine mechanical powers; transmission line Jacobian matrix JLF = y glines ; Jacobian matrix of algebraic equations JLF V = y g ; Jacobian matrix of dierential equations Fx = x f ; Jacobian matrix of dierential equations Fy = y f ; Jacobian matrix of algebraic equations Gx = x g ; total real losses of the current power ow solution; total reactive losses of the current power ow solution

History: command history text and settings. text string index workspace Max FontName cell array of the last n = Max commands string for text search within the command history number of the last row where string was found enable displaying messages on the Matlab workspace maximum number of rows of the text cell array name of the font of the command history GUI

A.3 System Properties and Settings

339

FontSize FontAngle FontWeight BackgroundColor ForegroundColor

size of the font of the command history GUI angle of the font of the command history GUI weight of the font of the command history GUI background color of the command history GUI foreground color of the command history GUI

Theme: properties and settings for the appearance of the GUIs. color01 color02 color03 color04 color05 color06 color07 color08 color09 color10 color11 font01 hdl background color 1 background color 2 list box color 1 (used also for special buttons) list box color 2 text color 1 text color 2 text color 3 progress bar color text color for special buttons text color for special list boxes axis color font name for edit texts, list boxes and axes handles of graphical objects in the theme manager GUI

Source: cell arrays containing the current data le and the current disturbance le. This structure is used for saving outputs on disk. The elds are as follows: data data le cell array pert disturbance le cell array description case description (not used)

A.3

System Properties and Settings

DAE dierential and algebraic equations, functions and Jacobians matrices. Fields are as follows: a V x n npf g gp gq f glfp glfq bus voltage phases bus voltage magnitudes V state variables x dynamic order of the system n dynamic order during power ow nP F algebraic equations g active power algebraic equations gP reactive power algebraic equations gQ dierential equations f transmission line active powers gPlines transmission line reactive powers gQlines

340

A Global Structures

J11 J12 J21 J22 Jlf Jlfv Jlfd Fx Fy Gx Ac tn t

algebraic Jacobian matrix J11 = gP algebraic Jacobian matrix J12 = V gP algebraic Jacobian matrix J21 = gQ algebraic Jacobian matrix J22 = V gQ transmission line Jacobian matrix JLF = y glines ; Jacobian matrix of algebraic equations JLF V = y g ; Jacobian matrix JLF D = y g x g [x f ]1 y f Jacobian matrix of dierential equations Fx = x f ; Jacobian matrix of dierential equations Fy = y f ; Jacobian matrix of algebraic equations Gx = x g ; complete DAE Jacobian matrix vector of DAE for time domain simulations current simulation time (-1 for static analysis)

SSSA Settings for small signal stability analysis. matrix matrix type 1 2 3 4 reduced dynamic power ow Jacobian JLF Dr reduced complete power ow Jacobian JLF Vr reduced standard power ow Jacobian JLFr state matrix AS S -map participation factor map Z -map

map map type 1 2 3

method eigenvalue computation method 1 2 3 4 5 6 7 all eigenvalues largest magnitude smallest magnitude largest real part smallest real part largest imaginary part smallest imaginary part

report structure containing the small signal stability analysis report neig number of eigenvalues to be computed (applies only if method = 1) eigs vector of eigenvalues pf matrix of participation factors

SNB Settings for saddle-node bifurcation analysis (direct method). slack enable distributed slack bus 0 1 single slack bus distributed slack bus

A.3 System Properties and Settings

341

lambda loading parameter value dpdl sensitivity coecient P/ values bus generation and load direction buses

LIB Settings for limit-induced bifurcation (direct method). type LIB type 1 2 3 4 Vmax Vmin Qmax Qmin

selbus bus number where applying the limit slack enable distributed slack bus 0 1 single slack bus distributed slack bus

lambda loading parameter value dpdl sensitivity coecient P/ values bus generation and load direction buses

CPF Continuation power ow settings. method method for corrector step 1 2 perpendicular intersection local parametrization

flow select transmission line ow 1 2 3 current Iij active power Pij apparent power Sij

type select end criterion for the the continuation power ow. If complete nose curve is set, the routine stops either if the maximum number of points is reached or if = 0. 1 2 3 complete nose curve stop when a bifurcation is encountered stop when the rst enforced limit is encountered

sbus slack bus model 0 1 distributed slack bus single slack bus

vlim check voltage limits 0 1 disabled enabled

342

A Global Structures

ilim check transmission line ow limits 0 1 disabled enabled

qlim check generator reactive power limits 0 1 disabled enabled

init solution status of continuation power ow 0 1 2 3 4 to be solved yet solved continuation power ow solved ATC analysis solved (N-1) contingency analysis solved continuation OPF (PSAT-GAMS interface)

tolc corrector step tolerance tolf error tolerance for transmission line ows tolv error tolerance for bus voltages step step size control nump maximum number of points to be computed show show iteration status on main window 0 1 disabled enabled

linit initial value of the loading parameter lambda loading parameter kg distributed slack bus variable pmax maximum power ow limits. This eld is lled up by the function fm n1cont as a result of the (N-1) contingency criterion. hopf check for change of sign of pair of complex conjugate eigenvalues (Hopf bifurcation points) 0 1 disabled (default) enabled

OPF Optimal power ow settings and outputs. method dene the method used for computing the variable directions and increments. 1 2 Newton directions Mehrotra Predictor/Corrector

flow dene the type of ows used for the ow constraints in the transmission lines.

A.3 System Properties and Settings

343

1 2 3

Currents Iij Active power ows Pij Apparent power ows Sij (not tested)

type dene the class of OPF problem to be solved. 1 2 3 4 5 Single OPF (if is a vector, the rst value is used) Pareto set (one solution for each value of the vector ) Daily forecast (not implemented yet) ATC by CPF (development status) ATC by sensitivity analysis (development status)

deltat time step in minutes ofr the daily forecast (not used). lmin minimum value of the loading parameter c . lmax maximum value of the loading parameter c . sigma centering parameter . gamma safety factor . eps mu error tolerance of the barrier parameter s . eps1 error tolerance of the power ow equations. eps2 error tolerance of the objective function. omega weighting factor (can be a vector). flatstart set initial guess of system variables. 1 2 Flat start (V = 1 and = 0) Actual power ow solution

conv OPF method convergence status. 0 1 OPF routine did not converge OPF routine converged

guess vector of values for initializing the OPF routine. uname unformatted variable names (used for plotting Pareto set results). fname formatted (TEX) variable names (used for plotting Pareto set results). varout output variables determined by means of a Pareto set computation. report cell array of the OPF solution. show display the convergence error of the OPF routine. 0 1 disabled enabled

init OPF solution status. 0 1 w to be solved yet OPF has been solved

actual value of the weighting factor.

344

A Global Structures

atc maximum loading condition for the current OPF solution. line number of the line to be deleted for N-1 contingency evaluations in the maximum loading condition system. tiebreak tiebreak term in the objective function. 0 1 0 1 0 1 0 1 0 1 disabled enabled disabled enabled disabled enabled disabled enabled disabled enabled

nodir include base case loading condition.

enflow enforce ow limit inequalities.

envolt enforce voltage limit inequalities.

enreac enforce generator reactive power inequalities.

vmin minimum voltage limit for zero-injection buses, i.e. buses at which there is no generator or load connected (default 0.8 p.u.). vmax maximum voltage limit for zero-injection buses, i.e. buses at which there is no generator or load connected (default 1.2 p.u.). PMU Settings for PMU placement algorithms. method method type. 1 2 3 4 5 6 7 Depth rst Graphic theoretic procedure Annealing-bisecting search method Recursive security N algorithm Single-shot security N algorithm Recursive security N -1 algorithm Single-shot security N -1 algorithm

number current number of PMU. measv number of measured voltages. measc number of measured currents. pseudo number of pseudo-measured currents. noobs cureent number of non-observable buses. voltage cell array of estimated voltages. angle cell array of estimated angles. location cell array of PMU placement.

A.4 Outputs and Variable Names

345

A.4

Outputs and Variable Names


time vector state variables bus voltage magnitudes bus voltage phases bus real power injections bus reactive power injections transmission line real power ows Pij transmission line reactive power ows Qij transmission line real power ows Pji transmission line reactive power ows Qji synchronous machine mechanical powers synchronous machine eld voltages AVR reference voltages synchronous machine eld currents (used for OXLs)

Varout: output of time domain simulations. Fields are as follows: t x V ang p q prflow qrflow psflow qsflow Pm Vf Vrif If

Varname: system variable TEX and plain names. Formatted TEX names are used for creating legends in the plotting variable GUI. Fields are as follows: comp fcomp format fname, uname bus fx, ux fV, uV fang, uang fP, uP fQ, uQ fPflow, uPflow fQflow, uQflow fPm, uPm fVf, uVf fVrif, uVrif fIf, uIf list of structure names of dynamic components list of structure names of all components format of data for each component (not used) names of all state variables bus names names of current state variables names of bus voltage magnitudes names of bus voltage phases names of real powers injected at buses names of reactive powers injected at buses names of real power ows Pij and Pji names of reactive power ows Qij and Qji names of synchronous machine mechanical powers names of synchronous machine eld voltages names of AVR reference voltages names of synchronous machine eld currents

A.5

User Dened Models

Comp: component general settings funct number cell array of all component functions cell array of all component .n elds

346

A Global Structures

prop n init descr name shunt

component properties total number of installed components enable initialization {0, 1} current component description current component name shunt component {0, 1}

Buses Bus connection variables name n cell array of bus names number of buses

Algeb Algebraic equations and variables name n idx eq eqidx neq cell array of algebraic variables number of algebraic variables indexes of algebraic variables cell array of algebraic equations indexes of algebraic equations number of algebraic equations

State Dierential equations and state variables name n eq eqidx neq init limit fn un time offset nodyn cell array of state variables number of state variables cell array of dierential equations indexes of dierential equations number of dierential equations state variable initialization enable anti-windup limiters TEX name of the state variable Matlab name of the state variable time constant name oset value allow time constant being T = 0

Servc Service equations and variables (not used...) name n eq eqidx neq init limit cell array of service variables number of service variables cell array of service equations indexes of service equations number of service equations service variable initialization enable anti-windup limiters

A.6 Models

347

fn un type offset oldidx

TEX name of the service variable Matlab name of the service variable service variable type oset value cell array of current external service variable

Param Parameter variables name n descr type unit cell array of parameter names number of parameters parameter description parameter type parameter unit

Initl Variables for initialization name n idx cell array of initial variables number of initial variables indexes of initial variables

A.6
Bus Line Lines Twt SW PV PQ Shunt

Models
Bus numbers and voltage ratings Transmission line and transformer Alternative transmission line Three-winding transformer Slack bus PV generator Constant power load Shunt admittance Section Section Section Section Section Section Section Section 10.1 10.2-10.3.1 10.2 10.3.2 10.4 10.5 10.6 10.7

Power Flow Data

CPF and OPF Data Supply Rsrv Rmpg Demand Rmpl Vltn Power supply Generator power reserve Generator ramping Power demand Power demand ramping Violation parameters Section 11.1 Section 11.2 Section 11.3 Section 11.4 Section 11.5 not used. . .

Faults & Breakers Fault Breaker Transmission line fault Transmission line breaker Section 12.1 Section 12.2

348

A Global Structures

Measurements Busfreq Loads Mn Fl Pl Exload Thload Machines Syn Mot Controls Tg Exc Pss Oxl CAC Cluster Turbine Governor Automatic Voltage Regulator Power System Stabilizer Overexcitation Limiter Central Area Controller Cluster Controller Section Section Section Section Section Section 16.1 16.2 16.3 16.4 16.5 16.5 Synchronous machine Induction motor Section 15.1 Section 15.2 Voltage dependent load Frequency dependent load ZIP (polynomial) load Exponential recovery load Thermostatically controlled load Section Section Section Section Section 14.1 14.3 14.2 14.4 14.5 Bus frequency measurement Section 13.1

Regulating Transformers Ltc Tap Phs FACTS Svc Tcsc Statcom Sssc Upfc Hvdc Static Var Compensator Thyristor Controlled Series Capacitor Static Var Compensator Static Synchronous Source Series Compensator Unied Power Flow Controller High Voltage DC transmission system Section Section Section Section Section Section 18.1 18.2 18.3 18.4 18.5 18.6 Load tap changer Tap changer with embedded load Phase shifting transformer Section 17.1 Section 17.2 Section 17.3

Wind Turbines Wind Cswt Dfig Ddsg Wind models Constant speed wind turbine Doubly fed induction generator Direct drive synchronous generator Section Section Section Section 19.1 19.2.1 19.2.2 19.2.3

A.7 Command Line Usage

349

Other Models Mass RLC SSR Sofc SAE1 SAE2 SAE3 Synchronous machine dynamic shaft Dynamic phasor RLC series circuit Subsynchronous resonance model Solid Oxyde Fuel Cell Subtransmission area equivalent type 1 Subtransmission area equivalent type 2 Subtransmission area equivalent type 3 Section Section Section Section Section Section Section 20.1 20.2 20.3 20.4 20.5 20.5 20.5

A.7

Command Line Usage

clpsat structure for command line usage of PSAT (defaults refers to the the command line standard behavior): init command line initialization status 0 1 PSAT is running with the standard GUIs command line PSAT is active (default)

mesg status of PSAT messages 0 1 no message messages will be displayed in the current output (default)

refresh if true, force repeating power ow before running further analysis independently on the power ow status 0 1 false true (default)

refreshsim if true, force reloading Simulink model before running power ow independently on the Simulink model status 0 1 false (default) true

readfile if true, force reading data le before running power ow 0 1 false true (default)

showopf if true, force displaying OPF result on the standard output running power ow 0 1 false (default) true

pq2z if true, force switching PQ loads to constant impedances before running time domain simulations 0 1 false true (default)

350

A Global Structures

viewrep if true, force visualizing report les when created 0 1 false (default) true

A.8

Interfaces
method select OPF method 1 2 3 4 5 6 simple auction market clearing mechanism standard OPF VSC-OPF maximum loading condition continuation OPF

GAMS parameters and settings for the PSAT-GAMS interface:

type solution type 1 2 3 4 single period auction multiperiod auction pareto set auction unit commitment auction

flow ow type in transmission lines 0 1 2 3 none currents active powers apparent powers

flatstart set initial guess of system variables 1 2 use at start as initial guess (V = 1 and = 0) use current power ow solution as initial guess

lmin minimum value of (oat) lmin s minimum value of (string) omega weighting factor values (oat) omega s weighting factor values (string) lmax maximum value of (oat) hours vector of time intervals for multi-period auctions ldir command line options for GAMS calls libinclude use command line options 0 1 disabled enabled

A.8 Interfaces

351

loaddir use load direction when solving maximum loading condition OPF 0 1 disabled enabled

basecase use base case solution as xed powers in OPF 0 1 disabled enabled

line number of line to be taken out in N-1 contingency analysis show display results and logs 0 1 disabled enabled

UWPFLOW parameters, option and settings for the PSAT-UWPFLOW interface:. opt list of UWPFLOW options. Refer to UWPFLOW documentation for details [Ca nizares and Alvarado 2000]. method loading parameter value 1 2 3 4 power ow continuation power ow direct method parametrized continuation method

file name of output les (default psatuw) command generation and load direction buses status generation and load direction buses

Appendix B

Matlab Functions
This appendix lists the Matlab script les and functions of the PSAT folder. The list is also available on-line (Contents.m) by typing >> help psat General Functions and GUIs psat fm set fm var fm main Power Flow fm fm fm fm fm fm fm fm fm fm fm fm fm fm fm spf lf y b nrlf flows hessian dynlf dynidx xfirst ncomp inilf stat base report standard power ow routine power ow equations admittance matrix Y admittance matrices B and B power ow with xed state variables power ows in transmission lines Hessian matrix of power ow equations indicization of state variables (before power ow) indicization of state variables (after power ow) initial guess of state variables indicization of components reset variables for power ow computations GUI for displaying power ow results report of component quantities on system bases creates power ow report start the program general settings and utilities denition of global variables main GUI

Direct Methods fm snb Saddle-node bifurcation routine 353

354

B Matlab Functions

fm snbfig fm limit fm snbfig

GUI for saddle-node bifurcations Limit-induced bifurcation routine GUI for limit-indeuced bifurcations

Continuation Power Flow (CPF) fm cpf fm n1cont fm cpffig continuation power ow N-1 contingency computations GUI for continuation power ow

Optimal Power Flow (OPF) fm fm fm fm fm opfm opfsdr pareto atc opffig optimal power ow VS constrained optimal power ow Pareto set computations Available transfer capability computations GUI for optimal power ow

Small Signal Stability Analysis fm eigen fm eigfig eigenvalue computations GUI for eigenvalue computations

Time Domain Simulation fm fm fm fm int tstep out snap time domain simulation denition of time step for transient computations time domain simulation output GUI for snapshot settings

User Dened Model Construction fm fm fm fm fm fm fm fm fm fm fm fm fm fm fm build comp open save new add del install uninstall component make update cset xset sset compile user dened components general settings and utilities for component denition open user dened models save user dened models reset user dened component variables add user dened model variable delete user dened model variable install user dened component uninstall user dened component GUI for user dened models GUI for user dened component denition GUI for displaying user dened model installation results GUI for component settings GUI for state variable settings GUI for service variable settings

355

fm pset

GUI for parameter variable settings

Utilities Functions autorun fm idx fm iidx fm filenum fm laprint fm status fvar pgrep psatdomain psed settings sizefig secure routine launch denition of variable names nd bus interconnetcions enumeration of output les A export graphics to eps and L TEX les display convergence error status on main GUI convert variables in strings search .m les for string dummy function for the PMC Simulink library substitute string in .m les dene customized settings (optional) determine gure size

Simulink Library and Functions fm fm fm fm fm fm fm fm fm fm lib libpmc libsps sim simrep simset simsave block inout draw Simulink library Simulink PMC library Simulink PMC library (with SimPowerSystems) conversion from Simulink model to PSAT data le power ow report for Simulink models GUI for Simulink model settings save a Simulink 5, 4.1 or 4 model as a Simulink 3 model set Simulink block parameters create and delete Simulink block input/output ports draw Simulink block icons

Data File Conversion fm fm fm fm fm fm fm fm fm fm cdf cymflow matpower pst vst wscc m2cdf m2wscc dir dirset conversion of IEEE common data les conversion of CYME power ow data les (CYMFLOW) conversion of Matpower data les conversion of Power System Toolbox data les conversion of VST data les conversion of WSCC data les conversion of PSAT data les in IEEE CDF conversion of PSAT data les in BPA-WSCC format GUI for data le conversion general settings and utilities for data le conversion

Plotting Utilities fm plot fm plotfig general function for plotting results GUI for plotting results

356

B Matlab Functions

fm fm fm fm fm fm

axesdlg linedlg linelist view matrx bar

GUI for axes properties settings GUI for line properties settings GUI for line list browser general function for sparse matrix visualization GUI for sparse matrix visualization plots status bar on main window

Command History fm text fm hist fm disp fval Output fm writetex fm writetxt fm writexls Themes fm theme fm themefig fm mat theme manager GUI of theme manager background for GUI images
A write output results in L TEX format write output results in plain text write output results in Excel format

command history general functions and utilities GUI for command history visualization command, message and error display message line for variable manipulation

Other GUI Utilities fm fm fm fm fm fm fm fm fm setting enter tviewer about iview author clock choice pcode GUI for general settings welcome GUI GUI for text viewer selection about PSAT image viewer authors pic analogic watch dialog box create PSAT p-code distribution tarball

GNU License Functions gnulicense fm license gnuwarranty fm warranty type GUI type GUI the GNU LGPL for the GNU LGPL the no warranty conditions for the no warranty conditions

357

PMU Placement Functions fm fm fm fm fm fm fm fm fm fm pmu pmuloc pmun1 pmurec pmurep pmutry lssest mintree annealing pmufig spanning tree of existing PMUs PMU placement manager PMU placement for device outages recursive method for PMU placement write PMU placement report lter for zero-injection buses linear static state estimation minimum tree search annealing method for PMU placement GUI for PMU placement

Power Flow Component Functions fm fm fm fm sw pv pq lines swing bus equations static generator equations constant power load equations model of transmission lines

Measurement Functions fm busfreq Load Functions fm fm fm fm fm mn pl fl exload thload monomial load equations polinomial bus equations frequency dependent load equations exponential recovery load equations thermostatically controlled load equations bus frequency measurement

Machine Functions fm syn fm synit fm mot synchronous machine equations synchronous machine variable initialization asynchronous machine (induction motor) equations

Control Functions fm fm fm fm fm fm fm tg exc excin pss oxl cac cluster turbine governor and frequency regulator automatic voltage regulator automatic voltage regulator variable initialization power system stabilizer over excitation limiter central area controller cluster controller

358

B Matlab Functions

Regulating Transformer Functions fm ltc fm tap fm phs on load tap changer transformer equations tap changer under load transformer and static load equations phase shifting transformer equations

Wind Turbine Functions fm fm fm fm wind cswt dfig ddsg wind models constant speed wind turbine doubly fed induction generator direct drive synchronous generator

FACTS Functions fm fm fm fm fm fm svc tcsc statcom sssc upfc hvdc Static Var Compensator (SVC) Thyristor Controlled Series Capacitor (TCSC) Static Synchronous Compensator (STATCOM) Static Synchronous Series Compensator (SSSC) Unied Power Flow Controller (UPFC) High Voltags DC connection (HVDC)

Other Model Functions fm fm fm fm fm fm fm mass rlc ssr sofc sae1 sae2 sae3 dynamic model of rotor shaft dynamic phasor model of transmission line synchronous machine model for subsynchronous resonance studies solid oxyde fuel cell equivalent dynamic subtransmission area model (type 1) equivalent dynamic subtransmission area model (type 2) equivalent dynamic subtransmission area model (type 3)

Command Line Usage initpsat closepsat runpsat initialize PSAT global variables clear all PSAT global variables from workspace launch PSAT routine

Interface Functions fm fm fm fm gams gamsfig uwpflow uwfig GAMS interface for single-period OPF GUI of the GAMS interface UWPFLOW interface GUI of the UWPFLOW interface

359

Numeric Linear Analysis Functions fex abcd fex lineflows fex nrloop compute numeric matrices A, B , C , D compute transmission line ows for numeric analysis update algebraic variables for numeric analysis

Appendix C

Other Files and Folders


This appendix lists the les other than Matlab functions and scripts which are contained in the PSAT folder and the auxiliary folders needed by PSAT to work properly. The names and the positions of these folders can be changed only if the path dened in the psat script le is accordingly changed. In the distribution tarball these folders are placed within the PSAT main folder. .ini Files comp denition of component functions, associated structures and a number of boolean variables for dening the calls of the functions. The format is as follows: function name structure name call algebraic equations call algebraic Jacobians call dierential equations call state Jacobians call hard limits call during power ow call initialization call when computing shunt powers cols. 1-23 cols. 25-44 col. 46 col. 48 col. 50 col. 52 col. 54 col. 56 col. 58 col. 60

fcomp component names and format of the data. This list is dierent from the one contained in the comp.ini le because some components do not have an associated function. The data format is a string for the fprintf function and is meant for printing data les, but is not currently used. history settings for the command history. The le is updated each time the command history settings are saved. 361

362

C Other Files and Folders

A namevar denition of state variables names, formatted names in a L TEX synthax and associated component structure names. The variable names are also elds for the correspondent structures. The format is as follows:

variable name variable formatted name component structure name

cols. 1-19 cols. 21-29 cols. 41-. . .

service contains a list of variables that are common to dierent components, such as the generator eld voltage or the reference voltage of the excitation systems. .mat Files finger matrix dening a custom mouse pointer. .gms Files fm gams.gms single-period OPF routines. fm gams2.gms multi-period OPF routines. gams/matout.gms Matlab-GAMS interface library. gams/psatout.gms PSAT-GAMS interface library. psatdata.gms input data for the PSAT-GAMS interface. psatglobs.gms global variables for the PSAT-GAMS interface. psatout.m output data for the PSAT-GAMS interface (m-le). Perl Filters filters/ieee2psat lter for IEEE CDF data format. filters/psap2psat lter for PECO-PSAP data format. filters/psse2psat lter for PSS/E 29 data format. filters/sim2sim lter for Simulink models older than version 5. filters/simblocks look for PSAT blocks in Simulink models. filters/simdata lter mask entries of PSAT-Simulink blocks. filters/th2psat lter for TH data format. GNU Lesser General Public License gnulicense.txt Original plain text of the GNU LGPL.

363

Secondary Folders images contains the image les used by the graphical user interfaces. build contains the Matlab script les dening the user dened components. themes contains the themes for customizing the appearance of the graphical user interface. filters contains the Perl lters for data format conversions. gams contains the PSAT-GAMS interface functions and libraries.

Appendix D

Third Party Matlab Code


There are a few les I modied from the original version provided within the Matlab package: imageview.m changed in fm iview.m inputdlg.m changed in fm input.m scribeaxesdlg.m changed in fm axesdlg.m scribelinedlg.m changed in fm linedlg.m isvarname.m The free utility uigetfolder1 written by Neil Rutland is no longer used, since it has been substituted by the built-in function uigetdir. When using Matlab releases < R13, calls to uigetdir are disabled.

1 uigetfolder

is available at www.mathworks.com in the File Exchange section.

365

Appendix E

Data Formats
This appendix list a selection of data formats which are available on the web and are commonly in use in electric power system research.1 These are IEEE Common Data Format [Working Group on a Common Format for Exchange of Solved Load Flow Data 1973], WSCC format, PSAP format, PTI format, MatPower format and VST format. The documentation for these formats can be found at the following websites: 1. IEEE Common Data Format: University of Waterloo http://www.power.uwaterloo.ca/ 2. WSCC File Format: University of Waterloo http://www.power.uwaterloo.ca/ 3. PSAP File Format: Washington University http:/www.ee.washington.edu/research/pstca/ 4. PTI File Format: Washington University http:/www.ee.washington.edu/research/pstca/ 5. MatPower File Format: Cornell University http:/www.pserc.cornell.edu/matpower/ 6. VST File Format: Drexel University http://power.ece.drexel.edu/index files/vst.htm

1 These

formats are supported by PSAT or will be supported in future versions.

367

Appendix F

Test System Data


This appendix depicts schemes and data of the test systems used in the examples of this manual. These are 3-bus, 6-bus, 9-bus, and 14-bus systems. Data are reported in the PSAT data format and were generated by the Simulink models provided with the toolbox.1

F.1

3-bus Test System

Figure F.1 depicts the three-bus test case, which is extracted from [Chen 2002], representing three generation companies (GENCOs) and two energy supply companies (ESCOs) that provide supply and demand bids. The complete data set for this system is as follows:
Bus.con = [ ... 1 138 1 0 2 138 1 0 3 138 1 0 Line.con = [ ... 1 3 100 138 1 2 100 138 2 3 100 138 2 3 4 1; 1; 1 ];

60 60 60

0 0 0 0 0 0

0.01 0.01 0.01

0.12 0.12 0.12

0 0 0

0 0 0

0 0 0

0 0 0

1.5 1.5 1.5

0; 0; 0 ];

Shunt.con = [ ... 3 100 400 60 0 2 100 400 60 0 SW.con = [ ... 1 100 138 1.02 PV.con = [ ... 2 100 400 1.00 3 100 400 1.00 PQ.con = [ ...
1 The

0.5; 0.8 ];

0.00

1.5

-1.5

1.1

0.9

1.5

1 ];

1.00 1.00

1.5 1.5

-1.5 -1.5

1.1 1.1

0.9 0.9

1; 1 ];

Simulink models are placed in the folder tests within the PSAT main folder.

369

370

F Test System Data

GENCO 1

GENCO 2 ESCO 2

Bus 1

Bus 2

PSfrag replacements

Bus 3 ESCO 3

GENCO 3

Figure F.1: 3-bus test system.


3 1 2 100 100 100 138 138 138 0.5 1.5 1.5 0.3 0.8 0.7 1.1 1.1 1.1 0.9 0.9 0.9 1; 1; 1 ];

Demand.con = [ ... 2 100 1.5 0.7 1.0 3 100 0.5 0.3 1.0 Supply.con = [ ... 1 100 1.5 1.5 0 2 100 0.8 1.0 0 3 100 0.8 1.0 0

0 0

0 0

0 0

30 35

0 0

0 0

0 0

0 0

0 0

0; 0 ];

0 0 0

0 0 0

25 33 32

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0; 0; 0 ];

Varname.bus = {... Bus1; Bus2; Bus3};

F.2

6-bus Test System

Figure F.2 depicts the 6-bus test case, which is extracted from [Shebl e 1998], representing three generation companies (GENCOs) and three energy supply companies (ESCOs) that provide supply and demand bids. The complete data of this system are as follows:
Bus.con 1 400 2 400 3 400 4 400 = [ ... 1 0; 1 0; 1 0; 1 0;

F.3 9-bus Test System

371

5 6

400 400

1 1

0; 0 ];

Line.con = [ ... 2 3 100 400 3 6 100 400 4 5 100 400 3 5 100 400 5 6 100 400 2 4 100 400 1 2 100 400 1 4 100 400 1 5 100 400 2 6 100 400 2 5 100 400 SW.con = [ ... 2 100 PV.con = [ ... 1 100 3 100 PQ.con 4 5 6 = [ ... 100 100 100

60 60 60 60 60 60 60 60 60 60 60

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0.05 0.02 0.2 0.12 0.1 0.05 0.1 0.05 0.08 0.07 0.1

0.25 0.1 0.4 0.26 0.3 0.1 0.2 0.2 0.3 0.2 0.3

0.06 0.02 0.08 0.05 0.06 0.02 0.04 0.04 0.06 0.05 0.04

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0.3082; 1.3973; 0.1796; 0.6585; 0.2000; 1.3740; 0.2591; 0.9193; 0.8478; 0.9147; 0.7114];

400

1.05

1.5

-1.5

1.1

0.9

1.4

1];

400 400

0.9 0.6

1.05 1.05

1.5 1.5

-1.5 -1.5

1.1 1.1

0.9 0.9

1; 1];

400 400 400

0.9 1 0.9

0.6 0.7 0.6

1.1 1.1 1.1

0.9 0.9 0.9

0; 0; 0 ];

Demand.con = [ ... 4 100 0.25 5 100 0.1 6 100 0.2 Supply.con = [ ... 1 100 0.2 2 100 0.25 3 100 0.2

0.16665 0.07 0.13333

0.25 0.1 0.2

1e-05 1e-05 1e-05

0 0 0

0 0 0

12 10.5 9.5

0 0 0

0 0 0

0 0 0

0 0 0

1; 1; 1];

0.2 0.25 0.2

1e-05 1e-05 1e-05

0 0 0

0 0 0

9.7 8.8 7

0 0 0

0 0 0

0 0 0

0 0 0

1; 1; 1];

Varname.bus = {... Bus 1; Bus 2; Bus 3; Bus 4; Bus 5; Bus 6};

F.3

9-bus Test System

Figure F.3 depicts the 9-bus test system, which is extracted from [Sauer and Pai 1998] and represents three generators (order IV) with AVR (type II). The complete data of this system are as follows:
Bus.con = 1 16.5 2 18 3 13.8 4 230 5 230 6 230 [ ... 1 0; 1 0; 1 0; 1 0; 1 0; 1 0;

372

F Test System Data

Bus 2

Bus 3

Bus 6

GENCO 2

GENCO 3

ESCO 3

Bus 1 PSfrag replacements

Bus 5

GENCO 1 Bus 4 ESCO 2

ESCO 1

Figure F.2: 6-bus test system.

7 8 9

230 230 230

1 1 1

0; 0; 0 ];

Line.con = [ ... 9 8 100 230 7 8 100 230 9 6 100 230 7 5 100 230 5 4 100 230 6 4 100 230 2 7 100 18 3 9 100 13.8 1 4 100 16.5

60 60 60 60 60 60 60 60 60

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0.0782609 0.06 0.0717391

0.0119 0.0085 0.039 0.032 0.01 0.017 0 0 0

0.1008 0.072 0.17 0.161 0.085 0.092 0.0625 0.0586 0.0576

0.209 0.149 0.358 0.306 0.176 0.158 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0; 0; 0; 0; 0; 0; 0; 0; 0 ];

SW.con = [ ... 1 100 16.5

1.04

99

-99

1.1

0.9

0.8

1 ];

PV.con = [ ... 2 100 18 3 100 13.8

1.63 0.85

1.025 1.025

99 99

-99 -99

1.1 1.1

0.9 0.9

1; 1 ];

PQ.con = [ ... 8 100 230 5 100 230 6 100 230 Syn.con = [ ...

1 1.25 0.9

0.35 0.5 0.3

1.2 1.2 1.2

0.8 0.8 0.8

0; 0; 0 ];

F.3 9-bus Test System

373

3 100 0 0 1 100 0 0 2 100 0 0

13.8 60 4 0 0 1.3125 0.1813 0 5.89 0 1.2578 0.25 0 0.6 0 6.02 ... 0 1 1 0; 16.5 60 4 0 0 0.146 0.0608 0 8.96 0 0.0969 0.0969 0 0.31 0 47.28 ... 0 1 1 0; 18 60 4 0 0 0.8958 0.1198 0 6 0 0.8645 0.1969 0 0.535 0 12.8 ... 0 1 1 0 ];

Exc.con = [ ... 3 2 5 -5 20 0.2 1 2 5 -5 20 0.2 2 2 5 -5 20 0.2

0.063 0.063 0.063

0.35 0.35 0.35

0.01 0.01 0.01

0.314 0.314 0.314

0.001 0.001 0.001

0.0039 0.0039 0.0039

1.555; 1.555; 1.555 ];

Varname.bus = {... Bus 1; Bus 2; Bus 3; Bus 4; Bus 5; Bus 6; Bus 7; Bus 8; Bus 9};

A second model of this system is described in [Anderson and Fouad 1977] and presents a simplied model of generators (order II) without AVRs. The complete data of this system are as follows:
Bus.con = [ ... 1 16.5 1 0 2 18 1 0 3 13.8 1 0 4 230 1 0 5 230 1 0 6 230 1 0 7 230 1 0 8 230 1 0 9 230 1 0 Line.con = 9 8 100 7 8 100 9 6 100 7 5 100 5 4 100 6 4 100 2 7 100 3 9 100 1 4 100 [ ... 230 230 230 230 230 230 18 13.8 16.5 4 5 3 2 2 2 2 2 2 1; 1; 1; 1; 1; 1; 1; 1; 1 ];

60 60 60 60 60 60 60 60 60

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0.078 0.06 0.072

0.0119 0.0085 0.039 0.032 0.01 0.017 0 0 0

0.1008 0.072 0.17 0.161 0.085 0.092 0.0625 0.0586 0.0576

0.209 0.149 0.358 0.306 0.176 0.158 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0; 0; 0; 0; 0; 0; 0; 0; 0 ];

Breaker.con = [ ... 4 7 100 230 60 Fault.con = [ ... 7 100 230 60 SW.con = [ ... 1 100 16.5 PV.con = [ ... 2 100 18 3 100 13.8 PQ.con = [ ...

1.083

4 ];

1.083

0.001 ];

1.04

99

-99

1.1

0.9

0.8

1 ];

1.63 0.85

1.025 1.025

99 99

-99 -99

1.1 1.1

0.9 0.9

1; 1 ];

374

F Test System Data

Gen 2

Gen 3

PSfrag replacements 4

Gen 1

Figure F.3: WSCC 3-generator 9-bus test system.


6 8 5 100 100 100 230 230 230 0.9 1 1.25 0.3 0.35 0.5 1.2 1.2 1.2 0.8 0.8 0.8 0; 0; 0 ];

Syn.con = [ ... 2 100 18 60 2 0.0521 0 0.8958 0.1198 0 0.535 0 12.8 0 0 0 1 1 0; 3 100 13.8 60 2 0.0742 0 1.3125 0.1813 0 0.6 0 6.02 0 0 0 1 1 0; 1 100 16.5 60 2 0.0336 0 0.146 0.0608 0 0.31 0 47.28 0 0 0 1 1 0 ]; Varname.bus = {... Bus 1; Bus 2; Bus 3; Bus 4; Bus 5; Bus 6; Bus 7; Bus 8; Bus 9};

0 0 0

6 5.89 8.96

0 0 0

0.8645 1.2578 0.0969

0.1969 0.25 0.0969

... ... ...

F.4

14-bus Test System

Figure F.4 depicts the IEEE 14-bus test system, which is a benchmark for power system analysis.2 The complete data of this system are as follows:
Bus.con = 1 69 2 69 3 69 4 69 5 69 6 13.8 7 13.8 [ ... 1 0; 1 0; 1 0; 1 0; 1 0; 1 0; 1 0; at http:/www.ee.washington.edu/research/pstca/.

2 Available

F.4 14-bus Test System

375

8 9 10 11 12 13 14

18 13.8 13.8 13.8 13.8 13.8 13.8

1 1 1 1 1 1 1

0; 0; 0; 0; 0; 0; 0 ]; ... 69 13.8 13.8 13.8 13.8 13.8 13.8 13.8 13.8 13.8 69 69 69 69 69 69 69 69 69 18

Line.con = [ 2 5 100 6 12 100 12 13 100 6 13 100 6 11 100 11 10 100 9 10 100 9 14 100 14 13 100 7 9 100 1 2 100 3 2 100 3 4 100 1 5 100 5 4 100 2 4 100 5 6 100 4 9 100 4 7 100 8 7 100

60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 1.3043

0.05695 0.12291 0.22092 0.06615 0.09498 0.08205 0.03181 0.12711 0.17093 0 0.01938 0.04699 0.06701 0.05403 0.01335 0.05811 0 0 0 0

0.17388 0.25581 0.19988 0.13027 0.1989 0.19207 0.0845 0.27038 0.34802 0.11001 0.05917 0.19797 0.17103 0.22304 0.04211 0.17632 0.25202 0.55618 0.20912 0.17615

0.034 0 0 0 0 0 0 0 0 0 0.0528 0.0438 0.0346 0.0492 0.0128 0.0374 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.932 0.969 0.978 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0 ];

SW.con = [ ... 1 100 69 PV.con = [ ... 2 100 69 6 100 13.8 3 100 69 8 100 18 PQ.con = [ ... 2 100 69 3 100 69 14 100 13.8 4 100 69 5 100 69 9 100 13.8 6 100 13.8 10 100 13.8 13 100 13.8 12 100 13.8 11 100 13.8

1.06

9.9

-9.9

1.2

0.8

2.324

1 ];

0.4 0 0 0

1.045 1.07 1.01 1.09

0.5 0.24 0.4 0.24

-0.4 -0.06 0 -0.06

1.2 1.2 1.2 1.2

0.8 0.8 0.8 0.8

1; 1; 1; 1 ];

0.217 0.942 0.149 0.478 0.076 0.295 0.112 0.09 0.135 0.061 0.035

0.127 0.19 0.05 0.04 0.016 0.166 0.075 0.058 0.058 0.016 0.018

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2

0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8

0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0 ];

Varname.bus = {... Bus 01; Bus 02; Bus 03; Bus 04; Bus 05; Bus 06; Bus 07; Bus 08; Bus 09; Bus 10; Bus 11; Bus 12; Bus 13; Bus 14};

Generators 12

13 14 11

Synchronous Compensators

10 9 C

G 6 1 C

5 PSfrag replacements

2 G 3 Three Winding Transformer Equivalent 9 7 4 8 C C

Figure F.4: IEEE 14-bus test system.

376

Appendix G

FAQs
This appendix presents the most frequent asked questions related to PSAT installation and usage. Following FAQs were mostly arisen by users of previous PSAT versions 1.0.x, 1.1.x, and 1.2.x, thus might not apply to the current release.

G.1

Getting Started

When I run PSAT at the Matlab prompt, I got an error messages, as follows:
??? Undefined function or variable fm_mat. Error in ==> C:\psat\fm_main.m On line 217 ==> Error in ==> C:\psat\psat.m On line 348 ==> if failed, disp( ), disp(PSAT is not properly initialized.), else, fm_main, end ??? Error: Missing operator, comma, or semicolon. ??? Error while evaluating figure WindowButtonMotionFcn. ??? Error: Missing operator, comma, or semicolon. ??? Error while evaluating figure WindowButtonMotionFcn. ??? Error: Missing operator, comma, or semicolon. ??? Error while evaluating figure WindowButtonMotionFcn. ??? Error: Missing operator, comma, or semicolon. ....

The reason of this error is that the PSAT folder is not set in the Matlab search path. Some users get confused between the current Matlab path which 377

378

G FAQs

is the working folder where Matlab rst looks for custom functions1 and the Matlab search path which is a list of folders where Matlab looks for functions if the search in the current folder fails.2 The previous PSAT documentation wasnt clear on this regard. Please refer to the new Section 2.3 for a better explanation on how to properly install PSAT on your system. I have Matlab version older than 6.1 and when I try to run the program the following error shows up:
>> psat C:\MATLABR11 ??? C:\MATLABR11\toolbox\psat\fm_enter.p is a P-file written by a newer version MATLAB and cannot be read. Error in ==> C:\MATLABR11\toolbox\psat\psat.m On line 24 ==> hdl = fm_enter(a(1).path);

PSAT version 1.0.1 les were written and pre-compiled using Matlab 6.1 R12 and will not run under Matlab 6.0 or older. PSAT version 1.3.3 was written using mainly Matlab 6.5 R13 and afterwards tested on Matlab 5.3, 6.0 and 6.1. Pre-compiled les (p-code) were built using Matlab 5.3, which ensures the compatibility with newer Matlab versions. However, less commonly used PSAT functions can still contain calls to builtin functions which where not present in Matlab versions older than 6.5. Please report all inconsistencies in order to x these bugs. Because of the compatibility issue, some of the latest features of the current Matlab release 6.5 are not used or, when used, are disabled when PSAT runs under older Matlab versions. This is the case of some bult-in functions (e.g. uigetdir) and Perl modules.3 Furthermore, the interfaces with GAMS and UWPFLOW programs can be used only with Matlab 6.5. PSAT distribution comes in p-code les, how can I get source m-les? Since version 1.3.0, PSAT comes in open source les. PSAT is also free software (see the GNU [Lesser] General Public License which is reported in Appendix J). However, p-code (pre-compiled) les run faster on some platforms and the most of the users do not need to change the code on a daily basis. Thus, PSAT includes a small GUI to create ones own PSAT distribution as p-code les. Refer to Section 26.5 fo details. Which are the dierences between PSAT and SimPowerSystems in terms of features, applications and performance? SimPowerSystems (alias Power System Blockset) is a Simulink-based toolbox for electromagnetical transient studies (including detailed models of power electronic
Matlab current path is returned by the pwd function. Matlab search path is returned by the path function. 3 Perl lters for data le conversion can be used only with Matlab 6.5. Older Matlab les such as fm cdf.m are still included in the PSAT distribution but will be no longer maintained.
2 The 1 The

G.2 Simulink Library

379

components), while PSAT is Matlab-based and aimed to power ow, optimal power ow, continuation power ow and electromechanical transients. A very rough comparison of the two software packages is depicted in Table 1.1 of Chapter 1. However, comparing the two software packages is not fair, because they have dierent goals and use dierent mathematical models. Maybe it could be interesting comparing power ow results obtained with PSAT and SimPowerSystems, which I think is the only comparable result. Performances of both toolboxes are typically pretty good for small systems, while slow down for huge ones. This actually depends on Matlab features more than on the implemented code. Of course small and huge depend on the computer. However, SimPowerSystems has a longer hystory and has been written by a team of people. Thus, SimPowerSystems should be generally more reliable than PSAT. However, PSAT is free software (well, free but for the Matlab kernel :)), while SimPowerSystems is a commercial product. Any comments, suggestions and contribution are really welcome and will be taken into account in order to make PSAT a better software and a more reliable and useful tool. I guess this is actually the main advantage of PSAT. How can I run PSAT from within a function without using GUIs? Since PSAT version 1.3.0, PSAT includes a set of functions and script les which allow avoiding GUIs. Please refer to Chapter 27 for a detailed documentation about the command line usage of PSAT. Can I run PSAT on Octave? As for version 1.3.0, PSAT can run on GNU Octave. Restrictions and limitations apply; see Chapter 28.

G.2

Simulink Library

How can I inspect schemes of PSAT-Simulink blocks? PSAT-Simulink blocks are hollow, and works just as data boxes. As a matter of fact running a simulation from the Simulink toolbar produces no eects. Static and dynamic models of components are stored in the Matlab functions provided with the PSAT tarball. I added a control scheme to a PSAT-Simulink model, but it doesnt work. PSAT makes use of Simulink only as a CAD tool, whereas mathematical models are dened in Matlab functions. If you want to add a new component or a new control scheme refer to Chapter 25 which describes how to build user dened models under PSAT.

380

G FAQs

Why PSAT-Simulink blocks do not work in Simulink models built using PSB (SymsPowerSystems)? Mixing PSAT blocks with PSB blocks is not possible: the two toolboxes work in a completely dierent way. Why do I get the following message? Statistics ... perl is not recognized as an internal or external command, operable program or batch file. Check of Simulink blocks coudnt be performed. That simply means perl is not properly installed on your system. The message is just a warning and does not aect simulations.

G.3

Power Flow

I tried to run a n-thousands bus test system on PSAT, but it took a long time to get the solution. Is there any hope to get a faster solution? PSAT is a Matlab based program, thus cannot be competitive with commercial C-compiled programs. The power ow can be solved faster by means of a fast decoupled technique; however continuation power ow, optimal power ow and time domain simulation analyses are based on the full system Jacobian matrix and will show poor performances for huge networks. PST and PSAT produce dierent power ow results for the IEEE 14-bus test system. Why? The solution of the IEEE 14-bus test system depends on the power ow settings. PST automatically takes into account generator reactive power limits, whereas PSAT basic power ow routines does not. Since PSAT version 1.2.1, it is possible to enforce generator reactive power limit control in power ow computations, which allows producing same results as PST. However, for a more accurate power ow analysis which includes security limits, it is recommended running the continuation power ow. Is there a realistic case (thousands of buses) test system for PSAT? Although PSAT has been successfully used to solve power ows of big networks (a user told me he solved a 25000-bus system power ow with PSAT), these networks are not available because of copyright reasons.

G.4 Optimal & Continuation Power Flow

381

G.4

Optimal & Continuation Power Flow

Why the OPF routine did not converge? Typically the Interior Point Method does not converge for the two following reasons: 1. the initial guess is out of the feasibility region; 2. maximum or minimum values of some constrained variables are inconsistent. The OPF routine performs several checks before running the main loop, however more work has to be done on this issue. I converted a Matpower test case, but the PSAT optimal power ow routine didnt reach the convergence. Why? PSAT makes a distinction between base case powers (used for the power ow solution) and power bids (used in the continuation and optimal power ow analysis). When importing a Matpower test case into PSAT, one has to disable the Use base case option in the OPF settings GUI. Matpower and PSAT may give dierent results since the Interior Point Method implemented in PSAT does not include unit commitment so far.

G.5

Time Domain Simulation

Can you give me an example of perturbation le? Basic disturbances, such as fault and breaker interventions, are embedded in the program. However, all other perturbations have to be implemented by the user. For instance, a perturbation le for the 14-bus test system is as follows:
function dummy = p_test(t) global PQ if (t > 1.0) PQ.con(:,[3 4]) = 1.2*[ ... 0.217 0.127; 0.942 0.19; 0.478 0.04; 0.076 0.016; 0.112 0.075; 0.295 0.166; 0.09 0.058; 0.035 0.018; 0.061 0.016; 0.135 0.058; 0.149 0.05 ]; else PQ.con(:,[3 4]) = [ ...

382

G FAQs

0.217 0.942 0.478 0.076 0.112 0.295 0.09 0.035 0.061 0.135 0.149 end

0.127; 0.19; 0.04; 0.016; 0.075; 0.166; 0.058; 0.018; 0.016; 0.058; 0.05 ];

It increase the powers of all PQ loads by 20% at t = 1s. A perturbation le should typically contain a declaration of global structures which have to be modied and a if-then-else control ow. Although a little bit rusty, this procedure gives the maximum freedom in the denition of the event(s) that disturb(s) the network. I included a fault/breaker in my network but, when running time domain simulations, nothing happens or the routine stops with an error. This was due to a bug in the data format of fault/breaker components of the previous version 1.0.1. The bug has been xed in the current version 1.2.0.

G.6

Data Conversion

When I try to convert a data le in xyz format, a warning window shows up with the message Filter for xyz data format not implemented yet. The message literally means that the data format lter has not been implemented and there is no way to convert automatically the source data le into PSAT data format. The creation of data format lters is limited by the availability of a complete documentation of commercial data formats. Thus, if you have access to a commercial package for power system analysis and want to create a lter, you can either post me the documentation or write the lter by yourself. In the latter case I will be glad to include your function in the master program. I converted a data le in xyz format, but when I run the power ow, PSAT results are dierent from what expected. The conversion of data les from dierent data formats can be in some cases tricky, since dierent programs may have dierent features or treat data in a dierent way. Most of the time it is just a matter of properly adjusting the general settings of PSAT. However, please report all inconsistencies to me in order to improve the lters.

G.7 Interfaces

383

G.7

Interfaces

I have installed the demo version of GAMS 21.1 but when I try to run the PSAT-GAMS interface, I get the following error:
PSAT-GAMS Interface Market Clearing Mechanism Single-Period Auction "gams" is not recognized like an internal or external command, program or feasible batch file. ??? Error using ==> fm_gams/psatgams Too many output arguments. Error in ==> c:/documents and settings/psat/fm_gams.m On line 382 ==> ??? Error using ==> edit Neither fm_gams/psatgams nor fm_gams/psatgams.m could be found.

The problem it is probably due to the fact that your GAMS folder is not set as an environment variable. Setting GAMS executables as environment variables depends on the operating system, as follows: Windows NT look for Control Panel System Properties Adavanced Options Environment Variables. Then edit the Path by adding the full GAMS path. Linux edit the .bash profile le in your home directory and add the full GAMS path in the PATH variable. Following errors are just due to the fact that GAMS didnt run succesfully and output les (expected by fm gams.m) were not created.

Appendix H

PSAT Forum
A PSAT Forum (see Fig. H.1) is currently available at: http://groups.yahoo.com/groups/psatforum Main functions are as follows: Function Subscribe Post message Unsubscribe List owner e-mail psatforum-subscribe@yahoogroups.com psatforum@yahoogroups.com psatforum-unsubscribe@yahoogroups.com psatforum-owner@yahoogroups.com

To post a message directly to me, use one of the following e-mails: 1. fmilano@ind-cr.uclm.es 2. fmilano@thunderbox.uwaterloo.ca 3. psatforum@yahoo.com The latest PSAT distribution archive, as well as latest patches and, when available, data les will be posted on the Forum le repository. However, the web site http://thunderbox.uwaterloo.ca/~fmilano will remain the main source for downloading PSAT and related les. Forum user statistics are depicted in Fig. H.2.

385

Yahoo! Groups : psatforum

http://groups.yahoo.com/group/psatforum/

Yahoo! My Yahoo! Mail

Search

Sign In
New User? Sign Up

Groups Home - Help

psatforum PSAT Forum


Home Members Only Messages Chat Files Photos Links Database Polls Members Calendar Promote PSAT is a Matlab toolbox for electric power system analysis and control. The command line version of PSAT is also GNU Octave compatible. PSAT includes power flow, continuation power flow, optimal power flow, small signal stability analysis and time domain simulation. All operations can be assessed by means of graphical user interfaces (GUIs) and a Simulink-based library provides an user-friendly tool for network design.

[ Join This Group! ] Group Info Members: 290 Created: Aug 16, 2003 Language: English Mailing list for users of the Power System Analysis Toolbox (PSAT). Group Settings Listed in directory Open membership Messages do not require approval All members may post messages Message archive viewable by members only Email attachments are permitted

Join This Group!

(Already a member? Sign in to Yahoo!) Category: Software

Description

Whats New
New within the last seven days: Members: 11 Photos: 1 Messages: 27 Files: 3

Message History
Search Archive
Jan Feb Mar Apr 2005 2004 2003 72 46 31 63 76 66 90 70 48 7 81 56 46 27 67 43 37 21 May Jun Jul Aug Sep Oct Nov Dec

Group Email Addresses

1 of 2

01/31/2005 11:59 AM

Figure H.1: PSAT Forum main page. Data refer to January 31, 2005.

386

7 6 5
Total users Current users Bounching users

Users

4 3 2 1 0 0 50 100 150 200 250 300 350 400 450 500

Days
350 300 250
Total users Current users Bounching users

Users
PSfrag replacements

200 150 100 50 0 0 50 100 150 200 250 300 350 400 450 500

Days

Figure H.2: PSAT Forum statistics. Data refer to January 31, 2005.

387

Appendix I

References to PSAT
A list of papers which refer to PSAT follows. The list can be incomplete; please let me know missing references.

I.1

Journals

Bibliography
Larsson, M.: 2004, ObjectStab, An Educational Tool for Power System Stability Studies, IEEE Transactions on Power Systems 19(1), 5663.

I.2

Conference Proceedings

Bibliography
urk, S. and Alboyac, B.: 2004, Machine Parameters and OrC etinkaya, H. B., Ozt ders of Machine Impacts on Eigenvalues and Simulations in two Software Packages SIMPOW and PSAT, Proc. of IEEE SoutheastCon, Greensboro, North Carolina.

389

Appendix J

GNU Lesser General Public License


Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.1 PREAMBLE The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free softwareto make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packagestypically librariesof the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you rst think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
1 This is the rst released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.

391

392

J GNU Lesser General Public License

To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object les to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we oer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modied by someone else and passed on, the recipients should know that what they have is not the original version, so that the original authors reputation will not be aected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot eectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specied in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite dierent from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination ts its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the Lesser General Public License because it does Less to protect the users freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing nonfree programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs en-

393

ables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modied version of the Library. The precise terms and conditions for copying, distribution and modication follow. Pay close attention to the dierence between a work based on the library and a work that uses the library. The former contains code derived from the library, whereas the latter must be combined with the library in order to run. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MADIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called this License). Each licensee is addressed as you. A library means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The Library, below, refers to any such software library or work which has been distributed under these terms. A work based on the Library means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term modication.) Source code for a work means the preferred form of the work for making modications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface denition les, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modication are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Librarys complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and

394

J GNU Lesser General Public License

to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option oer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. The modied work must itself be a software library. b. You must cause the les modied to carry prominent notices stating that you changed the les and the date of any change. c. You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d. If a facility in the modied Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith eort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.2 These requirements apply to the modied work as a whole. If identiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary
2 For example, a function in a library to compute square roots has a purpose that is entirely welldened independent of the application. Therefore, Subsection 2d requires that any applicationsupplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.

395

GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by oering access to copy from a designated place, then oering equivalent access to copy the source code from the same place satises the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a work that uses the Library. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a work that uses the Library with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a work that uses the library. The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a work that uses the Library uses material from a header le that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially signicant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely dened by law. If such an object le uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object le is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables

396

J GNU Lesser General Public License

containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a work that uses the Library with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modication of the work for the customers own use and reverse engineering for debugging such modications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable work that uses the Library, as object code and/or source code, so that the user can modify the Library and then relink to produce a modied executable containing the modied Library. (It is understood that the user who changes the contents of denitions les in the Library will not necessarily be able to recompile the application to use the modied denitions.) b. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the users computer system, rather than copying library functions into the executable, and (2) will operate properly with a modied version of the library, if the user installs one, as long as the modied version is interface-compatible with the version that the work was made with. c. Accompany the work with a written oer, valid for at least three years, to give the same user the materials specied in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d. If distribution of the work is made by oering access to copy from a designated place, oer equivalent access to copy the above specied materials from the same place. e. Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the work that uses the Library must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or

397

binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-byside in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a. Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b. Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to nd the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of

398

J GNU Lesser General Public License

this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may dier in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library species a version number of this License which applies to it and any later version, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free

399

status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS

Appendix K

GNU Free Documentation License


Version 1.1, March 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the eective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. 401

402

K GNU Free Documentation License

The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. A Modied Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Documents overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The Cover Texts are certain short passages of text that are listed, as FrontCover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specication is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent le format whose markup has been designed to thwart or discourage subsequent modication by readers is not Transparent. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modication. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the works title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license

403

notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Documents license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to t legibly, you should put the rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modied Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modied Version under precisely this License, with the Modied Version lling the role of the Document, thus licensing distribution and modication of the Modied Version to whoever possesses a copy of it. In addition, you must do these things in the Modied Version:

404

K GNU Free Documentation License

A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modications in the Modied Version, together with at least ve of the principal authors of the Document (all of its principal authors, if it has less than ve). C. State on the Title page the name of the publisher of the Modied Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modied Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Documents license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled History, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modied Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modied Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled Acknowledgements or Dedications, preserve the sections title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.

405

M. Delete any section entitled Endorsements. Such a section may not be included in the Modied Version. N. Do not retitle any existing section as Endorsements or to conict in title with any Invariant Section. If the Modied Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modied Versions license notice. These titles must be distinct from any other section titles. You may add a section entitled Endorsements, provided it contains nothing but endorsements of your Modied Version by various parties-for example, statements of peer review or that the text has been approved by an organization as the authoritative denition of a standard. You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modied Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modied Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms dened in section 4 above for modied versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodied, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but dierent contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History; likewise combine any sections entitled Acknowledgements, and any sections entitled Dedications. You must delete all sections entitled Endorsements.

406

K GNU Free Documentation License

6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modied Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate, and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Documents Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modication, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

407

10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may dier in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document species that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specied version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

408

BIBLIOGRAPHY

Bibliography
Acevedo, S., Linares, L. R., Mart , J. R. and Fujimoto, Y.: 1999, Ecient HVDC Converter Model for Real Time Transient Simulation, IEEE Transactions on Power Systems 14(1), 166171. Akhmatov, V., Knudsen, H. and Nielsen, A. H.: 2000, Advanced Simulation of Windmills in the Electric Power Supply, International Journal of Electric Power and Energy Systems 22(6), 421434. Allemong, J., Radu, L. and Sasson, A.: 1982, A Fast and Reliable Estimation Algorithm for AEPs New Control Center, IEEE Transactions on Power Apparatus and Systems 101(4), 933944. Alsac, O., Bright, J., Prais, M. and Stott, B.: 1990, Further Developments in LPbased Optimal Power Flow, IEEE Transactions on Power Systems 5(3), 697 711. Anderson, P. M. and Bose, A.: 1983, Stability Simulation of Wind Turbine Systems, IEEE Transactions on Power Apparatus and Systems 102(12), 37913795. Anderson, P. M. and Fouad, A. A.: 1977, Power System Control and Stability, The Iowa State University Press, Ames, Iowa. Arabi, S., Kundur, P. and Sawada, J. H.: 1998, Appropriate HVDC Transmission Simulation Models for Various Power System Stability Studies, IEEE Transactions on Power Systems 13(4), 12921297. Arabi, S., Rogers, G. J., Wong, D. Y., Kundur, P. and Lauby, M. G.: 1991, Small Signal stability Program Analysis of SVC and HVDC in AC Power Systems, IEEE Transactions on Power Systems 6(3), 11471153. Arillaga, J. and Arnold, C. P.: 1990, Computer Analysis Power Systems, John Wiley & Sons, New York. Arillaga, J., Arnold, C. P., Camacho, J. R. and Sankar, S.: 1993, AC-DC Load Flow with Unit-Connected Generator-Converter Infeeds, IEEE Transactions on Power Systems 8(2), 701706. Baldwin, T., Mili, L., Boisen, M. and Adapa, R.: 1993, Power System Observability with Minimal Phasor Measurement Placement, IEEE Transactions on Power Systems 8(2), 707715. Barcelo, W. R. and Lemmon, W. W.: 1988, Standardized Sensitivity Coecients for Power System Networks, IEEE Transactions on Power Systems 3(4), 1591 1599. Berg, G. L.: 1973, Power system load representation, Proceedings of IEE 120, 344 348.

BIBLIOGRAPHY

409

Bhattacharya, S. and Dommel, H. W.: 1988, A New Commutation Margin Control Representation for Digital Simulation of HVDC System Transient, IEEE Transactions on Power Systems 3(3), 11271132. Billington, R., Aborehaid, S. and Fotuhi-Firuzabad, M.: 1997, Well-Being Analysis for HVDC Transmission Systems, IEEE Transactions on Power Systems 12(2), 913918. Brenan, K. E., Campbell, S. L. and Petzold, L.: 1995, Numerical Solution of InitialValue Problems in Dierential-Algebraic Equations, SIAM, Philadelphia, PA. Brooke, A., Kendrick, D., Meeraus, A., Raman, R. and Rosenthal, R. E.: 1998, GAMS, a Users Guide, GAMS Development Corporation, 1217 Potomac Street, NW, Washington, DC 20007, USA. The documentation is available at http://www.gams.com/. Ca nizares, C. A.: 1998, Applications of Optimization to Voltage Collapse Analysis, IEEE-PES Summer Meeting, San Diego, USA. Ca nizares, C. A.: 1999, Modeling of TCR and VSI Based FACTS Controllers, Technical report, ENEC, Milan, Italy. Ca nizares, C. A.: 2002, Voltage Stability Assessment: Concepts, Practices and Tools, Technical report, IEEE/PES Power System Stability Subcommittee, Final Document. Available at http://www.power.uwaterloo.ca. Ca nizares, C. A. and Alvarado, F. L.: 1993, Point of Collapse Methods and Continuation Methods for Large AC/DC Systems, IEEE Transactions on Power Systems 8(1), 18. Ca nizares, C. A. and Alvarado, F. L.: 2000, UWPFLOW Program. University of Waterloo, available at http://www.power.uwaterloo.ca. Ca nizares, C. A., Alvarado, F. L., DeMarco, C. L., Dobson, I. and Long, W. F.: 1992, Point of Collapse Methods applied to AC/DC Power Systems, IEEE Transactions on Power Systems 7(2), 673683. Ca nizares, C. A., Chen, H. and Rosehart, W.: 2001, Pricing System Security in Electricity Markets, Proc. Bulk Power systems Dynamics and Control-V, Onomichi, Japan. Ca nizares, C. A., Rosehart, W., Berizzi, A. and Bovo, C.: 2001, Comparison of Voltage Security Constrained Optimal Power ow Techniques, Proc. 2001 IEEEPES Summer Meeting, Vancouver, BC, Canada. Ca nizares, C. A., Rosehart, W. and Quintana, V.: 2000, Costs of Voltage Security in Electricity Markets, Proc. 2001 IEEE-PES Summer Meeting, Seattle, WA, USA.

410

BIBLIOGRAPHY

urk, S. and Alboyac, B.: 2004, Machine Parameters and OrC etinkaya, H. B., Ozt ders of Machine Impacts on Eigenvalues and Simulations in two Software Packages SIMPOW and PSAT, Proc. of IEEE SoutheastCon, Greensboro, North Carolina. Chen, A. H. L., Nwankpa, C. O., Kawatny, H. G. and ming Yu, X.: 1996, Voltage Stability Toolbox: An Introduction and Implementation, Proc. NAPS96, MIT. Chen, H.: 2002, Security Cost Analysis in Electricity Markets Based on Voltage Security Criteria and Web-based Implementation, PhD thesis, University of Waterloo, Waterloo, ON, Canada. Chow, J.: 1991-1997, Power System Toolbox Version 2.0: Dynamic Tutorial and Functions, Cherry Tree Scientic Software, RR-5 Colborne, Ontario K0K 1S0. Chow, J.: 1991-1999, Power System Toolbox Version 2.0: Load Flow Tutorial and Functions, Cherry Tree Scientic Software, RR-5 Colborne, Ontario K0K 1S0. Chow, J. H. and Cheung, K. W.: 1992, A Toolbox for Power System Dynamics and Control Engineering Education and Research, IEEE Transactions on Power Systems 7(4), 15591564. Clements, K., Krumpholz, G. and Davis, P.: 1980, Power System Observability: A Practical Algorithm Using Network Topology, IEEE Transactions on Power Apparatus and Systems 99(4), 15341542. Clements, K., Krumpholz, G. and Davis, P.: 1981, Power System State Estimation Residual Analysis: An Algorithm Using Network Topology, IEEE Transactions on Power Apparatus and Systems 100(4), 17791787. Denegri, G. B., Invernizzi, M. and Milano, F.: 2001, Synthesis of an Equivalent Dynamic Model for Load Areas with LTC Transformers, Proc. of Transmission & Distribution Conference, Atlanta, USA. Denegri, G. B., Invernizzi, M. and Milano, F.: 2002, A Security Oriented Approach to PMU Positioning for Advanced Monitoring of a Transmission Grid, Proc. of PowerCon 2002, Kunming, China. Drud, A. S.: 1996, GAMS/CONOPT, ARKI Consulting and Development, Bagsvaerdvej 246A, DK-2880 Bagsvaerd, Denmark. The documentation is available at http://www.gams.com/. Eaton, J. W.: 1997, GNU Octave Manual, Network Theory Ltd., Bristol, UK. European Wind Energy Association: 2001, Wind Force 12-A Blueprint to Achive 12% of the Worlds Electricity from Wind Power by 2020, Technical report, EWEA. 56 pages.

BIBLIOGRAPHY

411

Ferris, M. C.: 1999, MATLAB and GAMS: Interfacing Optimization and Visualization Software, Computer Sciences Department, University of WisconsinMadison. Available at http://www.cs.wisc.edu/math-prog/matlab.html. Force, I. S. R. T.: 1977, First Benchmark Model for Computer Simulation of Subsynchronous Resonance, IEEE Transactions on Power Apparatus and Systems 96(5), 15651572. Gisin, B. S., Obessis, M. V. and Mitsche, J. V.: 1999, Practical Methods for Transfer Limit Analysis in the Power Industry Deregulated Environment, Proc. PICA IEEE International Conference, pp. 261266. Gross, C. A.: 1986, Power System Analysis, Second Edition, John Wiley & Sons. Grossmann, I. E., Viswanathan, J., Vecchietti, A., Raman, R. and Kalvelagen, E.: 2002, GAMS/DICOPT: A Discrete Continous Optimization Package, Engineering Research Design Center, Carnegie Mellon University, Pittsburg, PA. The documentation is available at http://www.gams.com/. Hatziadoniu, C. J., Lobo, A. A., Pourboghrat, F. and Daneshdoost, M.: 2002, A Simplied Dynamic Model of Grid-Connected Fuel-Cell Generators, IEEE Transactions on Power Systems 17(2), 467473. Hill, D. J.: 1993, Nonlinear Dyanmic Load Models with Recovery for Voltage Stability Studies, IEEE Transactions on Power Systems 8(1), 166176. Hingorani, G. and Gyugyi, L.: 1999, Understanding FACTS: Concepts and Technology of Flexible AC Transmission Systems, IEEE Press. Hirsch, P.: 1994, Extended Transient-Midterm Stability Program (ETMSP) Ver. 3.1: Users Manual, EPRI, TR-102004-V2R1. Huneault, M. and Galiana, F. D.: 1991, A Survey of the Optimal Power Flow Literature, IEEE Transactions on Power Systems 6(2), 762770. Ili c, M. and Zaborszky, J.: 2000, Dynamic and Control of Large Electric Power Systems, Wiley-Interscience Publication, New York. Irisarri, G. D., Wang, X., Tong, J. and Mokhtari, S.: 1997, Maximum Loadability of Power Systems using Interior Point Nonlinear Optimization Method, IEEE Transactions on Power Systems 12(1), 162172. Karlsson, D. and Hill, D. J.: 1994, Modelling and Identication of Nonlinear Dynamic Loads in Power Systems, IEEE Transactions on Power Systems 9(1), 157166. Knyazkin, V., S oder, L. and Ca nizares, C.: 2003, Control Challenges of Fuel Cell-Dirven Distributed Generation, Proc. of the IEEE/PES General Meeting, Toronto. Kundur, P.: 1994, Power System Stability and Control, McGraw Hill, New York.

412

BIBLIOGRAPHY

Larsson, M.: 2004, ObjectStab, An Educational Tool for Power System Stability Studies, IEEE Transactions on Power Systems 19(1), 5663. Madrigal, M.: 2000, Optimization Model and Techiniques for Implementation and Pricing of Electricity Markets, PhD thesis, University of Waterloo, Waterloo, ON, Canada. Madrigal, M. and Quintana, V. H.: 1998, Optimal Day-ahead Network-constrained Power Systems Market Operations Planning using an Interior Point Method, IEEE Canadian Conference on Electrical and Computer Eng., Vol. 1, pp. 388 401. Mahseredjian, J. and Alvarado, F.: 1997, Creating an Electromagnetic Transient Program in Matlab: MatEMTP, IEEE Transactions on Power Delivery 12(1), 380388. Milano, F.: 2003, Pricing System Security in Electricity Market Models with Inclusion of Voltage Stability Constraints, PhD thesis, University of Genova, Genova, Italy. Available at http://thundebox.uwaterloo.ca/fmilano. Milano, F., Ca nizares, C. A. and Invernizzi, M.: 2003, Multi-objective Optimization for Pricing System Security in Electricity Markets, IEEE Transactions on Power Systems 18(2). Milias-Argitis, J., Zacharias, T., Hatzadoniu, C. and Galanos, G. D.: 1988a, Transient Simulation of Integrated AC/DC Systems, Part I: Converter Modeling and Simulation, IEEE Transactions on Power Systems 3(1), 166172. Milias-Argitis, J., Zacharias, T., Hatzadoniu, C. and Galanos, G. D.: 1988b, Transient Simulation of Integrated AC/DC Systems, Part II: System Modeling and Simulation, IEEE Transactions on Power Systems 3(1), 173179. Mitani, Y. and Tsuji, K.: 1995, Bifurcations Associated with Sub-Synchronous Resonance, IEEE Transactions on Power Systems 10(4), 14711478. Mitani, Y., Tsuji, K., Varghese, M., Wu, F. and Varaiya, P.: 1998, Bifurcation Associated with Sub-Synchronous Resonance, IEEE Transactions on Power Systems 13(1), 139144. Monmoh, J. A., Guo, S. X., Ogbuobiri, E. C. and Adapa, R.: 1994, The Quadratic Interior Point Method solving Power System Optimization Problems, IEEE Transactions on Power Systems 9(3), 13271336. Monticelli, A. and Garcia, A.: 1990, Fast Decoupled State Estimators, IEEE Transactions on Power Systems 5(2), 556564. Murtagh, B. A., Saunders, M. A., Murray, W., Gill, P. E., Raman, R. and Kalvelagen, E.: 2002, GAMS/MINOS: A Solver for Large-Scale Nonlinear Optimization Problems. The documentation is available at http://www.gams.com/.

BIBLIOGRAPHY

413

Nwankpa, C.: 2002, Voltage Stability Toolbox, version 2, Center for Electric Power Engineering, Drexel University. Available at http://power.ece.drexel.edu/research/VST/vst.htm. Padull es, J., Ault, G. W. and McDonald, J. R.: 2000, An Integrated SOFC Plant Dynamic Model for Power Systems Simulation, International Journal of Power Sources 86, 495500. Panofsky, H. A. and Dutton, J. A.: 1984, Atmospheric Turbulence; Models and Methods for Engineering Applications, John Wiley & Sons, New York. Pilotto, L. A. S., Roitman, M. and Alves, J. E. R.: 1989, Digital Control HVDC Converters, IEEE Transactions on Power Systems 4(2), 704711. Quintana, V. H. and Torres, G. L.: 1996, Nonlinear Optimal Power Flow in Rectangular Form via Primal-Dual Logarithmic Barrier Interior Point Method, Technical report, University of Waterloo. Technical Report 96-08. Report, I. C.: 1992, Readers Guide to SSR, IEEE Transactions on Power Apparatus and Systems 7(2), 150157. Report, I. P. S. E. C.: 1985, Terms, Denitions & Symbols for Subsynchronous Oscillations, IEEE Transactions on Power Apparatus and Systems 104(6), 1326 1334. Rosehart, W., Ca nizares, C. A. and Quintana, V. H.: 1999, Optimal Power Flow Incorporating Voltage Collapse Constraints, Proc. 1999 IEEE-PES Summer Meeting, Edmonton, Alberta. Rostamkolai, N., Wegner, C. A., Piwko, R. J., Elahi, H., Eitzmann, M. A., Garzi, G. and Tietz, P.: 1993, Control Design of Santo Tom e Bak-to-Back HVDC Link, IEEE Transactions on Power Systems 8(3), 12501256. Sato, M., Yamaji, K. and Sekita, M.: 1996, Development of a Hybrid Margin Angle Controller for HVDC Continuous Operation, IEEE Transactions on Power Systems 11(4), 17921798. Sauer, P. W. and Pai, M. A.: 1998, Power System Dynamics and Stability, Prentice Hall, Upper Saddle River, New Jersey. Schweppe, F., Wildes, J. and Rom, D.: 1970, Power System Static-State Estimation, Part I,II, III, IEEE Transactions on Power Apparatus and Systems 89(1), 120135. Schoder, K., Feliachi, A. and Hasanovi c, A.: 2003, PAT: A Power Analysis Toolbox for Matlab/Simulink, IEEE Transactions on Power Systems 18(1), 4247. Seydel, R.: 1994, Practical Bifurcation and Stability Analysis: From Equilibrium to Chaos, Second Edition, Springer-Verlag, New York.

414

BIBLIOGRAPHY

Shebl e, G. B.: 1998, Computational Auction Mechanism for Restructured Power Industry Operation, Kluwer Academic Publishers, Boston. Shome, T., Gole, A. M., Brandt, D. P. and Hamlin, R. J.: 1990, Adjusting Converter Control for Paralled DC Converters Using a Digital Transient Simulation Program, IEEE Transactions on Power Systems 5(1), 1219. Simiu, E. and Scanlan, R. H.: 1986, Wind Eects on Structures; an Introduction to Wind Engineering, John Wiley & Sons, New York. Slootweg, J. G.: 2003, Wind Power: Modelling and Impact on Power System Dynamics, PhD thesis, Delft University of Technology, Delft, Netherlands. Stott, B.: 1974, Review of load-Flow Calculation Methods, Proceedings of the IEEE 62(7), 916929. Stott, B. and Alsac, O.: 1974, Fast Decoupled Load Flow, IEEE Transactions on Power Apparatus and Systems PAS-93(3), 859869. Stott, B., Marino, J. L. and Alsac, O.: 1979, Review of Linear Programming Applied to Power System Rescheduling, Proc. PICA IEEE International Conference, pp. 142154. Sybille, G.: 2004, SimPowerSystems Users Guide, Version 4, published under sublicense from Hydro-Qu ebec, and The MathWorks, Inc. Available at http://www.mathworks.com. Taylor, C. W. and Lefebvre, S.: 1991, HVDC Controls for System Dynamic Performance, IEEE Transactions on Power Systems 6(2), 743752. Thorp, J., Phadke, A. and Karimi, K.: 1985, Real Time Voltage Phasor Measurement for Static State Estimation, IEEE Transactions on Power Apparatus and Systems 104(11), 39083103. Tinney, W. F. and Hart, C. E.: 1967, Power Flow Solution by Newtons Method, IEEE Transactions on Power Apparatus and Systems PAS-86, 14491460. Torres, G. L. and Quintana, V. H.: 1999, Introduction to Interior-Point Methods, IEEE PICA, Santa Clara, CA. van Amerongen, R.: 1989, A General-Purpose Version of the Fast Decoupled Loadow, IEEE Transactions on Power Systems 4(2), 760770. Venkataraman, S., Khammash, M. H. and Vittal, V.: 1995, Analysis and Synthesis of HVDC Controls for Robust Stability of Power Systems, IEEE Transactions on Power Systems 10(4), 19331938. Vournas, C. D., Potamianakis, E. G., Moors, C. and Cutsem, T. V.: 2004, An Educational Simulation Tool for Power System Control and Stability, IEEE Transactions on Power Systems 19(1), 4855.

BIBLIOGRAPHY

415

Wasynczuk, O., Man, D. T. and Sullivan, J. P.: 1981, Dynamic Behavior of a Class of Wind Turbine Generators during Random Wind Fluctuations, IEEE Transactions on Power Apparatus and Systems 100(6), 28372845. Working Group on a Common Format for Exchange of Solved Load Flow Data: 1973, Common Format for the Exchange of Solved Load Flow Data, IEEE Transactions on Power Apparatus and Systems 92(6), 19161925. Xie, K., Song, Y.-H., Stonham, J., Yu, E. and Liu, G.: 2000, Decomposition Model and Interior Point Methods for Optimal Spot Pricing of Electricity in Deregulation Environments, IEEE Transactions on Power Systems 15(1), 3950. Xu, W. and Mansour, Y.: 1994, Voltage Stability Analysis Using Generic Dynamic Load Models, IEEE Transactions on Power Systems 9(1). Yao-Nan-Yu: 1983, Electric Power System Dynamic, Academic Press, New York. Zhu, W., Mohler, R., Spee, R., Mittelstadt, W. and Maratukulam, D.: 1996, Hopf Bifurcations in a SMIB Power System with SSR, IEEE Transactions on Power Systems 11(3), 15791584. Zhu, Y. and Tomsovic, K.: 2002, Development of Models for Analyzing the LoadFollowing Performance of Microturbines and Fuel Cells, Electric Power System Research 62, 111. Zimmerman, R. D. and Gan, D.: 1997, Matpower, Documentation for version 2, Power System Engineering Research Center, Cornell University. Available at http://www.pserc.cornell.edu/matpower/matpower.html.

Index
A Asynchronous machine, see Induction motor Automatic Voltage Regulator, see AVR AVR, 74, 125, 131, 141, 143146, 253, 256, 345, 371 type I, 144 type II, 145 type III, 146 B Bus, 9394, 245, 246, 248 C CAC, 141, 154, 155157, 253 CC, 141, 154, 157, 253 Central Area Controller, see CAC Cluster Controller, see CC Constant power load, see PQ load Constant Speed Wind Turbines, see CSWT Continuation Power Flow, see CPF CPF, 3, 6, 15, 17, 3743, 94, 103, 229, 289291, 311, 312, 314, 317, 318, 341, 347, 354 CSWT, 4, 196199 CygWin, 295, 311, 312 D DDSG, 4, 204207 Demand, 35, 42, 104, 106107, 250, 314, 347 DFIG, 4, 199204 Direct Drive Synchronous Generator, see DDSG Doubly Fed Induction Generator, see DFIG 416 Dynamic phasor, see RLC circuit Dynamic shaft, 209210, 256 E Excitation, see AVR Exponential recovery load, 120121, 250 F FACTS, 4, 17, 167, 229, 311, 312, 348, 358 Fast Decoupled Power Flow, see FDPF FDPF, 25, 2627, 334 Flexible ac transmission system, see FACTS Frequency dependent load, 119120, 250 Frequency regulation, see TG Fuel cell, see Solid oxide fuel cell G GAMS, 4, 7, 10, 17, 250, 289, 291, 301305, 350, 358, 362, 363, 378, 383 GNU Linux, see Linux GNU Octave, see Octave H High voltage dc transmission system, see HVDC HVDC, 4, 17, 167, 184188, 311, 312, 348, 358 I IEEE, 16, 42, 43, 62, 73, 143, 242, 271, 314, 355, 362, 367, 374, 376, 380 Induction motor, 125, 135139

INDEX

417

double cage, 138 mechanical model, 136 order I, 136 order III, 137 order V, 138 single cage, 137 Innite bus, see Slack generator Interior Point Method, see IPM IPM, 47 L Line, see Transmission line Linux, 9, 10, 282, 295, 311, 383, 393 Load tap changer, see Tap changer LTC, see Tap Changer M Matlab, v, 3, 6, 912, 14, 16, 19, 21, 26, 65, 72, 74, 191, 259, 264, 265, 272274, 282, 287, 288, 290, 291, 312, 314, 321, 324, 336, 338, 346, 347, 353, 363, 365, 377380 Merhotras predictor-corrector method, 47, 342 N Newton-Raphson method, 321 Newton-Raphson method, 25, 2526, 36, 41, 67, 68, 70, 79, 334 O Octave, 3, 10, 295298, 336, 379 OLTC, see Tap Changer OPF, 3, 6, 15, 17, 35, 4754, 94, 103, 104, 107, 108, 229, 250, 289 292, 302, 303, 305, 342344, 347, 349351, 354, 358, 362, 381 Optimal Power Flow, see OPF Overexcitation limiter, see OXL OXL, 141, 152154, 253 P Phase shifter, see Phase shifting transformer Phase shifting transformer, 159, 164

Phasor Measurement Unit, see PMU PMU, 3, 14, 7990, 289291, 337, 344, 357 Power system stabilizer, see PSS PQ load, 36, 37, 42, 94, 101, 103, 107, 118, 119, 160, 246, 250, 252, 292, 382 Primary freq. regulation, see TG Primary voltage regulation, see AVR PSS, 141, 146152, 253 type I, 149 type II, 151 type III, 151 type IV, 152 type V, 152 PST, see Phase shifting transformer PV bus, see PV generator PV generator, 36, 37, 94, 100, 103, 125, 160, 168, 191, 209, 216, 250, 252, 255, 292 R RLC circuit, 211212 S Secondary voltage control, 141, 154 157, 253, 311, 312 Shaft, see Subsynchronous resonance, Dynamic shaft Shunt, 94, 102 Simulink, 7, 10, 12, 14, 16, 21, 123, 195, 229, 237, 240, 245, 246, 248, 252, 259267, 288, 292, 295, 335, 337, 349, 355, 369, 379 Slack bus, see Slack generator Slack generator, 94, 98, 134, 135, 209, 250, 252, 292 Solid oxide fuel cell, 216221, 255 SSSC, 4, 167, 178179, 348, 358 Statcom, 4, 167, 172174, 348, 358 Static Compensator, see Statcom Static Synchronous Series Compensator, see SSSC Static VAr compensator, see SVC Sub-transmission area, 221223

418

INDEX

Subsynchronous resonance, 212216 Supply, 35, 42, 103, 104, 250, 314, 347 SVC, 4, 167, 168170, 253, 255, 348, 358 Swing bus, see Slack generator Synchronous machine, 25, 125135, 141, 143, 146, 154, 209, 252 electromechanical model, 131 order II, 131 order III, 131 order IV, 132 order V, type 1, 132 order V, type 2, 133 order V, type 3, 133 order VI, 134 order VIII, 134 T Tap changer, 255 dynamic model, 159160 with embedded load, 160162 TCL, 122123, 250 TCSC, 4, 167, 170172, 348, 358 TCUL, see Tap Changer TG, 125, 141, 141143, 253 type I, 142 type II, 142 Thermostatically controlled load, see TCL Thyristor Controlled Series Compensator, see TCSC Transformer, 9598 Transmission line, 9495 Turbine governor, see TG U ULTC, see Tap Changer Unied PF controller, see UPFC Unix, 10, 282, 311 UPFC, 4, 167, 179184, 348, 358 UWPFLOW, 4, 7, 10, 17, 289, 291, 311314, 337, 351, 358, 378 V Voltage dependent load, 117118, 250

Voltage regulation, see AVR Voltage sourced inverter, see VSI VSI, 167 W Wind, 4, 191207, 229, 348, 358 Wind model, 191195 Windows, 9, 10, 282, 295, 302, 311, 312, 383 Z ZIP load, 118, 250, 252