logo资料库

SimulatingNonlinearCircuitswithPythonPowerElectronicsBookof2018.....pdf

第1页 / 共219页
第2页 / 共219页
第3页 / 共219页
第4页 / 共219页
第5页 / 共219页
第6页 / 共219页
第7页 / 共219页
第8页 / 共219页
资料共219页,剩余部分请下载后查看
Acknowledgements
Contents
1 Introduction
1.1 Concept Behind Simulation
1.2 The Reason for Simulation
1.3 Simulation in Power Electronics and the Challenges
1.4 Python Power Electronics
1.5 Outline of the Book
1.6 About the Book
2 Introduction to Python
2.1 Introduction
2.2 Overview of Python
2.3 Getting Started
2.4 Integers, Floats, and Strings
2.5 Lists and Tuples
2.6 Dictionaries
2.7 Examples of Python Code in the Simulator—Lists and Matrices
2.8 Examples of Python Code in the Simulator—Strings
2.9 Examples of Python Code in the Simulator—Dictionaries
2.10 Conclusions
3 User Interface
3.1 Introduction
3.2 Circuit Representation
3.3 Processing of Components
3.4 Data Structures of Components
3.4.1 Resistor
3.4.2 Inductor
3.4.3 VoltageSource
3.4.4 Capacitor
3.4.5 Ammeter
3.4.6 Voltmeter
3.4.7 VariableResistor
3.4.8 VariableInductor
3.4.9 ControlledVoltageSource
3.4.10 Diode
3.4.11 Switch
3.5 Logical Flow of the Simulation
3.5.1 Launch Simulator
3.5.2 Simulation Parameters
3.5.3 Create Component Objects
3.5.4 Circuit Parameters File
3.5.5 Update Component Parameters
3.6 Iterative Procedure During the Simulation
3.6.1 Simulation Time Instant
3.6.2 Update Branch Data
3.6.3 Generate Input Voltage
3.6.4 Run Control Code
3.6.5 Perform Circuit Analysis
3.6.6 Update Component Objects
3.6.7 Write Output Data
3.7 Conclusions
4 Interface for User Control Functions
4.1 Introduction
4.2 Inclusion of Control in the Simulator
4.3 Special Variables in Control Code
4.4 Time Scheduling Control Code
4.5 Interfacing Control Code
4.6 Conclusions
5 Case Study—Shunt VAR Compensator
5.1 Introduction
5.2 Description of the Circuit
5.3 Parameters of the Simulation and the Circuit
5.4 First Stage in Control Development—Grid Synchronization
5.5 Second Stage in Control Development—Current Reference Generation and Closed-Loop Current Control
5.6 Final Stage of Control Development—The Entire Circuit with the VSC
5.7 Conclusions
6 Nodes, Branches, and Loops
6.1 Introduction
6.2 Jump Labels
6.3 Nodes and Branches
6.4 Short Branches and Nodes
6.5 Connectivity Map for Nodal Analysis
6.6 Loops
6.7 Loop Map
6.8 Conclusions
7 Circuit Analysis—Loop Analysis
7.1 Introduction
7.2 Matrices for Loop Analysis
7.3 Solving the Matrix Equation
7.4 Mapping Branch Currents and Loop Currents
7.5 Effects of Time Constants on Loop Analysis
7.6 Effect of Stiff Loops
7.7 Loop Manipulations
7.8 Limitation of Loop Analysis
7.9 Conclusions
8 Circuit Analysis—Nodal Analysis
8.1 Introduction
8.2 Concept of Nodal Analysis
8.3 Limitation of Loop Analysis in Nonlinear Circuits
8.4 Applying Nodal Analysis in Nonlinear Circuits
8.5 Continuing with Loop Analysis
8.6 Event-Driven Circuit Updates
8.7 Process Flow in the Simulator
8.8 Conclusions
9 Conclusions
9.1 Advantages of the Simulator
9.2 Drawbacks of the Simulator and Scope for Future Work
9.3 Future of the Project
Bibliography
Shivkumar V. Iyer Simulating Nonlinear Circuits with Python Power Electronics An Open-Source Simulator, Based on Python™
Simulating Nonlinear Circuits with Python Power Electronics
Shivkumar V. Iyer Simulating Nonlinear Circuits with Python Power Electronics An Open-Source Simulator, Based on Python™ 123
Shivkumar V. Iyer Ontario Canada This book is based on the free and open source software Python Power Electronics hosted at the website http://www.pythonpowerelectronics.com The software has been released under the BSD 3.0 license which be found in the License file with the software or at http://opensource.org/licenses/BSD-3-Clause ISBN 978-3-319-73983-0 https://doi.org/10.1007/978-3-319-73984-7 ISBN 978-3-319-73984-7 (eBook) Library of Congress Control Number: 2017963531 © Springer International Publishing AG, part of Springer Nature 2018 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. trademarks, service marks, etc. Printed on acid-free paper This Springer imprint is published by the registered company Springer International Publishing AG part of Springer Nature The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
To Rakhat
Acknowledgements I would like to thank Prof. Bin Wu and Prof. Bala Venkatesh of the Department of Electrical and Computer Engineering, Ryerson University, for their interest and support in the development of Python Power Electronics. I would also like to thank Dr. Dan McGillivray who was the Executive Director of the Centre for Urban Energy, Ryerson University, for the many conversations we had related to the potential of the software. I would like to thank Mukundan R. of the National Institute of Industrial Engineering for his constant advice and suggestions. I would like to thank Zoubin Zarin for his advice in developing the software and with publishing this book. I would like to thank Janamejaya C for being a loyal follower of the project and his constant encouragement. I would like to thank the Python community and its many active members for all their support and for having me as a speaker in PyCon Canada 2016 and PyCon Canada 2013. Shivkumar V. Iyer vii
Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Concept Behind Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Reason for Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation in Power Electronics and the Challenges . . . . . . . . . . Python Power Electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2 Introduction to Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview of Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Integers, Floats, and Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . Lists and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples of Python Code in the Simulator—Lists and Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples of Python Code in the Simulator—Strings . . . . . . . . . 2.8 Examples of Python Code in the Simulator—Dictionaries . . . . . . 2.9 2.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Circuit Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Processing of Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Structures of Components . . . . . . . . . . . . . . . . . . . . . . . . . Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Inductor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 3.4.3 VoltageSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 1 1 3 5 7 9 11 13 13 14 15 17 19 21 23 26 30 32 35 35 36 39 42 43 44 44 45 ix
x Contents Ammeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Voltmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.6 VariableResistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.7 VariableInductor 3.4.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.9 ControlledVoltageSource . . . . . . . . . . . . . . . . . . . . . . . 3.4.10 Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.11 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Flow of the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Launch Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Create Component Objects . . . . . . . . . . . . . . . . . . . . . . 3.5.3 3.5.4 Circuit Parameters File . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.5 Update Component Parameters . . . . . . . . . . . . . . . . . . . Iterative Procedure During the Simulation . . . . . . . . . . . . . . . . . Simulation Time Instant . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Update Branch Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 3.6.3 Generate Input Voltage . . . . . . . . . . . . . . . . . . . . . . . . . Run Control Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.4 Perform Circuit Analysis . . . . . . . . . . . . . . . . . . . . . . . 3.6.5 3.6.6 Update Component Objects . . . . . . . . . . . . . . . . . . . . . 3.6.7 Write Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 47 48 49 50 50 51 52 52 53 54 55 55 56 57 57 57 58 58 59 59 60 3.5 3.6 3.7 4.1 4.2 4.3 4.4 4.5 4.6 4 Interface for User Control Functions . . . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inclusion of Control in the Simulator . . . . . . . . . . . . . . . . . . . . . Special Variables in Control Code . . . . . . . . . . . . . . . . . . . . . . . Time Scheduling Control Code . . . . . . . . . . . . . . . . . . . . . . . . . Interfacing Control Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Case Study—Shunt VAR Compensator . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description of the Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters of the Simulation and the Circuit . . . . . . . . . . . . . . . First Stage in Control Development—Grid Synchronization . . . . Second Stage in Control Development—Current Reference Generation and Closed-Loop Current Control . . . . . . . . . . . . . . . 102 Final Stage of Control Development—The Entire Circuit with the VSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.1 5.2 5.3 5.4 5.5 63 63 64 69 74 80 83 85 85 86 89 94 5.6 5.7 6 Nodes, Branches, and Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Jump Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.1 6.2
分享到:
收藏