Skip to main content

QDsim is an user-friendly tool that quickly simulates charge stability diagrams for large quantum dot devices (even 100+ dots).

Project description

QDsim

QDsim stands for Quantum Dots simulator. It efficiently and quickly simulates charge stability diagrams for large quantum dot devices (even 100+ dots). It was developed to make the simulation process as quick and as user-friendly as possible. It is based on the constant interaction model, therefore it does not account for the quantum mechanical effects of the dots, but its simplicity allows for quick and efficient creation of datasets.

Description

The package is composed of two main classes: QDDevice and QDSimulator. The QDDevice class is used to create a quantum dot device, which can be either a pre-defined device or a custom device. The QDSimulator class is used to set up the simulation environment and run the simulation.

The package is designed to be user-friendly and efficient, allowing for the simulation of charge stability diagrams for large quantum dot devices (even 100+ dots) in a matter of minutes.

In order to simulate the charge stability diagram of an (arbitrary) quantum dot device, just do the following:

  1. Take advantage of a pre-defined device or create your own custom device via a QDDevice object;
  2. Set up the simulation environment (e.g. sensor locations, gates to be scanned, voltage ranges, etc.) via a QDSimulator object and run the simulation;
  3. Save the data (and/or plots) and enjoy!

A practical example is shown below in the Usage section.

All the features available are described in the tutorial folder, in which you can find 4 different Jupyter notebooks, each with a step-by-step guide on how to use the package. Each notebooks focuses on a different aspect of the package, from the creation of a custom device to the simulation of a charge stability diagram, with all its possible options and features. We suggest to read them in order, as they are designed to be read sequentially, from the first to the last. They were designed to reduce redundancy of information and to provide a clear and concise guide on how to fully take advantage of the package.

Installation

This package was developed on Python 3.9.18, and the requirements are tested for this version. It is recommended to use this version to avoid compatibility issues.

The package can be installed via pip by executing:

pip install qdsim

For the installation in development/editable mode, use the option -e.

In order to use the package, it is required to manually install either the MOSEK solver (licensed, free for academics) or the SCIP solver (open source).

Usage

Here is a quick example of how to use this project. Look at the tutorial folder for more examples and a step-by-step guide on how to use the package.

from qdsim import QDDevice, QDSimulator

# Step 1: Create a quantum dot device
# use a pre-defined double dot device
qddevice = QDDevice() # Create a QDDevice object
qddevice.one_dimensional_dots_array(n_dots=2) # Create a 1D array of 2 quantum dots

# Step 2: Set up the simulator
qdsimulator = QDSimulator('Electrons')
# set the sensor location from which the charge stability diagram is measured
qdsimulator.set_sensor_locations([[2, 1]])
# Simulate the charge stability diagram
qdsimulator.simulate_charge_stability_diagram(
    qd_device=qddevice, v_range_x=[-5, 20], solver='MOSEK',
    v_range_y=[-5, 20], n_points_per_axis=60,
    scanning_gate_indexes=[0, 1])

# Step 3: Plot the charge stability diagram
qdsimulator.plot_charge_stability_diagrams()

Contributing

We welcome contributors and collaborators. The person wanting to contribute can start by opening an issue and they will hear from us.

Authors and acknowledgment

Here is a list of authors who have contributed to this project:

We also want to thank Francesco Borsoi, Brennan Undseth, and Menno Veldhorst for their fruitful discussions and suggestions.

License

This work is licensed under a MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qdsim-1.0.1.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

QDsim-1.0.1-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file qdsim-1.0.1.tar.gz.

File metadata

  • Download URL: qdsim-1.0.1.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for qdsim-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f4ace67bc2562b83bef620e5916cfb06728a0298819299c30b802bfc6625481f
MD5 43180c839d5ee67265eeb9cbbbb7332d
BLAKE2b-256 86dc4fda1dbfcf36bcd6e9fbbc0339bd53801ee40c955173751979d9b394c96f

See more details on using hashes here.

File details

Details for the file QDsim-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: QDsim-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for QDsim-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f86d5fe6f3ba2a757fee6b931f4ecc34ab51ac7a6f1d8ddf57572aaaa20bceb3
MD5 b86c1543fe1f6e72dfb3ed4ebb381606
BLAKE2b-256 5e43a27e902fd58913cae93b8b599b4b621b7916da11a0ada7d08bd5e5ba1460

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page