Catalogues

In Roseau Load Flow, some classes are provided with a catalogue. This page describes how to use them.

Networks

Roseau Load Flow is provided with a small catalogue of MV and LV networks. These networks are available through the class ElectricalNetwork.

Here is an interactive plot to explore them. See the Plotting page to learn how to get such interactive map.

Source of data

All these networks are built from open data available in France.

We also maintain a set of 150 MV feeders representative of the French distribution system at https://github.com/RoseauTechnologies/Representative_French_Power_Grids. Each feeder is modeled with its downstream LV networks. The repository also contains the cluster size that indicates how representative is each network of the French distribution system. These networks are the result of the study Representative MV feeders for the analysis of French distribution networks, made and published by Mines Paris Tech.

Inspecting the catalogue

This catalogue can be retrieved in the form of a dataframe using:

>>> import roseau.load_flow as rlf
>>> rlf.ElectricalNetwork.get_catalogue()

Name

Nb buses

Nb lines

Nb transformers

Nb switches

Nb loads

Nb sources

Nb grounds

Nb potential refs

Available load points

LVFeeder00939

8

6

1

0

12

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder02639

7

5

1

0

10

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder04790

4

2

1

0

4

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder06713

3

1

1

0

2

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder06926

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder06975

6

4

1

0

8

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder18498

18

16

1

0

32

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder18769

7

5

1

0

10

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder19558

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder20256

9

7

1

0

14

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder23832

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder24400

4

2

1

0

4

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder27429

11

9

1

0

18

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder27681

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder30216

9

7

1

0

14

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder31441

4

2

1

0

4

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder36284

5

3

1

0

6

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder36360

9

7

1

0

14

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder37263

3

1

1

0

2

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder38211

6

4

1

0

8

1

1

2

[‘Winter’, ‘Summer’]

MVFeeder004

17

15

0

1

10

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder011

50

48

0

1

68

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder015

30

28

0

1

20

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder032

53

51

0

1

40

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder041

88

86

0

1

62

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder063

39

37

0

1

38

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder078

69

67

0

1

46

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder115

4

2

0

1

4

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder128

49

47

0

1

32

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder151

59

57

0

1

44

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder159

8

6

0

1

0

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder176

33

31

0

1

20

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder210

128

126

0

1

82

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder217

44

42

0

1

44

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder232

66

64

0

1

38

1

1

1

[‘Summer’, ‘Winter’]

MVFeeder251

125

123

0

1

106

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder290

12

10

0

1

16

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder312

11

9

0

1

8

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder320

20

18

0

1

12

1

1

1

[‘Winter’, ‘Summer’]

MVFeeder339

33

31

0

1

28

1

1

1

[‘Summer’, ‘Winter’]

There are MV networks whose names start with “MVFeeder” and LV networks whose names with “LVFeeder”. For each network, there are two available load points:

  • “Winter”: it contains power loads without production.

  • “Summer”: it contains power loads with production and 20% of the “Winter” load.

The arguments of the method get_catalogue can be used to filter the output. If you want to get the LV networks only, you can call:

>>> rlf.ElectricalNetwork.get_catalogue(name=r"LVFeeder.*")

Name

Nb buses

Nb lines

Nb transformers

Nb switches

Nb loads

Nb sources

Nb grounds

Nb potential refs

Available load points

LVFeeder00939

8

6

1

0

12

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder02639

7

5

1

0

10

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder04790

4

2

1

0

4

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder06713

3

1

1

0

2

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder06926

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder06975

6

4

1

0

8

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder18498

18

16

1

0

32

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder18769

7

5

1

0

10

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder19558

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder20256

9

7

1

0

14

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder23832

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder24400

4

2

1

0

4

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder27429

11

9

1

0

18

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder27681

3

1

1

0

2

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder30216

9

7

1

0

14

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder31441

4

2

1

0

4

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder36284

5

3

1

0

6

1

1

2

[‘Winter’, ‘Summer’]

LVFeeder36360

9

7

1

0

14

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder37263

3

1

1

0

2

1

1

2

