Application of Object-Oriented Software Technology to Power System ...

Application of Object-Oriented Software Technology to Power System Analysis Package
Requirements for Restructured Software
1001990 Interim Report, November 2001 EPRI Project Manager T. A. Tayyib EPRI 3412 Hillview Avenue, Palo Alto, California 94304 PO Box 10412, Palo Alto, California 94303 USA 800.313.3774 650.855.2121 askepri@epri.com www.epri.com DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES
THIS DOCUMENT WAS PREPARED BY THE ORGANIZATION(S) NAMED BELOW AS AN ACCOUNT OF WORK SPONSORED OR COSPONSORED BY THE ELECTRIC POWER RESEARCH INSTITUTE, INC. (EPRI). NEITHER EPRI, ANY MEMBER OF EPRI, ANY COSPONSOR, THE ORGANIZATION(S) BELOW, NOR ANY PERSON ACTING ON BEHALF OF ANY OF THEM: (A) MAKES ANY WARRANTY OR REPRESENTATION WHATSOEVER, EXPRESS OR IMPLIED, (I) WITH RESPECT TO THE USE OF ANY INFORMATION, APPARATUS, METHOD, PROCESS, OR SIMILAR ITEM DISCLOSED IN THIS DOCUMENT, INCLUDING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR (II) THAT SUCH USE DOES NOT INFRINGE ON OR INTERFERE WITH PRIVATELY OWNED RIGHTS, INCLUDING ANY PARTY'S INTELLECTUAL PROPERTY, OR (III) THAT THIS DOCUMENT IS SUITABLE TO ANY PARTICULAR USER'S CIRCUMSTANCE; OR (B) ASSUMES RESPONSIBILITY FOR ANY DAMAGES OR OTHER LIABILITY WHATSOEVER (INCLUDING ANY CONSEQUENTIAL DAMAGES, EVEN IF EPRI OR ANY EPRI REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES) RESULTING FROM YOUR SELECTION OR USE OF THIS DOCUMENT OR ANY INFORMATION, APPARATUS, METHOD, PROCESS, OR SIMILAR ITEM DISCLOSED IN THIS DOCUMENT. ORGANIZATION(S) THAT PREPARED THIS DOCUMENT BEST Systems ORDERING INFORMATION
Requests for copies of this report should be directed to EPRI Customer Fulfillment, 1355 Willow Way, Suite 278, Concord, CA 94520, (800) 313-3774, press 2. Electric Power Research Institute and EPRI are registered service marks of the Electric Power Research Institute, Inc. EPRI. ELECTRIFY THE WORLD is a service mark of the Electric Power Research Institute, Inc. Copyright 2001 Electric Power Research Institute, Inc. All rights reserved. CITATIONS
This report was prepared by BEST Systems 14140 Midway Road, Suite 202 Dallas, TX 75244 Principal Investigators G. Rogers S. Sethu D. Wong This report describes research sponsored by EPRI. The report is a corporate document that should be cited in the literature in the following manner: Application of Object-Oriented Software Technology to Power System Analysis Package: Requirements for Restructured Software, EPRI, Palo Alto, CA: 2001. 1001990. iii REPORT SUMMARY Work on EPRI's Power System Analysis Package (PSAPAC) was started in the mid-seventies. PSAPAC consists of eight programs, which were enhanced several times with the last major enhancement taking place in the mid-nineties. Since then, new versions of these programs have been released with relatively minor changes. The user interface of PSAPAC has not been satisfactory, and some algorithms included in it also are out of date. The need for a major revision has been felt for some time. This project was launched to investigate how objectoriented software technology could be applied to this set of programs so that the package can best meet the needs of the utility industry. Background In planning and operating an electric power system, it is desirable to understand its static behavior and to determine its voltage, thermal, and power imbalances. This evaluation provides information about the strength of the entire power system and forms the basis on which more detailed studies can be undertaken to understand the dynamic limits of the system and its behavior under stressed conditions. PSAPAC includes an interactive power flow (IPFLOW), which is used to create a base case for system stability studies. The package includes two programs for small signal stability studies. Theses are known as the multi-area small signal stability (MASS) program and the program for eigenvalue analysis of large systems (PEALS). The package also has an extended transient mid-term stability program (ETMSP) and a longterm stability program (LTSP). In addition, it includes a program for calculating a power system's transfer limits (TLIM). These programs require a modern graphical user interface (GUI) and changes to accommodate new data preparation and processing needs of the utility industry. Objective To determine how PSAPAC may be restructured, in a cost-effective way, using object-oriented software technologies so that it meets new utility standards for processing efficiency and userfriendly graphical interfaces for EPRI software. Approach The project team first investigated PSAPAC's software architecture (all programs are written in the FORTRAN programming language). The team identified program components and mapped their relationships to data and data-structures used by the programs. The theory behind the algorithms was reviewed and connections of the theoretical computational procedures to the actual FORTRAN routines and other components were established. At the end of this process, the team intended to examine available object-oriented software technologies for applicability to modern power system analysis algorithms. The feasibility of applying these technologies to the v actual code used by PSAPAC could then be explored, and PSAPAC's restructuring, and its costeffectiveness, could be evaluated. Results Two tasks were undertaken simultaneously: theoretical study of the algorithms involved and analysis of the current software code. However, due to funding difficulties, these two tasks could not be completed. This report documents the work that has been completed and identifies what needs to be done to complete the study. EPRI Perspective In the new deregulated industry environment, power systems are increasingly facing stressed operating conditions, and the need for programs such as PSAPAC is increasing. At the same time, an urgent need exists to enhance these software tools for system planning personnel in the utility industry. Advances in graphical user interfaces and other analytical procedures need to be incorporated using object-oriented software technologies. This will insure that new utility industry requirements are met while costs of development and enhancement are minimized. The Grid Operation and Planning (GOP) area in EPRI has developed a set of software development tools, known as the GOP Graphics System (GGS). GGS is expected to streamline software development by systematically applying object-oriented software technologies. This process will increase the user friendliness of EPRI software by providing a consistent look and feel and increase processing efficiency while reducing software development and enhancement costs. This study of PSAPAC has been performed with these goals in mind. Keywords Power system planning Transient stability analysis Object-oriented software design Graphical user interface vi ABSTRACT
EPRI's Power System Analysis Package (PSAPAC) was developed in the mid-seventies, and several versions of the enhanced software have been released in the last two decades. This package consists of eight programs. PSAPAC's user interface has not been satisfactory, and some algorithms included in the package also are out of date. The need for a major revision has been felt for some time. This project was launched to investigate how object-oriented software technology could be applied to this set of programs so that it can best meet the needs of the utility industry. These needs include increased processing efficiency and a user-friendly graphical interface. Two tasks were undertaken concurrently: theoretical study of PSAPAC's algorithms and analysis of the current software code. However, due to funding difficulties, these two tasks could not be completed. This report documents the work that has been completed and identifies what needs to be done to complete the study. vii CONTENTS 1 INTRODUCTION ................................................................................................................. 1-1 1.1 Data Requirements ................................................................................................... 1-2 2 INTERACTIVE POWER FLOW ........................................................................................... 2-1 2.1 2.1 Component Modeling ................................................................................................ 2-1 Algorithm Description ................................................................................................ 2-2 3 SMALL SIGNAL STABILITY PROGRAM ........................................................................... 3-1 3.1 Multi-Area Small Signal Stability Program (MASS).................................................... 3-1 Algorithm Description........................................................................................ 3-1 Software Architecture and Data Requirements ................................................. 3-1 Algorithm Description.......................................................................................3-16 Software Architecture and Data Requirements ................................................3-16 3.1.1 3.1.2 3.2 3.2.1 3.2.2 Program for Eigenvalue Analysis of large Systems (PEALS)....................................3-16 4 EXTENDED TRANSIENT- MIDTERM STABILITY PROGRAM ........................................... 4-1 4.1 4.2 4.3 Modeling in ETMSP .................................................................................................. 4-1 Algorithm Description ................................................................................................ 4-2 Software Architecture and Data Requirements.......................................................... 4-2 5 DYNAMIC REDUCTION PROGRAM................................................................................... 5-1 5.1 Algorithm Description ................................................................................................ 5-1 5.2 Software Architecture and Data Requirements ............................................................. 5-1 6 VOLTAGE STABILITY PROGRAM..................................................................................... 6-1 6.1 Algorithm Description ................................................................................................ 6-1 7 PROJECT STATUS............................................................................................................. 7-1 A REFERENCES.................................................................................................................... A-1 ix LIST OF TABLES
Table 1-1 PSAPAC Input Data Requirements ...................................................................... 1-3 Table 1-2 PSAPAC Input Data Requirements (Contd.) ........................................................ 1-4 Table 3-1 MASS Execution Stage 1 ........................................................................................ 3-2 Table 3-2 MASS Execution Stage 2 ........................................................................................ 3-3 Table 3-3 MASS Execution Stage 3 ........................................................................................ 3-4 Table 3-4 MASS Execution Stage 4 ........................................................................................ 3-5 Table 3-5 MASS Execution Stage 4 (Contd.) .......................................................................... 3-6 Table 3-6 MASS Execution Stage 5 ........................................................................................ 3-7 Table 3-7 MASS Execution Stage 5 (Contd.) .......................................................................... 3-8 Table 3-8 MASS Execution Stage 5 (Contd.) .......................................................................... 3-9 Table 3-9 MASS Execution Stage 6 .......................................................................................3-10 Table 3-10 MASS Execution Stage 6 (Contd.) .......................................................................3-11 Table 3-11 MASS Execution Stage 7 .....................................................................................3-12 Table 3-12 MASS Execution Stage 7 (Contd.) .......................................................................3-13 Table 3-13 MASS Execution Stage 8 .....................................................................................3-14 Table 3-14 MASS Execution Stage 9 .....................................................................................3-15 Table 3-15 MASS Execution Stage 10 ...................................................................................3-16 Table 3-16 PEALS Execution Stage 1....................................................................................3-17 Table 3-17 PEALS Execution Stage 2....................................................................................3-18 Table 3-18 PEALS Execution Stage 3....................................................................................3-19 Table 3-19 PEALS Execution Stage 4....................................................................................3-20 Table 3-20 PEALS Execution Stage 5....................................................................................3-21 Table 3-21 PEALS Execution Stage 5 (Contd.) ......................................................................3-22 Table 3-22 PEALS Execution Stage 5 (Contd.) ......................................................................3-23 Table 3-23 PEALS Execution Stage 6....................................................................................3-24 Table 3-24 PEALS Execution Stage 6 (Contd.) ......................................................................3-25 Table 3-25 PEALS Execution Stage 7....................................................................................3-26 Table 3-26 PEALS Execution Stage 7 (Contd.) ......................................................................3-27 Table 3-27 PEALS Execution Stage 8....................................................................................3-28 Table 3-28 PEALS Execution Stage 8 (Contd.) ......................................................................3-29 Table 3-29 PEALS Execution Stage 9....................................................................................3-30 Table 3-30 PEALS Execution Stage 9 (Contd.) ......................................................................3-31 xi Table 3-31 PEALS Execution Stage 10..................................................................................3-32 Table 4-1 ETMSP Execution Stage 1...................................................................................... 4-2 Table 4-2 ETMSP Execution Stage 1 (Contd.) ........................................................................ 4-3 Table 4-3 ETMSP Execution Stage 2...................................................................................... 4-4 Table 4-4 ETMSP Execution Stage 2 (Contd.) ........................................................................ 4-5 Table 4-5 ETMSP Execution Stage 2 (Contd.) ........................................................................ 4-6 Table 4-6 ETMSP Execution Stage 3...................................................................................... 4-7 Table 4-7 ETMSP Execution Stage 3 (Contd.) ........................................................................ 4-8 Table 4-8 ETMSP Execution Stage 3 (Contd.) ........................................................................ 4-9 Table 4-9 ETMSP Execution Stage 3 (Contd.) .......................................................................4-10 Table 4-10 ETMSP Execution Stage 4...................................................................................4-10 Table 4-11 ETMSP Execution Stage 5...................................................................................4-11 Table 4-12 ETMSP Execution Stage 6...................................................................................4-12 Table 4-13 ETMSP Execution Stage 7...................................................................................4-13 Table 4-14 ETMSP Execution Stage 7 (Contd.) .....................................................................4-14 Table 4-15 ETMSP Execution Stage 8...................................................................................4-14 Table 4-16 ETMSP Execution Stage 9...................................................................................4-15 Table 4-17 ETMSP Execution Stage 9 (Contd) ......................................................................4-16 Table 4-18 ETMSP Execution Stage 9 (Contd.) .....................................................................4-17 Table 4-19 ETMSP Execution Stage 10.................................................................................4-18 Table 4-20 ETMSP Execution Stage 10 (Contd.) ...................................................................4-19 Table 4-21 ETMSP Execution Stage 10 (Contd.) ...................................................................4-20 Table 4-22 ETMSP Execution Stage 11.................................................................................4-21 Table 4-23 ETMSP Execution Stage 11 (Contd.) ...................................................................4-22 Table 4-24 ETMSP Execution Stage 12.................................................................................4-23 Table 4-25 ETMSP Execution Stage 12 (Contd.) ...................................................................4-24 Table 4-26 ETMSP Execution Stage 13.................................................................................4-25 Table 4-27 ETMSP Execution Stage 13 (Contd.) ...................................................................4-26 Table 4-28 ETMSP Execution Stage 13 (Contd.) ...................................................................4-27 Table 5-1 DYNRED Execution Stage 1 ................................................................................... 5-2 Table 5-2 DYNRED Execution Stage 1 (Contd.) ..................................................................... 5-3 Table 5-3 DYNRED Execution Stage 2 ................................................................................... 5-4 Table 5-4 DYNRED Execution Stage 2 (Contd.) ..................................................................... 5-5 Table 5-5 DYNRED Execution Stage 3 ................................................................................... 5-6 Table 5-6 DYNRED Execution Stage 3 (Contd.) ..................................................................... 5-7 Table 5-7 DYNRED Execution Stage 3 (Contd.) ..................................................................... 5-8 Table 5-8 DYNRED Execution Stage 3 (Contd.) ..................................................................... 5-9 Table 5-9 DYNRED Execution Stage 4 ..................................................................................5-10 Table 5-10 DYNRED Execution Stage 5 ................................................................................5-11 xii Table 5-11 DYNRED Execution Stage 5 (Contd.) ..................................................................5-12 Table 5-12 DYNRED Execution Stage 5 (Contd.) ..................................................................5-13 Table 5-13 DYNRED Execution Stage 5 (Contd.) ..................................................................5-14 Table 5-14 DYNRED Execution Stage 6 ................................................................................5-15 Table 5-15 DYNRED Execution Stage 6 (Contd.) ..................................................................5-16 Table 5-16 DYNRED Execution Stage 7 ................................................................................5-17 Table 5-17 DYNRED Execution Stage 8 ................................................................................5-17 Table 5-18 DYNRED Execution Stage 9 ................................................................................5-18 Table 5-19 DYNRED Execution Stage 10 ..............................................................................5-18 Table 5-20 DYNRED Execution Stage 11 ..............................................................................5-19 Table 5-21 DYNRED Execution Stage 12 ..............................................................................5-20 Table 5-22 DYNRED Execution Stage 12 (Contd.) ................................................................5-21 Table 5-23 DYNRED Execution Stage 12 (Contd.) ................................................................5-22 Table 5-24 DYNRED Execution Stage 13 ..............................................................................5-23 Table 5-25 DYNRED Execution Stage 14 ..............................................................................5-24 xiii 1
INTRODUCTION
EPRI's Power System Analysis Package (PSAPAC) consists of eight programs, which are used for transient stability studies of a power system. Development work for this package was started in the mid-seventies. The programs were enhanced several times and the last major enhancement took place in the mid-nineties. Since then, new versions of these programs have been released with relatively minor changes. Originally, the intent was to produce compatible production grade power system analysis programs for steady state power system analysis, small signal stability analysis and transient stability analysis. Currently, the following programs form PSAPAC: Interactive Power Flow (IPFLOW): In planning and operating an electric power system, it is desirable to understand its static behavior and to determine its voltage, thermal and power imbalances. This evaluation provides information about the strength of the entire power system and forms the basis on which more detailed studies can be undertaken to understand the dynamic limits of the system and its behavior under stressed conditions. IPFLOW is used for creating a base case for system stability studies. Small Signal Stability Program (SSSP): Small Signal Stability is the ability of the system to maintain stability under small disturbances. The package includes two programs for Small Signal Stability Studies. Theses are known as Multi-Area Small Signal Stability (MASS) program and the Program for Eigenvalue Analysis of large Systems (PEALS). Extended Transient Mid-term Stability Program (ETMSP): Transient stability is the ability of a power system to maintain synchronism when subjected to a severe disturbance. In the resulting system response, the changes in the dynamic variables are large and the nonlinear behavior of the system is important. Mid-term stability is essentially an extension of transient stability to cover a longer period of time up to two minutes. This program is used for study of such a phenomenon. Long Term Stability Program (LTSP): This program has extended modeling of boiler and nuclear reactors. These models are not required for the other dynamic programs. It is used for study of very severe disturbances lasting over two minutes. Dynamic Reduction Program (DYNRED): This program is used for creation of a reduced model for a power system, maintaining its dynamic characteristics, so that the computational burden for a study is reduced. Voltage Stability Program (VSTAB): The program is used for study of the voltage collapse phenomenon. Transfer Limits Program (TLIM): This program calculates the power transfer limit of an interface, or a set of tie lines. 1-1 Introduction In the new deregulated industry environment, power systems are increasingly facing stressed conditions of operation and the degree and frequency of stability problems is increasing. There is an urgent need for enhancement of software tools for use by system planning personnel in the utility industry. Advances in Graphical User Interfaces and other analytical procedures need to be incorporated using object-oriented software technologies, so that the new requirements of the utility industry are met, while the costs of development and enhancement are also minimized. The Grid Operation and Planning (GOP) area in EPRI has developed a set of software development tools, known as the GOP Graphics System (GGS). GGS is expected to streamline the software development process, by providing systematic application of object-oriented software technologies, to increase user friendliness of EPRI software by providing a consistent look and feel, and increasing processing efficiency, while reducing cost of software development and enhancement. The User Interface of PSAPAC has not been satisfactory and some of the algorithms included in it are also becoming out of date. The need for a major revision has been felt for quite some time. This project was launched to investigate how the object-oriented software technology could be applied to this set of programs, so that they may meet the needs of the utility industry at this time. All these programs require a modern Graphical User Interface (GUI) and also require changes to accommodate new data preparation and processing requirements of the utility industry. This study of PSAPAC has been undertaken in this context. The project team decided to first investigate the software architecture of PSAPAC. All programs are written in the FORTRAN programming language. The program components needed to be identified and their relationships were to be mapped to data and data-structures used by the programs. Along with this process the theory behind the algorithms needed to be reviewed and the connections of the theoretical computational procedures to the actual FORTRAN routines and other components had to be established. At the end of this process, the available object-oriented software technologies were to be examined for applicability to modern power system analysis algorithms. The feasibility of application of these technologies to the actual code used by PSAPAC could then be explored and the restructuring involved, and its cost-effectiveness, could be evaluated. Two tasks were undertaken simultaneously theoretical study of the algorithms involved and analysis of the current software code. However, due to funding difficulties, these two tasks could not be completed. After the completion of these two tasks, a study of the currently available object-oriented software technologies is to be undertaken. Once the applicability of these technologies has been determined, then the feasibility of restructuring of all the programs of this package would be determined. The first objective would be to enhance the software computationally, increasing its efficiency and convenience of use for the user community. The second objective would be to enhance the GUI for the package to that it has a consistent look and feel and makes it easy for users to navigate through the system. Thus an increased user-friendliness of the GUI is also a major objective. 1.1 Data Requirements The data requirements for the steady state analysis programs (IPFLOW and VSTAB) are compatible except for the specifications of the different types of analysis. The data requirements are largely the same for the dynamic programs (SSSP, ETMSP, DYNRED and LTSP). The main 1-2 Introduction functionality of all the important programs included in the package, along with the input data requirements, is given in Tables 1-1 and 1-2.
Table 1-1 PSAPAC Input Data Requirements Program IPFLOW Usage Solve steady-state voltage and power flow conditions for various loads, generation dispatch, and contingencies. Input Data Required Bus data Generator data Branch data Transformer data Area interchange data Switched shunt data DC line, bus and converter data Solution Control data Solved powerflow case (Base Case Power flow) Load Conversion data Load Level Change data Generator Dispatch data Branch Rating data Contingency data Generator Capability data Governor Response data AGC Action data Economic Dispatch data Detailed Generator data Induction Motor data Static Var Compensator data ULTC Transformer data Solved powerflow case (Base Case Power flow) model data: 1. Generator & associated control data 2. Induction Motor data 3. Static Var Compensator data 4. TCSC Data 5. TCBR/TCBC data 6. Load representation data 7. Automatic load shedding/restoration data 8. ULTC Transformer data 9. HVDC & associated control data 10.System Relaying data 11.Infinite Bus data Simulation Monitoring data. Simulation specification data Simulation control data VSTAB Perform simulation to asses the voltage stability of a large complex power system, which provides information regarding both the proximity to, and mechanisms of voltage instability. ETMSP Perform time simulation to asses the large signal stability of a larger complex power systems, which provides information regarding both the proximity to, and mechanisms of transient instability. OAP Program designed to work with the channel files generated by ETMSP. It can extract and display channels from many channel files. 1-3 Introduction
Table 1-2 PSAPAC Input Data Requirements (Contd.) Program Usage Program that forms the state matrix of an interconnected power system with a limit of 800 states, calculates all the eigenvalues and eigenvectors of this matrix by the QR algorithm. Program that uses either the AESOPS or the modified Arnoldi method to calculate the `selected' eigenvalues and the associated eigenvectors. Program was designed to be used in the analysis of a large power system, and practically has no restriction on the number of dynamic states. Input Data Required Solved powerflow case (Base Case Power flow) model data: 1.Generator & associated control data 2.Induction Motor data 3.Static Var Compensator data 4.TCSC Data 5.TCBR/TCBC data 6.Load representation data 7.HVDC & associated control data 8.Infinite Bus data Solved powerflow case(Base Case Power flow) model data: 1.Generator & associated control data 2.Induction Motor data 3.Static Var Compensator data 4.TCSC Data 5.TCBR/TCBC data 6.Load representation data 7.HVDC & associated control data 8.Infinite Bus data MASS PEALS Program that uses either Weak Coupling, Two Time Scale, or Linear Time Simulation method to identify coherent groups of generators. It then produces a reduced equivalent power system DYNRED by respectively aggregrating coherent generators to reduce the order of generator model and reducing the network size of the system which are remote from the interested area. Solved powerflow case(Base Case Power flow) model data: 1.Generator & associated controls data 2.Induction Motor data 3.Static Var Compensator data 4.TCSC Data 5.TCBR/TCBC data 6.Load repersation data 7.HVDC & associated control data 1-4 2
INTERACTIVE POWER FLOW
The Interactive Power Flow Program (IPFLOW) is used to analyze the steady state of an ac interconnected power system. Given data which describes the power system's transmission lines, the topology of their interconnection, and the loads and generation at the networks nodes, IPFLOW calculates the bus voltage magnitudes and phase angles which satisfy the supplied data. 2.1 Component Modeling Modeling of transmission lines is essentially the same as in other production grade programs. Lines may be modeled to represent cables or overhead transmission, or they may be used to model transformers. Transformers may have fixed taps and phase, or the taps or phases may be used for control. Transformer Tap controls either the voltage magnitude at a bus or the reactive power flow through the transformer. Transformer Phase controls the power flow though the transformer. Multiple loads may be placed at any bus. Each load may consist of a combination of any of the following types of load: Constant Active and Reactive Power Constant Active and Reactive Current Constant Active and Reactive Admittance Steady State Induction Motor Exponential Voltage Dependent Load The induction motor model is unique to IPFLOW. Multiple generators may be placed at a bus. Generators may either control voltage using their reactive power output, or voltage and angle using both reactive and active power output. In some cases the active power output is used to control area-interchange power. Multiple generators may control a common remote bus voltage. IPFLOW is able to model the generator capability curve and the operating limits are calculated as a function of voltage. This is most useful in stressed systems operating close to voltage instability. Reactive shunts may be placed at any bus. Shunts may be switched or continuously varied to hold the shunt bus voltage or a remote bus voltage. The following FACTS devices are modeled: SVC - as a continuously varying shunt TCSC - as a variable reactance line between two buses Thyristor Controlled Tap Changer - discrete control of voltage, continuous control of VAR flow Thyristor Controlled Phase Shifter - continuous control of power flow. 2-1 Interactive Power Flow Two-terminal and multi-terminal HVDC links are modeled. In the AC/DC system model, the interface to the dc system model is the DC converter transformers' HT buses. The load at these buses is a function of the voltage, the tap position of the transformer and the firing angle, or extinction angle of the rectifier or inverter. The solution is an iterative procedure in which the ac system is solved, the dc system is solved with the updated HT voltage magnitude to give the modified load at the HT buses, and so on to convergence. 2.1 Algorithm Description For a power system, the steady-state equations which must be solved are nonlinear equations. In IPFLOW there are six methods of solution from which a user may choose [10]: XB - Fast Decoupled BX - Fast Decoupled Full Newton-Raphson Combination Fast Decoupled and Newton-Raphson Localized Solution DC Power Flow 2-2 3
SMALL SIGNAL STABILITY PROGRAM
When a power system experiences disturbance, the generators oscillate against the load, creating large or small signal disturbances. Large signal disturbances result from significant topological changes, such as loss of power lines, generators, or other equipment. In turn, these disturbances cause small signal oscillations that radiate to distant facilities. Small signal oscillations may also occur when control systems interact with local conditions in the power system. The small signal stability program (SSSP) was developed to meet the need of power system planners and operators to understand these electromechanical oscillations which are inherent in interconnected power systems. The oscillations may become unstable and lead to catastrophic system failure as they grow in magnitude. It is therefore important to be able to identify such oscillations, determine their physical origin and be able to design controllers, or redesign existing controllers so that the oscillations remain stable beyond the thermal transmission operating limits. In the short term, it may be necessary to apply operating limits to ensure that oscillations remain stable. The dynamic models in SSSP, are linearized versions of the dynamic models available in the main transient stability program, ETMSP. The linearization is performed analytically and takes into account the non-linear aspects of many of the power system components. SSSP contains two analysis programs, Multi-Area Small Signal Stability (MASS) program, and a Program for Eigenvalue Analysis of Large Systems (PEALS). 3.1 Multi-Area Small Signal Stability Program (MASS) 3.1.1 Algorithm Description MASS is a tool for full modal analysis. It is limited, however, to systems having less than 800 dynamic states. For small to medium sized systems, the smaller number of dynamic states allow the use of full modal analysis on the linear system model. The system dynamics are defined by the Eigenvalues and the left and right eigenvectors of the state matrix. Each Eigenvalue is associated with a particular mode of oscillation of the system which varies exponentially with time. Thus, MASS forms the overall system state matrix and calculates all Eigenvalues and Eigenvectors [15]. 3.1.2 Software Architecture and Data Requirements The architecture of the program, its execution logic and the associated data structures are described in the following tables [18]. 3-1 Small Signal Stability Program
Table 3-1 MASS Execution Stage 1 MASS Key Routines Key Arrays Pointers and Counters Label Common SCRAT4 in include file CNSABC: MNEW : Packed bus number in input order AC Transmission Data: 1 Loadflow Bus Data: Stores in arrays GMWX, BMWX and BUDAT 2 Line & Transformeradmittance Data: Stores in array GBFT 3 Transformer Basic Data Stores in arrays ITRAN and TRANS 4 ULTC Data: Stores in arrays ISCFRM 5 Transformer Z Correction Data: Stores in array CORTBL 6 Sectional & Compensated Line Data: Stores in arrays LCONE, NEXTSL, PSELIN and EQPI Note: All arrays mentioned in 1 to 6 above are in label common block SCRAT1 of include file CNLFDA HVDC Transmission Data: he variables and arrays for this section are in include files GRDC01, GRDC02, and GRDC03 1 Converter Data: Stores in arrays IDC, DCEXST, IDCFRE, DCCNAM, BDIND, VABASE, CNGRP, CNZONE, NSBRDG, XCOHMS, TAPNOM, TAPSTP, AMINTP, AMAXTP, ALPMIN, ALPMAX, GAMMIN, BZIND, STYPE, QINV, CNVMVA, DCPMIN, DCPMAX, DCQMIN, DCQMAX, and BIASO 2 Line Data: Stores in arrays IDCL,IDCFRL, DCLNAM, DLGRP, DLOWN, DLZONE, RDCOHM, XLDC, CDCA, CDCB, and DCIMAX 3 Breaker Data: Stores in arrays IDCB, IDCFRB, DCBNAM, DBGRP, DBOWN, DBZONE, and IBSTAT 4 Node, Group name and Solution Data: Stores in arrays IDCNOD,GROUP,CALPHA, XACURR, TAPPOS, PHIDC, PAHVDC, QAHVDC, VDCONV, XDCONV, VDCNOD, and XDNODE 5 Base data: Stores in variables PABASE, VDBASE and PDBASE Read in solved case loadflow LOADFL Store loadflow data to MASS ! FLOPSA* ! FLOPSF scratch arrays ! ! PSFINT ! ! PSADSC ! ! PSABUS ! ! BSORT2 ! ! PSAGEN ! ! PSFBRN ! ! PSATIC ! ! PSASWS ! ! PSFRDC ! ! GTDCNA ! ! CHKBUS * Routine not required 3-2 Small Signal Stability Program
Table 3-2 MASS Execution Stage 2 MASS Read in the dynamic model data Check existence of device bus Store data to MASS scratch arrays Routines ! DYNDAT OR MDYNDA ! ! RDGEDA, MDGEDA ! ! ! RCGEDA MCGEDA ! ! RIMODA, MIMODA ! ! RSVCDA, MSVCDA ! ! RULTCD ! ! RRANDA, MRANDA ! ! RSTPDA, MSTPDA ! ! RSDBDA, MSDBDA ! ! RNLBDA, MNLBDA ! ! RUDMDA ! ! UDREAD ! ! ! VALNAM ! ! ! URACSY ! ! ! ! URREAD ! ! ! ! ! URGETX ! ! ! URBIN ! ! ! ! URRED ! ! ! ! ! ADDINT ! ! ! ! ! UDDBLK ! ! ! ! ! ACFIND ! ! ! ! ! USTRNG ! ! ! ! URSTRC Key Arrays Pointers and Counters Noted Label Common SCRAT4 in include file CNSABC Label common Scrat5 in include file CNJDAT: IGENDA: Detailed generator control types JGENDA: Detailed generator data array (TDDAT) offset IGENDB : Classical generator bus status JGENDA: Classical generator data array (TDDAT) offset NIFBUS: Bus number of infinite buses JMOTB: Bus number of Induction Motors JJMDAT: Induction motor data array (TDDAT) offset JJNLD: Non-linear load data array (TDDAT) offset JJRDAT: RANI data array(TDDAT) offset JJTPDA: STP data array (TDDAT) offset JJTDAT: STC data array (TDDAT) offset JJPDAT: SPS data array (TDDAT) offset JSDBDA: SDB data array (TDDAT) offset JSAB: SVC bus number JJSDAT: SVC data array (TDDAT) offset JJTSCD: T' controlled load data array (TDDAT) offset NGBUS: LF bus number of detailed generator NTHGEN: Starting generator in order of bus number NEXGEN: Next generator on the same bus IDSTAT: Generator data change status IPQFA : Fractions of generation Label Common GENIDC in include file CNJDAT: GENID: Generator circuit identity INDMID: Induction motor circuit identity Label common TB82 in include file CNJPT: JNT # Detailed generators bus LJNT # Detailed generators JBFT # Classical generators bus JIFBUS # Infinite buses JMOTL # Induction motors JNLD # Nonlinear loads JRANI # RANI JTCPS # STP/PH JSDB # Static dynamicbrakes JSVC # SVC Label common SCRAT6 in include file CNTMDA: JTLN: Total word length of all ac model data TDDAT: Array stores all AC model data T' = Theromstatically 3-3 Small Signal Stability Program
Table 3-3 MASS Execution Stage 3 MASS Read in Response/Transfer function output specification Store data to MASS scratch arrays Key Routines ! RESPSE ! ! REDLIN ! ! GETLIN ! ! BUSCID ! ! CHKBUS ! ! BUSNO ! ! LINEID ! ! CHKBUS ! ! LOLINE ! ! FRECKL ! ! INITIA Key Arrays Pointers and Counters Label Common FREQ1 in include file CNFREQ: JFRAME : Frame Titles Label Common FREQ2 in include file CNFREQ: INFREQ : Array stores the input signal data OUTDAT : Array stores output quantities MARKER : Stores the pointer to array OUTDAT and number of output variables in frame order Counter NPOINT : Number of frequency points Flag NAXES : Indicates the axes type for plotting FRQPOT : Array stores the values of frequency points 3-4 Small Signal Stability Program
Table 3-4 MASS Execution Stage 4 MASS Load Dynamic Model Data Key Routines LDYNDA: ! ! LDGEDA ! ! LCGEDA ! ! LIMODA ! ! LSVCDA ! ! LULTCD ! ! LRANDA ! ! LSTPDA ! ! LSDBDA ! ! LNLBDA ! ! LUMDA ! ! REBUS Key Arrays Pointers and Counters Noted Label Common TB82 in include file CNJPT Noted Label Common PT in Include file CNPT Noted Label Common IPTR in include file CNIPTR Noted Label Common SCRAT6 include file CNMTDA Noted Label Common SCRAT4 in include file CNSABC Noted Label Common SCRAT5 in include file CNJDAT Label Common B1 in include file CNB1: JGDAT : Offset value of generator data IDGE : Generator data input format code ISAT : Generator saturation representation code IPFG : %P loading of a generator IQFG : %Q loading of a generator Label Common B1C in include file CNB1: NDGV,NDMC : Generator ID, Induction motor ID Label Common B3 in include file CNB3: XPD : X'd of generator GTLCM : Synchronous motor load and speed coefficient JMASS : Pointer to DDAT array for multi-mass data MASS : Number of multi-mass represented JTHDGE : Generator representation code NTHDGE : Generator representation code (change case) Label Common CNNEW in include file CNNNEW: NNEW : Program bus number in LF bus order Label Common MDAT in include file CNMDAT: Counter JLN : Starting position of next model data DDAT/IDDAT : Stores all model data Label Common B81 & B82 in include file CNB8: ICONTA : Detailed generator control type JCONTA : Pointer to `DDAT' array for model data Label Common SCRAT8 in include file CNREN: NINF : Stores the LF number of ifinite bus NCGE : Stores the LF number of classical generators NDGE : Stores the LF number of detailed generators NMOTB : Stores the LF number of induction motors NSAB : Stores the LF number of SVC NLDB : Stores the LF number of nonlinear loads 3-5 Small Signal Stability Program
Table 3-5 MASS Execution Stage 4 (Contd.) MASS Key Routines Key Arrays Pointers and Counters Label Common G1 in include file CNG1: IGV : Stores the type of governor on the generator JGV : Stores the pointer to DDAT of governor data IFV : Stores the linearity compensation code for governor ILN : Stores the fast valving code for governor Label Common MPAR in include file CNMPAR: KTHDMO : Stores flag for calculating A,B.C,D matrices JMDAT : Array stores offset to induction motor data PBBUS : Stores the equivalent susceptance due to MX 3-6 Small Signal Stability Program
Table 3-6 MASS Execution Stage 5 Key Routines MASS ! LDYNDA Renumber Buses in the following ! ! REBUS order: 01. Detailed generators 02. Classical generators 03. Induction motors 04. Static var compensators 05. TCSC,TCTC/TCPR,TCBR/TCBC 06. HVDC Converters 07. Other Nonlinear loads 08. Remote sensing buses 09. Remaining buses(except Infinite) 10. Infinite buses Key Arrays Pointers and Counters Noted Label Common SACRAT4 in include file CNSABC Noted Label Common NNEW in include file CNNNEW Noted Label Common TB82 in include file CNJPT Noted Label Common SCRAT5 in include file CNJDAT Noted Label SCRAT8 in include file CNREN Noted Label Common B3 in include file CNB3 Label Common IPTR in include file CNIPTR: NBARZN : Bus area & zone number NOLD : LF bus number in renumbered order NEXTIM : Index array to link same bus I'motor NMOLD : LF bus number of induction motor NLDOLD : Program bus number of nonlinear Load NTHL : Nonlinear Load type pointer NVOLD : Monitored bus number NTHG : Starting generator of a bus KTHGE : The kth generator in program bus order NMOLD : Bus number of inductor motors NROLD : Bus number of SVCS KTHSR : The kth SVC in program bus order Label Common PT in include file CNPT: (This Common contains most of the counters and pointers of the program) NT : # detailed generators NBFT : # classical generators NTT: NT+NBFT IFNBUS : # infinite buses NLBS : # buses with voltage exponential load NKCUR : # constant current load NKMVA : # constant MVA Load NMOTL : # Induction motors NSVC : # SVC NRANI : # RANI NTCPS : # STC/SPS NSDB : # SDB NTSCL : # Thermostatically Controlled Loads NVBS : # monitored buses 3-7 Small Signal Stability Program
Table 3-7 MASS Execution Stage 5 (Contd.) MASS Key Routines Key Arrays Pointers and Counters NPFL : # monitored Lines KCDC : # DC converters MDCLK : # 2 terminal DC Links NADX : # new buses to add NTTL : The last generator that has a governor IPNODE : Last detailed generator bus IPNODX : The next bus follows IPNODE ICNODE : Last classical generator bus ICNODX : The next bus follows ICNODE IMNODE : Last induction motor bus IMNODX : The next bus follows IMNODE ITNODE : Last Thermostatisticall controlled Load ITNODX : The next bus follows ITNODE ISVNOE : Last SVC bus ISVNX : The next bus follows ISVNOE ITCNOE : Last ULTC bus ITCNOX : The next bus follows ICTNOE ILNODE : Last Voltage-Exponential load bus ILNODX : The next bus follows ILNODE IRANOE : Last RANI bus IRANOX : The next bus follows IRANOE ITPNOE : Last STP/SPS bus ITPNOX : The next bus follows ITPNOE IDBNOE : Last SDB bus IDBNOX : The next bus follows IDBNOE IDCNOE : Last converter bus IDCNOX : The next bus follows IDCNOE ITRF : # transformers NL : # Loadflow Lines NSEL : # sectional Lines NLFBUS : # loadflow buses LASTV! : Last bus requires voltage computation LASTV2 : LASTV1+monitored buses requires LASTCU : Last bus that has current injection NLAST : # buses excluding infinite buses NETBRA : # off diagonal elements in Y matrix JSOUR : # current injection buses NAUT : # automatic switching schemes NRF : Program bus number of reference generator LRTEMP : Counter for automatic relay LUFVDB : Starting position of UFVDB scheme LUFREQ : Starting position of CF-1 relays LGUFRE : Starting position of G'underfreq. Relay 3-8 Small Signal Stability Program
Table 3-8 MASS Execution Stage 5 (Contd.) MASS Key Routines Key Arrays Pointers and Counters LVDLDR : S'position of V'difference L'droping Relay LSCGRE : S'position of Series Capacitor Gap Relay LUFLTE : S'position of Underfreq. Line Tripping Relay LDISTR : S'position of Distance Relay LRCPRA : S'position of Rate of Power Change Relay IKPNOD : Last Constant Current & Constant MVA bus IKPNOX : The next bus follows IKPNOD NLOD : # buses with Static Nonlinear Load NKLOAD : # reduced Static Nonlinear Load buses NDLR : # lines with Automatic Reclosing LOBUS : load bus simplification flag IKCUR : # equivalent constant current loads IKMVA : # equivalent constant MVA loads LBOLD : Load bus simplification flag NAUTB : # automatic relay buses NACTOT : total # of AC converters & remote buses NACBUS : # AC Converter buses NACLIN : Total number of AC lines NISBUS : # isolated buses Label Common B8 in include file CNB8: IEX : Exciter type ISTAB : Stabilizer type IFLTR : Torsional filter type IUAL : Under excitation Limiter Type JEX : Exciter data offset JSTAB : Stabilizer data offset JFLTR : Torsional filter data offset JUAL : Under excitation limiter data offset M' = monitored; V' = Voltage; G' = Generator; S' = Starting; L' = Load; # = Number of 3-9 Small Signal Stability Program
Table 3-9 MASS Execution Stage 6 MASS Network Initialization: (MASS use real 2x2 network formulation) 01. Build the self admittance of network matrix based on loadflow and ynamic models 02. Net and print generators and loads 03. Initialize the nonlinear loads 04. Build load & generator current arrays 05. Store AC buses of the HVDC system 06. Renumber the branch data 07. Compute and store the branch admittance to complete the building of Y-matrix 08. Write the network to files 09. Compute infinite bus current injection 10. Check and print bus mismatches based on the built y-matrix Key Routines ! LDYNDA ! ! REBUS ! ! YSELF ! ! ! YMOTS ! ! DCCONT ! ! RENET ! ! YBRAN ! ! ! MISCHK ! ! TABDAT ! ! TABINI Key Arrays Pointers and Counters Noted Label Common SCRAT4 in include file CNSABC Noted Label Common CNNEW in include file CNNNEW Noted Label Common IPTR in include file CNIPTR Noted Label Common PT in include file CNPT Noted Label Common SCRAT1 in include file CNLFDA Noted HVDC Tra