Power networks

Networks

uot.Network_Unbalanced

class Network_Unbalanced(spec)

Bases: uot.AbstractNetwork

Class 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 specification

Note

Using the constructor directly is not recommended. Instead, create the object through the factory method uot.NetworkSpec.Create

See also

uot.AbstractNetwork, uot.NetworkSpec

uot.Network_Prunned

class Network_Prunned(network_full, removed_bus_name_cell, cut_link_name_cell)

Bases: uot.Network_Unbalanced

Class 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.AbstractNetwork

Class 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 specification

Note

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()

uot.AbstractNetwork

class AbstractNetwork(spec)

Bases: uot.Object

Abstract 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

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:
Returns:

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:
Returns:

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:
Returns:

Buses

uot.BusSpec_Unbalanced

class BusSpec_Unbalanced(name, phase, u_nom_v, varargin)

Bases: uot.AbstractBusSpec

Class 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.AbstractBusSpec

Class 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.Heterogeneous

AbstractLinkSpec 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

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.Heterogeneous

AbstractBusSpec 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