This tutorial shows how to access network matrices (such as the admittance matrix of the load flow Jacobian). PowerFactory does not allow this access directly, so the dataset is first exported to the pandapower format. The matrices can then be extracted from this format.
You can learn more from the pandapower documentation:
Note that not all networks elements/components are supported by pandapower (see the list of supported components) and the functionality shown in this tutorial may not be applicable to some PowerFactory datasets.
1 Imports and Project Activation
First we import some packages and activate the PowerFactory project from which we want to export the dataset (the IEEE 39 bus system example) and get the network matrices.
import osimport numpy as npfrom icecream import icimport pandas as pdimport pandapower as ppfrom powfacpy.base.active_project import ActiveProjectfrom powfacpy.pf_classes.protocols import PFApp# If you use IPython/Jupyter:import syssys.path.append(r"C:\Program Files\DIgSILENT\PowerFactory 2023 SP5\Python\3.11") # you may use a different directory# Get the PF appimport powerfactoryapp = powerfactory.GetApplication()pf_app: PFApp = powerfactory.GetApplication()act_prj = ActiveProject(pf_app)act_prj.app.Show()act_prj.app.ActivateProject("powfacpy\\39_bus_new_england_copy_where_tests_run") # You may change the project path.act_prj.activate_study_case("Study Cases\\2.1 Simulation Fault Bus 16 Stable")
<powerfactory.DataObject <l1>\seberlein.IntUser\powfacpy\39_bus_new_england_copy_where_tests_run.IntPrj\Study Cases.IntPrjfolder\2.1 Simulation Fault Bus 16 Stable.IntCase</l1>>
2 Export Dataset to Pandapower
The dataset can be exported to pandapower format using the pf_project_to_pandapower function. It requires the PowerFactory app and the path to the project as inpit arguments.
from powfacpy.applications.pandapower_interface import PandapowerInterfacetry: act_prj.app.Hide() ppi = PandapowerInterface(app) net = ppi.pf_project_to_pandapower()finally: act_prj.app.Show()net
This pandapower network includes the following parameter tables:
- bus (39 elements)
- load (19 elements)
- gen (9 elements)
- switch (92 elements)
- ext_grid (1 element)
- line (34 elements)
- trafo (12 elements)
and the following results tables:
- res_bus (39 elements)
- res_line (34 elements)
- res_trafo (12 elements)
- res_ext_grid (1 element)
- res_load (19 elements)
- res_gen (9 elements)
- res_switch (92 elements)
net gives an overview of the exported network components and result tables (pandapower result format). PandaPower is based on pandas dataframes. You can query for example the data of the buses using:
net.bus
name
vn_kv
type
zone
in_service
description
substat
folder_id
equipment
0
Bus 08
345.0
b
Grid
True
Grid
Grid
1
Bus 07
345.0
b
Grid
True
Grid
Grid
2
Bus 05
345.0
b
Grid
True
Grid
Grid
3
Bus 04
345.0
b
Grid
True
Grid
Grid
4
Bus 06
345.0
b
Grid
True
Grid
Grid
5
Bus 31
16.5
b
Grid
True
Grid
Grid
6
Bus 11
345.0
b
Grid
True
Grid
Grid
7
Bus 12
138.0
b
Grid
True
Grid
Grid
8
Bus 10
345.0
b
Grid
True
Grid
Grid
9
Bus 32
16.5
b
Grid
True
Grid
Grid
10
Bus 13
345.0
b
Grid
True
Grid
Grid
11
Bus 14
345.0
b
Grid
True
Grid
Grid
12
Bus 15
345.0
b
Grid
True
Grid
Grid
13
Bus 20
230.0
b
Grid
True
Grid
Grid
14
Bus 19
345.0
b
Grid
True
Grid
Grid
15
Bus 34
16.5
b
Grid
True
Grid
Grid
16
Bus 33
16.5
b
Grid
True
Grid
Grid
17
Bus 37
16.5
b
Grid
True
Grid
Grid
18
Bus 24
345.0
b
Grid
True
Grid
Grid
19
Bus 21
345.0
b
Grid
True
Grid
Grid
20
Bus 16
345.0
b
Grid
True
Grid
Grid
21
Bus 17
345.0
b
Grid
True
Grid
Grid
22
Bus 27
345.0
b
Grid
True
Grid
Grid
23
Bus 18
345.0
b
Grid
True
Grid
Grid
24
Bus 03
345.0
b
Grid
True
Grid
Grid
25
Bus 26
345.0
b
Grid
True
Grid
Grid
26
Bus 28
345.0
b
Grid
True
Grid
Grid
27
Bus 25
345.0
b
Grid
True
Grid
Grid
28
Bus 29
345.0
b
Grid
True
Grid
Grid
29
Bus 38
16.5
b
Grid
True
Grid
Grid
30
Bus 30
16.5
b
Grid
True
Grid
Grid
31
Bus 02
345.0
b
Grid
True
Grid
Grid
32
Bus 01
345.0
b
Grid
True
Grid
Grid
33
Bus 39
345.0
b
Grid
True
Grid
Grid
34
Bus 09
345.0
b
Grid
True
Grid
Grid
35
Bus 36
16.5
b
Grid
True
Grid
Grid
36
Bus 23
345.0
b
Grid
True
Grid
Grid
37
Bus 22
345.0
b
Grid
True
Grid
Grid
38
Bus 35
16.5
b
Grid
True
Grid
Grid
Note that the name column is filled with the loc_name attributes of the PowerFactory objects. name can be used as a mapping to the respective PowerFactory object only if the loc_name of all objects of a certain class are unique (e.g. no ElmTerm instances have the same loc_name). The Database interface can be used to enumerate equivalent names of calculation relevant objects in the PowerFactory database.
from powfacpy.applications.database import Databasetry: act_prj.app.Hide() dbi = Database(app) dbi.make_loc_name_of_calc_relevant_objects_unique() net = ppi.pf_project_to_pandapower()finally: act_prj.app.Show()
To test whether the exported dataset is feasible, we can run a power flow using pandapower:
pp.runpp(net)
numba cannot be imported and numba functions are disabled.
Probably the execution is slow.
Please install numba to gain a massive speedup.
(or if you prefer slow execution, set the flag numba=False to avoid this warning!)
The following shows how to access the results for a certain bus.
This does not provide any information about the corresponding nodes of the rows and columns. The function get_Ybus_frame provides this information.
df = ppi.get_Ybus_frame(net)df
Bus 08
Bus 07
Bus 05
Bus 04
Bus 06
Bus 31
Bus 11
Bus 12
Bus 10
Bus 32
Bus 13
Bus 14
Bus 15
Bus 20
Bus 19
Bus 34
Bus 33
Bus 37
Bus 24
Bus 21
Bus 16
Bus 17
Bus 27
Bus 18
Bus 03
Bus 26
Bus 28
Bus 25
Bus 29
Bus 38
Bus 30
Bus 02
Bus 01
Bus 39
Bus 09
Bus 36
Bus 23
Bus 22
Bus 35
Bus 08
26.845403-331.727381j
-18.761727+215.759844j
-6.345177+ 88.832482j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.738499+27.438056j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 07
-18.761727+215.759844j
25.820552-323.899635j
0.000000+ 0.000000j
0.000000+ 0.000000j
-7.058824+108.235291j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 05
-6.345177+ 88.832482j
0.000000+ 0.000000j
40.620747-548.843807j
-4.863813+ 77.821008j
-29.411758+382.352917j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 04
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.863813+ 77.821008j
12.507556-201.570612j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.788984+ 77.222383j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-2.854758+ 46.774120j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 06
0.000000+ 0.000000j
-7.058824+108.235291j
-29.411758+382.352917j
0.000000+ 0.000000j
46.805737-646.447050j
0.000000+37.383178j
-10.335155+121.068943j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 31
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 37.383178j
0.000000-40.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 11
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-10.335155+121.068943j
0.000000+ 0.000000j
32.627290-374.483500j
-0.839376+22.820532j
-21.447723+230.563002j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 12
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-0.839376+ 22.820532j
1.668740-45.368851j
0.000000+ 0.000000j
0.000000+ 0.000000j
-0.839376+ 22.820532j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 10
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-21.447723+230.563002j
0.000000+ 0.000000j
42.895446-504.725041j
0.000000+46.728972j
-21.447723+230.563002j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 32
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 46.728972j
0.000000-50.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 13
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-0.839376+22.820532j
-21.447723+230.563002j
0.000000+ 0.000000j
31.045295-351.627768j
-8.753159+ 98.229911j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 14
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.788984+ 77.222383j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-8.753159+ 98.229911j
17.338570-220.882082j
-3.796426+ 45.768037j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 15
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-3.796426+ 45.768037j
13.889505-150.916158j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-10.093079+105.416621j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 20
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
6.387907-126.710629j
-3.458741+ 68.186611j
-2.746136+54.922717j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 19
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-3.458741+ 68.186611j
10.467405-176.474783j
0.000000+ 0.000000j
-3.236561+65.655932j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.179618+ 50.939107j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 34
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-2.746136+ 54.922717j
0.000000+ 0.000000j
2.770852-55.417021j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 33
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-3.236561+ 65.655932j
0.000000+ 0.000000j
3.463121-70.251847j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 37
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
1.113999-43.074638j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.086829+ 42.024037j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 24
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
10.384839-197.298912j
0.000000+ 0.000000j
-8.595989+169.054429j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.788850+ 28.458985j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 21
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
8.442563-144.755303j
-4.374214+ 73.814860j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.068349+ 71.196094j
0.000000+ 0.000000j
Bus 16
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-10.093079+105.416621j
0.000000+ 0.000000j
-4.179618+ 50.939107j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-8.595989+169.054429j
-4.374214+ 73.814860j
36.025837-510.427772j
-8.782937+111.668756j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 17
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-8.782937+111.668756j
23.437315-289.922750j
-4.319223+ 57.478901j
-10.335155+121.068943j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 27
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.319223+ 57.478901j
10.739769-124.614029j
0.000000+ 0.000000j
0.000000+ 0.000000j
-6.420546+ 67.415727j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 18
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-10.335155+121.068943j
0.000000+ 0.000000j
16.511460-195.573238j
-6.176305+ 74.677145j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 03
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-2.854758+ 46.774120j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-6.176305+ 74.677145j
14.690618-186.842985j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-5.659555+ 65.737918j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 26
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-6.420546+ 67.415727j
0.000000+ 0.000000j
0.000000+ 0.000000j
12.803361-133.586522j
-1.898245+20.924843j
-3.037407+ 30.658831j
-1.447163+ 15.868018j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 28
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.898245+ 20.924843j
7.985996-86.070981j
0.000000+ 0.000000j
-6.087751+ 65.660738j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 25
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.086829+42.024037j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-3.037407+ 30.658831j
0.000000+ 0.000000j
61.026810-141.269839j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-56.929082+ 69.941447j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 29
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.447163+ 15.868018j
-6.087751+65.660738j
0.000000+ 0.000000j
10.655617-141.743463j
-3.198720+62.375049j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 38
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-3.198720+ 62.375049j
3.278688-63.934425j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 30
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000-55.248618j
0.000000+ 53.901090j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 02
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-5.659555+ 65.737918j
0.000000+ 0.000000j
0.000000+ 0.000000j
-56.929082+ 69.941447j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+53.901090j
64.645694-211.870569j
-2.057057+24.155723j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 01
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-2.057057+ 24.155723j
3.654501-63.367473j
-1.597444+39.936101j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 39
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.597444+39.936101j
3.194888-78.897200j
-1.597444+39.936101j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 09
-1.738499+ 27.438056j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.597444+39.936101j
3.335943-66.583955j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 36
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.675593-36.752279j
-0.675593+ 36.752279j
0.000000+ 0.000000j
0.000000+ 0.000000j
Bus 23
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-1.788850+ 28.458985j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-0.675593+36.752279j
8.949527-168.699804j
-6.485084+103.761341j
0.000000+ 0.000000j
Bus 22
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-4.068349+ 71.196094j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
-6.485084+103.761341j
10.553433-241.297334j
0.000000+68.224461j
Bus 35
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 0.000000j
0.000000+ 68.224461j
0.000000-69.930072j
The names in the labels correspond to the loc_name attributes of the PowerFactory objects. Provided that the names are unique, we can also replace them with the actual PowerFactory objects (this can be more convenient to query data, but printing the frame is ugly because the full path is used in the labels) using the PandasInterface of powfacpy.
The connectivity matrix (also called adjacency matrix) is a symmetric matrix that has entries \(1\) (or True) for connected nodes and \(0\) (or False) for nodes that are not connected.
ppi.get_connectivity_frame(net)
Bus 08
Bus 07
Bus 05
Bus 04
Bus 06
Bus 31
Bus 11
Bus 12
Bus 10
Bus 32
Bus 13
Bus 14
Bus 15
Bus 20
Bus 19
Bus 34
Bus 33
Bus 37
Bus 24
Bus 21
Bus 16
Bus 17
Bus 27
Bus 18
Bus 03
Bus 26
Bus 28
Bus 25
Bus 29
Bus 38
Bus 30
Bus 02
Bus 01
Bus 39
Bus 09
Bus 36
Bus 23
Bus 22
Bus 35
Bus 08
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
Bus 07
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 05
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 04
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 06
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 31
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 11
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 12
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 10
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 32
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 13
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 14
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 15
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
Bus 24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
Bus 21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
Bus 16
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus 03
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
Bus 26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
Bus 28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
Bus 25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
Bus 29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
Bus 38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
Bus 30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
Bus 02
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
Bus 01
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
Bus 39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
Bus 09
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
Bus 36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
Bus 23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
Bus 22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
Bus 35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
To get boolean values instead of zero and one, use ppi.get_connectivity_frame(net, boolean=True).
4 Load Flow Jacobian
The load flow Jacobian matrix can be exported as well.
An explanation of the Jacobian matrix entries is provided in the pandapower tutorial that was mentioned above already.
5 Format Comparison
The dataformats of pandapower and PowerFactory are not fully compatible. An overview and functionality to rudimentary validate the exported data is presented in the following.
Remember the exported dataset in pandapower format:
net
This pandapower network includes the following parameter tables:
- bus (39 elements)
- load (19 elements)
- gen (9 elements)
- switch (92 elements)
- ext_grid (1 element)
- line (34 elements)
- trafo (12 elements)
and the following results tables:
- res_bus (39 elements)
- res_line (34 elements)
- res_trafo (12 elements)
- res_ext_grid (1 element)
- res_load (19 elements)
- res_gen (9 elements)
- res_switch (92 elements)
There are a few things to consider here (not everything is relevant for this example):
bus considers all terminals, even those that are not energized
gen are PV-controlled generators (active power and voltage)
sgen are PQ-controlled generators
ext_grid are generators/external grids which act as slack buses
switch considers only breakers/switches for branches, i.e. between buses or between buses and branch elements like lines and transformers (i.e. switches connecting generators are not considered for example)
6 Validation
6.1 Using pandapower
pandapower has a function validate_pf_conversion (due to a bug in pandapower this function fails if load flow results are initially present) which compares load flow results and returns the differences.
from pandapower.converter.powerfactory.validate import validate_pf_conversiontry: act_prj.app.Hide() net = ppi.pf_project_to_pandapower() all_diffs = validate_pf_conversion(net)finally: act_prj.app.Show()all_diffs
numba cannot be imported and numba functions are disabled.
Probably the execution is slow.
Please install numba to gain a massive speedup.
(or if you prefer slow execution, set the flag numba=False to avoid this warning!)
powfacpy offers a rudimentary validation of the exported dataset focusing only on data relevant for the admittance matrix. It is assumed that the currently active project in PowerFactory was used for the export. We can check the difference between both datasets by using get_difference_between_pf_and_pandapower_dataset.
We artificially set (and later undo) a deviation in the pandapower dataset here. A Dataframe with the divergent parameters is returned.
The parameter mapping is defined in get_pandapower_2_pf_parameter_mapping. It is best understood by looking at the source code and we use python’sinspect module to print the method. The mapping is either between the pandapower parameter strings or between a pandapower* parameter string and and a callable with the PowerFactory object as argument and returning the parameter value (used for example to get parameters from the type object).