Power networks¶
Networks¶
uot.Network_Unbalanced¶
-
class
Network_Unbalanced(spec)¶ Bases:
uot.AbstractNetworkClass to represent unbalanced power networks
Synopsis:
network = uot.Network_Unbalanced(spec)
- Description:
- This class is used to represent unbalanced power networks
Parameters: spec ( uot.NetworkSpec) – Network specificationNote
Using the constructor directly is not recommended. Instead, create the object through the factory method
uot.NetworkSpec.CreateSee also
uot.AbstractNetwork,uot.NetworkSpec
uot.Network_Prunned¶
-
class
Network_Prunned(network_full, removed_bus_name_cell, cut_link_name_cell)¶ Bases:
uot.Network_UnbalancedClass to represent prunned power networks
- Description:
- The process of prunning a network consists in cutting away certain links and replacing them with constant loads. This class is meant to deal with these objects that are represented by a network and a load case.
Synopsis:
obj = Network_Prunned(network_full,removed_bus_name_cell,cut_link_name_cell)
Parameters: - network_full (
uot.AbstractNetwork) – Full network - removed_bus_name_cell (cell) – Cell array with the names of buses to be removed
- cut_link_name_cell (cell) – Cell array with the names of the links to be cut and replaced with loads
-
validate= 'true'¶ Flag to validate AdaptLoadCase against original power flow solution
-
validate_tol= '1e-8'¶ Absolute tolerance to validate AdaptLoadCase
uot.Network_Splitphased¶
-
class
Network_Splitphased(spec)¶ Bases:
uot.AbstractNetworkClass to represent unbalanced power networks with split phases
Synopsis:
network = uot.Network_Splitphased(spec)
- Description:
- This class is used to represent unbalanced power networks with split phases
Parameters: spec ( uot.NetworkSpec) – Network specificationNote
Using the constructor directly is not recommended. Instead, create the object through the factory method
uot.NetworkSpec.Create:network = spec.Create()
See also
uot.AbstractNetwork,uot.NetworkSpec
-
CreateNetworkWithPrunedSecondaries(obj)¶ Create a new network that results from prunning the split-phased secondaries
Synopsis:
network_prunned = network.CreateNetworkWithPrunedSecondaries()
See also
uot.AbstractNetwork¶
-
class
AbstractNetwork(spec)¶ Bases:
uot.ObjectAbstract base class with common functionality for power networks
- Description:
- This class builds the foundation to represent power networks.
Parameters: - spec (
uot.NetworkSpec) – Network specification - bus_data_array (
uot.BusData) – Array describing the buses - link_data_array (
uot.LinkData) – Array describing the links
See also
uot.NetworkSpec,uot.Network_Unbalanced,uot.Network_Splitphased-
U_base_v= None¶ Graph theoretic variables
-
Y_shunt_bus_prec= '10'¶ Rounding precision of Y_shunt_bus to remove numerical noise. See CreateYshuntBusCell.
-
Ybus= None¶ Shunts
-
bus_data_array= None¶ Link variables
-
connectivity_graph= None¶ Ybus variables
-
link_data_array= None¶ Variables for per-unit system
-
ComputeCurrentInjectionFromVoltage(obj, U_array, T_array)¶ Compute current injection for a given voltage profile
Synopsis:
I_inj_array = network.ComputeCurrentInjectionFromVoltage(U_array,T_array)
- Description:
- This method implements Ohm´s law \(I_{inj} = Y_{bus}*V\) to compute current injection based on voltage.
Parameters: - U_array (double) – Phase-consistent array with voltage magnitudes
- T_array (double) – Phase-consistent array with voltage angles
Returns: - I_inj_array (double) - Phase-consistent array with complex power injection
-
ComputeLinkCurrentsAndPowers(obj, U_array, T_array)¶ Compute currents and power flow through links for a given voltage profile
Synopsis:
[I_link_from_array,I_link_to_array,S_link_from_array,S_link_to_array] = network.ComputeCurrentInjectionFromVoltage(U_array,T_array)
- Description:
- This method computes the current flowing through the network’s links according to Eq. 4 in [Bazrafshan2018b]. The power flows are then computed from these currents.
Parameters: - U_array (double) – Phase-consistent array with voltage mangitudes
- T_array (double) – Phase-consistent array with voltage angles
Returns: - I_link_from_array (double) - Phase-consistent array with link currents leaving the from bus
- I_link_to_array (double) - Phase-consistent array with link currents arriving at the to bus
- S_link_from_array (double) - Phase-consistent array with power flows leaving the from bus
- S_link_to_array (double) - Phase-consistent array with power flows arriving at the to bus
-
ComputePowerInjectionFromVoltage(obj, U_array, T_array)¶ Compute power injection for a given voltage profile
Synopsis:
[P_inj_array,Q_inj_array] = network.ComputePowerInjectionFromVoltage(U_array,T_array)
- Description:
This method computes power injection based on the power flow equation.
\[S_{inj} = diag(V)*conj(Y_{bus}*V)\]
Parameters: - U_array (double) – Phase-consistent array with voltage mangitudes
- T_array (double) – Phase-consistent array with voltage angles
Returns: - P_inj_array (double) - Phase-consistent array with active power injection
- Q_inj_array (double) - Phase-consistent array with reactive power injection
Buses¶
uot.BusSpec_Unbalanced¶
-
class
BusSpec_Unbalanced(name, phase, u_nom_v, varargin)¶ Bases:
uot.AbstractBusSpecClass to specify unbalanced power buses
Synopsis:
obj = BusSpec_Unbalanced(name,phase,u_nom_v) obj = BusSpec_Unbalanced(name,phase,u_nom_v,'bus_type',bus_type)
Parameters: - name (char) – Bus name
- phase (char) – Bus’ phase vector (as logical phase vector)
- u_nom_v (double) – nominal voltage (in volt)
Keyword Arguments: ‘bus_type’ (uot.enum.BusType) – Bus type
-
phase= None¶ bus phase
uot.BusSpec_Splitphased¶
-
class
BusSpec_Splitphased(name, parent_phase, u_nom_v)¶ Bases:
uot.AbstractBusSpecClass to specify power buses with split phases
Synopsis:
obj = BusSpec_Splitphased(name,parent_phase,u_nom_v)
Parameters: - name (char) – Bus name
- parent_phase (logical) – Phase to which the split phase bus is connected (as logical phase vector)
- u_nom_v (double) – nominal voltage (in volt)
-
parent_phase= None¶ bus parent phase
Interfaces¶
uot.AbstractLinkSpec¶
-
class
AbstractLinkSpec(name, from, to, Y_from_siemens, Y_to_siemens, Y_shunt_from_siemens, Y_shunt_to_siemens, created_from_Y_link)¶ Bases:
uot.Spec,matlab.mixin.HeterogeneousAbstractLinkSpec Class with common functionality to specify links of the power network
-
Y_from_siemens= None¶ from-side admittance matrix
-
Y_shunt_from_siemens= None¶ from-side shunt admittance matrix
-
Y_shunt_to_siemens= None¶ to-side shunt admittance matrix
-
Y_to_siemens= None¶ to-side admittance matrix
-
created_from_Y_link= 'false'¶ flag to denote that LinkSpec was created using Y_line_siemens
-
from= None¶ link start bus
-
name= None¶ link name
-
to= None¶ link end bus
-
uot.AbstractBusSpec¶
-
class
AbstractBusSpec(name, u_nom_v, varargin)¶ Bases:
uot.Spec,matlab.mixin.HeterogeneousAbstractBusSpec Class with common functionality to specify buses of the power network
Synopsis:
obj = AbstractBusSpec(name,u_nom_v) obj = AbstractBusSpec(name,u_nom_v,'bus_type',bus_type)
Parameters: - name (char) – Bus name
- u_nom_v (double) – Nominal voltage (in volt)
Keyword Arguments: ‘bus_type’ (uot.enum.BusType) – Bus type
-
bus_type= 'uot.enum.BusType.PQ'¶ bus type
-
name= None¶ bus name
-
u_nom_v= '1'¶ bus nominal voltage in volt