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. The complete model of the French distribution network can be provided on demand. Please email us at contact@roseautechnologies.com.

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 is provided with a catalogue of transformer parameters. These parameters are available through the class TransformerParameters.

Note

Currently, only three phase MV/LV transformers are in the catalogue.

Source of data

The available transformers data come from the following data sheets:

Pull requests to add some other 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

Nominal power (kVA)

Type

High voltage (kV)

Low voltage (kV)

FT_Standard_Standard_100kVA

FT

Standard

Standard

100

Dyn11

20

0.4

FT_Standard_Standard_160kVA

FT

Standard

Standard

160

Dyn11

20

0.4

FT_Standard_Standard_250kVA

FT

Standard

Standard

250

Dyn11

20

0.4

FT_Standard_Standard_315kVA

FT

Standard

Standard

315

Dyn11

20

0.4

FT_Standard_Standard_400kVA

FT

Standard

Standard

400

Dyn11

20

0.4

FT_Standard_Standard_500kVA

FT

Standard

Standard

500

Dyn11

20

0.4

FT_Standard_Standard_630kVA

FT

Standard

Standard

630

Dyn11

20

0.4

FT_Standard_Standard_800kVA

FT

Standard

Standard

800

Dyn11

20

0.4

FT_Standard_Standard_1000kVA

FT

Standard

Standard

1000

Dyn11

20

0.4

FT_Standard_Standard_1250kVA

FT

Standard

Standard

1250

Dyn11

20

0.4

FT_Standard_Standard_1600kVA

FT

Standard

Standard

1600

Dyn11

20

0.4

FT_Standard_Standard_2000kVA

FT

Standard

Standard

2000

Dyn11

20

0.4

FT_Standard_Standard_2500kVA

FT

Standard

Standard

2500

Dyn11

20

0.4

FT_Standard_Standard_3150kVA

FT

Standard

Standard

3150

Dyn11

20

0.4

SE_Minera_AA0Ak_160kVA

SE

Minera

AA0Ak

160

Dyn11

20

0.4

SE_Minera_AA0Ak_250kVA

SE

Minera

AA0Ak

250

Dyn11

20

0.4

SE_Minera_AA0Ak_400kVA

SE

Minera

AA0Ak

400

Dyn11

20

0.4

SE_Minera_AA0Ak_630kVA

SE

Minera

AA0Ak

630

Dyn11

20

0.4

SE_Minera_AA0Ak_800kVA

SE

Minera

AA0Ak

800

Dyn11

20

0.4

SE_Minera_AA0Ak_1000kVA

SE

Minera

AA0Ak

1000

Dyn11

20

0.4

SE_Minera_AA0Ak_1250kVA

SE

Minera

AA0Ak

1250

Dyn11

20

0.4

SE_Minera_AA0Ak_1600kVA

SE

Minera

AA0Ak

1600

Dyn11

20

0.4

SE_Minera_AA0Ak_2000kVA

SE

Minera

AA0Ak

2000

Dyn11

20

0.4

SE_Minera_AA0Ak_2500kVA

SE

Minera

AA0Ak

2500

Dyn11

20

0.4

SE_Minera_AA0Ak_3150kVA

SE

Minera

AA0Ak

3150

Dyn11

20

0.4

SE_Minera_A0Ak_50kVA

SE

Minera

A0Ak

50

Yzn11

20

0.4

SE_Minera_A0Ak_100kVA

SE

Minera

A0Ak

100

Dyn11

20

0.4

SE_Minera_A0Ak_160kVA

SE

Minera

A0Ak

160

Dyn11

20

0.4

SE_Minera_A0Ak_250kVA

SE

Minera

A0Ak

250

Dyn11

20

0.4

SE_Minera_A0Ak_315kVA

SE

Minera

A0Ak

315

Dyn11

20

0.4

SE_Minera_A0Ak_400kVA

SE

Minera

A0Ak

400

Dyn11

20

0.4

SE_Minera_A0Ak_500kVA

SE

Minera

A0Ak

500

Dyn11

20

0.4

SE_Minera_A0Ak_630kVA

SE

Minera

A0Ak

630

Dyn11

20

0.4

SE_Minera_A0Ak_800kVA

SE

Minera

A0Ak

800

Dyn11

20

0.4

SE_Minera_A0Ak_1000kVA

SE

Minera

A0Ak

1000

Dyn11

20

0.4

SE_Minera_A0Ak_1250kVA

SE

Minera

A0Ak

1250

Dyn11

20

0.4

SE_Minera_A0Ak_1600kVA

SE

Minera

A0Ak

1600

Dyn11

20

0.4

SE_Minera_A0Ak_2000kVA

SE

Minera

A0Ak

2000

Dyn11

20

0.4

SE_Minera_A0Ak_2500kVA

SE

Minera

A0Ak

2500

Dyn11

20

0.4

SE_Minera_B0Bk_50kVA

SE

Minera

B0Bk

50

Yzn11

20

0.4

SE_Minera_B0Bk_100kVA

SE

Minera

B0Bk

100

Dyn11

20

0.4

SE_Minera_B0Bk_160kVA

SE

Minera

B0Bk

160

Dyn11

20

0.4

SE_Minera_B0Bk_250kVA

SE

Minera

B0Bk

250

Dyn11

20

0.4

SE_Minera_B0Bk_315kVA

SE

Minera

B0Bk

315

Dyn11

20

0.4

SE_Minera_B0Bk_400kVA

SE

Minera

B0Bk

400

Dyn11

20

0.4

SE_Minera_B0Bk_500kVA

SE

Minera

B0Bk

500

Dyn11

20

0.4

SE_Minera_B0Bk_630kVA

SE

Minera

B0Bk

630

Dyn11

20

0.4

SE_Minera_B0Bk_800kVA

SE

Minera

B0Bk

800

Dyn11

20

0.4

SE_Minera_B0Bk_1000kVA

SE

Minera

B0Bk

1000

Dyn11

20

0.4

SE_Minera_B0Bk_1250kVA

SE

Minera

B0Bk

1250

Dyn11

20

0.4

The following data are available in this table:

  • the name: a unique name of the transformer in the catalogue.

  • the manufacturer: two manufacturers are available. "SE" stands for “Schneider-Electric” and "FT" stands for “France Transfo”.

  • the product range which depends on the manufacturer

  • the efficiency class of the transformer

  • the type of the transformer.

  • the nominal power, noted sn.

  • the primary side phase to phase voltage, noted uhv.

  • the secondary side phase to phase voltage, noted ulv.

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

Name

Manufacturer

Product range

Efficiency

Type

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

SE_Minera_A0Ak_50kVA

SE

Minera

A0Ak

Yzn11

50.0

20.0

0.4

SE_Minera_A0Ak_100kVA

SE

Minera

A0Ak

Dyn11

100.0

20.0

0.4

SE_Minera_A0Ak_160kVA

SE

Minera

A0Ak

Dyn11

160.0

20.0

0.4

SE_Minera_A0Ak_250kVA

SE

Minera

A0Ak

Dyn11

250.0

20.0

0.4

SE_Minera_A0Ak_315kVA

SE

Minera

A0Ak

Dyn11

315.0

20.0

0.4

SE_Minera_A0Ak_400kVA

SE

Minera

A0Ak

Dyn11

400.0

20.0

0.4

SE_Minera_A0Ak_500kVA

SE

Minera

A0Ak

Dyn11

500.0

20.0

0.4

SE_Minera_A0Ak_630kVA

SE

Minera

A0Ak

Dyn11

630.0

20.0

0.4

SE_Minera_A0Ak_800kVA

SE

Minera

A0Ak

Dyn11

800.0

20.0

0.4

SE_Minera_A0Ak_1000kVA

SE

Minera

A0Ak

Dyn11

1000.0

20.0

0.4

SE_Minera_A0Ak_1250kVA

SE

Minera

A0Ak

Dyn11

1250.0

20.0

0.4

SE_Minera_A0Ak_1600kVA

SE

Minera

A0Ak

Dyn11

1600.0

20.0

0.4

SE_Minera_A0Ak_2000kVA

SE

Minera

A0Ak

Dyn11

2000.0

20.0

0.4

SE_Minera_A0Ak_2500kVA

SE

Minera

A0Ak

Dyn11

2500.0

20.0

0.4

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

>>> rlf.TransformerParameters.get_catalogue(type=r"y.*")

Name

Manufacturer

Product range

Efficiency

Type

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

SE_Minera_A0Ak_50kVA

SE

Minera

A0Ak

Yzn11

50.0

20.0

0.4

SE_Minera_B0Bk_50kVA

SE

Minera

B0Bk

Yzn11

50.0

20.0

0.4

SE_Minera_C0Bk_50kVA

SE

Minera

C0Bk

Yzn11

50.0

20.0

0.4

SE_Minera_Standard_50kVA

SE

Minera

Standard

Yzn11

50.0

20.0

0.4

or only transformers meeting both criteria

>>> rlf.TransformerParameters.get_catalogue(efficiency="A0Ak", type=r"y.*")

Name

Manufacturer

Product range

Efficiency

Type

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

SE_Minera_A0Ak_50kVA

SE

Minera

A0Ak

Yzn11

50.0

20.0

0.4

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

Type

Nominal power (kVA)

High voltage (kV)

Low voltage (kV)

FT_Standard_Standard_3150kVA

FT

Standard

Standard

Dyn11

3150.0

20.0

0.4

SE_Vegeta_C0Bk_3150kVA

SE

Vegeta

C0Bk

Dyn11

3150.0

20.0

0.4

SE_Vegeta_Standard_3150kVA

SE

Vegeta

Standard

Dyn11

3150.0

20.0

0.4

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", type=r"^y.*$")
TransformerParameters(id='SE_Minera_A0Ak_50kVA')

The name filter can be directly used:

>>> rlf.TransformerParameters.from_catalogue(name="SE_Minera_A0Ak_50kVA")
TransformerParameters(id='SE_Minera_A0Ak_50kVA')

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

>>> rlf.TransformerParameters.from_catalogue(manufacturer="ft")
RoseauLoadFlowException: Several transformers matching the query (manufacturer='ft') have been found:
'FT_Standard_Standard_100kVA', 'FT_Standard_Standard_160kVA', 'FT_Standard_Standard_250kVA',
'FT_Standard_Standard_315kVA', 'FT_Standard_Standard_400kVA', 'FT_Standard_Standard_500kVA',
'FT_Standard_Standard_630kVA', 'FT_Standard_Standard_800kVA', 'FT_Standard_Standard_1000kVA',
'FT_Standard_Standard_1250kVA', 'FT_Standard_Standard_1600kVA', 'FT_Standard_Standard_2000kVA',
'FT_Standard_Standard_2500kVA', 'FT_Standard_Standard_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 'FT', 'SE'. [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

Conductor material

Insulator type

Cross-section (mm²)

Resistance (ohm/km)

Reactance (ohm/km)

Susceptance (S/km)

Maximal current (A)

T_AM_80

twisted

am

80

0.457596

0.105575

3.0507e-05

203

U_CU_19

underground

cu

19

1.009

0.133054

2.33629e-05

138

O_AM_33

overhead

am

33

1.08577

0.375852

3.045e-06

142

U_CU_150

underground

cu

150

0.124

0.0960503

3.41234e-05

420

O_AM_74

overhead

am

74

0.491898

0.350482

3.2757e-06

232

T_AM_34

twisted

am

34

1.04719

0.121009

2.60354e-05

118

T_AM_50

twisted

am

50

0.744842

0.113705

2.79758e-05

146

O_AM_95

overhead

am

95

0.37184

0.342634

3.3543e-06

266

U_CU_100

underground

cu

100

0.185

0.102016

3.17647e-05

339

T_CU_38

twisted

cu

38

0.4966

0.118845

2.65816e-05

165

O_AM_100

overhead

am

100

0.356269

0.341022

3.371e-06

276

U_AM_60

underground

am

60

0.629804

0.11045

2.89372e-05

194

T_AM_79

twisted

am

79

0.463313

0.105781

3.04371e-05

201

T_CU_60

twisted

cu

60

0.3275

0.11045

2.89372e-05

219

U_AM_240

underground

am

240

0.14525

0.0899296

3.69374e-05

428

O_AL_37

overhead

al

37

0.837733

0.372257

3.0757e-06

152

U_AM_93

underground

am

93

0.383274

0.103152

3.13521e-05

249

O_AM_28

overhead

am

28

1.27866

0.381013

3.0019e-06

130

T_AL_90

twisted

al

90

0.3446

0.103672

3.11668e-05

219

O_AM_79

overhead

am

79

0.463313

0.348428

3.2959e-06

240

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 type. It is in the form {line_type}_{conductor_material}_{cross_section}_{insulator_type}.

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

  • the conductor material. See the ConductorType class.

  • the insulator type. See the InsulatorType class.

  • the cross-section of the conductor in mm².

in addition to the following calculated physical parameters:

  • the resistance of the line in ohm/km.

  • the reactance of the line in ohm/km.

  • the susceptance of the line in S/km.

  • the maximal current 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(conductor_type="al")

Truncated output

Name

Line type

Conductor material

Insulator type

Cross-section (mm²)

Resistance (ohm/km)

Reactance (ohm/km)

Susceptance (S/km)

Maximal current (A)

U_AL_117

underground

al

117

0.26104

0.0996298

3.2668e-05

286

U_AL_33

underground

al

33

0.9344

0.121598

2.58907e-05

144

U_AL_69

underground

al

69

0.4529

0.108041

2.96921e-05

212

T_AL_228

twisted

al

228

0.133509

0.0905569

3.66279e-05

395

U_AL_150

underground

al

150

0.206

0.0960503

3.41234e-05

325

T_AL_69

twisted

al

69

0.4529

0.108041

2.96921e-05

185

O_AL_116

overhead

al

116

0.26372

0.336359

3.42e-06

310

U_AL_50

underground

al

50

0.641

0.113705

2.79758e-05

175

U_AL_93

underground

al

93

0.32984

0.103152

3.13521e-05

249

T_AL_59

twisted

al

59

0.5519

0.110744

2.88474e-05

164

or only lines with a cross-section of 240 mm² (using a regular expression)

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

Name

Line type

Conductor material

Insulator type

Cross-section (mm²)

Resistance (ohm/km)

Reactance (ohm/km)

Susceptance (S/km)

Maximal current (A)

O_AL_240

overhead

al

240

0.125

0.313518

3.6823e-06

490

O_CU_240

overhead

cu

240

0.0775

0.313518

3.6823e-06

630

O_AM_240

overhead

am

240

0.14525

0.313518

3.6823e-06

490

U_AL_240

underground

al

240

0.125

0.0899296

3.69374e-05

428

U_CU_240

underground

cu

240

0.0775

0.0899296

3.69374e-05

549

U_AM_240

underground

am

240

0.14525

0.0899296

3.69374e-05

428

T_AL_240

twisted

al

240

0.125

0.0899296

3.69374e-05

409

T_CU_240

twisted

cu

240

0.0775

0.0899296

3.69374e-05

538

T_AM_240

twisted

am

240

0.14525

0.0899296

3.69374e-05

409

or only lines meeting both criteria

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

Name

Line type

Conductor material

Insulator type

Cross-section (mm²)

Resistance (ohm/km)

Reactance (ohm/km)

Susceptance (S/km)

Maximal current (A)

O_AL_240

overhead

al

240

0.125

0.313518

3.6823e-06

490

U_AL_240

underground

al

240

0.125

0.0899296

3.69374e-05

428

T_AL_240

twisted

al

240

0.125

0.0899296

3.69374e-05

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", conductor_type="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]