Loads#

Definition#

The load element can be used to model consumption loads (with positive active power) as well as generation loads (with negative active power).

Connections#

A load can be either star-connected or delta-connected depending on whether its phases include a neutral or not.

Star (wye) connection#

Here is the diagram of a star-connected three-phase load:

Star load diagram
Star load diagram

In Roseau Load Flow, the phases argument of the constructor must contain "n" for star loads.

Delta connection#

Here is the diagram of a delta-connected three-phase load:

Delta load diagram
Delta load diagram

In Roseau Load Flow, the phases argument of the constructor must not contain "n" for delta loads.

Available models#

The ZIP model is commonly used to represent electric loads in static grid analysis. This model considers the voltage dependency of loads. ZIP stands for the three load types:

  • Z = constant impedance load

  • I = constant current load

  • P = constant power load

The following load models are available in Roseau Load Flow:

API Reference#

class AbstractLoad(id: int | str, bus: Bus, *, phases: str | None = None)

Bases: Element, ABC

An abstract class of an electric load.

The subclasses of this class can be used to depict:
  • star-connected loads using a phases constructor argument containing “n”

  • delta-connected loads using a phases constructor argument not containing “n”

AbstractLoad constructor.

Parameters:
  • id – A unique ID of the load in the network loads.

  • bus – The bus to connect the load to.

  • phases – The phases of the load. A string like "abc" or "an" etc. The order of the phases is important. For a full list of supported phases, see the class attribute allowed_phases. All phases of the load, except "n", must be present in the phases of the connected bus. By default, the phases of the bus are used.

allowed_phases: Final = frozenset({'ab', 'abc', 'abcn', 'abn', 'an', 'bc', 'bcn', 'bn', 'ca', 'can', 'cn'})

The allowed phases for a load are the same as for a bus.

property phases: str

The phases of the load.

property bus: Bus

The bus of the load.

property is_flexible: bool

Whether the load is flexible or not. Only PowerLoad can be flexible.

property voltage_phases: list[str]

The phases of the load voltages.

property res_currents: Quantity[ndarray[Any, dtype[complex128]]]

The load flow result of the load currents (A).

property res_potentials: Quantity[ndarray[Any, dtype[complex128]]]

The load flow result of the load potentials (V).

property res_voltages: Quantity[ndarray[Any, dtype[complex128]]]

The load flow result of the load voltages (V).

property res_powers: Quantity[ndarray[Any, dtype[complex128]]]

The load flow result of the “line powers” flowing into the load (VA).

disconnect() None

Disconnect this load from the network. It cannot be used afterwards.

classmethod from_dict(data: dict[str, Any], *, include_results: bool = True) AbstractLoad

Create an element from a dictionary created with to_dict().

Note

This method does not work on all classes that define it as some of them require additional information to be constructed. It can only be safely used on the ElectricNetwork, LineParameters and TransformerParameters classes.

Parameters:
  • data – The dictionary containing the element’s data.

  • include_results – If True (default) and the results of the load flow are included in the dictionary, the results are also loaded into the element.

Returns:

The constructed element.

class ImpedanceLoad(id: int | str, bus: Bus, *, impedances: ndarray[Any, dtype[complex128]] | Quantity[ndarray[Any, dtype[complex128]]] | Quantity[Sequence[complex]] | Sequence[complex | Quantity[complex]], phases: str | None = None)

Bases: AbstractLoad

A constant impedance load.

ImpedanceLoad constructor.

Parameters:
  • id – A unique ID of the load in the network loads.

  • bus – The bus to connect the load to.

  • impedances – An array-like of the impedances for each phase component. Either complex values (Ohms) or a Quantity of complex values.

  • phases – The phases of the load. A string like "abc" or "an" etc. The order of the phases is important. For a full list of supported phases, see the class attribute allowed_phases. All phases of the load, except "n", must be present in the phases of the connected bus. By default, the phases of the bus are used.

property impedances: Quantity[ndarray[Any, dtype[complex128]]]

The impedances of the load (Ohms).

class CurrentLoad(id: int | str, bus: Bus, *, currents: ndarray[Any, dtype[complex128]] | Quantity[ndarray[Any, dtype[complex128]]] | Quantity[Sequence[complex]] | Sequence[complex | Quantity[complex]], phases: str | None = None)

Bases: AbstractLoad

A constant current load.

CurrentLoad constructor.

Parameters:
  • id – A unique ID of the load in the network loads.

  • bus – The bus to connect the load to.

  • currents – An array-like of the currents for each phase component. Either complex values (A) or a Quantity of complex values.

  • phases – The phases of the load. A string like "abc" or "an" etc. The order of the phases is important. For a full list of supported phases, see the class attribute allowed_phases. All phases of the load, except "n", must be present in the phases of the connected bus. By default, the phases of the bus are used.

property currents: Quantity[ndarray[Any, dtype[complex128]]]

The currents of the load (Amps).

class PowerLoad(id: int | str, bus: Bus, *, powers: ndarray[Any, dtype[complex128]] | Quantity[ndarray[Any, dtype[complex128]]] | Quantity[Sequence[complex]] | Sequence[complex | Quantity[complex]], phases: str | None = None, flexible_params: list[FlexibleParameter] | None = None)

Bases: AbstractLoad

A constant power load.

PowerLoad constructor.

Parameters:
  • id – A unique ID of the load in the network loads.

  • bus – The bus to connect the load to.

  • powers – An array-like of the powers for each phase component. Either complex values (VA) or a Quantity of complex values.

  • phases – The phases of the load. A string like "abc" or "an" etc. The order of the phases is important. For a full list of supported phases, see the class attribute allowed_phases. All phases of the load, except "n", must be present in the phases of the connected bus. By default, the phases of the bus are used.

  • flexible_params – A list of FlexibleParameters object, one for each phase. When provided, the load is considered as flexible (or controllable) and the parameters are used to compute the flexible power of the load.

property is_flexible: bool

Whether the load is flexible or not. Only PowerLoad can be flexible.

property powers: Quantity[ndarray[Any, dtype[complex128]]]

The powers of the load (VA).

property res_flexible_powers: Quantity[ndarray[Any, dtype[complex128]]]

The load flow result of the load flexible powers (VA).

This property is only available for flexible loads.

It returns the powers actually consumed or produced by each component of the load instead of the “line powers” flowing into the load connection points (as the res_powers() property does). The two properties are the same for Wye-connected loads but are different for Delta-connected loads.

classmethod from_dict(data: dict[str, Any], *, include_results: bool = True) AbstractLoad

Create an element from a dictionary created with to_dict().

Note

This method does not work on all classes that define it as some of them require additional information to be constructed. It can only be safely used on the ElectricNetwork, LineParameters and TransformerParameters classes.

Parameters:
  • data – The dictionary containing the element’s data.

  • include_results – If True (default) and the results of the load flow are included in the dictionary, the results are also loaded into the element.

Returns:

The constructed element.