SkillAgentSearch skills...

QDaCC

Quantum Dot and Cavity Simulation

Install / Use

/learn @davidbauch/QDaCC
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

QDaCC - Quantum Dot and Cavity Computing

I created this program throughout my Bachelor's, Master's and my time as an ongoing PHD Student at the University of Paderborn.

DOI Maintenance

Published Work using QDaCC:

"Ultrafast electric control of cavity mediated single-photon and photon-pair generation with semiconductor quantum dots"

PRB arXiv DOI Citation Badge

"On-demand indistinguishable and entangled photons at telecom frequencies using tailored cavity designs"

AQT arXiv DOI Citation Badge

"Time-bin entanglement in the deterministic generation of linear photonic cluster states"

APL Quantum arXiv DOI Citation Badge

There is a GUI available at gitub/QDaCC-GUI

Building QDaCC

QDaCC is build using a simple makefile.

Build using Dense matrices

make clean
make -j10 UFLAG="-DLOG_DISABLE_L3 VERSION=dense"

Build using Sparse matrices

make clean
make -j10 UFLAG="-DLOG_DISABLE_L3 VERSION=sparse -DUSE_SPARSE_MATRIX"

Note: The LOG_DISABLE_L3 flag is subject to change and will most likely be the default value in the code. L3 log will then require to be enabled instead of disabled.

What does it do?

This program solves the von-Neumann Equation

$$ \begin{align} \frac{d}{dt}\rho(t) = -\frac{i}{\hbar}[\mathcal{H}(t),\rho(t)] \end{align} $$

for a given fermionic (electronic) system coupled to a (or multiple) bosonic optical resonator including multiple sources of Loss and Electron-Phonon coupling.

The Hamilton Operator for the electronic and optical states reads

$$ \begin{align} H_0 = \sum_{i\in\text{States}}E_i|i\rangle\langle i| + \sum_{c\in\text{Cavities}}E_c\hat{b}^\dagger\hat{b} \end{align} $$

and is treated by an Interaction picture Transformation. The Interaction Hamilton is given by

$$ \begin{align} H_1 = \sum_{i\neq j, c} |i\rangle\langle j| \left[g_{ij,c}(\hat{b}^\dagger + \hat{b}) + \Omega_{ij}(t) \right] + \text{H.c.} \end{align} $$

where the transitions $|i\rangle\langle j|$ are either coupled to the optical resonator $c$ with rate $g_{ij,c}$ and/or to an external driving field $\Omega_{ij}$.

Features

The general features of this program include:

  • Time integration using either the Runge-Kutta method of order 4 or 5, or an adaptive stepsize Runge-Kutta Dormand–Prince method
  • Electron-Phonon coupling using the Polaron Frame approximation
    • Double Markov for lower numerical effort
    • Single Markov for greater numerical completness
    • Numerically exact calculating of the Polaron Transformation using a Time-Retarded Integral
  • Electron-Phonon coupling using the Path Integral approach
    • Numerically exact
  • Correlation functions G1 and G2, Single and Double time integrated
  • Emission Spectra of any electronic or optical transition (mutliple transitions with "+")
  • Indistinguishability of any electronic or optical transition
  • Concurrence of any two electronic or optical transitions
  • Wigner function of any single electronic or optical transition
  • Detector Temporal and Spectral envelopes

Usage

All numerical parameters support the following units: Units of Energy:

  • Hz - Hertz, may be omitted, meaning the default unit for energy is Hz
  • eV - Electron Volt
  • meV - Milli Electron Volt $= 1e^{-3}$ eV
  • mueV - Micro Electron Volt $= 1e^{-6}$ eV

Units of Time:

  • s - Seconds, may be omitted, meaning the default value for time is s
  • ns - Nanoseconds $= 1e^{-9}$ s
  • ps - Picoseconds $= 1e^{-12}$ s
  • fs - Femtoseconds $= 1e^{-15}$ s

Misc Units:

  • pi - Used to calculate the area of pulses.

Inputting Parameters

--file [FILEPATH]

The program can read multiple parameter subsets from a given file. The first line of this file should start with a #, followed by the name of the project, which is also the subfolder that will be created for the project. Every other # indicates a comment, which can start at any point of the line.

Example:

