But you are over-specifying the problem and it will not have a solution. You can't specify all of the power factors exactly and expect the power flow equations to be satisfied.
-- Ray Zimmerman Senior Research Associate 211 Warren Hall, Cornell University, Ithaca, NY 14853 phone: (607) 255-9645 On Mar 14, 2011, at 11:39 AM, Roberto Carvalini wrote: > Because I want to have PF=0.9 or 0.95 for all generators. As you know, it is > very important > > On Mon, Mar 14, 2011 at 16:36, Ray Zimmerman <[email protected]> wrote: > You need a row of A for each generator, each one with QPratio in the column > corresponding to Pg(i) and -1 in the column corresponding to Qg(i) ... > > mpc.A = sparse([1:ng; 1:ng], [2*nb+(1:ng); 2*nb+ng+(1:ng)], > [QPratio*ones(ng,1); -ones(ng,1)], 1:ng, 2*nb+2*ng); > > As I said, this is likely to make the OPF infeasible, so I'm not sure why > you'd want to do it. > > -- > Ray Zimmerman > Senior Research Associate > 211 Warren Hall, Cornell University, Ithaca, NY 14853 > phone: (607) 255-9645 > > > > > On Mar 14, 2011, at 11:17 AM, Roberto Carvalini wrote: > >> Thank you very much. >> >> Is it possible for you to give an example, for example case9, for all >> generators? I will be appreciate if you do it. >> >> Best Regards >> >> R. Carvalini >> >> On Mon, Mar 14, 2011 at 16:08, Ray Zimmerman <[email protected]> wrote: >> The A matrix is from equation (5.25) in the User's Manual. As I mentioned, >> the coefficients need to go in the columns corresponding to Pg(1) and Qg(1). >> So, Pg(1) is in the first column following the voltage angles (1st nb >> columns) and magnitudes (next nb columns), so it's in column 2*nb+1. For >> Qg(1) it's the first column after the Pg columns, so 2*nb (for the voltage >> angles and magnitudes) plus ng columns for Pg. >> >> Yes, if you wanted to do this for all generators, you need to include a row >> in A for each. Be careful though, this will likely over-constrain the >> problem and make it infeasible. If all generators have a fixed power factor, >> then balancing the real power output to match the load will mean a specific >> reactive power output as well, which will not necessarily match the reactive >> power load. >> >> -- >> Ray Zimmerman >> Senior Research Associate >> 211 Warren Hall, Cornell University, Ithaca, NY 14853 >> phone: (607) 255-9645 >> >> >> >> On Mar 11, 2011, at 11:40 AM, Roberto Carvalini wrote: >> >>> Thank you very much. >>> >>> I have read the manual but I didn't understand by which formula you >>> computed this matrix (highlighted) >>> >>> mpc.A = sparse([1; 1], [2*nb+1; 2*nb+ng+1], [QPratio; -1], 1, 2*nb+2*ng); >>> >>> and if want to define the same PF for all generators, must I repeat this >>> for all or it depends on the type buses (PV or Slack)? >>> >>> Regards >>> >>> R. Carvalini >>> >>> On Fri, Mar 11, 2011 at 16:27, Ray Zimmerman <[email protected]> wrote: >>> Dirk's suggestion is fine for a simple power flow. But if you want to run >>> an OPF, where the generator dispatch is to be determined by the >>> optimization, but subject to a constant power factor constraint, then you >>> will need to supply an additional user-defined linear constraint. For >>> example, if you want to run case9 with a constant power factor constraint >>> of 0.95 on the first generator, you could do it like this ... >>> >>> define_constants; >>> mpc = loadcase('case9'); >>> nb = size(mpc.bus, 1); >>> ng = size(mpc.gen, 1); >>> pf = 0.95; >>> QPratio = sqrt(1/pf^2 -1); >>> %% add constraint that QPratio * Pg(1) - Qg(1) = 0 >>> mpc.A = sparse([1; 1], [2*nb+1; 2*nb+ng+1], [QPratio; -1], 1, 2*nb+2*ng); >>> mpc.l = 0; >>> mpc.u = 0; >>> r = runopf(mpc); >>> resulting_pf = r.gen(1, PG) / sqrt(r.gen(1, PG)^2 + r.gen(1, QG)^2) >>> >>> The important part here is defining the A matrix properly, where the >>> columns correspond to voltage angles, voltage magnitudes, generator real >>> injections, and generator reactive injections (2*nb + 2*ng columns in all). >>> So the coefficients for our constraint co in the columns corresponding to >>> Pg(1) and Qg(1). >>> >>> -- >>> Ray Zimmerman >>> Senior Research Associate >>> 211 Warren Hall, Cornell University, Ithaca, NY 14853 >>> phone: (607) 255-9645 >>> >>> >>> >>> On Mar 11, 2011, at 9:50 AM, Dirk Van Hertem wrote: >>> >>>> You model your generator as a load, so it is not represented in your gen >>>> matrix. Of course, if you want model your generator in a unit commitment, >>>> this may not be trivial... >>>> >>>> Dirk >>>> >>>> On 03/11/2011 12:32 PM, Roberto Carvalini wrote: >>>>> >>>>> Thank you >>>>> >>>>> How can I add? my problem is this >>>>> >>>>> Best Wishes >>>>> >>>>> Roberto >>>>> >>>>> >>>>> On Fri, Mar 11, 2011 at 12:22, Dirk Van Hertem <[email protected]> >>>>> wrote: >>>>> You can just define them as a PQ bus with negative power... (negative >>>>> load) >>>>> >>>>> Dirk >>>>> >>>>> >>>>> On 03/11/2011 12:11 PM, Roberto Carvalini wrote: >>>>> Hi >>>>> >>>>> How can I define constant power factor in MAPOWER for example, for >>>>> generators PF=0.9? >>>>> >>>>> Please help me >>>>> >>>>> Regards >>>>> >>>>> Roberto >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Dirk Van Hertem [email protected] >>>>> Electrical Engineering Department http://www.esat.kuleuven.be/electa >>>>> K.U. Leuven, ESAT-ELECTA GSM: +32-(O)498-61.74.98 >>>>> 10, Kasteelpark Arenberg, B-3001 Heverlee fax: +32-16-32.19.85 >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Dirk Van Hertem [email protected] >>>> Electrical Engineering Department http://www.esat.kuleuven.be/electa >>>> K.U. Leuven, ESAT-ELECTA GSM: +32-(O)498-61.74.98 >>>> 10, Kasteelpark Arenberg, B-3001 Heverlee fax: +32-16-32.19.85 >>> >>> >>> >>> >>> >> >> >> >> >> > > > > > Best Wishes > > Roberto
