Yes, both were bugs. I believe I’ve fixed them in my dev version so they should 
be fine in the next release, thanks to your excellent reporting complete with 
examples.

Thanks,

-- 
Ray Zimmerman
Senior Research Associate
B30 Warren Hall, Cornell University, Ithaca, NY 14853
phone: (607) 255-9645



On Mar 10, 2014, at 10:06 AM, Jovan Ilic <[email protected]> wrote:

> 
> I ran Matpower 4.1 on the included cases and ran into a couple of 
> things which might be bugs or features.  I included examples below.
> 
> Jovan Ilic
> 
> 
> 1) ENFORCE_Q_LIMS = 1 in mpopt does not work if there is only one PV bus 
> ( guessing the reason)
> 
> Example:  
> >> mpopt4 = mpoption(mpopt, 'OUT_ALL', 0, 'VERBOSE',0, 'ENFORCE_Q_LIMS', 0);
> >> mpopt = mpoption(mpopt, 'OUT_ALL', 0, 'VERBOSE',0, 'ENFORCE_Q_LIMS', 1);
> >> case4gs = loadcase('case4gs');
> >> case4gsSolved = runpf(case4gs,mpopt4);
> >> case4gsSolved = runpf(case4gs,mpopt)
> Attempted to access pv(1); index out of bounds because numel(pv)=0.
> 
> Error in bustypes (line 61)
>     ref = pv(1);                %% use the first PV bus
> 
> Error in runpf (line 291)
>                 [ref, pv, pq] = bustypes(bus, gen);
>  
> >> 
>       
> 
> 2) ENFORCE_Q_LIMS = 1 in mpopt can set slack bus to PQ bus type
> 
> I am not sure if this is what we want. You should be careful to set it 
> back to slack bus if using the solved case to run runpf again. 
> 
> Example:  
> 
> >> mpopt = mpoption(mpopt, 'OUT_ALL', 0, 'VERBOSE',0, 'ENFORCE_Q_LIMS', 1);
> >> case300 = loadcase('case300')
> 
> case300 = 
> 
>     version: '2'
>     baseMVA: 100
>         bus: [300x13 double]
>         gen: [69x21 double]
>      branch: [411x13 double]
>     gencost: [69x7 double]
> 
> >> case300Solved = runpf(case300,mpopt);
> >> sum(case300.bus(:,2)==3)
> 
> ans =
> 
>      1
> 
> >> sum(case300Solved.bus(:,2)==3)
> 
> ans =
> 
>      0
> 
> 
> 

Reply via email to