[‘Summer’, ‘Winter’]

LVFeeder38211

6

4

1

0

8

1

1

2

[‘Winter’, ‘Summer’]

A regular expression can also be used:

>>> rlf.ElectricalNetwork.get_catalogue(name=r"LVFeeder38[0-9]+")

Name

Nb buses

Nb lines

Nb transformers

Nb switches

Nb loads

Nb sources

Nb grounds

Nb potential refs

Available load points

LVFeeder38211

6

4

1

0

8

1

1

2

[‘Winter’, ‘Summer’]

Getting an instance

You can build an ElectricalNetwork instance from the catalogue using the class method from_catalogue. The name of the network and the name of the load point must be provided:

>>> en = rlf.ElectricalNetwork.from_catalogue(name="LVFeeder38211", load_point_name="Summer")
<ElectricalNetwork: 6 buses, 4 lines, 1 transformer, 0 switches, 8 loads, 1 source, 1 ground, 2 potential refs>

In case no or several results match the parameters, an error is raised:

>>> rlf.ElectricalNetwork.from_catalogue(name="LVFeeder38211", load_point_name="Unknown")
RoseauLoadFlowException: No load points for network 'LVFeeder38211' matching the query (load_point_name='Unknown')
have been found. Please look at the catalogue using the `get_catalogue` class method. [catalogue_not_found]

Transformers

Roseau Load Flow ships with a catalogue of TransformerParameters obtained from data sheets of real transformers.

Source of data

The available transformers data come from the following data sheets:

All data sheets can be found in the data sheets folder on GitHub

Pull requests to add other common sources are welcome!

Inspecting the catalogue

This catalogue can be retrieved in the form of a dataframe using:

>>> import roseau.load_flow as rlf
>>> rlf.TransformerParameters.get_catalogue()

Truncated output

Name

Manufacturer

Product range

Efficiency

Cooling class

Vector group

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

Frequency (Hz)

SE Minera A0Ak 500kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

500

15

0.41

50

SE Vegeta Standard 100kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Vegeta

Standard

KNAN

Dyn11

100

15

0.41

50

SE Trihal AA0Ak 3150kVA 20kV 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

3150

20

0.41

50

SE Trihal ReducedLosses 250kVA 20kV 410V Dyn11

Schneider Electric

Trihal

ReducedLosses

AN

Dyn11

250

20

0.41

50

SE Imprego 10kVA 230V 230V Iii0

Schneider Electric

Imprego

AN

Iii0

10

0.23

0.23

50

SE Trihal AA0Ak 1600kVA 20kV 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

1600

20

0.41

50

SE Minera B0Bk 1600kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

B0Bk

ONAN

Dyn11

1600

15

0.41

50

SE Trihal ExtraReducedLosses 1250kVA 20kV 410V Dyn11

Schneider Electric

Trihal

ExtraReducedLosses

AN

Dyn11

1250

20

0.41

50

SE Minera B0Bk 800kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

B0Bk

ONAN

Dyn11

800

15

0.41

50

SE Trihal ExtraReducedLosses 2000kVA 20kV 410V Dyn11

Schneider Electric

Trihal

ExtraReducedLosses

AN

Dyn11

2000

20

0.41

50

SE Vegeta AA0Ak 400kVA 20kV 410V Dyn11

Schneider Electric

Vegeta

AA0Ak

KNAN

Dyn11

400

20

0.41

50

FT 400kVA 15/20kV(20) 400V Dyn11

France Transfo

ONAN

Dyn11

400

20

0.4

50

SE Minera A0Ak 400kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

400

15

0.41

50

SE Trihal AA0Ak 1600kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

1600

15

0.41

50

SE Trihal Standard 1000kVA 20kV 410V Dyn11

Schneider Electric

Trihal

Standard

AN

Dyn11

1000

20

0.41

50

SE Trihal AA0Ak 2000kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

2000

20

0.41

50

SE Trihal ExtraReducedLosses 1000kVA 20kV 410V Dyn11

Schneider Electric

Trihal

ExtraReducedLosses

AN

Dyn11

1000

20

