A General Algorithm to Automatically Create ...

194 downloads 353 Views 216KB Size Report
reduced significantly by distributing the simulation load over several cores that .... study, the Python language is used to build the admittance matrix. Figure 5 ...
A General Algorithm to Automatically Create Admittance Matrices for Electric Networks Arash Asrari, Mohamed Alattar, Sherif Abdelwahed, and Michael Mazzola Department of Electrical and Computer Engineering Mississippi State University, Starkville, MS, USA Email:[email protected]

Abstract—In this paper, a general method to automatically create admittance matrices for power electric networks is presented. This is a part of a joint project between Mississippi State University and University of Texas at Austin Center for Electromechanics (CEM). Starting with an electric network designed in the Mathworks software Simulink (SimPowerSystems) and output from Simulink as an XML file, we parse the XML file for the relevant information (blocks, connectivity, and parameters). The underlying algorithm consists of four stages: 1) Calculate the conductance values of the components in each block, 2) Build a matrix representing the connectivity of components, 3) Assign a unique number for each node, and finally 4) Calculate the admittance matrix using the data obtained from the previous steps. This is the initial work to support the development of a parallel computing tool where the power system will be solved using a tool developed by the University of Texas called CEMSolver. The second phase of this joint project will be finding the most optimal partitioned systems in such a way that the matrices of each partition are distributed to different CPUs and the total CPU usage for these subsystems will be minimal. Thus, the power system will be partitioned and each partition will have its own admittance matrix.

I. I NTRODUCTION In the last couple of decades we have witnessed fast paced development in parallel computing technology, where many calculations are carried out simultaneously. The parallel computing principle divides a program or a simulation system into many parts and run them separately on different cores simultaneously in order to decrease the time needed for those programs or simulations. This paper is the first step in a project that will use parallel computing techniques to solve a power system, where the admittance matrix of a power system will be calculated automatically by the algorithm presented in this article. In power systems and electric networks, an admittance matrix is a square matrix determining the nodal admittance of the buses [1]. The admittance matrices are considered as mathematical models of electrical systems. When the voltages are selected as independent variables, the relevant currents depend on the voltage values and the matrix that relates the voltages to the currents is in admittance form [2]. This matrix is generally built to analyze electric networks for different purposes including power flow studies [3], network reconfiguration for loss reduction in distribution systems [4], and frequency correction in power systems [5]. A system can be characterized by its impedance matrix, where a matrix

description of a system is a very convenient way to integrate the effects of a sub-circuit into a larger circuit without having concern with the specific details of the sub-circuit. Each branch of an electrical network has a similar matrix labeled according to the nodes of the network to which that branch is connected. To obtain the overall nodal admittance matrix of the entire network, we simply combine the individual branch matrices by adding together elements with identical row and column labels. Such addition causes the sum of the branch currents flowing from each node of the network to equal the total current injected into that node, as required by Kirchhoff’s current law. In [6], the design of manipulator admittance is addressed to yield a reliable force-guided assembly. An algorithm for exploitation of matrix-valued transfer functions is proposed in [7] to describe electromagnetic phenomena. [8] suggests a method to measure the admittance matrix for a typical antenna array. An algorithm for building the loop admittance matrix is presented in [9] which is based on a bus impedance matrix. The concept of building an infinite admittance matrix is utilized in [10] in order to present new analysis of switchedcapacitor networks. A new method is proposed in [11] to model harmonic generating characteristics of ac/dc converters. This model is in the form of harmonically-coupled admittance matrices relating the ac side harmonic voltages and currents. A public domain calculation package is presented in [12] for rational approximation of frequency dependent admittance matrices. [13] suggests a new algorithm to enforce passivity for an admittance matrix approximated by rational functions. [14]presents a simple method calculating the shunt admittance matrix of multiconductor interconnects on general lossy multilayer substrate. A new analysis method for multiport passive components is proposed in [15]. This model is based on network matrix conversion from scatter parameters to admittance parameters. Simulink software is commonly used to design and simulate power systems and electric networks. Small systems may be simulated in seconds or minutes using Simulink, but for large ship or land-based systems, it takes significantly more time to simulate those using normal methods. So in order to speed up simulations of large systems, CEM has been developing solvers which can run on multicore machines through partitioning techniques where the simulation time is

reduced significantly by distributing the simulation load over several cores that work simultaneously. The most common partitioning approach that is used to speed up power system simulations is called Bergeron’s travelling-wave line model [16][17][18]. One limitation of Bergerons partitioning method is that the simulation time step Dt must be an integer fraction of the travelling-wave travel delay. Therefore, when systems only contain short transmission lines [e.g. distribution systems, shipboard power systems (SPSs), microgrids etc.], these delays are 10E-9 or 10E-12 s, which makes Bergerons model impractical. Furthermore, in [19] a new mesh tearing approach is proposed to partition power systems. It is well known that calculating the admittance matrix manually for a simple power network is straightforward and can be done by calculating the matrix parameters manually but for large systems it takes more time and effort to do that, so automating the process of getting the admittance matrix makes things easier and saves a lot of time. Although existing software tools, such as SPICE, can be utilized in order to build the admittance matrix [20], we present our own method for developing the admittance matrix for each power system, so that we can regulate the output easily and eventually use the same code to build similar matrices for partitioned subsystems. Moreover, creation of a custom algorithm helps the designer to tune and use parallel computation techniques for individual platforms. The second phase of this joint project will be creating an automatic model to find the optimum partitioning system for the electric ships power systems that maximizes the speed of relevant simulation.

