The power flow solver runpf(), by default, simply solves for the flows given the specified loads and generator voltage and active power set points. It does not alter any set points in an attempt to keep flows, voltages or generator reactive powers within feasible limits. There is one exception to this, and that is when you set the pf.enforce_q_lims option to 1 or 2, in which case, it attempts to respect reactive power limits on generators in exchange for relaxing the corresponding voltage set point.
If you need to solve a problem that respects other limits, as it appears you do, you’ll want to use runopf() and set up the costs to indicate how you want to prioritize changes in the set points. Hope this helps, Ray > On Sep 24, 2019, at 10:29 AM, 赤心 肖 <[email protected]> wrote: > > Sorry, I forgot the benchmark is 'case 30'. Thanks. > Regards, > Chixin > From: [email protected] > <[email protected]> on behalf of > [email protected] <[email protected]> > Sent: 25 September 2019 01:24 > To: [email protected] <[email protected]> > Subject: About the branch violation > > Dear all, > I am programming by the use of 'runpf' and to be required not to ignore > any limits such as the generator, the branch flow and the voltage. > Although I have set the 'pf.enforce_q_lims' into 1 or 2, the 'pf.tol' into > 10e-20 and the 'pf.nr.max_it' into 40, the branch flow still has violation at > branch 10. > Can anybody give me some suggestion when you are at convenience? Thanks a > lot. > Regards, > Chixin