0.41

50

SE Trihal AA0Ak 800kVA 20kV 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

800

20

0.41

50

FT 630kVA 15/20kV(20) 400V Dyn11

France Transfo

ONAN

Dyn11

630

20

0.4

50

SE Minera C0Bk 1600kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

C0Bk

ONAN

Dyn11

1600

15

0.41

50

SE Vegeta Standard 800kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Vegeta

Standard

KNAN

Dyn11

800

20

0.41

50

SE Minera C0Bk 1250kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

C0Bk

ONAN

Dyn11

1250

15

0.41

50

SE Minera C0Bk 2000kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

C0Bk

ONAN

Dyn11

2000

20

0.41

50

SE Minera C0Bk 630kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

C0Bk

ONAN

Dyn11

630

20

0.41

50

SE Minera C0Bk 160kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Minera

C0Bk

ONAN

Dyn11

160

15

0.41

50

FT 400kVA 15/20kV(15) 400V Dyn11

France Transfo

ONAN

Dyn11

400

15

0.4

50

CA Yellow A0Ak 2500kVA 15.75/21kV(15.75) 400V Dyn11

Cahors

Yellow

A0Ak

ONAN

Dyn11

2500

15.75

0.4

50

FT 2000kVA 15/20kV(20) 400V Dyn11

France Transfo

ONAN

Dyn11

2000

20

0.4

50

CA Yellow A0Ak 250kVA 15.75/21kV(15.75) 400V Dyn11

Cahors

Yellow

A0Ak

ONAN

Dyn11

250

15.75

0.4

50

SE Vegeta C0Bk 630kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Vegeta

C0Bk

KNAN

Dyn11

630

15

0.41

50

The following data are available in this table:

  • the name: a unique name of the transformer in the catalogue. This is usually a concatenation of the manufacturer, the product range, the efficiency class, the nominal power, the high voltage, the low voltage, and the vector group.

  • the manufacturer: the manufacturer of the transformer.

  • the product range which depends on the manufacturer

  • the efficiency class of the transformer. The efficiency class used in the catalogue follows the Eco-Design requirements as defined by the EN 50629 standard.

  • the cooling class of the transformer according to IEC 60076: (e.g., ONAN, KNAN, AN, etc.)

  • the vector group of the transformer, noted vg (e.g., Dyn11, Yzn11, Ii0, etc.)

  • the nominal power, noted sn.

  • the rated high voltage (phase-to-phase), noted uhv.

  • the rated no-load low voltage (phase-to-phase), noted ulv.

  • the nominal frequency, noted fn.

The get_catalogue method accepts arguments (in bold above) that can be used to filter the returned table. The following command only retrieves transformer parameters of transformers with an efficiency of “A0Ak”:

>>> rlf.TransformerParameters.get_catalogue(efficiency="A0Ak")

Truncated output

Name

Manufacturer

Product range

Efficiency

Cooling class

Vector group

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

Frequency (Hz)

SE Minera A0Ak 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

A0Ak

ONAN

Yzn11

50

20

0.41

50

SE Minera A0Ak 100kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

100

20

0.41

50

SE Minera A0Ak 160kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

160

20

0.41

50

SE Minera A0Ak 250kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

250

20

0.41

50

SE Minera A0Ak 315kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

315

20

0.41

50

SE Minera A0Ak 400kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

400

20

0.41

50

SE Minera A0Ak 500kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

500

20

0.41

50

SE Minera A0Ak 630kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

630

20

0.41

50

SE Minera A0Ak 800kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

800

20

0.41

50

SE Minera A0Ak 1000kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Minera

A0Ak

ONAN

Dyn11

1000

20

0.41

50

or only transformers with a wye winding on the high voltage side (using a regular expression)

>>> rlf.TransformerParameters.get_catalogue(vg=r"Y.*")

Name

Manufacturer

Product range

Efficiency

Cooling class

Vector group

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

Frequency (Hz)

SE Minera A0Ak 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

A0Ak

ONAN

Yzn11

50

20

0.41

50

SE Minera A0Ak 50kVA 15/20kV(15) 410V Yzn11