Figure 1. The Case Study

II. S TUDIED S YSTEM The developed algorithm can generate admittance matrices for any electric network. However, we test the procedure on a simple electrical network to verify the method as a proof of concept and then the results can be generalized to be applied on systems that are more complicated than the presented system. The test system is a network containing six blocks or elements: a pair of three-phase generators, a universal bridge, a three-phase VI Measurement, a three-phase series RLC load and a single phase R load which are shown in Figure 1. The two generators are supplying electric power to two loads where one of them is an AC load and the other one is a DC load. An uncontrolled rectifier is placed between the generators and the DC load so that DC current is supplied to that load. III. M ETHODOLOGY AND S IMULATION R ESULT A. First step: Determining the conductance values At first, we need to calculate the conductance values based on the information mentioned in the relevant XML file. As we want to make the code general, the blocks are considered based on their types. For instance for the three-phase generator, the only relevant parameters in the XML file are the amounts of resistance and inductance which are 0.8929 and 16.58e− 3 H respectively. Figure 2 shows the part of XML file related to GEN1.

Figure 2. XML file Gen1

As this is a three-phase generator, six components should be considered, three for the resistance and three for the inductance. The conductance values for each of the resistance and inductance components in this block are calculated using the following equations: ConductanceR =

1 Resistance

= 1.119 = G1 = G2 = G3

T imeStep ConductanceL = (2∗Inductance) = 3.015e− 05 = G4 = G5 = G6

(1) We can consider the universal bridge (RCT1) as another block instance. The only relevant parameter in the XML file for this block is the amount of SnubberResistance which is 1e5 . Six components should be considered using the following equation: ConductanceR =

1 (2∗SnubberResistance)

= 5e− 6

(2)

Applying the algorithm mentioned above to the other blocks, the 28 conductance values (see Figure 3) are presented in vector G as follows: G = [G1, G2, G3, .....G28]

Figure 3. Discretized power system

B. Second step: Determining the connectivity

Figure 4. XML file Connection Among Blocks

The connectivity among all the components should be determined before node numbering. All information we can get from the XML file regarding connectivity is related to the connection among the blocks rather than all components. For example, Figure 4 presents a screenshot from part of the XML file telling us that VIM1 (three-phase VI Measurement), RCT1 (universal bridge), LOD1 (three-phase series RLC load) and GEN2 (three-phase generator) are connected to each other. The algorithm extracts all the connectivity information from the XML file and builds the Block Connectivity Matrix determining which blocks are connected to each other. Then, it sets a link between the block connectivity and conductance connectivity (i.e. internal and external connections). In this study, the Python language is used to build the admittance matrix. Figure 5 shows the part of the Python code generating the Block Connectivity Matrix. Equation (3) shows the seventh row of the Connectivity Matrix whose size is 28 by 28. This Equation tells us which components are connected to G7.

Figure 5. Python Code Connection among blocks

But if, y2 is connected to x1 and x2 too, the new X will be x1, x2, y1, y2 and the node Y is eliminated. This procedure is repeated until all components of the Connectivity Matrix are considered in node numbering. Equation (4) shows the seventh row of the Node Matrix whose size is 17 by 28. This Equation determines which components are connected to node 7.

ConnectivityM atrix[7][:] = [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0]

(3)

N odeM atrix[7][:] = [0, 0, 0, 0, 0, 0, G7, 0, 0, G10, 0, 0, G13, 0, 0, 0

C. Third step: Node numbering The proposed algorithm assigns a unique node to each two connected conductance values. But it checks for each iteration and updates the components connected to each node. For example, assume we have determined nodes X = x1, x2 and Y = y1, y2 so far using the Connectivity Matrix. As is obvious, it indicates that the components y1 and y2 are connected to the node Y . Now, if the Connectivity Matrix tells us that y1 is connected to both x1 and x2, the algorithm updates the old X to X = x1, x2, y1 and Y is still y1, y2.

, 0, 0, 0, G20, 0, 0, G23, 0, 0, 0, 0, 0] (4) D. Fourth step: Creating the Admittance Matrix After determining the connectivity among blocks and assigning a number to each node, the method uses the sum of admittances connected to node k for diagonal matrix and sum of admittances connected between nodes k and n for off diagonal matrix. The seventh row of the generated Admittance Matrix, whose

size is 17 by 17, is as follows: AdmittanceM atrix[7][:] = [0, 0, 0, −G7, 0, 0, G7 + G10 + G13 + G20 + G23, 0, 0, −G10, −G13, −G20, 0, 0, −G23, 0, 0]

