QDaCC
Quantum Dot and Cavity Simulation
Install / Use
/learn @davidbauch/QDaCCREADME
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.
Published Work using QDaCC:
"Time-bin entanglement in the deterministic generation of linear photonic cluster states"
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 isHzeV- Electron VoltmeV- Milli Electron Volt $= 1e^{-3}$ eVmueV- Micro Electron Volt $= 1e^{-6}$ eV
Units of Time:
s- Seconds, may be omitted, meaning the default value for time issns- Nanoseconds $= 1e^{-9}$ sps- Picoseconds $= 1e^{-12}$ sfs- 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 stateDephasingScaling: Scaling factor (float) for the dephasing rate for this statePhononCoupling: 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 = GwithEnergy = 0. The groundstate cannot decay radiatively, such thatDecayScaling = 0. Because the phase relation of this and other states can decay,DephasingScaling = 1. This state should not be influenced by phonons withPhononCoupling = 0. - Excited State
Name = XwithEnergy = 1.5eV. The excited state can decay radiatively, withDecayScaling = 1. Because the phase relation of this and other states can decay,DephasingScaling = 1. This state is affected by electron-phonon coupling, hencePhononCoupling = 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 = cwithEnergy = 1.5eV. The maximum number of photons allowed isMaxPhotons = 2. The resonator is coupled to the electronic transitionCoupledToTransition = G=Xwith a coupling scaling ofCouplingScaling = 1. The photons inside the resonator decay with a scaled rate ofDecayScaling = 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
100mueVand the biexciton is reduced by a binding energy of20meV. The resonators lie at the two-photon resona
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