Schneider Electric

Minera

A0Ak

ONAN

Yzn11

50

15

0.41

50

SE Minera B0Bk 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

B0Bk

ONAN

Yzn11

50

20

0.41

50

SE Minera B0Bk 50kVA 15/20kV(15) 410V Yzn11

Schneider Electric

Minera

B0Bk

ONAN

Yzn11

50

15

0.41

50

SE Minera C0Bk 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

C0Bk

ONAN

Yzn11

50

20

0.41

50

SE Minera C0Bk 50kVA 15/20kV(15) 410V Yzn11

Schneider Electric

Minera

C0Bk

ONAN

Yzn11

50

15

0.41

50

SE Minera Standard 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

Standard

ONAN

Yzn11

50

20

0.41

50

SE Minera Standard 50kVA 15/20kV(15) 410V Yzn11

Schneider Electric

Minera

Standard

ONAN

Yzn11

50

15

0.41

50

SC SZ11-76 MVA-110/35 kV

SCOTECH

ONAF

YNd11

76000

110

35

50

SC S-100 MVA-220/35KV

SCOTECH

ONAN

YNd11

100000

220

35

50

or only transformers meeting both criteria

>>> rlf.TransformerParameters.get_catalogue(efficiency="A0Ak", vg=r"Y.*")

Name

Manufacturer

Product range

Efficiency

Cooling class

Vector group

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

Frequency (Hz)

SE Minera A0Ak 50kVA 15/20kV(20) 410V Yzn11

Schneider Electric

Minera

A0Ak

ONAN

Yzn11

50

20

0.41

50

SE Minera A0Ak 50kVA 15/20kV(15) 410V Yzn11

Schneider Electric

Minera

A0Ak

ONAN

Yzn11

50

15

0.41

50

Among all the possible filters, the nominal power and voltages are expected in their default unit (VA and V). You can also use the Pint library to express the values in different units. For instance, if you want to get transformer parameters with a nominal power of 3150 kVA, the following two commands return the same table:

>>> import roseau.load_flow as rlf
... rlf.TransformerParameters.get_catalogue(sn=3150e3)  # in VA by default

>>> rlf.TransformerParameters.get_catalogue(sn=rlf.Q_(3150, "kVA"))

Name

Manufacturer

Product range

Efficiency

Cooling class

Vector group

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

Frequency (Hz)

FT 3150kVA 15/20kV(20) 400V Dyn11

France Transfo

ONAN

Dyn11

3150

20

0.4

50

FT 3150kVA 15/20kV(15) 400V Dyn11

France Transfo

ONAN

Dyn11

3150

15

0.4

50

SE Minera AA0Ak 3150kVA 20kV 410V Dyn11

Schneider Electric

Minera

AA0Ak

ONAN

Dyn11

3150

20

0.41

50

SE Trihal AA0Ak 3150kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

3150

20

0.41

50

SE Trihal AA0Ak 3150kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

3150

15

0.41

50

SE Trihal AA0Ak 3150kVA 20kV 410V Dyn11

Schneider Electric

Trihal

AA0Ak

AN

Dyn11

3150

20

0.41

50

SE Vegeta AA0Ak 3150kVA 20kV 410V Dyn11

Schneider Electric

Vegeta

AA0Ak

KNAN

Dyn11

3150

20

0.41

50

SE Vegeta C0Bk 3150kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Vegeta

C0Bk

KNAN

Dyn11

3150

20

0.41

50

SE Vegeta C0Bk 3150kVA 15/20kV(15) 410V Dyn11

Schneider Electric

Vegeta

C0Bk

KNAN

Dyn11

3150

15

0.41

50

SE Vegeta Standard 3150kVA 15/20kV(20) 410V Dyn11

Schneider Electric

Vegeta

Standard

KNAN

Dyn11

3150

20

0.41

50

Getting an instance

You can build a TransformerParameters instance from the catalogue using the class method from_catalogue. You must filter the data to get a single transformer. You can apply the same filtering technique used for the method get_catalogue to narrow down the result to a single transformer in the catalogue.

