Please unsubscribe me from your email list.  I did not ask to be on this
list.

On Mon, Jan 13, 2020 at 10:26 AM Larry Arps <laa...@gmail.com> wrote:

> Please unsubscribe me from your email list.  I did not ask to be on this
> list.
>
> On Mon, Jan 13, 2020 at 10:57 AM Brunswick Computers <
> k...@brunswickcomputerservice.com> wrote:
>
>>
>>
>>
>>
>> REMOVE this email address from your spam.
>>
>>
>>
>>
>>
>> *From:* bounce-124269900-85421...@list.cornell.edu <
>> bounce-124269900-85421...@list.cornell.edu> *On Behalf Of *Florian
>> Bennewitz
>> *Sent:* Monday, January 13, 2020 10:43 AM
>> *To:* MATPOWER-DEV-L@cornell.edu
>> *Subject:* implementation of generator reactive power capability curve
>> in load flow
>>
>>
>>
>> Hello everybody,
>>
>>
>>
>> first of all I wish you a happy new year.
>>
>>
>>
>> For the purpose of my thesis, I needed to consider more detailed reactive
>> power limits of synchronous generators. This mainly includes the influence
>> of the terminal voltage to the operation chart of the generators. Hence I
>> wrote the function genreacpowercapcurve_rev() (see attachment), which is
>> implemented in runpf_rev() directly before the lines, where gens with
>> violated Q constraints are identified (see further annotations to
>> runpf_rev() below). Basically, genreacpowercapcurve_rev() calculates the
>> Q-limits of each generator according to the well-known operating chart.
>>
>>
>>
>> Some annotations regarding genreacpowercapcurve_rev():
>>
>>    - The calculation of the operation chart of a round-rotor-generator
>>    needs one further parameter, the stationary reactance in the d-axis. For 
>> my
>>    purpose, I wrote that number in gen(:,13), because I do not use any
>>    OPF-code from Matpower. However, salient-pole-generators are currently not
>>    considered.
>>    - One further parameter needed is the so called practical static
>>    stability limit, which defines a safety margin to the theoretical static
>>    stability limit at theta=90° at the under-excited side of the operating
>>    chart. I included this as mpopt.pf.static_stab_lim, which is by default
>>    70°.
>>    - The set point regarding active power injection can be inadmissible
>>    in the theoretical case of very low terminal voltages. Currently, this is
>>    considered to be an infeasible problem.
>>    - The rated voltage of the generator is currently set to the base
>>    voltage of the terminal bus, which might not be true in general.
>>
>>
>>
>> Some annotations regarding runpf_rev():
>>
>>    - The application of the reactive power capability curve is activated
>>    with mpopt.pf.consider_q_cap_curve, which is 0 by default.
>>    - The application of voltage-dependent-reactive-power-limits yielded
>>    a problem with the PV-PQ-change of generator-busses, which violate their
>>    reactive power limits. In the original runpf(), in this case a generator 
>> is
>>    fixed to the reactive power limit by converting its [Pg,Qg_lim] to a
>>    negative load, i.e. -[Pg,Qg_lim] are stored in mpc.bus. Thereafter, the
>>    limited power injection remains unchanged in further iterations. This is
>>    correct, if the respective reactive power limit does not change further;
>>    but it is wrong, if the reactive power limit changes with terminal voltage
>>    magnitude. Hence, further iterations are needed, until the limited 
>> reactive
>>    power injection shows convergence with the terminal voltage magnitude.
>>    However, this issue caused some changes in the runpf_rev(), which I tried
>>    to comment thoroughly. The relevant rows in runpf_rev() are the following
>>    ones:
>>       - rows 196, 203-205: some initializations
>>       - rows  246-256: implementation of genreacpowercapcurve()
>>       - row 263: adaption of if-clause
>>       - rows 301-346: correction of PV-PQ-change and calculation of
>>       ratio_qg_change, which indicates the aforementioned convergence 
>> behavior
>>    - The convergence of the outer loop is assumed, if ratio_qg_change <
>>    mpopt.pf. q_lim_gen_tol, which is 0.01 by default.
>>
>>
>>
>> A first small test looks fine for me. However, I guess there are major
>> possibilities to improve this, at least my style of writing this code. ;)
>> So hopefully there will be some good ideas on this.
>>
>>
>>
>> Last but not least a huge thank-you for the tremendous work on Matpower
>> to Dr. Zimmermann and all the others!
>>
>> Kind regards from Germany,
>>
>> Florian Bennewitz
>>
>

-- 
Thanks,

Dennis

Reply via email to