This repository is an archive for the code used in:
Simulating quantum repeater strategies for multiple satellites
J. Wallnöfer, F. Hahn, M. Gündoğan, J. S. Sidhu, F. Wiesner, N. Walk, J. Eisert, J. Wolters
Commun Phys 5, 169 (2022); DOI: 10.1038/s42005-022-00945-9
Preprint: arXiv:2110.15806 [quant-ph]
This repository contains two main parts (that are however not completely separated yet in this version of the simulation code):
- The core of the simulation consisting of the .py files in the repository root and the
libs
directory. - Multiple simulation setups with files that set up, run and evaluate the scenarios in the
scenarios
directory
If you wish to run the scenarios yourself, we recommend recreating the same virtual environment we used to develop the code via pipenv. This assumes a version of Python 3.8 is available on your system.
pip install pipenv
pipenv sync
The scenario files are expected to be called from the main directory, e.g. to run an example configuration that outputs runtime and event stats use the following in the main directory:
pipenv run python scenarios/three_satellites/twolink_downlink.py
The scenario files that begin with run_
are meant to be run on a cluster computer with multiple processors. If that is not your usecase please adjust them accordingly.
If you want to use the plot files use pipenv sync --dev
instead (separate because some graphic libraries may not be available on HPC systems).
An updated version of the core part of the simulation code has since been released separately and is available as a Python package: https://github.com/jwallnoefer/requsim