# NameOfTheProject
[Parameterset2] # Comment
# Random Comment
[Parameterset2] # Comment

System Parameters

The program accepts two types of systems which will be transformed into a total system by using the tensor product of the single bases. A single electronic system can be tensored with multiple optical systems, where every electronic transition can be coupled to any optical system.

Electronic Sytem - Fermionic States

The general syntax for a system with a single electronic state reads:

--SE [...;Name:Energy:CoupledTo:DecayScaling:DephasingScaling:PhononCoupling;...]

Multiple electronic states can be chained by using the chain operator ;. The parameters for a state read as follows:

  • Name : Single Uppercase Character Identifier. Must be unique amoung all electronic states.
  • Energy : Energy of the state. Supports the Units of Energy.
  • CoupledTo : Comma seperated Single Character Indentifier of any other state that this state is coupled to. Using - indicates the state is not coupled to anything.
  • DecayScaling : Scaling factor (float) for the radiative decay rate for this state
  • DephasingScaling : Scaling factor (float) for the dephasing rate for this state
  • PhononCoupling : Scaling factor (float) for the electron-phonon coupling

Example:

--SE 'G:0:X:0:1:0;X:1.5eV:-:1:1:1'
  • Ground State Name = G with Energy = 0. The groundstate cannot decay radiatively, such that DecayScaling = 0. Because the phase relation of this and other states can decay, DephasingScaling = 1. This state should not be influenced by phonons with PhononCoupling = 0.
  • Excited State Name = X with Energy = 1.5eV. The excited state can decay radiatively, with DecayScaling = 1. Because the phase relation of this and other states can decay, DephasingScaling = 1. This state is affected by electron-phonon coupling, hence PhononCoupling = 1.

Photonic System - Bosonic Cavity Resonator

The general syntax for a system with a single optical resonator reads:

--SO [...;Name:Energy:MaxPhotons:CoupledToTransition:CouplingScaling:DecayScaling;...]

Multiple photonic states can be chained by using the chain operator ;. The parameters for a state read as follows:

  • Name : Single Lowercase Character Identifier. Must be unique amoung all resonators.
  • Energy : Energy of the resonator. Supports the Units of Energy.
  • MaxPhotons : Maximum Photon Number for this resonator.
  • CoupledToTransition : Comma seperated Electronic Transitions this resonator is coupled to. Uses the upwards transition of two states. The transition has to exist in the electronic system.
  • CouplingScaling : Scaling factor (float) for the transitions. When multiple transitions are provided, an qual number of scaling factors, seperated by commas, have to be defined.
  • DecayScaling : Scaling factor (float) for the decay rate of photon population inside the resonator.

Example:

--SE 'c:1.5eV:2:G=X:1:1'
  • Cavity with Name = c with Energy = 1.5eV. The maximum number of photons allowed is MaxPhotons = 2. The resonator is coupled to the electronic transition CoupledToTransition = G=X with a coupling scaling of CouplingScaling = 1. The photons inside the resonator decay with a scaled rate of DecayScaling = 1.

Further Examples

  • Single Exciton with no Cavity. Hilbert Space Dimensions: 2 by 2. --SE 'G:0:X:0:1:0;X:1.5eV:-:1:1:1'
  • Single Exciton coupled to a single mode Resonator with a maximum of two photons. Hilbert Space Dimensions: 6 by 6 --SE 'G:0:X:0:1:0;X:1.5eV:-:1:1:1' --SO 'c:1.5eV:2:G=X:1:1'
  • Three Level System with cavity at two-photon resonance. No direct Ground-to-HiG=Hest State transition is allowed in this system. Phonons scaled doubled for the upper state. Hilbert Space Dimensions: 9 by 9. --SE 'G:0:L:0:1:0;L:1.5eV:U:1:1:1;U:2.8eV:-:1:1:2' --SO 'c:1.6eV:2:GL,LU:1,1:1'
  • Polarized Biexciton with polarization dependent cavity modes. The excitons are seperated by a large finestructuresplitting energy of 100mueV and the biexciton is reduced by a binding energy of 20meV. The resonators lie at the two-photon resona

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated5mo ago
Forks0

Languages

C++

Security Score

82/100

Audited on Oct 15, 2025

No findings