Potential Reference#


As the electrical potentials of the elements of the network are defined as a difference from a reference point, we need to define this reference point. The potential reference element sets the potential of the point where it is connected to \(0\) Volt. The symbol of a potential reference is:

A diagram of a potential reference element


One and only one potential reference per galvanically isolated section of the network can be set.


It is common to consider the earth as the reference of potentials \(0V\). In Roseau Load Flow, the ground element which represents an earth connection does not add any potential reference equation, i.e. its potential is not fixed at \(0V\). If you want to set its potential to \(0V\), you must attach a potential reference element explicitly:

from roseau.load_flow.models import Ground, PotentialRef

g = Ground(id="ground")
p_ref = PotentialRef(id="pref", element=g)

With this code snippet, you have defined the following element:

A diagram of a potential reference connected to a ground element

It is also possible to set the reference of potentials to any phase of any bus in the network. For example, to fix the potential of phase “a” of some bus to \(0V\):

from roseau.load_flow.models import Bus, PotentialRef

bus = Bus(id="bus", phases="abcn")
p_ref = PotentialRef(id="pref", element=bus, phase="a")

API Reference#

class PotentialRef(id: int | str, element: Bus | Ground, *, phase: str | None = None)

Bases: Element

A potential reference.

This element will set the reference of the potentials in a network. Only one potential reference per galvanically isolated section of the network can be set. The potential reference can be set on any bus or ground elements. If set on a bus with no neutral and without specifying the phase, the reference will be set as Va + Vb + Vc = 0. For other buses, the default is Vn = 0.

PotentialRef constructor.

  • id – A unique ID of the potential reference in the network references.

  • element – The bus or ground element to set as a potential reference.

  • phase – The phase of the bus to set as a potential reference. Cannot be used with a ground. If the element passed is a bus and the phase is not given, the neutral will be used if the bus has a neutral otherwise the equation Va + Vb + Vc = 0 of the bus sets the potential reference.

allowed_phases: Final = frozenset({'a', 'b', 'c', 'n'})

The allowed phases for this element type.

It is a frozen set of strings like "abc" or "an" etc. The order of the phases is important. For a full list of supported phases, use print(<Element class>.allowed_phases).

property phase: str | None

The phase of the bus set as a potential reference.

property res_current: Quantity[complex]

The sum of the currents (A) of the connection associated to the potential reference.

This sum should be equal to 0 after the load flow.

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

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


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.

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


The constructed element.