For instance, these parameters filter the catalogue down to a single transformer parameters:

>>> rlf.TransformerParameters.from_catalogue(efficiency="A0Ak", vg=r"Y.*", uhv=15000)
<TransformerParameters: id='SE Minera A0Ak 50kVA 15/20kV(15) 410V Yzn11', vg='Yzn11', sn=50000,
uhv=15000, ulv=410, fn=50.0, p0=90.0, i0=0.005, psc=750.0, vsc=0.04, manufacturer='Schneider Electric',
range='Minera', efficiency='A0Ak', cooling='ONAN', insulation='liquid-immersed'>

The name filter can be directly used:

>>> rlf.TransformerParameters.from_catalogue(
...     name="SE Minera A0Ak 50kVA 15/20kV(15) 410V Yzn11"
... )
<TransformerParameters: id='SE Minera A0Ak 50kVA 15/20kV(15) 410V Yzn11', vg='Yzn11', sn=50000,
uhv=15000, ulv=410, fn=50.0, p0=90.0, i0=0.005, psc=750.0, vsc=0.04, manufacturer='Schneider Electric',
range='Minera', efficiency='A0Ak', cooling='ONAN', insulation='liquid-immersed'>

In case no or several results match the parameters, an error is raised:

>>> rlf.TransformerParameters.from_catalogue(manufacturer="France Transfo")
RoseauLoadFlowException: Several transformers matching the query (manufacturer='France Transfo') have been found:
'FT 100kVA 15/20kV(20) 400V Dyn11', 'FT 160kVA 15/20kV(20) 400V Dyn11', 'FT 250kVA 15/20kV(20) 400V Dyn11',
'FT 315kVA 15/20kV(20) 400V Dyn11', 'FT 400kVA 15/20kV(20) 400V Dyn11', 'FT 500kVA 15/20kV(20) 400V Dyn11',
'FT 630kVA 15/20kV(20) 400V Dyn11', 'FT 800kVA 15/20kV(20) 400V Dyn11', 'FT 1000kVA 15/20kV(20) 400V Dyn11',
'FT 1250kVA 15/20kV(20) 400V Dyn11', 'FT 1600kVA 15/20kV(20) 400V Dyn11', 'FT 2000kVA 15/20kV(20) 400V Dyn11',
'FT 2500kVA 15/20kV(20) 400V Dyn11', 'FT 3150kVA [...]. [catalogue_several_found]

or if no results:

>>> rlf.TransformerParameters.from_catalogue(manufacturer="unknown")
RoseauLoadFlowException: No manufacturer matching 'unknown' has been found. Available manufacturers
are 'France Transfo', 'Schneider Electric', 'Cahors', 'SCOTECH', '', 'Pauwels', 'GBE'. [catalogue_not_found]

Lines

Roseau Load Flow is provided with a catalogue of line parameters. These parameters are available through the class LineParameters.

Source of data

The available lines data are based on the following sources:

  • IEC standards including: IEC-60228, IEC-60287, IEC-60364

  • Technique de l’ingénieur (French technical and scientific documentation)

Inspecting the catalogue

This catalogue can be retrieved in the form of a dataframe using:

>>> import roseau.load_flow as rlf
>>> rlf.LineParameters.get_catalogue()

Truncated output

Name

Line type

Phase material

Neutral material

Phase insulator

Neutral insulator

Phase cross-section (mm²)

Neutral cross-section (mm²)

Phase resistance (ohm/km)

Neutral resistance (ohm/km)

Phase reactance (ohm/km)

Neutral reactance (ohm/km)

Phase susceptance (S/km)

Neutral susceptance (S/km)

Phase ampacity (A)

Neutral ampacity (A)

O_AL_12

overhead

al

al

12

12

2.69

2.69

0.407632

0.407632

2.798e-06

2.798e-06

70

70

O_AL_13

overhead

al

al

13

13

2.495

2.495

0.405118

0.405118

2.8161e-06

2.8161e-06

76

76

O_AL_14

overhead

al

al

14

14

2.3

2.3

