Skip to content

Commit

Permalink
Merge pull request #1483 from e2nIEE/develop
Browse files Browse the repository at this point in the history
RELEASE 2.8.0
  • Loading branch information
SimonRubenDrauz authored Feb 7, 2022
2 parents 052b07c + 5f2dd4e commit ebc9aa1
Show file tree
Hide file tree
Showing 301 changed files with 44,444 additions and 23,787 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
tutorials/* linguist-vendored
*.rst text eol=lf
*.rst text=auto eol=lf
16 changes: 8 additions & 8 deletions .github/workflows/github_test_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
paths-ignore:
- 'CHANGELOG.rst'
pull_request:
branches: [ master, develop ]
branches: '*'
paths-ignore:
- 'CHANGELOG.rst'

Expand All @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9']
python-version: ['3.7', '3.8', '3.9']

steps:
- uses: actions/checkout@v2
Expand All @@ -33,13 +33,13 @@ jobs:
python -m pip install --upgrade pip
python -m pip install pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .
pip install matplotlib python-igraph
pip install ortools
pip install .["all"]
if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi
if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi
if ${{ matrix.python-version != '3.7' }}; then python -m pip install numba; fi
if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi
if ${{ matrix.python-version == '3.9' }}; then python -m pip install lightsim2grid; fi
- name: Install Julia
if: ${{ matrix.python-version == '3.6' }}
if: ${{ matrix.python-version == '3.7' }}
run: |
./.install_julia.sh 1.5
pip install julia
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9']
python-version: ['3.7', '3.8', '3.9']

steps:
- uses: actions/checkout@v2
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,7 @@ pandapower/test/timeseries/run_timeseries_output/*
pandapower/timeseries/logs/*
*/data/*
/.vscode/

pandapower/test/opf/buffer_file.json

pandapower/test/buffer_file.json
4 changes: 2 additions & 2 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 2

python:
version: 3.5
version: 3.8
install:
- method: pip
path: .
extra_requirements:
- docs
- docs
68 changes: 34 additions & 34 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics
and Energy System Technology (IEE), Kassel. All rights reserved.

Lead Developers:
- Leon Thurner
- Alexander Scheidler

Main Contributers:
- Julian Dollichon
- Florian Schäfer
- Friederike Meier
- Jan-Hendrik Menke
- Steffen Meinecke
- Roman Bolgaryn
- Jakov Krstulović Opara
- Winfried Lorenzen

Further Contributions by:
- Tobias Deß
- Bastian Junker
- Jannis Kupka
- Lothar Löwer
- Jan Ulffers
- Nils Bornhorst
- Jonathan Schütt
- Elisabeth Drayer
- Daniel Lohmeier
- Massimo di Pierro
- Shankho Ghosh
- Alexander Prostejovsky

Coordination:
- Martin Braun
- Johann-Christian Töbermann
Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics
and Energy System Technology (IEE), Kassel. All rights reserved.
Lead Developers:
- Leon Thurner
- Alexander Scheidler
Main Contributers:
- Julian Dollichon
- Florian Schäfer
- Friederike Meier
- Jan-Hendrik Menke
- Steffen Meinecke
- Roman Bolgaryn
- Jakov Krstulović Opara
- Winfried Lorenzen
Further Contributions by:
- Tobias Deß
- Bastian Junker
- Jannis Kupka
- Lothar Löwer
- Jan Ulffers
- Nils Bornhorst
- Jonathan Schütt
- Elisabeth Drayer
- Daniel Lohmeier
- Massimo di Pierro
- Shankho Ghosh
- Alexander Prostejovsky
Coordination:
- Martin Braun
- Johann-Christian Töbermann
- Stefan Gehler
37 changes: 37 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
Change Log

[2.8.0]- 2022-02-06
----------------------
- [ADDED] toolbox functions false_elm_links() and false_elm_links_loop()
- [FIXED] poly_cost and pwl_cost consideration in merge_nets()
- [ADDED] "results" initialization for runopp()
- [CHANGED] toolbox function nets_equal()
- [ADDED] toolbox function merge_same_bus_generation_plants()
- [ADDED] new object table "characteristic", new class "Characteristic" and "SplineCharacteristic" that are callable and return a value based on input according to a specified curve
- [FIXED] toolbox replace_ward_by_internal_elements() index usage
- [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic
- [ADDED] tap dependent impedance internally in build_branch: transformer (2W, 3W) parameters (e.g. vk_percent, vkr_percent) are adjusted according to the tap position based on a specified characteristic in the optional columns
- [ADDED] multiple costs check in create functions and runopp
- [ADDED] correct_dtypes() function for fileIO convert
- [FIXED] revise to_ppc() and to_mpc() init behaviour
- [CHANGED] import requirements / dependencies
- [ADDED] with the option "distributed_slack" for pp.runpp: distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally
- [CHANGED] improved the integration with the package lightim2grid (fast power flow backend written in C++), add the test coverage for using lightsim2grid (for both versions, single slack and distributed slack, see https://lightsim2grid.readthedocs.io/en/latest/ on how to install and use lightsim2grid) #1455
- [FIXED] checks for when to activate and deactivate lightsim2grid in pp.runpp, added tests
- [ADDED] from_mpc: import additional variables from MATPOWER file as keys in net._options
- [FIXED] output_writer: bugfix for "res_{element}_3ph" to also run timeseries with runpp_3ph
- [FIXED] DeprecationWarning in pandas: use pandas.Index instead of pandas.Int64Index
- [FIXED] scipy version requirement: cancel the version limit
- [CHANGED] drop support for Python 3.6
- [FIXED] bugfix in timeseries calculations with recycle=True #1433
- [CHANGED] run tests in GuitHub Actions for pull requests to all branches
- [FIXED] net.unser_pf_options: bugfix for overruling the parameters that are in user_pf_options
- [ADDED] add_zero_impedance_parameters(): convenience function to add all required zero-sequence data for runpp_3ph from std_types and apply realistic assumptions
- [CHANGED] adjusted create.py functions to also include zero-sequence parameters
- [CHANGED] new tutorials for the voltage deviation model and the power flow calculation with PowerModels.jl
- [CHANGED] create_lines: enable batch creating of multiple lines now with multiole std_type entries instead of using the same std_type
- [CHANGED] OPF parameter "OPF_FLOW_LIM" now accessible through kwargs
- [CHANGED] Included DC line elements and results in to_html
- [FIXED] bugfix for currents of transformers in 3ph power flow #1343
- [CHANGED] check the dtype of the tap_pos column in the control_step of the transformer controller #1335
- [FIXED] net.sn_mva corrected for power_system_test_cases #1317
- [FIXED] fixed bugs in automatically identifying power station units (short-circuit calculation enhancements are still in progress)

[2.7.0]- 2021-07-15
----------------------
- [ADDED] Optimized the calculation of single/selected buses in 1ph/2ph/3ph short-circuit calculation
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for for Energy Economics
Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics
and Energy System Technology (IEE) Kassel and individual contributors (see AUTHORS file for details).
All rights reserved.

Expand All @@ -22,4 +22,4 @@ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7 changes: 6 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@



pandapower is an easy to use network calculation program aimed to automate the analysis and optimization of power systems. It uses the data analysis library `pandas <http://pandas.pydata.org>`_ and is compatible with the commonly used MATPOWER / PYPOWER case format. pandapower allows using different solvers including an improved Newton-Raphson power flow implementation, all `PYPOWER <https://pypi.python.org/pypi/PYPOWER>`_ solvers, and the `PowerModels.jl <https://github.com/lanl-ansi/PowerModels.jl/>`_ library.
pandapower is an easy to use network calculation program aimed to automate the analysis and optimization of power
systems. It uses the data analysis library `pandas <http://pandas.pydata.org>`_ and is compatible with the commonly
used MATPOWER / PYPOWER case format. pandapower allows using different solvers including an improved Newton-Raphson
power flow implementation, all `PYPOWER <https://pypi.python.org/pypi/PYPOWER>`_ solvers, the Newton-Raphson power
flow solvers in the C++ library `lightsim2grid <https://github.com/BDonnot/lightsim2grid/>`_, and the
`PowerModels.jl <https://github.com/lanl-ansi/PowerModels.jl/>`_ library.

More information about pandapower can be found on `www.pandapower.org <https://www.pandapower.org/>`_:

Expand Down
2 changes: 1 addition & 1 deletion doc/about/units.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ The power equation in the balanced three phase system is therefore given as :mat
**Three Phase System (Unbalanced Load Flow)**

For unbalanced three phase systems, the following conventions apply:
- voltage values are entered as phase-to-phase voltages
- voltage values are entered as phase-to-phase voltages
- current values are entered as phase currents
- But, Phase power values can be entered seperately in the new element **asymmetric_load**

Expand Down
8 changes: 4 additions & 4 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@

# General information about the project.
project = u'pandapower'
copyright = u'2016-2021 by Fraunhofer IEE and University of Kassel'
copyright = u'2016-2022 by Fraunhofer IEE and University of Kassel'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = "2.7"
version = "2.8"
# The full version, including alpha/beta/rc tags.
release = "2.7.0"
release = "2.8.0"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -127,7 +127,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ['']

# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
Expand Down
34 changes: 33 additions & 1 deletion doc/control/controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ The basic controller is the base controller class that should be subclassed when
ConstControl
==============
.. _ConstControl:

This controller is made for the use with the time series module to read data from a DataSource and write it to the net.
The controller can write the values either to a column of an element table (e.g. net.load.p_mw) or an attribute of another object that is
stored in an element table (e.g. another controller, net.controller.object). To change a controller attribute, the variable must be defined
Expand Down Expand Up @@ -49,7 +50,7 @@ Discrete Tap Control
:members:

CharacteristicControl
===============
=====================

The following controllers that use characteristics are predefined within the pandapower control module.

Expand All @@ -66,4 +67,35 @@ USetTapControl
**********************

.. autoclass:: pandapower.control.controller.trafo.USetTapControl.USetTapControl
:members:

-------------

**********************
TapDependentImpedance
**********************

.. autoclass:: pandapower.control.controller.trafo.TapDependentImpedance.TapDependentImpedance
:members:


Characteristic
==============

The following classes enable the definition of characteristics for the controllers.

***************
Characteristic
***************

.. autoclass:: pandapower.control.util.characteristic.Characteristic
:members:

-------------

********************
SplineCharacteristic
********************

.. autoclass:: pandapower.control.util.characteristic.SplineCharacteristic
:members:
1 change: 1 addition & 0 deletions doc/elements/asymmetric_load.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ Loads are modelled as PQ-buses in the power flow calculation.
:width: 40em
:alt: alternate Text
:align: center

*Delta Load*

.. image:: asym_del_load.png
Expand Down
2 changes: 1 addition & 1 deletion doc/elements/line_par.csv
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ to_bus*;integer;;Index of bus where the line ends
length_km*;float;:math:`>` 0;length of the line [km]
r_ohm_per_km*;float;:math:`\geq` 0 ;resistance of the line [Ohm per km]
x_ohm_per_km*;float;:math:`\geq` 0 ;inductance of the line [Ohm per km]
c_nf_per_km*;float;:math:`\geq` 0 ;capacitance of the line [nano Farad per km]
c_nf_per_km*;float;:math:`\geq` 0 ;capacitance of the line (line-to-earth) [nano Farad per km]
r0_ohm_per_km****;float;:math:`\geq` 0 ;zero sequence resistance of the line [Ohm per km]
x0_ohm_per_km****;float;:math:`\geq` 0 ;zero sequence inductance of the line [Ohm per km]
c0_nf_per_km****;float;:math:`\geq` 0 ;zero sequence capacitance of the line [nano Farad per km]
Expand Down
5 changes: 2 additions & 3 deletions doc/networks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Besides creating your own grids using pandapower functions, pandapower provides
benchmark grids through the networks module.

The pandapower networks module contains example grids, simple test grids, randomly generated
grids, CIGRE test grids, IEEE case files and synthetic low voltage grids from Georg Kerber, Lindner et. al. and Dickert et. al.
grids, CIGRE test grids, IEEE case files (including 3-phase grids) and synthetic low voltage grids from Georg Kerber, Lindner et. al. and Dickert et. al.
If you want to evaluate your algotihms on benchmark grids with corresponding full-year load, generation, and storage profiles
or want to publish your results in a reproducible manner, we recommend the SimBench repository
(`Homepage <https://simbench.de/en/>`_, `GitHub Repository to use SimBench with pandapower <https://github.com/e2nIEE/simbench>`_).
Expand All @@ -18,7 +18,6 @@ You can find documentation for the individual network modules of pandapower here
.. toctree::
:maxdepth: 2

networks/simbench
networks/example
networks/test
networks/cigre
Expand All @@ -27,4 +26,4 @@ You can find documentation for the individual network modules of pandapower here
networks/kerber
networks/synthetic_voltage_control_lv_networks
networks/dickert_lv_networks

networks/3phase_grids
5 changes: 5 additions & 0 deletions doc/networks/3phase_grids.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
=============================================
3-Phase Grid Data
=============================================

.. autofunction:: pandapower.networks.ieee_european_lv_asymmetric
Loading

0 comments on commit ebc9aa1

Please sign in to comment.