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
andmp.form_acp
.Provides implementation of evaluation of voltage-related Jacobian and Hessian terms needed by some
mp.form_ac
methods.- mp.form_dc Methods:
form_name()
- get char array w/name of formulation ('AC-polar'
)form_tag()
- get char array w/short label of formulation ('acp'
)model_vvars()
- get cell array of names of voltage state variables ({'va', 'vm'}
)port_inj_current_jac()
- compute voltage-related terms of current injection Jacobianport_inj_current_hess_v()
- compute voltage-related terms of current injection Hessianport_inj_current_hess_vz()
- compute voltage/non-voltage-related terms of current injection Hessianport_inj_power_jac()
- compute voltage-related terms of power injection Jacobianport_inj_power_hess_v()
- compute voltage-related terms of power injection Hessianport_inj_power_hess_vz()
- compute voltage/non-voltage-related terms of power injection Hessianaux_data_va_vm()
- return voltage angles/magnitudes from auxiliary data
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'}
.
- 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
andad.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