0.402789

0.402789

2.8331e-06

2.8331e-06

82

82

O_AL_19

overhead

al

al

19

19

1.67333

1.67333

0.393195

0.393195

2.9051e-06

2.9051e-06

103

103

O_AL_20

overhead

al

al

20

20

1.59444

1.59444

0.391584

0.391584

2.9175e-06

2.9175e-06

106

106

O_AL_22

overhead

al

al

22

22

1.43667

1.43667

0.38859

0.38859

2.9409e-06

2.9409e-06

113

113

O_AL_25

overhead

al

al

25

25

1.2

1.2

0.384574

0.384574

2.973e-06

2.973e-06

122

122

O_AL_28

overhead

al

al

28

28

1.1004

1.1004

0.381013

0.381013

3.0019e-06

3.0019e-06

130

130

O_AL_29

overhead

al

al

29

29

1.0672

1.0672

0.379911

0.379911

3.011e-06

3.011e-06

132

132

O_AL_33

overhead

al

al

33

33

0.9344

0.9344

0.375852

0.375852

3.045e-06

3.045e-06

142

142

O_AL_34

overhead

al

al

34

34

0.9012

0.9012

0.374914

0.374914

3.0529e-06

3.0529e-06

144

144

O_AL_37

overhead

al

al

37

37

0.837733

0.837733

0.372257

0.372257

3.0757e-06

3.0757e-06

152

152

O_AL_38

overhead

al

al

38

38

0.8226

0.8226

0.37142

0.37142

3.0829e-06

3.0829e-06

155

155

O_AL_40

overhead

al

al

40

40

0.792333

0.792333

0.369808

0.369808

3.0969e-06

3.0969e-06

160

160

O_AL_43

overhead

al

al

43

43

0.746933

0.746933

0.367536

0.367536

3.1169e-06

3.1169e-06

167

167

O_AL_48

overhead

al

al

48

48

0.671267

0.671267

0.36408

0.36408

3.1478e-06

3.1478e-06

180

180

O_AL_50

overhead

al

al

50

50

0.641

0.641

0.362798

0.362798

3.1595e-06

3.1595e-06

185

185

O_AL_54

overhead

al

al

54

54

0.6014

0.6014

0.36038

0.36038

3.1816e-06

3.1816e-06

193

193

O_AL_55

overhead

al

al

55

55

0.5915

0.5915

0.359804

0.359804

3.187e-06

3.187e-06

195

195

O_AL_59

overhead

al

al

59

59

0.5519

0.5519

0.357598

0.357598

3.2075e-06

3.2075e-06

203

203

The following data are available in this table:

  • the name. A name that contains the type of the line, the material of the conductor, the cross-section area, and optionally the insulator. It is in the form {line_type}_{conductor_material}_{cross_section}_{insulator}.

  • the line type. It can be "OVERHEAD", "UNDERGROUND" or "TWISTED".

  • the conductor material for the phases and for the neutral. See the Material class.

  • the insulator for the phases and for the neutral. See the Insulator class.

  • the cross-section of the phases and neutral conductors in mm².

in addition to the following calculated physical parameters:

  • the phase resistance of the line in ohm/km.

  • the neutral resistance of the line in ohm/km.

  • the phase reactance of the line in ohm/km.

  • the neutral reactance of the line in ohm/km.

  • the phase susceptance of the line in S/km.

  • the neutral susceptance of the line in S/km.

  • the Phase ampacity of the line in A.

  • the neutral ampacity of the line in A.

The get_catalogue method accepts arguments (in bold above) that can be used to filter the returned table. The following command only returns line parameters made of Aluminum:

>>> rlf.LineParameters.get_catalogue(material="al")

Truncated output

Name

Line type

Phase material

Neutral material

Phase insulator

Neutral insulator

Phase cross-section (mm²)

Neutral cross-section (mm²)

Phase resistance (ohm/km)

Neutral resistance (ohm/km)

Phase reactance (ohm/km)

Neutral reactance (ohm/km)

Phase susceptance (S/km)

Neutral susceptance (S/km)

