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:
In Roseau Load Flow, the phases
argument of the constructor must contain "n"
for star loads.
Note
You can create star connected constant-power or constant-impedance loads even on buses that don’t have a neutral. In this case, the load’s neutral will be floating and its potential can be accessed similar to normal star loads.
Delta connection¶
Here is the diagram of a delta-connected three-phase load:
In Roseau Load Flow, the phases
argument of the constructor must not contain "n"
for delta
loads.
Available Results¶
The following results are available for all loads:
Result Accessor |
Default Unit |
Type |
Description |
---|---|---|---|
|
\(V\) |
complex array |
The potentials of each phase of the load |
|
\(A\) |
complex array |
The line currents flowing into each phase of the load |
|
\(V\!A\) |
complex array |
The line powers flowing into each phase of the load |
|
\(V\) |
complex array |
The phase-to-neutral voltages if the load has a neutral, the phase-to-phase voltages otherwise |
|
\(A\) |
complex array |
The currents flowing in each component (dipole) of the load. |
|
\(V\!A\) |
complex array |
The powers dissipated by each component (dipole) of the load. |
Addionally, the following results are available for loads with a neutral:
Result Accessor |
Default Unit |
Type |
Description |
---|---|---|---|
|
\(V\) |
complex array |
The phase-to-neutral voltages of the load |
And the following results are available for loads with more than one phase:
Result Accessor |
Default Unit |
Type |
Description |
---|---|---|---|
|
\(V\) |
complex array |
The phase-to-phase voltages of the load |
And the following results are available for three-phase loads:
Result Accessor |
Default Unit |
Type |
Description |
---|---|---|---|
|
\(\%\) |
number |
The voltage unbalance of the load according to the IEC definition |
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: Id, bus: roseau.load_flow.models.buses.Bus, *, phases: str | None = None, connect_neutral: bool | None = None)
Bases:
roseau.load_flow.models.connectables.AbstractConnectable[_CyL_co]
,abc.ABC
An abstract class of an electric load.
- The subclasses of this class can be used to model:
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 bus phases are used by default. The order of the phases is important. For a full list of supported phases, see the class attributeallowed_phases
. All phases of the load must be present in the phases of the connected bus. Multiphase loads are allowed to be connected to buses that don’t have a neutral ifconnect_neutral
is not set toTrue
.connect_neutral – Specifies whether the load’s neutral should be connected to the bus’s neutral or left floating. By default, the load’s neutral is connected when the bus has a neutral. If the bus does not have a neutral, the load’s neutral is left floating by default. To override the default behavior, pass an explicit
True
orFalse
.
- element_type: Final = 'load'
The type of the element. It is a string like
"load"
or"line"
etc.
- property res_inner_currents: Q_[ComplexArray]
The load flow result of the currents that flow in the inner components of the load (A).
- property res_inner_powers: Q_[ComplexArray]
The load flow result of the powers that flow in the inner components of the load (VA).
Unlike res_powers, the inner powers do not depend on the reference of potentials. They are the physical powers consumed by each of the load dipoles.
- classmethod from_dict(data: JsonDict, *, 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: Id, bus: roseau.load_flow.models.buses.Bus, *, impedances: ComplexScalarOrArrayLike1D, phases: str | None = None, connect_neutral: bool | None = None)
Bases:
AbstractLoad[roseau.load_flow_engine.cy_engine.CyAdmittanceLoad | roseau.load_flow_engine.cy_engine.CyDeltaAdmittanceLoad]
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 –
A single impedance value or an array-like of impedance values for each phase component. Either complex values (Ohms) or a
Quantity
of complex values.When a scalar value is provided, it creates a balanced load with the same impedance for each phase. To create an unbalanced load, provide a vector of impedance values with the same length as the number of components of the load.
phases – The phases of the load. A string like
"abc"
or"an"
etc. The bus phases are used by default. The order of the phases is important. For a full list of supported phases, see the class attributeallowed_phases
. All phases of the load must be present in the phases of the connected bus. Multiphase loads are allowed to be connected to buses that don’t have a neutral ifconnect_neutral
is not set toTrue
.connect_neutral – Specifies whether the load’s neutral should be connected to the bus’s neutral or left floating. By default, the load’s neutral is connected when the bus has a neutral. If the bus does not have a neutral, the load’s neutral is left floating by default. To override the default behavior, pass an explicit
True
orFalse
.
- type: Final = 'impedance'
- property impedances: Q_[ComplexArray]
The impedances of the load (Ohms).
- class CurrentLoad(id: Id, bus: roseau.load_flow.models.buses.Bus, *, currents: ComplexScalarOrArrayLike1D, phases: str | None = None)
Bases:
AbstractLoad[roseau.load_flow_engine.cy_engine.CyCurrentLoad | roseau.load_flow_engine.cy_engine.CyDeltaCurrentLoad]
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 –
A single current value or an array-like of current values for each phase component. Either complex values (A) or a
Quantity
of complex values. The complex currents provided define the currents magnitudes and their phase shift from the voltages of the load. For example, a current of10*exp(-90°j)
represents an inductive constant current of 10 A.When a scalar value is provided, it creates a balanced load with the same current for each phase. To create an unbalanced load, provide a vector of current values with the same length as the number of components of the load.
phases – The phases of the load. A string like
"abc"
or"an"
etc. The bus phases are used by default. The order of the phases is important. For a full list of supported phases, see the class attributeallowed_phases
. All phases of the load must be present in the phases of the connected bus.
- type: Final = 'current'
- property currents: Q_[ComplexArray]
The currents of the load (Amps).
Setting the currents will update the load’s currents and invalidate the network results.
- class PowerLoad(id: Id, bus: roseau.load_flow.models.buses.Bus, *, powers: ComplexScalarOrArrayLike1D, phases: str | None = None, flexible_params: list[roseau.load_flow.models.loads.flexible_parameters.FlexibleParameter] | None = None, connect_neutral: bool | None = None)
Bases:
AbstractLoad[roseau.load_flow_engine.cy_engine.CyPowerLoad | roseau.load_flow_engine.cy_engine.CyDeltaPowerLoad | roseau.load_flow_engine.cy_engine.CyFlexibleLoad | roseau.load_flow_engine.cy_engine.CyDeltaFlexibleLoad]
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 –
A single power value or an array-like of power values for each phase component. Either complex values (VA) or a
Quantity
of complex values.When a scalar value is provided, it creates a balanced load with the same power for each phase. The scalar value passed is assumed to be the power of each component of the load, not the total multi-phase power. To create an unbalanced load, provide a vector of power values with the same length as the number of components of the load.
phases – The phases of the load. A string like
"abc"
or"an"
etc. The bus phases are used by default. The order of the phases is important. For a full list of supported phases, see the class attributeallowed_phases
. All phases of the load must be present in the phases of the connected bus. Multiphase loads are allowed to be connected to buses that don’t have a neutral ifconnect_neutral
is not set toTrue
.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.connect_neutral – Specifies whether the load’s neutral should be connected to the bus’s neutral or left floating. By default, the load’s neutral is connected when the bus has a neutral. If the bus does not have a neutral, the load’s neutral is left floating by default. To override the default behavior, pass an explicit
True
orFalse
.
- type: Final = 'power'
- property powers: Q_[ComplexArray]
The powers of the load (VA).
Setting the powers will update the load’s power values and invalidate the network results.
- property flexible_params: list[roseau.load_flow.models.loads.flexible_parameters.FlexibleParameter] | None
- property is_flexible: bool
- property res_flexible_powers: Q_[ComplexArray]
The load flow result of the load flexible powers (VA).
This property is only available for flexible loads.
It returns the “inner powers” of the load instead of the “line powers” flowing into the load connection points. This property is equivalent to the
res_inner_powers
property, not to theres_powers
property. Prefer usingres_inner_powers
because it is available for all loads.