Commit 84b0b808 authored by Markus Mirz's avatar Markus Mirz
Browse files

Merge branch 'simplify-docker' into 'master'

Simplify docker

See merge request acs/public/simulation/dpsim!82
parents 43efe2be 139c87b4
Installation
============
DPsim is a Python module / C++ library for complex power system
simulation. As a Python module, the easiest way to get to know DPsim is
via `Jupyter Notebooks <https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/>`__.
Docker
------
First, you need to install `Docker <https://docs.docker.com/install/>`_.
1. First, you need to install `Docker <https://docs.docker.com/install/>`_.
Then, pull the latest DPsim image
2. To start a Jupyter session, run a DPsim Docker container
.. code-block:: bash
::
docker pull rwthacs/dpsim
$ docker run -p 8888:8888 rwthacs/dpsim
and follow the `instructions <https://cloud.docker.com/u/rwthacs/repository/docker/rwthacs/dpsim>`_ on Docker Hub to run the container.
And access the session by opening the following link: http://localhost:8888/lab/tree/Index.ipynb?token=3adaa57df44cea75e60c0169e1b2a98ae8f7de130481b5bc
Python
------
......
%% Cell type:markdown id: tags:
<img src="Figures/dpsim.png" width="120" align="right" style="margin: 15px">
# DPsim
DPsim is a real-time capable power system simulator that operates in the dynamic phasor (DP) and EMT domain. This solver primarily targets co-simulation and large-scale scenarios since dynamic phasor variables do not require sampling rates as high as EMT simulations. Due to the frequency shift introduced by the DP approach, the sampling rate and rate of data exchange between simulators can be reduced. Thus, it is also possible to simulate high frequencies introduced by power electronics with lower sampling rates than in EMT simulations.
DPsim supports the CIM format as native input for the description of electrical network topologies, component parameters and load flow data, which is used for initialization. For this purpose, CIM++ is integrated in DPsim. Users interact with the simulation kernel via Python bindings, which can be used to script the execution, schedule events, change parameters and retrieve results. Supported by the availability of existing Python frameworks like Numpy, Pandas and Matplotlib, Python scripts have been proven as an easy and flexible way to codify the complete workflow of a simulation from modelling to analysis and plotting, for example in Jupyter notebooks.
The DPsim simulation kernel is implemented in C++ and uses the Eigen linear algebra library. By using a system programming language like C++ and a highly optimized math library, optimal performance and real-time execution can be guaranteed.
The integration into the [VILLASframework](http://fein-aachen.org/projects/villas-framework/) allows DPsim to be used in large-scale co-simulations.
## Examples
Welcome to the examples collection of DPsim. These examples are a good way to start using DPsim.
They cover DPsim's feature from [simple circuits](./Notebooks/Circuits/CS_R2CL.ipynb) and to more complex benchmarks models like the [IEEE/WSCC 9-bus system](./Notebooks/Grids/WSCC_9-bus_dyn_switch_python.ipynb).
A good place to start is the [Quickstart Guide](./Notebooks/Quickstart%20Guide.ipynb).
## [Quickstart Guide](./Notebooks/Quickstart%20Guide.ipynb)
## Project Website
On our [project website](https://fein-aachen.org/projects/dpsim) you find links to the source code, published papers, licensing information and more.
## Documentation
- [User Documentation](https://dpsim.fein-aachen.org/doc/development/sphinx/)
- [Developer Documentation](https://dpsim.fein-aachen.org/doc/development/doxygen/)
## Downloads
- [Source Code](https://git.rwth-aachen.de/acs/public/simulation/dpsim)
- [Docker Image](https://cloud.docker.com/u/rwthacs/repository/docker/rwthacs/dpsim)
For further question please consider joining our Slack channel: [FEIN e.V. Slack](https://join.slack.com/t/feinev/shared_invite/enQtNTE1NjY5MTg5NTY4LWM4MWI5ZTVkNDgzZTgyNmY5NWY2N2M3MjdjYzQxY2E0MmRlNjBkYTc3ODNlMDliY2M5YzllNjE4YTY3ODBjM2M).
## Publications
DPsim is presented and/or used by the following publications:
- M. Mirz, S. Vogel, G. Reinke, A. Monti, "[DPsim—A dynamic phasor real-time simulator for power systems](https://www.sciencedirect.com/science/article/pii/S2352711018302760)," _SoftwareX_, Volume 10, July–December 2019, 100253.
- M. Mirz, A. Estebsari, F. Arrigo, E. Bompard and A. Monti, "[Dynamic phasors to enable distributed real-time simulation](http://ieeexplore.ieee.org/document/8004805/)," _2017 6th International Conference on Clean Electrical Power (ICCEP)_, Santa Margherita Ligure, 2017, pp. 139-144.
- M. Mirz, A. Monti, A. Estebsari, F. Arrigo, E. Bompard, "[Functionality of the releases of the real time solver V1](http://re-serve.eu/files/reserve/Content/Deliverables/D4.2.pdf)," _RESERVE Library_, 2017.
- M. Mirz, S. Vogel, A. Monti, "[First Interconnection test of the nodes in pan-European simulation platform](http://re-serve.eu/files/reserve/Content/Deliverables/D4.4.pdf)," _RESERVE Library_, 2017.
- S. Vogel, M. Mirz, L. Razik, A. Monti, "[An Open Solution for Next-generation Real-time Power System Simulation](https://ieeexplore.ieee.org/document/8245739)," _1st IEEE Conference on Energy Internet and Energy System Integration (IEEE-EI^2)_, Beijing, 2017.
## Copyright
2017-2019, Institute for Automation of Complex Power Systems, EONERC
## Licensing
<img alt="GPLv3 logo" src="{{ "/img/logos/gplv3.png" | relative_url }}" width="120" align="right">
__DPsim__ is released as open source software under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).
Other licensing options available upon request.
Please contact [Prof. Antonello Monti](mailto:amonti@eonerc.rwth-aachen.de) for further details.
## Contact
[![EONERC ACS Logo](Figures/eonerc.png)](http://www.acs.eonerc.rwth-aachen.de)
- Markus Mirz (<mmirz@eonerc.rwth-aachen.de>)
- Jan Dinkelbach (<jdinkelbach@eonerc.rwth-aachen.de>)
[Institute for Automation of Complex Power Systems (ACS)](http://www.acs.eonerc.rwth-aachen.de)
[EON Energy Research Center (EONERC)](http://www.eonerc.rwth-aachen.de)
[RWTH University Aachen, Germany](http://www.rwth-aachen.de)
%% Cell type:code id: tags:
``` python
```
......@@ -35,4 +35,14 @@ RUN dnf -y install /tmp/*.rpm
ADD requirements.txt .
RUN pip3 install -r requirements.txt
CMD python3
RUN mkdir dpsim
COPY --from=builder /dpsim/Examples /dpsim/
RUN find /dpsim \
-name conftest.py -o \
-name "*.yml" -o \
-name CMakeLists.txt \
-exec rm {} \;
WORKDIR /dpsim
EXPOSE 8888
CMD [ "jupyter", "lab", "--ip=0.0.0.0", "--allow-root", "--no-browser", "--LabApp.token=3adaa57df44cea75e60c0169e1b2a98ae8f7de130481b5bc" ]
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment