andes.routines.cpf.CPF#

class andes.routines.cpf.CPF(system=None, config=None)[source]#

Continuation Power Flow routine.

Traces the nose curve (PV curve) by smoothly increasing load and generation from a solved base case toward a target loading condition.

The continuation parameter lambda interpolates linearly:

p0(lam) = p0_base + lam * (p0_target - p0_base)

At lambda=0 the system is at the base case; at lambda=1 the system is at the target. The nose point (maximum lambda) gives the steady-state loadability limit.

Examples

Uniform load scaling:

ss = andes.load('ieee14.raw')
ss.PFlow.run()
ss.CPF.run(load_scale=2.0)
print(ss.CPF.max_lam)

Per-device target:

ss.CPF.run(p0_target=my_p_array, q0_target=my_q_array)

Reactive power limits are enforced through the PV model's built-in PV-to-PQ conversion. Pass config_option=["PV.pv2pq=1"] to andes.load() to enable Q-limit checking at each corrector step.

__init__(system=None, config=None)[source]#

Methods

doc([max_width, export])

Routine documentation interface.

init()

Initialize CPF routine.

plot(bus_idx[, fig, ax, show])

Plot PV curve for a specific bus.

plot_qv([fig, ax, show])

Plot QV curve from the last run_qv() call.

report()

Print CPF summary.

run([load_scale, p0_target, q0_target, ...])

Run continuation power flow.

run_qv(bus_idx[, q_range])

Run QV curve analysis at a specific bus.

summary()

Summary interface

Attributes

class_name