From: Ray Zimmerman <[email protected]<mailto:[email protected]>>
Reply-To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Date: Monday, March 23, 2015 at 1:49 PM
To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Subject: Re: Blackout in the USA - Islands VS Whole System

Well, conceptually, no I’m afraid it doesn’t answer my question. For example, 
suppose you have a system with a single slack bus and you open several lines 
and create an island with more load than generation, with no slack bus. How is 
it possible for a DC power flow to converge* to any meaningful answer? A set of 
voltage angles that satisfies the DC power balance equations does not exist.

However, in trying some examples to verify my understanding, I see that see 
that MATPOWER happily returns success = 1 for some such cases, sometimes 
without Matlab even issuing any warning of a singular matrix. Some of the 
voltage angles are obviously garbage (extremely large), but one may not think 
to check that. So, I see a potential source for the confusion on this.

I had assumed that Matlab would complain about a singular matrix in these 
cases, but it seems that maybe I need to add an explicit check to the DC power 
flow to set the success flag to zero in such cases. Hmmm, wonder what’s the 
most reliable inexpensive check I can do?

See below for a fun example ...

   Ray

* By the way, the DC power flow is computed directly by solving a linear system 
of equations, not by some iterative numerical algorithm, so “converging” isn’t 
really the correct term.


Example:

mpc = loadcase('case30');
mpc.branch([15; 25; 26; 32], BR_STATUS) = 0;
r = rundcpf(mpc);
case_info(r)

I get a ‘Matrix is singular to working precision’ warning on running the DC 
power flow.

MATPOWER Version 5.1, 20-Mar-2015 -- DC Power Flow
Warning: Matrix is singular to working precision.
> In dcpf at 27
  In runpf at 142
  In rundcpf at 74

Converged in 0.27 seconds
================================================================================
|     System Summary                                                           |
================================================================================

How many?                How much?              P (MW)            Q (MVAr)
---------------------    -------------------  -------------  ————————
…. Followed by the rest of the system summary log…..

Unfortunately, MATLAB just throws a warning which gets flushed away on the 
screen by the summary logs. The warning, not being an exception, is not caught 
which fools MATPOWER to think that is a good solution. I think for linear 
problems this warning needs to be trapped and converted into an exception that 
can then be used for setting the success flag. One possible way is to add
warning('error','MATLAB:singularMatrix’); at the beginning of rundcpf(). This 
would throw an exception when MATLAB issues a ‘Matrix is singular warning’.
One can then put the linear solve in dcpf in a try catch block and set the 
success flag when there an exception is thrown. Note that dcpf also needs to 
return a success flag. Currently, it only returns the voltage angle vector.

Shri


Hmmm, there’s an island, but everything looks fine … generation and load in the 
island-without-slack even match! Must be that case30 is already a solved DC PF 
case.

mpc.gen(6, PG) = 0;
r = rundcpf(mpc);

Ok, now, no errors or singular matrix warnings, but we have voltages angles 
upwards of 1e15 and load and generation in island do *NOT* match. Putting a 
breakpoint in dcpf.m shows that the matrix being factored has a condition 
number near 1e17 … i.e. it really is singular.



On Mar 23, 2015, at 12:16 PM, Bijay Hughes 
<[email protected]<mailto:[email protected]>> wrote:

AC powerflow has convergence problem in many scenarios which we all know. The 
DC powerflow converges for the whole system even if this system has one or many 
islands; however, if a system contains one or many islands the AC powerflow 
does not converge. Does this answer your question?

On Mon, Mar 23, 2015 at 11:44 PM, Ray Zimmerman 
<[email protected]<mailto:[email protected]>> wrote:
I don’t understand approach (1). I don’t know why you say that DC power flow 
implies you don’t have to keep track of islanding. How does the AC or DC power 
flow make a difference here?

    Ray


> On Mar 20, 2015, at 6:08 AM, Bijay Hughes 
> <[email protected]<mailto:[email protected]>> wrote:
>
> Hej all,
>
> I am modeling blackout in the US transmission lines system, and have two 
> approaches to do so. I do it with DC power flow, which means I don't need to 
> take care of islanding if I don't want to (although I am aware that I need to 
> take care of isolated buses for convergence reasons). I have two approaches 
> to do so: (1) do cascading failure simulation on whole system each iteration, 
> whereby one doesn't keep track of islands; (2) do cascading failure 
> simulation on the whole system to begin, see if islands are formed, and run 
> the same simulation on each of these islands, and repeat the process 
> exhaustively. In both cases, the powerflow converges as it is DC flow. 
> However, the results are not matching, and I am wondering why. Could it be 
> because of the difference in the number of slack buses? Because in my 
> approach (1) the system will only have one slack bus in each iteration, 
> however in my approach (2) the system will have multiple slack buses as the 
> matpower chooses slack buses for each island automatically, thereby my system 
> as a whole will have multiple slack buses. Is this the only reason? Which 
> approach is better, (1) or (2)?
>
> Best,
>
> BH





Reply via email to