mp.form_acp

class mp.form_acp

Bases: mp.form_ac

mp.form_acp - Base class for MATPOWER AC polar formulations.

Used as a mix-in class for all network model element classes with an AC network model formulation with a polar repesentation for voltages. That is, each concrete network model element class with an AC polar formulation must inherit, at least indirectly, from both mp.nm_element and mp.form_acp.

Provides implementation of evaluation of voltage-related Jacobian and Hessian terms needed by some mp.form_ac methods.

mp.form_dc Methods:

For more details, see the AC Formulations section in the MATPOWER Developer’s Manual and the derivations in MATPOWER Technical Note 5.

See also mp.form, mp.form_ac, mp.form_acc, mp.nm_element.

Method Summary
form_name()

Get user-readable name of formulation, i.e. 'AC-polar'.

See mp.form.form_name().

form_tag()

Get short label of formulation, i.e. 'acp'.

See mp.form.form_tag().

model_vvars()

Get cell array of names of voltage state variables, i.e. {'va', 'vm'}.

See mp.form.model_vvars().

port_inj_current_jac(n, v_, Y, M, invdiagvic, diagSlincJ)

Compute voltage-related terms of current injection Jacobian.

[Iva, Ivm] = nme.port_inj_current_jac(n, v_, Y, M, invdiagvic, diagSlincJ)

Called by mp.form_ac.port_inj_current() to compute voltage-related Jacobian terms.

port_inj_current_hess_v(x_, lam, v_, z_, diaginvic, Y, M, diagSlincJ, dlamJ)

Compute voltage-related terms of current injection Hessian.

[Ivava, Ivavm, Ivmvm] = nme.port_inj_current_hess_v(x_, lam)
[Ivava, Ivavm, Ivmvm] = nme.port_inj_current_hess_v(x_, lam, sysx)
[Ivava, Ivavm, Ivmvm] = nme.port_inj_current_hess_v(x_, lam, sysx, idx)
[...] = nme.port_inj_current_hess_vz(x_, lam, v_, z_, diaginvic, Y, M, diagSlincJ, dlamJ)

Called by mp.form_ac.port_inj_current_hess() to compute voltage-related Hessian terms.

port_inj_current_hess_vz(x_, lam, v_, z_, diaginvic, N, dlamJ)

Compute voltage/non-voltage-related terms of current injection Hessian.

[Ivazr, Ivazi, Ivmzr, Ivmzi] = nme.port_inj_current_hess_vz(x_, lam)
[...] = nme.port_inj_current_hess_vz(x_, lam, sysx)
[...] = nme.port_inj_current_hess_vz(x_, lam, sysx, idx)
[...] = nme.port_inj_current_hess_vz(x_, lam, v_, z_, diaginvic, N, dlamJ)

Called by mp.form_ac.port_inj_current_hess() to compute voltage/non-voltage-related Hessian terms.

port_inj_power_jac(n, v_, Y, M, diagv, diagvi, diagIlincJ)

Compute voltage-related terms of power injection Jacobian.

[Sva, Svm] = nme.port_inj_power_jac(...)

Called by mp.form_ac.port_inj_power() to compute voltage-related Jacobian terms.

port_inj_power_hess_v(x_, lam, v_, z_, diagvi, Y, M, diagIlincJ, dlamJ)

Compute voltage-related terms of power injection Hessian.

[Svava, Svavm, Svmvm] = nme.port_inj_power_hess_v(x_, lam)
[Svava, Svavm, Svmvm] = nme.port_inj_power_hess_v(x_, lam, sysx)
[Svava, Svavm, Svmvm] = nme.port_inj_power_hess_v(x_, lam, sysx, idx)
[...] = nme.port_inj_power_hess_v(x_, lam, v_, z_, diagvi, Y, M, diagIlincJ, dlamJ)

Called by mp.form_ac.port_inj_power_hess() to compute voltage-related Hessian terms.

port_inj_power_hess_vz(x_, lam, v_, z_, diagvi, L, dlamJ)

Compute voltage/non-voltage-related terms of power injection Hessian.

[Svazr, Svazi, Svmzr, Svmzi] = nme.port_inj_power_hess_vz(x_, lam)
[...] = nme.port_inj_power_hess_vz(x_, lam, sysx)
[...] = nme.port_inj_power_hess_vz(x_, lam, sysx, idx)
[...] = nme.port_inj_power_hess_vz(x_, lam, v_, z_, diagvi, L, dlamJ)

Called by mp.form_ac.port_inj_power_hess() to compute voltage/non-voltage-related Hessian terms.

aux_data_va_vm(ad)

Return voltage angles/magnitudes from auxiliary data.

[va, vm] = nme.aux_data_va_vm(ad)

Simply returns voltage data stored in ad.va and ad.vm.

Input:

ad (struct) – struct of auxiliary data

Outputs:
  • va (double) – vector of voltage angles corresponding to voltage information stored in auxiliary data

  • vm (double) – vector of voltage magnitudes corresponding to voltage information stored in auxiliary data