I often simulate a wind turbine as a negative load (a fixed P + Q injection), 
or as a generator with zero cost. The Q capability would depend on the type of 
turbine.

To remove a generator, you can either switch it off by setting it's GEN_STATUS 
to 0 (which causes it to be removed internally) or remove the corresponding 
rows in the data matrices after they are loaded.

gen(k, :) = [];
gencost(k, :) = [];
...

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



On Mar 18, 2011, at 2:13 PM, Carlos Gonzalez Almeida wrote:

> Thank you. But if you want to have Wind turbine how will you simulate it in 
> MATPOWER?
> 
> also, I want to have 5 generators instead of 6 generators in the case of 
> ('t_auction_case'). Is there a command to remove one of the generators 
> without changing the file, i.e. removing the correspond rows, gencost, offers 
> and .....? 
> Best Regards
> 
> carlos
> 
> On Fri, Mar 18, 2011 at 18:51, Ray Zimmerman <[email protected]> wrote:
> As I've said before, I think the problem is that you have unrealistic 
> expectations about the ability to operate a power system with strictly 
> specified power factors on all generators. It is not reasonable to expect 
> that an OPF with a constant power factor constraint on the generators will be 
> feasible over any significant range of power factors.
> 
> -- 
> Ray Zimmerman
> Senior Research Associate
> 211 Warren Hall, Cornell University, Ithaca, NY 14853
> phone: (607) 255-9645
> 
> 
> 
> On Mar 17, 2011, at 2:43 PM, Carlos Gonzalez Almeida wrote:
> 
>> Thank you. In your idea what changes should be carried out to do runmarket, 
>> for the case pf set to 0.97 for example?
>> 
>> Best Regards
>> Carlos
>> 
>> On Thu, Mar 17, 2011 at 19:35, Ray Zimmerman <[email protected]> wrote:
>> Carlos,
>> 
>> It appears that with such strict constraints on power factor it is no longer 
>> able to keep the voltages within limits. Notice when you run the case you 
>> sent with the PF set to 0.9, there are both upper and lower voltages limits 
>> binding.
>> 
>> -- 
>> Ray Zimmerman
>> Senior Research Associate
>> 211 Warren Hall, Cornell University, Ithaca, NY 14853
>> phone: (607) 255-9645
>> 
>> 
>> 
>> On Mar 17, 2011, at 12:35 PM, Carlos Gonzalez Almeida wrote:
>> 
>>> Dear Prof. Zimmerman
>>> 
>>> In the case provided in manual(t_auction_case), when I do runmarket (with 
>>> the attached offers and bids) with power factors between 0.5 to 0.9 there 
>>> is no problem but with the PF greater then 0.9 it doesn't work. If it is 
>>> possible could you please see it what is the reason? Please see the 
>>> attached file
>>> 
>>> Best Wishes
>>> 
>>> C. Gonzalez Almeida
>>> 
>>> 
>>> On Thu, Mar 17, 2011 at 10:47, Carlos Gonzalez Almeida 
>>> <[email protected]> wrote:
>>> Thank you very much for your guidance. I solved the problem.
>>> 
>>> Best Regards
>>> 
>>> Carlos
>>> 
>>> 
>>> On Wed, Mar 16, 2011 at 23:28, Ray Zimmerman <[email protected]> wrote:
>>> No, it doesn't make sense to have bids without dispatchable loads. What 
>>> would the bids correspond to if there are no dispatchable resources on the 
>>> demand side of the market?
>>> 
>>> Again, to me, specifying the power factor for everything doesn't make 
>>> sense. But if you insist, then you'll have to do what I said before, create 
>>> an A matrix with constant power factor constraints for the actual 
>>> generators only, not including the dispatchable loads (which already have 
>>> their own constant power factor constraints created automatically by 
>>> MATPOWER).
>>> 
>>> -- 
>>> Ray Zimmerman
>>> Senior Research Associate
>>> 211 Warren Hall, Cornell University, Ithaca, NY 14853
>>> phone: (607) 255-9645
>>> 
>>> 
>>> 
>>> On Mar 16, 2011, at 12:25 PM, Carlos Gonzalez Almeida wrote:
>>> 
>>>> Yes. without converting loads to dispatchable loads is it possible to 
>>>> insert bids? if yes how?
>>>> 
>>>> my problem is this, with only offers I can do runmarket but with both 
>>>> offers and bids I cannot do runmarket with specified PF. How can I do this?
>>>> 
>>>> On Wed, Mar 16, 2011 at 17:21, Ray Zimmerman <[email protected]> wrote:
>>>> It doesn't matter what the power factor is, you cannot give two 
>>>> conflicting power factor constraints for a dispatchable load. There is one 
>>>> that is created automatically by MATPOWER from the Q/P ratio of the load 
>>>> (QMIN/PMIN) and the other you are adding explicitly. If the one you 
>>>> specify explicitly is different from the one automatically created by 
>>>> MATPOWER, then you have made the problem infeasible and it will not work. 
>>>> If they are the same then you have added redundant constraints that could 
>>>> potentially cause numerical issues.
>>>> 
>>>> So, for loads, set the power factor directly by setting the P and Q in the 
>>>> bus matrix (or gen matrix if you are not using load2disp) and do not add 
>>>> explicit power factor constraints via the A matrix.
>>>> 
>>>> -- 
>>>> Ray Zimmerman
>>>> Senior Research Associate
>>>> 211 Warren Hall, Cornell University, Ithaca, NY 14853
>>>> phone: (607) 255-9645
>>>> 
>>>> 
>>>> 
>>>> On Mar 16, 2011, at 12:00 PM, Carlos Gonzalez Almeida wrote:
>>>> 
>>>>> Thank you very much for your help.
>>>>> 
>>>>> for any power factor(0.85,0.95,0.9, ....) I have this problem. The value 
>>>>> of PF is not important for me. The important thing is that I cannot do 
>>>>> runmarket with the specified power factor as I want.
>>>>> 
>>>>> Best Regards
>>>>> 
>>>>> Carlos
>>>>> 
>>>>> On Wed, Mar 16, 2011 at 16:51, Ray Zimmerman <[email protected]> wrote:
>>>>> The problem here is that you've made the problem infeasible by adding 
>>>>> conflicting constraints. Remember, dispatchable loads are implemented as 
>>>>> generators (with PMAX = 0 and PMIN < 0). Each dispatchable load already 
>>>>> has a constant power factor constraint, included automatically by 
>>>>> MATPOWER, that keeps the Q/P ratio equal to the original ratio. This 
>>>>> ratio is not zero for the loads in case9, but you have added another 
>>>>> constraint to these "generators" trying to force the power factor to 
>>>>> equal 1 (Q/P ratio = 0) and these constraints conflict. You need to 
>>>>> modify A, l and u, to only include rows for the original generators, not 
>>>>> the dispatchable loads. Check out the isload function to help you find 
>>>>> which are the real gens.
>>>>> 
>>>>> I still question why forcing the power factor to equal 1 for all 
>>>>> generators except the reference gen is so important to you. Are any real 
>>>>> power systems ever operated under such constraints?
>>>>> 
>>>>> -- 
>>>>> Ray Zimmerman
>>>>> Senior Research Associate
>>>>> 211 Warren Hall, Cornell University, Ithaca, NY 14853
>>>>> phone: (607) 255-9645
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mar 16, 2011, at 7:04 AM, Carlos Gonzalez Almeida wrote:
>>>>> 
>>>>>> Dear Prof. Zimmerman
>>>>>> 
>>>>>> I want to do runmarket with following offers and bids also with PF=1 for 
>>>>>> generators and the following error is occurred. 
>>>>>> Could you please help me?
>>>>>> 
>>>>>> define_constants;
>>>>>> mpc0= loadcase('case9');
>>>>>> mpc = load2disp(mpc0);
>>>>>> offers.P.qty = [200; 150; 180];
>>>>>> offers.P.prc = [30; 40; 50];
>>>>>> bids.P.qty = [70; 70; 70];
>>>>>> bids.P.prc = [100; 90; 80];
>>>>>> mkt.OPF = 'AC';
>>>>>> nb = size(mpc.bus, 1);
>>>>>> ng = size(mpc.gen, 1);
>>>>>> pf = 1;
>>>>>> QPratio = sqrt(1/pf^2 -1);
>>>>>> mpc.A = sparse([1:ng 1:ng]', [2*nb+(1:ng) 2*nb+ng+(1:ng)]', 
>>>>>> [QPratio*ones(ng,1); -ones(ng,1)], ng, 2*nb+2*ng);
>>>>>> mpc.A = mpc.A(2:end, :);
>>>>>> mpc.l = zeros(ng-1, 1);
>>>>>> mpc.u = mpc.l;
>>>>>> [r, co, cb] = runmarket(mpc, offers, bids, mkt);
>>>>>> 
>>>>>> Results
>>>>>> 
>>>>>> Warning: Matrix is singular to working precision. 
>>>>>> > In mips at 422
>>>>>>   In mipsopf_solver at 145
>>>>>>   In opf_execute at 106
>>>>>>   In opf at 225
>>>>>>   In uopf at 154
>>>>>>   In smartmkt at 90
>>>>>>   In runmarket at 141
>>>>>> Warning: Matrix is singular to working precision. 
>>>>>> > In mips at 422
>>>>>>   In mipsopf_solver at 145
>>>>>>   In opf_execute at 106
>>>>>>   In opf at 225
>>>>>>   In uopf at 154
>>>>>>   In smartmkt at 90
>>>>>>   In runmarket at 141
>>>>>> 
>>>>>> SMARTMARKET: non-convergent UOPF??? Error using ==> mtimes
>>>>>> Inner matrix dimensions must agree.
>>>>>> 
>>>>>> Error in ==> smartmkt at 170
>>>>>>     price       = mkt.lim.P.max_offer * ones(ng, 1);
>>>>>> 
>>>>>> Error in ==> runmarket at 141
>>>>>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, mpopt);
>>>>>>  
>>>>>> Best Wishes
>>>>>> 
>>>>>> Carlos
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> Best Wishes
>>>>> 
>>>>> C. Gonzalez Almeida
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Best Wishes
>>>> 
>>>> C. Gonzalez Almeida
>>> 
>>> 
>>> 
>>> 
>>> Best Wishes
>>> 
>>> C. Gonzalez Almeida
>>> 
>>> <pf_constraint_eg1.m>
>> 
>> 
>> 
>> 
>> Best Wishes
>> 
>> C. Gonzalez Almeida
> 
> 
> 
> 
> Best Wishes
> 
> C. Gonzalez Almeida

Reply via email to