Phase ampacity (A)

Neutral ampacity (A)

O_AL_12

overhead

al

al

12

12

2.69

2.69

0.407632

0.407632

2.798e-06

2.798e-06

70

70

O_AL_13

overhead

al

al

13

13

2.495

2.495

0.405118

0.405118

2.8161e-06

2.8161e-06

76

76

O_AL_14

overhead

al

al

14

14

2.3

2.3

0.402789

0.402789

2.8331e-06

2.8331e-06

82

82

O_AL_19

overhead

al

al

19

19

1.67333

1.67333

0.393195

0.393195

2.9051e-06

2.9051e-06

103

103

O_AL_20

overhead

al

al

20

20

1.59444

1.59444

0.391584

0.391584

2.9175e-06

2.9175e-06

106

106

O_AL_22

overhead

al

al

22

22

1.43667

1.43667

0.38859

0.38859

2.9409e-06

2.9409e-06

113

113

O_AL_25

overhead

al

al

25

25

1.2

1.2

0.384574

0.384574

2.973e-06

2.973e-06

122

122

O_AL_28

overhead

al

al

28

28

1.1004

1.1004

0.381013

0.381013

3.0019e-06

3.0019e-06

130

130

O_AL_29

overhead

al

al

29

29

1.0672

1.0672

0.379911

0.379911

3.011e-06

3.011e-06

132

132

O_AL_33

overhead

al

al

33

33

0.9344

0.9344

0.375852

0.375852

3.045e-06

3.045e-06

142

142

or only lines with a cross-section of 240 mm²

>>> rlf.LineParameters.get_catalogue(section=240)

Name

Line type

Phase material

Neutral material

Phase insulator

Neutral insulator

Phase cross-section (mm²)

Neutral cross-section (mm²)

Phase resistance (ohm/km)

Neutral resistance (ohm/km)

Phase reactance (ohm/km)

Neutral reactance (ohm/km)

Phase susceptance (S/km)

Neutral susceptance (S/km)

Phase ampacity (A)

Neutral ampacity (A)

O_AL_240

overhead

al

al

240

240

0.125

0.125

0.313518

0.313518

3.6823e-06

3.6823e-06

490

490

O_CU_240

overhead

cu

cu

240

240

0.0775

0.0775

0.313518

0.313518

3.6823e-06

3.6823e-06

630

630

O_AM_240

overhead

am

am

240

240

0.14525

0.14525

0.313518

0.313518

3.6823e-06

3.6823e-06

490

490

U_AL_240

underground

al

al

240

240

0.125

0.125

0.0899296

0.0899296

3.69374e-05

3.69374e-05

428

428

U_CU_240

underground

cu

cu

240

240

0.0775

0.0775

0.0899296

0.0899296

3.69374e-05

3.69374e-05

549

549

U_AM_240

underground

am

am

240

240

0.14525

0.14525

0.0899296

0.0899296

3.69374e-05

3.69374e-05

428

428

T_AL_240

twisted

al

al

240

240

0.125

0.125

0.0899296

0.0899296

3.69374e-05

3.69374e-05

409

409

T_CU_240

twisted

cu

cu

240

240

0.0775

0.0775

0.0899296

0.0899296

3.69374e-05

3.69374e-05

538

538

T_AM_240

twisted

am

am

240

240

0.14525

0.14525

0.0899296

0.0899296

3.69374e-05

3.69374e-05

409

409

or only lines meeting both criteria

>>> rlf.LineParameters.get_catalogue(material="al", section=240)

Name

Line type

Phase material

Neutral material

Phase insulator

Neutral insulator

Phase cross-section (mm²)

Neutral cross-section (mm²)

Phase resistance (ohm/km)

Neutral resistance (ohm/km)

Phase reactance (ohm/km)

Neutral reactance (ohm/km)

Phase susceptance (S/km)

Neutral susceptance (S/km)

Phase ampacity (A)

Neutral ampacity (A)

O_AL_240

overhead

al

al

240

240

0.125

0.125

0.313518

0.313518

3.6823e-06

3.6823e-06

490

