To expand a little bit on Ray's response:  In power systems, we tend to have labels for very specific kinds of problems;
one such label is "power flow" or "load flow".  This refers to a problem in which given some input parameters (values
of loads, generator voltage setpoints, and real power dispatch for every generator but one, which is called the slack generator),
the resulting circuit  analysis problem is solved, yielding what would be the consequences of the input parameters, namely,
complete information about voltage phasors in every busbar, as well as individual line flows. The traditional power flow problem
does not care about generator reactive limits nor branch flow limits.  Why, it doesn't even care about the slack
generator active power capability.  It is just about solving the circuit.  The pf.enforce_q_lims option in MATPOWER deviates
from the traditional power flow formulation by trying to stay within the reactive capabilities of the generators at the
expense of renouncing to bus voltage control.

In order to try to address other kinds of limits such as line flow ones, you have to turn to another kind of problem (and another
label for it) instead of the so-called load flow problem.  One such possibility is the Optimal Power Flow.  There are others.

carlos.

Ray Zimmerman wrote:
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, 赤心 肖 <chixinx...@hotmail.com> wrote:

Sorry, I forgot the benchmark is 'case 30'. Thanks.
Regards,
Chixin

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


Reply via email to