01490569
01490569
TABLE II
FUNCTIONS AVAILABLE ON MATLAB AND GNU/OCTAVE PLATFORMS
data. This approach allows using PSAT from the command line Fig. 5. GUI for user defined models.
as needed in many applications (see Section II-E).
include: IEEE, EPRI, PTI, PSAP, PSS/E, CYME, MatPower and
C. Simulink Library PST formats. On Matlab platforms, an easy-to-use GUI (see in
PSAT allows drawing electrical schemes by means of picto- Fig. 4) handles the DFC.
rial blocks. Fig. 3 depicts the complete PSAT-Simulink library The UDM tools allow extending the capabilities of PSAT and
(see also Fig. 7, which illustrates the IEEE 14-bus test system). help end-users to quickly set up their own models. UDMs can be
The PSAT computational engine is purely Matlab-based and created by means of the GUI depicted in Fig. 5. Once the user
the Simulink environment is used only as graphical tool. As a has introduced the variables and defined the DAE of the new
matter of fact, Simulink models are read by PSAT to exploit model in the UDM GUI, PSAT automatically compiles equa-
network topology and extract component data. A byproduct of tions, computes symbolic expression of Jacobians matrices (by
this approach is that PSAT can run on GNU/Octave, which is means of the Symbolic Toolbox) and writes a Matlab function
currently not providing a Simulink clone. of the new component. Then the user can save the model defi-
Observe that some Simulink-based tools, such as PAT [8] and nition and/or install the model in PSAT. If the component is not
EST [9], use Simulink to simplify the design of new control needed any longer it can be uninstalled using the UDM installer
schemes. This is not possible in PSAT. However, PAT and EST as well.
do not allow representing the network topology, thus resulting
in a lower readability of the whole system. E. Command Line Usage
GUIs are useful for education purposes but can in some cases
D. Data Conversion and User Defined Models limit the development or the usage of a software. For this reason
To ensure portability and promote contributions, PSAT is pro- PSAT is provided with a command line version. This feature
vided with a variety of tools, such as a set of Data Format Con- allows using PSAT in the following conditions.
version (DFC) functions and the capability of defining User De- 1) If it is not possible or very slow to visualize the graphical
fined Models (UDMs). environment (e.g., Matlab is running on a remote server).
The set of DFC functions allows converting data files to and 2) If one wants to write scripting of computations or include
from formats commonly in use in power system analysis. These calls to PSAT functions within user-defined programs.
1202 IEEE TRANSACTIONS ON POWER SYSTEMS, VOL. 20, NO. 3, AUGUST 2005
(1)
where most parameters are defined in Table III and , and
where are the state variables ; are the algebraic are initial powers and voltages, respectively, as given by the
variables ; are the independent variables ; power flow solution. Observe that a constant PQ load must be
are the differential equations ; and connected at the same bus as the ERL to determine the values
are the algebraic equations . of , , and .
PSAT uses (1) in all algorithms, namely power flow, CPF, Exponential recovery loads are defined in the structure Er-
OPF, smaill-signal stability analysis, and time-domain simula- load, whose fields are as follows:
tion, as discussed in the following Sections III-B to III-F. The 1) con: exponential recovery load data.
algebraic equations are obtained as the sum of all active and 2) bus: Indexes of buses to which the ERLs are connected.
reactive power injections at buses 3) dat: Initial powers and voltages ( , and ).
4) n: Total number of ERLs.
(2) 5) xp: Indexes of the state variable .
6) xq: Indexes of the state variable .
where and are the power flows in transmission lines as
B. Power Flow
commonly defined in the literature [15], is the set of network
buses, and are the set and the power injections of PSAT included the standard NR method [15], the fast decou-
components connected at bus , respectively. pled power flow (XB and BX variations [16]), and a power flow
PSAT is component-oriented, i.e., any component is defined with a distributed slack bus model [17]. The latter is a novelty
independently of the rest of the program as a set of nonlinear among Matlab-based power system softwares. The power flow
differential-algebraic equations, as follows: problem is formulated as (1) with zero first time derivatives
(5)
(3) Differential equations are included in (5) although some dy-
namic components are initialized after power flow analysis. This
where are the component state variables, the algebraic
is needed if the known input data of the component are not the
variables (i.e., and at the buses to which the component is
input parameters of its dynamic model. For example, the user
connected) and are independent variables. Then differential
does not generally know field voltages and mechanical torques
equations in (1) are built concatenating of all components.
of synchronous machines. However the user does know desired
Equations (3) along with Jacobians matrices are defined in a
voltages and active powers injected into the network by gener-
function which is used for both static and dynamic analyzes. In
ators. Thus, one can solve the power flow first, using PV buses
addition to this function, a component is defined by means of a
and then initialize synchronous machine state variables using
structure, which contains data, parameters and the interconnec-
the power flow solution. Nevertheless, other components can be
tion to the grid.
included in the power flow as one typically knows the input pa-
For the sake of clarity, let us consider the following example,
rameters of the dynamic model. For example, in the case of load
namely the exponential recovery load (ERL) [14]. The set of
tap changers, it is likely the user knows the regulator reference
differential-algebraic equations are as follows:
voltage rather than the transformer tap ratio.
The distributed slack bus model is based on a generalized
power center concept and consists in distributing losses among
all generators [17]. This is obtained by rewriting active powers
of slack and PV generators as
(6)
where are the desired generator active powers, is a
scalar variable which distributes power losses among all gen-
(4)
erators and are the participation factors of the generators to
MILANO: AN OPEN SOURCE PSAT 1203
the losses. Observe that is an unknown insofar as losses are clearing model with inclusion of voltage stability constraints,
unknown. Assuming that (6) has been written for all generators, based on what was proposed in [21] and [22], as follows:
is balanced by the phase reference equation.
(17)
(18)
F. Time-Domain Simulation
1) Integration Methods: Two integration methods are avail-
Fig. 6. GUI for power flow reports. The results refer to the IEEE 14-bus test
able, i.e., backward Euler and trapezoidal rule, which are im- system.
plicit -stable algorithms and solve (1) together [simultaneous-
implicit method (SI)]. This method is numerically more stable
than the partitioned-explicit method, which solves differential
and algebraic equations separately [15]. Observe that PSAT is
currently the only Matlab-based tool, which implements a SI
method for the numerical integration of (1).
2) Handling Disturbances: The commonest perturbations
for transient stability analysis, i.e., faults and breaker op-
erations, are handled by means of embedded functions. Step
perturbations can be obtained by changing parameter or variable
values after completing the power flow. All other disturbances
can be defined through custom “perturbation” functions, which
can include and modify any global structure of the system.
TABLE V
PERFORMANCE OF PSAT POWER FLOW SOLVERS
Fig. 10. Nose curves at bus 14 for different contingencies for the IEEE 14-bus
test system.
Fig. 11. GUI for OPF settings. Observe that the weighting factor is set to 1 in
order to obtain the objective function (13).
TABLE VI
MAXIMUM LOADING CONDITION OPF FOR THE IEEE 14-BUS NETWORK