490

U_AL_240

underground

al

al

240

240

0.125

0.125

0.0899296

0.0899296

3.69374e-05

3.69374e-05

428

428

T_AL_240

twisted

al

al

240

240

0.125

0.125

0.0899296

0.0899296

3.69374e-05

3.69374e-05

409

409

When filtering by the cross-section area, it is expected to provide a numeric value in mm² or to use a pint quantity.

Getting an instance

You can build a LineParameters instance from the catalogue using the class method from_catalogue. You must filter the data to get a single line. You can apply the same filtering technique used for the method get_catalogue to narrow down the result to a single line in the catalogue.

For instance, these parameters filter the results down to a single line parameters:

>>> rlf.LineParameters.from_catalogue(line_type="underground", material="al", section=240)
LineParameters(id='U_AL_240')

Or you can use the name filter directly:

>>> rlf.LineParameters.from_catalogue(name="U_AL_240")
LineParameters(id='U_AL_240')

As you can see, the id of the created instance is the same as the name in the catalogue. You can override this behaviour by passing the id parameter to from_catalogue:

>>> rlf.LineParameters.from_catalogue(name="U_AL_240", id="lp-special")
LineParameters(id='lp-special')

Line parameters created from the catalogue are 3-phase without a neutral by default. It is possible to create line parameters with different numbers of phases using the nb_phases parameter.

>>> rlf.LineParameters.from_catalogue(name="U_AL_240").z_line.shape
(3, 3)
>>> # For 3-phase with neutral lines
... rlf.LineParameters.from_catalogue(name="U_AL_240", nb_phases=4).z_line.shape
(4, 4)
>>> # For single-phase lines
... rlf.LineParameters.from_catalogue(name="U_AL_240", nb_phases=2).z_line.shape
(2, 2)

In case no or several results match the parameters, an error is raised:

>>> rlf.LineParameters.from_catalogue(name=r"U_AL.*")
RoseauLoadFlowException: Several line parameters matching the query (name='U_AL.*') have been found:
'U_AL_19', 'U_AL_20', 'U_AL_22', 'U_AL_25', 'U_AL_28', 'U_AL_29', 'U_AL_33', 'U_AL_34', 'U_AL_37',
'U_AL_38', 'U_AL_40', 'U_AL_43', 'U_AL_48', 'U_AL_50', 'U_AL_54', 'U_AL_55', 'U_AL_59', 'U_AL_60',
'U_AL_69', 'U_AL_70', 'U_AL_74', 'U_AL_75', 'U_AL_79', 'U_AL_80', 'U_AL_90', 'U_AL_93', 'U_AL_95',
'U_AL_100', 'U_AL_116', 'U_AL_117', 'U_AL_120', 'U_AL_147', 'U_AL_148', 'U_AL_150', 'U_AL_228',
'U_AL_240', 'U_AL_288'. [catalogue_several_found]

or if no results:

>>> rlf.LineParameters.from_catalogue(name="unknown")
RoseauLoadFlowException: No name matching 'unknown' has been found. Available names are 'O_AL_12',
'O_AL_13', 'O_AL_14', 'O_AL_19', 'O_AL_20', 'O_AL_22', 'O_AL_25', 'O_AL_28', 'O_AL_29', 'O_AL_33',
'O_AL_34', 'O_AL_37', 'O_AL_38', 'O_AL_40', 'O_AL_43', 'O_AL_48', 'O_AL_50', 'O_AL_54', 'O_AL_55',
'O_AL_59', 'O_AL_60', 'O_AL_69', 'O_AL_70', 'O_AL_74', 'O_AL_75', 'O_AL_79', 'O_AL_80', 'O_AL_90',
'O_AL_93', 'O_AL_95', 'O_AL_100', 'O_AL_116', 'O_AL_117', 'O_AL_120', 'O_AL_147', 'O_AL_148', 'O_AL_150',
'O_AL_228', 'O_AL_240', 'O_AL_288', 'O_CU_3', 'O_CU_7', 'O_CU_12', 'O_CU_13', [...]. [catalogue_not_found]