pandapower 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pandapower-1.1.1/AUTHORS +24 -0
- pandapower-1.1.1/CHANGELOG.rst +46 -0
- pandapower-1.1.1/LICENSE +25 -0
- pandapower-1.1.1/MANIFEST.in +3 -0
- pandapower-1.1.1/PKG-INFO +100 -0
- pandapower-1.1.1/README.rst +90 -0
- pandapower-1.1.1/pandapower/__init__.py +12 -0
- pandapower-1.1.1/pandapower/auxiliary.py +398 -0
- pandapower-1.1.1/pandapower/build_branch.py +710 -0
- pandapower-1.1.1/pandapower/build_bus.py +298 -0
- pandapower-1.1.1/pandapower/build_gen.py +326 -0
- pandapower-1.1.1/pandapower/converter/__init__.py +2 -0
- pandapower-1.1.1/pandapower/converter/matpower/__init__.py +2 -0
- pandapower-1.1.1/pandapower/converter/matpower/from_mpc.py +115 -0
- pandapower-1.1.1/pandapower/converter/matpower/to_mpc.py +106 -0
- pandapower-1.1.1/pandapower/converter/pypower/__init__.py +2 -0
- pandapower-1.1.1/pandapower/converter/pypower/from_ppc.py +440 -0
- pandapower-1.1.1/pandapower/converter/pypower/to_ppc.py +59 -0
- pandapower-1.1.1/pandapower/create.py +1858 -0
- pandapower-1.1.1/pandapower/diagnostic.py +873 -0
- pandapower-1.1.1/pandapower/diagnostic_reports.py +552 -0
- pandapower-1.1.1/pandapower/estimation/__init__.py +1 -0
- pandapower-1.1.1/pandapower/estimation/state_estimation.py +451 -0
- pandapower-1.1.1/pandapower/estimation/wls_matrix_ops.py +280 -0
- pandapower-1.1.1/pandapower/file_io.py +157 -0
- pandapower-1.1.1/pandapower/make_objective.py +198 -0
- pandapower-1.1.1/pandapower/networks/__init__.py +7 -0
- pandapower-1.1.1/pandapower/networks/cigre_networks.py +452 -0
- pandapower-1.1.1/pandapower/networks/create_examples.py +423 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case14.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case24_ieee_rts.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case30.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case30Q.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case30pwl.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case39.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case4gs.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case57.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case6ww.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case9.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_case_pickles/case9Q.p +0 -0
- pandapower-1.1.1/pandapower/networks/ieee_cases.py +251 -0
- pandapower-1.1.1/pandapower/networks/kerber_extreme_networks.py +308 -0
- pandapower-1.1.1/pandapower/networks/kerber_networks.py +361 -0
- pandapower-1.1.1/pandapower/networks/mv_oberrhein.p +0 -0
- pandapower-1.1.1/pandapower/networks/mv_oberrhein.py +76 -0
- pandapower-1.1.1/pandapower/networks/mv_oberrhein_substations.p +0 -0
- pandapower-1.1.1/pandapower/networks/simple_pandapower_test_networks.py +205 -0
- pandapower-1.1.1/pandapower/pd2ppc.py +252 -0
- pandapower-1.1.1/pandapower/plotting/__init__.py +4 -0
- pandapower-1.1.1/pandapower/plotting/collections.py +198 -0
- pandapower-1.1.1/pandapower/plotting/colormaps.py +75 -0
- pandapower-1.1.1/pandapower/plotting/generic_geodata.py +131 -0
- pandapower-1.1.1/pandapower/plotting/simple_plot.py +97 -0
- pandapower-1.1.1/pandapower/pypower_extensions/__init__.py +0 -0
- pandapower-1.1.1/pandapower/pypower_extensions/bustypes.py +56 -0
- pandapower-1.1.1/pandapower/pypower_extensions/create_J.py +163 -0
- pandapower-1.1.1/pandapower/pypower_extensions/dSbus_dV.py +90 -0
- pandapower-1.1.1/pandapower/pypower_extensions/dcpf.py +37 -0
- pandapower-1.1.1/pandapower/pypower_extensions/makeBdc.py +79 -0
- pandapower-1.1.1/pandapower/pypower_extensions/makeYbus.py +190 -0
- pandapower-1.1.1/pandapower/pypower_extensions/makeYbus_pypower.py +75 -0
- pandapower-1.1.1/pandapower/pypower_extensions/newtonpf.py +183 -0
- pandapower-1.1.1/pandapower/pypower_extensions/opf.py +209 -0
- pandapower-1.1.1/pandapower/pypower_extensions/opf_execute.py +202 -0
- pandapower-1.1.1/pandapower/pypower_extensions/opf_hessfcn.py +241 -0
- pandapower-1.1.1/pandapower/pypower_extensions/opf_model.py +778 -0
- pandapower-1.1.1/pandapower/pypower_extensions/opf_setup.py +269 -0
- pandapower-1.1.1/pandapower/pypower_extensions/pfsoln.py +100 -0
- pandapower-1.1.1/pandapower/pypower_extensions/pipsopf_solver.py +221 -0
- pandapower-1.1.1/pandapower/pypower_extensions/runpf.py +279 -0
- pandapower-1.1.1/pandapower/results.py +596 -0
- pandapower-1.1.1/pandapower/run.py +342 -0
- pandapower-1.1.1/pandapower/shortcircuit/__init__.py +9 -0
- pandapower-1.1.1/pandapower/shortcircuit/currents.py +29 -0
- pandapower-1.1.1/pandapower/shortcircuit/impedance.py +116 -0
- pandapower-1.1.1/pandapower/shortcircuit/kappa.py +41 -0
- pandapower-1.1.1/pandapower/shortcircuit/run.py +114 -0
- pandapower-1.1.1/pandapower/std_types.py +777 -0
- pandapower-1.1.1/pandapower/test/__init__.py +2 -0
- pandapower-1.1.1/pandapower/test/api/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/api/test_auxiliary.py +36 -0
- pandapower-1.1.1/pandapower/test/api/test_diagnostic.py +458 -0
- pandapower-1.1.1/pandapower/test/api/test_file_io.py +29 -0
- pandapower-1.1.1/pandapower/test/api/test_std_types.py +316 -0
- pandapower-1.1.1/pandapower/test/api/test_toolbox.py +184 -0
- pandapower-1.1.1/pandapower/test/conftest.py +46 -0
- pandapower-1.1.1/pandapower/test/consistency_checks.py +87 -0
- pandapower-1.1.1/pandapower/test/converter/__init__.py +1 -0
- pandapower-1.1.1/pandapower/test/converter/ppc_testgrids.py +912 -0
- pandapower-1.1.1/pandapower/test/converter/test_from_ppc.py +99 -0
- pandapower-1.1.1/pandapower/test/converter/test_to_ppc.py +60 -0
- pandapower-1.1.1/pandapower/test/estimation/3bus_wls.p +0 -0
- pandapower-1.1.1/pandapower/test/estimation/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/estimation/test_wls_estimation.py +408 -0
- pandapower-1.1.1/pandapower/test/loadflow/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/loadflow/result_test_network_generator.py +403 -0
- pandapower-1.1.1/pandapower/test/loadflow/test_results.py +520 -0
- pandapower-1.1.1/pandapower/test/loadflow/test_runpp.py +112 -0
- pandapower-1.1.1/pandapower/test/loadflow/test_scenarios.py +124 -0
- pandapower-1.1.1/pandapower/test/loadflow/testgrid.p +0 -0
- pandapower-1.1.1/pandapower/test/networks/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/networks/test_cigre_networks.py +87 -0
- pandapower-1.1.1/pandapower/test/networks/test_create_example.py +58 -0
- pandapower-1.1.1/pandapower/test/networks/test_ieee_cases.py +101 -0
- pandapower-1.1.1/pandapower/test/networks/test_kerber_networks.py +204 -0
- pandapower-1.1.1/pandapower/test/networks/test_simple_pandapower_test_networks.py +57 -0
- pandapower-1.1.1/pandapower/test/opf/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/opf/test_basic.py +298 -0
- pandapower-1.1.1/pandapower/test/opf/test_curtailment.py +65 -0
- pandapower-1.1.1/pandapower/test/opf/test_dcline.py +97 -0
- pandapower-1.1.1/pandapower/test/opf/test_oberrhein.py +37 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/__init__.py +0 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/sc_test_gen.p +0 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/sc_test_meshed_grid.p +0 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/sc_test_one_line_one_transformer.p +0 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/test_line_gen.py +33 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/test_line_transformer.py +79 -0
- pandapower-1.1.1/pandapower/test/shortcircuit/test_meshing_detection.py +168 -0
- pandapower-1.1.1/pandapower/test/toolbox.py +258 -0
- pandapower-1.1.1/pandapower/toolbox.py +1167 -0
- pandapower-1.1.1/pandapower/topology/__init__.py +2 -0
- pandapower-1.1.1/pandapower/topology/create_graph.py +104 -0
- pandapower-1.1.1/pandapower/topology/graph_searches.py +360 -0
- pandapower-1.1.1/pandapower.egg-info/PKG-INFO +100 -0
- pandapower-1.1.1/pandapower.egg-info/SOURCES.txt +130 -0
- pandapower-1.1.1/pandapower.egg-info/dependency_links.txt +1 -0
- pandapower-1.1.1/pandapower.egg-info/requires.txt +3 -0
- pandapower-1.1.1/pandapower.egg-info/top_level.txt +1 -0
- pandapower-1.1.1/requirements.txt +3 -0
- pandapower-1.1.1/setup.cfg +9 -0
- pandapower-1.1.1/setup.py +48 -0
pandapower-1.1.1/AUTHORS
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Copyright (c) 2016 by University of Kassel and Fraunhofer Institute for Wind Energy and Energy System Technology (IWES) Kassel. All rights reserved.
|
|
2
|
+
|
|
3
|
+
Lead Developers:
|
|
4
|
+
- Leon Thurner
|
|
5
|
+
- Alexander Scheidler
|
|
6
|
+
|
|
7
|
+
Main Contributers:
|
|
8
|
+
- Julian Dollichon
|
|
9
|
+
- Florian Schäfer
|
|
10
|
+
- Friederike Meier
|
|
11
|
+
- Jan-Hendrik Menke
|
|
12
|
+
- Steffen Meinecke
|
|
13
|
+
|
|
14
|
+
Coordination:
|
|
15
|
+
- Martin Braun
|
|
16
|
+
- Johann-Christian Töbermann
|
|
17
|
+
- Stefan Gehler
|
|
18
|
+
|
|
19
|
+
Thanks to:
|
|
20
|
+
- Tobias Deß
|
|
21
|
+
- Bastian Junker
|
|
22
|
+
- Jannis Kupka
|
|
23
|
+
- Lothar Löwer
|
|
24
|
+
- Jan Ulffers
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Change Log
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
[1.1.1] - 2017-01-12
|
|
5
|
+
----------------------
|
|
6
|
+
- [ADDED] installation description and pypi files from github
|
|
7
|
+
- [ADDED] automatic inversion of active power limits in convert format to account for convention change in version 1.1.0
|
|
8
|
+
- [CHANGED] install_requires in setup.py
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
[1.1.0] - 2017-01-11
|
|
12
|
+
----------------------
|
|
13
|
+
- [ADDED] impedance element can now be used with unsymetric impedances zij != zji
|
|
14
|
+
- [ADDED] dcline element that allows modelling DC lines in PF and OPF
|
|
15
|
+
- [ADDED] simple plotting function: call pp.simple_plot(net) to directly plot the network
|
|
16
|
+
- [ADDED] measurement table for networks. Enables the definition of measurements for real-time simulations.
|
|
17
|
+
- [ADDED] estimation module, which provides state estimation functionality with weighted least squares algorithm
|
|
18
|
+
- [ADDED] shortcircuit module in beta version for short-circuit calculation according to IEC-60909
|
|
19
|
+
- [ADDED] documentation of model validation and tests
|
|
20
|
+
- [ADDED] case14, case24_ieee_rts, case39, case57 networks
|
|
21
|
+
- [ADDED] mpc and ppc converter
|
|
22
|
+
- [CHANGED] convention for active power limits of generators. Generator with max. feed in of 50kW before: p_min_kw=0, p_max_kw=-50. Now p_max_kw=0, p_min_kw=50
|
|
23
|
+
- [ADDED] DC power flow function pp.rundcopp
|
|
24
|
+
- [FIXED] bug in create_transformer function for tp_pos parameter
|
|
25
|
+
- [FIXED] bug in voltage ratio for low voltage side tap changers
|
|
26
|
+
- [FIXED] bug in rated voltage calculation for opf line constraints
|
|
27
|
+
|
|
28
|
+
[1.0.2] - 2016-11-30
|
|
29
|
+
----------------------
|
|
30
|
+
|
|
31
|
+
- [CHANGED] changed in_service dtype from f8 to bool for shunt, ward, xward
|
|
32
|
+
- [CHANGED] included i_from_ka and i_to_ka in net.res_line
|
|
33
|
+
- [ADDED] recycle parameter added. ppc, Ybus, is_elems and bus_lookup can be reused between multiple powerflows if recycle["ppc"] == True, ppc values (P,Q,V) only get updated.
|
|
34
|
+
- [FIXED] OPF bugfixes: cost scaling, correct calculation of res_bus.p_kw for sgens
|
|
35
|
+
- [ADDED] loadcase added as pypower_extension since unnecessary deepcopies were removed
|
|
36
|
+
- [CHANGED] supress warnings parameter removed from loadflow, casting warnings are automatically supressed
|
|
37
|
+
|
|
38
|
+
[1.0.1] - 2016-11-09
|
|
39
|
+
----------------------
|
|
40
|
+
|
|
41
|
+
- [CHANGED] update short introduction example to include transformer
|
|
42
|
+
- [CHANGED] included pypower in setup.py requirements (only pypower, not numpy, scipy etc.)
|
|
43
|
+
- [CHANGED] mpc / ppc renamed to ppci / ppc
|
|
44
|
+
- [FIXED] MANIFEST.ini includes all relevant doc files and exclude report
|
|
45
|
+
- [FIXED] handling of tp_pos parameter in create_trafo and create_trafo3w
|
|
46
|
+
- [FIXED] init="result" for open bus-line switches
|
pandapower-1.1.1/LICENSE
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Copyright (c) 2016 by University of Kassel and Fraunhofer Institute for Wind Energy and Power
|
|
2
|
+
Systems Technology (IWES) Kassel and individual contributors (see AUTHORS file for details).
|
|
3
|
+
All rights reserved.
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
|
6
|
+
provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions
|
|
9
|
+
and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of
|
|
12
|
+
conditions and the following disclaimer in the documentation and/or other materials provided
|
|
13
|
+
with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to
|
|
16
|
+
endorse or promote products derived from this software without specific prior written permission.
|
|
17
|
+
|
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
19
|
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
21
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
23
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
24
|
+
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
|
|
25
|
+
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
Metadata-Version: 1.1
|
|
2
|
+
Name: pandapower
|
|
3
|
+
Version: 1.1.1
|
|
4
|
+
Summary: Convenient Power System Modelling and Analysis based on PYPOWER and pandas
|
|
5
|
+
Home-page: http://www.uni-kassel.de/go/pandapower
|
|
6
|
+
Author: Leon Thurner, Alexander Scheidler
|
|
7
|
+
Author-email: leon.thurner@uni-kassel.de, alexander.scheidler@iwes.fraunhofer.de
|
|
8
|
+
License: BSD
|
|
9
|
+
Description: pandapower combines the data analysis library `pandas <http://pandas.pydata.org>`_ and the power flow solver `PYPOWER <https://pypi.python.org/pypi/PYPOWER>`_ to create an easy to use network calculation program
|
|
10
|
+
aimed at automation of analysis and optimization in power systems.
|
|
11
|
+
|
|
12
|
+
pandapower is a joint development of the research group Energy Management and Power System Operation, University of Kassel and the Department for Distribution System
|
|
13
|
+
Operation at the Fraunhofer Institute for Wind Energy and Energy System Technology (IWES), Kassel.
|
|
14
|
+
|
|
15
|
+
For more information, go to `<http://www.uni-kassel.de/go/pandapower>`_.
|
|
16
|
+
|
|
17
|
+
Installation
|
|
18
|
+
==============
|
|
19
|
+
To install pandapower, simply use: ::
|
|
20
|
+
|
|
21
|
+
pip install pandapower
|
|
22
|
+
|
|
23
|
+
This will install the following dependencies:
|
|
24
|
+
- pypower>=5.0.1
|
|
25
|
+
- pandas
|
|
26
|
+
- networkx
|
|
27
|
+
|
|
28
|
+
To use all of pandapowers functionalites, you will need the following additional packages:
|
|
29
|
+
- numba>=0.25.0 (for accelerated loadflow calculation)
|
|
30
|
+
- matplotlib (for plotting)
|
|
31
|
+
- python-igraph (for plotting networks without geographical information)
|
|
32
|
+
- xlrd (for loading/saving files from/to excel)
|
|
33
|
+
- openpyxl (for loading/saving files from/to excel)
|
|
34
|
+
|
|
35
|
+
We recommend the `Anaconda Distribution <https://www.continuum.io/downloads>`_, which already contains a lot of modules for scientific computing that are needed for working with pandapower.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Change Log
|
|
40
|
+
=============
|
|
41
|
+
|
|
42
|
+
[1.1.1] - 2017-01-12
|
|
43
|
+
----------------------
|
|
44
|
+
- [ADDED] installation description and pypi files from github
|
|
45
|
+
- [ADDED] automatic inversion of active power limits in convert format to account for convention change in version 1.1.0
|
|
46
|
+
- [CHANGED] install_requires in setup.py
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
[1.1.0] - 2017-01-11
|
|
50
|
+
----------------------
|
|
51
|
+
- [ADDED] impedance element can now be used with unsymetric impedances zij != zji
|
|
52
|
+
- [ADDED] dcline element that allows modelling DC lines in PF and OPF
|
|
53
|
+
- [ADDED] simple plotting function: call pp.simple_plot(net) to directly plot the network
|
|
54
|
+
- [ADDED] measurement table for networks. Enables the definition of measurements for real-time simulations.
|
|
55
|
+
- [ADDED] estimation module, which provides state estimation functionality with weighted least squares algorithm
|
|
56
|
+
- [ADDED] shortcircuit module in beta version for short-circuit calculation according to IEC-60909
|
|
57
|
+
- [ADDED] documentation of model validation and tests
|
|
58
|
+
- [ADDED] case14, case24_ieee_rts, case39, case57 networks
|
|
59
|
+
- [ADDED] mpc and ppc converter
|
|
60
|
+
- [CHANGED] convention for active power limits of generators. Generator with max. feed in of 50kW before: p_min_kw=0, p_max_kw=-50. Now p_max_kw=0, p_min_kw=50
|
|
61
|
+
- [ADDED] DC power flow function pp.rundcopp
|
|
62
|
+
- [FIXED] bug in create_transformer function for tp_pos parameter
|
|
63
|
+
- [FIXED] bug in voltage ratio for low voltage side tap changers
|
|
64
|
+
- [FIXED] bug in rated voltage calculation for opf line constraints
|
|
65
|
+
|
|
66
|
+
[1.0.2] - 2016-11-30
|
|
67
|
+
----------------------
|
|
68
|
+
|
|
69
|
+
- [CHANGED] changed in_service dtype from f8 to bool for shunt, ward, xward
|
|
70
|
+
- [CHANGED] included i_from_ka and i_to_ka in net.res_line
|
|
71
|
+
- [ADDED] recycle parameter added. ppc, Ybus, is_elems and bus_lookup can be reused between multiple powerflows if recycle["ppc"] == True, ppc values (P,Q,V) only get updated.
|
|
72
|
+
- [FIXED] OPF bugfixes: cost scaling, correct calculation of res_bus.p_kw for sgens
|
|
73
|
+
- [ADDED] loadcase added as pypower_extension since unnecessary deepcopies were removed
|
|
74
|
+
- [CHANGED] supress warnings parameter removed from loadflow, casting warnings are automatically supressed
|
|
75
|
+
|
|
76
|
+
[1.0.1] - 2016-11-09
|
|
77
|
+
----------------------
|
|
78
|
+
|
|
79
|
+
- [CHANGED] update short introduction example to include transformer
|
|
80
|
+
- [CHANGED] included pypower in setup.py requirements (only pypower, not numpy, scipy etc.)
|
|
81
|
+
- [CHANGED] mpc / ppc renamed to ppci / ppc
|
|
82
|
+
- [FIXED] MANIFEST.ini includes all relevant doc files and exclude report
|
|
83
|
+
- [FIXED] handling of tp_pos parameter in create_trafo and create_trafo3w
|
|
84
|
+
- [FIXED] init="result" for open bus-line switches
|
|
85
|
+
Platform: UNKNOWN
|
|
86
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
87
|
+
Classifier: Environment :: Console
|
|
88
|
+
Classifier: Intended Audience :: Developers
|
|
89
|
+
Classifier: Intended Audience :: Education
|
|
90
|
+
Classifier: Intended Audience :: Science/Research
|
|
91
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
92
|
+
Classifier: Natural Language :: English
|
|
93
|
+
Classifier: Operating System :: OS Independent
|
|
94
|
+
Classifier: Programming Language :: Python
|
|
95
|
+
Classifier: Programming Language :: Python :: 2
|
|
96
|
+
Classifier: Programming Language :: Python :: 2.7
|
|
97
|
+
Classifier: Programming Language :: Python :: 3
|
|
98
|
+
Classifier: Programming Language :: Python :: 3.4
|
|
99
|
+
Classifier: Programming Language :: Python :: 3.5
|
|
100
|
+
Classifier: Topic :: Scientific/Engineering
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
pandapower combines the data analysis library `pandas <http://pandas.pydata.org>`_ and the power flow solver `PYPOWER <https://pypi.python.org/pypi/PYPOWER>`_ to create an easy to use network calculation program
|
|
2
|
+
aimed at automation of analysis and optimization in power systems.
|
|
3
|
+
|
|
4
|
+
pandapower is a joint development of the research group Energy Management and Power System Operation, University of Kassel and the Department for Distribution System
|
|
5
|
+
Operation at the Fraunhofer Institute for Wind Energy and Energy System Technology (IWES), Kassel.
|
|
6
|
+
|
|
7
|
+
For more information, go to `<http://www.uni-kassel.de/go/pandapower>`_.
|
|
8
|
+
|
|
9
|
+
Installation
|
|
10
|
+
==============
|
|
11
|
+
To install pandapower, simply use: ::
|
|
12
|
+
|
|
13
|
+
pip install pandapower
|
|
14
|
+
|
|
15
|
+
This will install the following dependencies:
|
|
16
|
+
- pypower>=5.0.1
|
|
17
|
+
- pandas
|
|
18
|
+
- networkx
|
|
19
|
+
|
|
20
|
+
To use all of pandapowers functionalites, you will need the following additional packages:
|
|
21
|
+
- numba>=0.25.0 (for accelerated loadflow calculation)
|
|
22
|
+
- matplotlib (for plotting)
|
|
23
|
+
- python-igraph (for plotting networks without geographical information)
|
|
24
|
+
- xlrd (for loading/saving files from/to excel)
|
|
25
|
+
- openpyxl (for loading/saving files from/to excel)
|
|
26
|
+
|
|
27
|
+
We recommend the `Anaconda Distribution <https://www.continuum.io/downloads>`_, which already contains a lot of modules for scientific computing that are needed for working with pandapower.
|
|
28
|
+
|
|
29
|
+
Minimal Example
|
|
30
|
+
=====================
|
|
31
|
+
|
|
32
|
+
A network in pandapower is represented in a pandapowerNet object, which is a collection of pandas Dataframes.
|
|
33
|
+
Each dataframe in a pandapowerNet contains the information about one pandapower element, such as line, load transformer etc.
|
|
34
|
+
|
|
35
|
+
We consider the following simple 3-bus example network as a minimal example:
|
|
36
|
+
|
|
37
|
+
.. image:: http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/_images/3bus-system.png
|
|
38
|
+
:width: 20em
|
|
39
|
+
:align: center
|
|
40
|
+
|
|
41
|
+
This network can be created in pandapower as follows: ::
|
|
42
|
+
|
|
43
|
+
import pandapower as pp
|
|
44
|
+
#create empty net
|
|
45
|
+
net = pp.create_empty_network()
|
|
46
|
+
|
|
47
|
+
#create buses
|
|
48
|
+
b1 = pp.create_bus(net, vn_kv=20., name="Bus 1")
|
|
49
|
+
b2 = pp.create_bus(net, vn_kv=0.4, name="Bus 2")
|
|
50
|
+
b3 = pp.create_bus(net, vn_kv=0.4, name="Bus 3")
|
|
51
|
+
|
|
52
|
+
#create bus elements
|
|
53
|
+
pp.create_ext_grid(net, bus=b1, vm_pu=1.02, name="Grid Connection")
|
|
54
|
+
pp.create_load(net, bus=b3, p_kw=100, q_kvar=50, name="Load")
|
|
55
|
+
|
|
56
|
+
#create branch elements
|
|
57
|
+
tid = pp.create_transformer(net, hv_bus=b1, lv_bus=b2, std_type="0.4 MVA 20/0.4 kV",
|
|
58
|
+
name="Trafo")
|
|
59
|
+
pp.create_line(net, from_bus=b2, to_bus=b3, length_km=0.1, name="Line",
|
|
60
|
+
std_type="NAYY 4x50 SE")
|
|
61
|
+
|
|
62
|
+
Note that you do not have to calculate any impedances or tap ratio for the equivalent circuit, this is handled internally by pandapower according to the pandapower `transformer model <http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/elements/trafo.html#electric-model>`_.
|
|
63
|
+
The `standard type library <http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/std_types.html>`_ allows comfortable creation of line and transformer elements.
|
|
64
|
+
|
|
65
|
+
The pandapower representation now looks like this:
|
|
66
|
+
|
|
67
|
+
.. image:: http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/_images/pandapower_datastructure.png
|
|
68
|
+
:width: 40em
|
|
69
|
+
|
|
70
|
+
**Running a Power Flow**
|
|
71
|
+
|
|
72
|
+
A powerflow can be carried out with the `runpp function <http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/powerflow/ac.html>`_: ::
|
|
73
|
+
|
|
74
|
+
pp.runpp(net)
|
|
75
|
+
|
|
76
|
+
When a power flow is run, pandapower combines the information of all element tables into one pypower case file and uses pypower to run the power flow.
|
|
77
|
+
The results are then processed and written back into pandapower:
|
|
78
|
+
|
|
79
|
+
.. image:: http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/_images/pandapower_powerflow.png
|
|
80
|
+
:width: 40em
|
|
81
|
+
|
|
82
|
+
For the 3-bus example network, the result tables look like this:
|
|
83
|
+
|
|
84
|
+
.. image:: http://www.uni-kassel.de/eecs/fileadmin/datas/fb16/Fachgebiete/energiemanagement/Software/pandapower-doc/_images/pandapower_results.png
|
|
85
|
+
:width: 30em
|
|
86
|
+
|
|
87
|
+
License
|
|
88
|
+
=========
|
|
89
|
+
|
|
90
|
+
pandapower is licensed under a 3-clause BSD-License that can be found in the LICENSE file.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from pandapower.create import *
|
|
2
|
+
from pandapower.run import *
|
|
3
|
+
from pandapower.file_io import *
|
|
4
|
+
from pandapower.toolbox import *
|
|
5
|
+
from pandapower.auxiliary import *
|
|
6
|
+
from pandapower.std_types import *
|
|
7
|
+
from pandapower.diagnostic import *
|
|
8
|
+
|
|
9
|
+
import pandas as pd
|
|
10
|
+
pd.options.mode.chained_assignment = None # default='warn'
|
|
11
|
+
|
|
12
|
+
__version__ = "1.1.0"
|