(5)

where, conductance values (G values) are calculated in the first step. IV. C ONCLUSION AND F UTURE WORK In this paper, a general method is proposed to automatically generate the admittance matrix for electric networks. The algorithm is implemented using the Python programming language. The Python programming language is used to parse the relevant information from an XML file that was generated by Simulink describing an electric system. After parsing the relevant information of the components of the electrical system, Pythons forms the admittance matrix of the system by applying some calculations on the information extracted from the XML file. The proposed method consists of four steps including calculation of the conductance values, determining the internal and external connectivity, node numbering and creating the admittance matrix. Acknowledgements This work is supported in part by the ONR fund: N0001408-1-0080. We are pleased to acknowledge Fabian Uriarte from UT, Austin for his valuable suggestions throughout the work. R EFERENCES [1] J. Grainger, Power system analysis. McGraw-Hill Science, Engineering, Math, 1994. [2] K. Nagappan, “Step-by-Step Formation of Bus Admittance Matrix,” IEEE Trans. Power Apparatus and Syst, vol. PAS-89, pp. 812–820, 1970. [3] Z. Wang, F. Chen, and J. Li, “Implementing transformer nodal admittance matrices into backward/forward sweep-based power flow analysis for unbalanced radial distribution systems,” IEEE Transactions on Power Systems, vol. 19, pp. 1831–1836, 2004. [4] D. Zimmerman, “Network reconfiguration for loss reduction in threephase power distributions systems,” Master of Science Thesis, 1992. [5] M. Mihoubi and M. Lavoi, “Real-time update of a frequency dependant admittance matrix [power systems],” Canadian Conference on Electrical and Computer Engineering, vol. 2, pp. 643–645, 1996. [6] J. M. Schimmels and M. A. Peshkin, “Admittance matrix design for force-guided assembly,” IEEE Trans. Robotics and Automation, vol. 8, pp. 213–227, 1992. [7] V. Rubia and J. Zapata, “MAMA multipurpose admittance matrix for antenna design via the finite element method,” IEEE Trans. Antennas and Propagation, vol. 55, pp. 2276–2286, 2007. [8] M. Pelletier, J. A. Cummins, and G. Y. Delisle, “Method of admittance matrix measurement of an antenna array,” Antennas and Propagation Society International Symposium, vol. 13, pp. 297–300, 1975. [9] E. K. Stanek, “Algorithm for formation of loop admittance matrix,” IEEE Trans. Power Apparatus and System, vol. PAS-91, pp. 1743–1749, 1972. [10] Z. Shujiang, “Reduced method of indefinite admittance matrix for analyzing and computing switched-capacitor networks,” International Conference on Circuits and Systems, vol. 1, pp. 252–255, 1991. [11] Y. Sun, G. Zhang, W. Xu, and J. G. Mayordomo, “A harmonically coupled admittance matrix model for AC/DC converters,” IEEE Trans. Power System, vol. 22, pp. 1574–1582, 2007. [12] B. Gustavsen, “Computer code for rational approximation of frequency dependent admittance matrices,” IEEE Trans. Power Delivery, vol. 17, pp. 1093–1098, 2002.

[13] A. S. B. Gustavsen, “Enforcing passivity for admittance matrices approximated by rational functions,” IEEE Trans. Power Delivery, vol. 16, pp. 97–104, 2001. [14] H. Ymeri, B. Nauwelaers, K. Maex, D. Roest, S. Vandenberghe, and M. Stucchi, “Admittance matrix calculations of on-chip interconnects on lossy silicon substrate using multilayer green’s function,” Topical Meeting on Silicon Monolithic Integrated Circuits in RF Systems, vol. 2, pp. 50–59, 2001. [15] C. Miao, G. Tian, J. P. Yang, and W. Wu, “Analysis of multiport passive components using admittance matrix,” International Conference on Microwave and Millimeter Wave Technology (ICMMT), vol. 2, pp. 1–4, 2012. [16] C. Dufour, J. Paquin, V. Lapointe, J. Belanger, and L. Schoen, “PC cluster-based real-time simulation of an 8-synchronous machine network with HVDC link using RT-LAB and TestDrive,” Proc. Int. Conf. Power Systems Transients, 2007. [17] P. W. Sauer and M. A. Pai. Prentice Hall, 1998. [18] T. Noda and S. Sasaki, “Algorithms for distributed computation of electromagnetic transients toward pc cluster based real-time simulations,” Proc. Int. Conf. on Power System Transients, 2003. [19] F. M. Uriarte, “Multicore simulation of an undergrounded power system,” IET Electrical Systems in Transaction, vol. 1, pp. 31–40, 2010. [20] R. L. Ewing, “Blending symbolic matrix and dimensional numerical simulation methodology for mechatronics systems,” Ninth Great Lakes Symposium on VLSI, pp. 270–273, 1999.

Suggest Documents