Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new python interface and convert python examples #22

Merged
merged 87 commits into from
Aug 10, 2021

Conversation

JTS22
Copy link
Contributor

@JTS22 JTS22 commented Jul 29, 2021

This PR greatly expands on the pybind11-interface for DPsim, exposing most of the classes and methods required for setting up, running and interacting with simulations in python, including

  • SP, DP and EMT single and three phase component classes
  • Functions to print out attribute information for component objects
  • Simulation, RealTimeSimulation and SystemTopology classes
  • DecouplingLine classes
  • Event classes
  • Bindings between STL- and Eigen-Containers and their python / numpy equivalents

Additionally, most of the Jupyter notebooks which previously just ran simulations by calling the compiled C++-examples or by using the old python interface got converted to use the new interface.

This PR also sets the C++-version for compilation to C++17. For the python interface to compile correctly, a minimum version of C++14 is required. For compilation to work with C++11, further changes to the binding code would be required, a description of which can be found in the top-level CMakeLists.txt

JTS22 added 30 commits July 29, 2021 14:00
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
…se dpsimpy

Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
…impy

Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
JTS22 added 21 commits July 29, 2021 14:00
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
@JTS22 JTS22 marked this pull request as ready for review July 29, 2021 16:00
This was referenced Aug 2, 2021
CMakeLists.txt Outdated Show resolved Hide resolved
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
Signed-off-by: Jonas Schroeder <jonas.schroeder1@rwth-aachen.de>
@m-mirz m-mirz merged commit ff03500 into sogno-platform:master Aug 10, 2021
@JTS22 JTS22 deleted the dpsimpy-examples branch August 11, 2021 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants