Menu

Tree [7c48a0] master /
 History

HTTPS access


File Date Author Commit
 src 2014-05-23 changgang changgang [65e23f] Switched shunt and HVDC added for powerflow
 .gitignore 2014-09-18 Charles Charles [7c48a0] add ignore of zip files
 README.txt 2014-05-23 changgang changgang [bc960d] update readme.txt

Read Me

                              README

                                N.Tesla version 0.6.6
				May 23, 2014

0. Major updates from last version (0.6.4)

In version 0.6.6, PSS/E HVDC and switched shunt models are supported in powerflow. 

For HVDC, non-capacitor commutated converter is supported. Current/power command are supported.
For switched shunt, local discrete and continuous voltage control is supported. Remote voltage control is currently not supported.

Known problem with HVDC: With full NR solution, powerflow may fail to converge if gamma is regulated to control DC voltage (It can be observed in PSS/E, too). It can be overcome by changing inverter control mode to fixed gamma.

0. 1Major updates of v0.6.4 from v0.6.2
In version 0.6.4, PSS/E powerflow data of version 32 and 33 are supported. Supported data are:
    Identification, Bus, Load,  Fixed shunt, Generator, Line, Transformer, Area interchange, HVDC, Zone, Owner, Switched shunt.

I. What is N.Tesla?

N.Tesla is an open source transient simulator for power system study. It is short for "opeN TransiEnt SimuLAtor" and is in memory of Nikola Tesla, one of the greatest scientists and engineers of modern power industry.

When referencing N.Tesla, you can either use "N.Tesla" or "Open Transient Simulator (N.Tesla)".

As its name, N.Tesla is designed for power system transient simulation. So, it consists of two main components: powerflow calculator and transient simulator. N.Tesla will focus mainly on transient simulation.
Other functions such as optimal powerflow (OPF), short circuit analysis (SC), and small signal stability analysis (SSS) are not under consideration currently. 

The latestly released N.Tesla is version 0.6.6 which is a pre-alpha version. It is neither stable, nor guarranteed to give correct result. Please bear in mind that it is only used for study and test now.

II. How is N.Tesla coded?

N.Tesla is coded with C++/C. In fact, it mainly adopts C-style codes. So, there is little difficulty for experienced C programmer or C++ programmer to read it through.

N.Tesla can be divided into several parts:
(1) Definition of poewr system devices (follow PSS/E raw file);
    Bus, Line, Load, Generator, Transformer, Fixed Shunt, HVDC, etc, are defined in N.Tesla. For general application, N.Tesla will not define new powerflow data format unless necessarily. Now, N.Tesla can read PSS/E raw data file (version 31, 32 and 33), and other data file format will be supported later.

(2) Network-related functions (Y matrix);
    Network matrix (a.k.a, Y matrix) is one of the most fundamental matrixs for either powerflow calculation or dynanics simulation. To form Y matrix, N.Tesla considers Lines, Transformers, and Fixed shunts. Unlike PSS/E, N.Tesla doesn't model the constant impedance load part in forming Y matrix.
    Y matrix is stored with sparse technology. To reduce the risk of program vulnerability, CSparse(http://www.cise.ufl.edu/research/sparse/CSparse) is used for storing Y matrix and linear algebraic solution.
    If there is phase-shift transformer, Y matrix is asymmetrical and all entries of Y matrix should be stored. To improve the adaptability, all entries instead of only upper parts of Y matrix are stored as a cs* object.

(3) Powerflow-related functions;
    Currently, full Newton-Raphson solution is implemented. Other solution methods will be added.

(4) Backbone of transient simulator;
    N.Tesla adopts implicit trapezoid integration as standard integration method. It is more stable than modified Euler integration (a.k.a, predictor-integrator method) and less complicate than Runge-Kutta integration (such as RK-4).
    Differential equations and algebraic equations are solved one after the other instead of simultaneously. This reduces the complexity of adding new models.

(5) Dynamic models.
    All dynamics models can be divided into basic blocks, such as Integrator, First-order lag, Lead-lag, Wash-out, PID, Second-order, and Limiter. Those basic blocks are defined first and all dynamic models are built with the basic blocks.
    There are 4 modes used in N.Tesla for transient simulation. Mode 1 for dynamics initialization. Mode 2 for numerical integration. Mode 3 for updating STORE array (like the derivative of states). Mode 4 for applying events.

III. How is N.Tesla maintained?

N.Tesla is currently hosted by Charles Li (lichgang@gmail.com) and under active development. Its source codes are publicly accessible through sourceforge.net. Since the host hasn't found a good way to work with other researchers on N.Tesla, it can only be changed by the host himself.

If you have any suggestions on how to improve the coding of N.Tesla or want to add your own codes to N.Tesla, please send email or leave feedback in discussion forum.

IV. How is N.Tesla licensed?

N.Tesla is designed as an open source package. Since it uses CSparse which is licensed with LGPL, N.Tesla is currently licensed with LGPL too. However, the host is not quite sure whether the LGPL is OK or not. Maybe it should be changed to another license. But, it will always be open source.

See http://www.gnu.org/licenses/lgpl.html for further reference.