See my discussion of “slack” vs. “voltage angle reference” here …
http://www.mail-archive.com/matpower-l%40cornell.edu/msg02149.html For the OPF, you still need the latter. — Ray > On Mar 24, 2015, at 12:38 PM, angelina sirri <[email protected]> wrote: > > I solved it. It was a silly thing. I had Pmin of the source bus equal to > zero, so that was the reason, that the opf could not converge for negative > output. I changed the Pmin limits of the source to equal to '-(total wind > generation)' and it converges properly! I apologize for that. > > However, as far as the slack bus when I run an opf, If I change the slack bus > to a generator bus and run an opf I receive the following error: > > Attempted to access Varefs(1); index out of > bounds because numel(Varefs)=0. > > Error in mipsopf_solver (line 120) > x0(vv.i1.Va:vv.iN.Va) = Varefs(1); %% angles > set to first reference angle > > Error in opf_execute (line 91) > [results, success, raw] = > mipsopf_solver(om, mpopt); > > Error in opf (line 225) > [results, success, raw] = opf_execute(om, mpopt); > > Error in runopf (line 96) > [r, success] = opf(casedata, mpopt); > > Could you please explain me why is this happening? > > Regards, > Angelina > > From: [email protected] <mailto:[email protected]> > Subject: Re: how power can be absorbed by the slack bus > Date: Tue, 24 Mar 2015 10:18:11 -0400 > To: [email protected] <mailto:[email protected]> > > I didn’t realize you were using an OPF. Since you mentioned a slack bus, I > assumed you were using a simple power flow. The OPF does not have a concept > of slack (only a voltage angle reference). > > You could try setting VMIN and VMAX equal to the set-point voltage (the > corresponding generator’s VG) for your source and wind gen buses and then > completely eliminating the reactive power limits for both source and wind gen > and the voltage limits at all other buses by setting the mins to –Inf and the > maxes to +Inf. Also, make sure you do not have binding branch flow limits, by > setting RATE_A to zero everywhere. > > If this still doesn’t work, try reducing PMAX of the wind generator until it > does. I assume you’ve confirmed that you can solve the case when the wind > generator is not producing, correct? > > -- > Ray Zimmerman > Senior Research Associate > B30 Warren Hall, Cornell University, Ithaca, NY 14853 USA > phone: (607) 255-9645 > > On Mar 23, 2015, at 3:18 PM, angelina sirri <[email protected] > <mailto:[email protected]>> wrote: > > I hadn't thought of limiting the mpc.gen(wind_farm,10) to be equal to > mpc.gen(wind_farm,9). > Previously I had mpc.gen(wind_farm,10)=0 , so when wind output was higher > than the total load, simply results.gen(wind_farm,2) was almost equal to the > total load, and the rest of the wind output was curtailed. > > Now I tried mpc.gen(wind_farm,10)= mpc.gen(wind_farm,9) so in the results, > the slack bus absorbs the remaining wind power , having a negative output. > However the opf does not converge, and I am sure that this is because of > voltage issues. > > I have tried to > - increase Qmin and Qmax limits (both of the wind farm and the slack bus), > -I have tried relaxing the voltage limits (in the mpc.bus(:,12) and > mpc.bus(:,13) > -step down the transformer in the slack bus (by changing the value of > mpc.branch(branch of the transformer 33/11kv, 9)). But still I cannot succeed > convergence. > > What more could I try? > > From: [email protected] <mailto:[email protected]> > Subject: Re: how power can be absorbed by the slack bus > Date: Mon, 23 Mar 2015 12:00:53 -0400 > To: [email protected] <mailto:[email protected]> > > Have you simply tried it? I can’t think of any reason that a negative output > from the slack bus should cause problems. > > Ray > > > On Mar 20, 2015, at 1:32 PM, angelina sirri <[email protected] > <mailto:[email protected]>> wrote: > > Dear all, > > I am trying to simulate active network management in distribution network in > 11kv. I have a distribution network with 40 nodes. Of those, one node is the > distribution substation node, which is also the slack bus, and also I have in > another node a wind farm.The rest of the nodes are loads. > For the cases that I have a low demand and a wind power output higher than > that, I would like to let the wind farm inject that power back to the main > network (which I do not neither include in the mpc. case , nor simulate). > For example, let's say that I have the following: > sum(mpc.bus(:,3))=5MW; %total active demand > sum(mpc.bus(:,4))=4MVar; %total reactive demand > > mpc.gen(slack bus,9)=20MW; %maximum slack bus output > mpc.gen(wind_farm,9)=10MW; %maximum wind power output > > So in this case, the wind farm is able to feed the rest of the network, with > zero power taken from the slack bus (if with opf, wind generator is cheaper > than the slack). > How could I feed the remaining 5MW (10-5) from the wind farm back to the > grid, getting in the results sth like: > results.gen(slack bus,2)=-5MW? > > I guess that I will have voltage issues, but in first place I was wandering > how this could happen in case I do not have voltage issues. Afterwards, to > face the voltage issues I was thinking to manually change the tap of the > transformer behind the slack like that: > > mpc.branch(branch of the transformer 33/11kv, 9) = range between 0 to 1; > > Any proposal would really help!! > Kind Regards, > Angelina
