Simulation software to model the evolution & electromagnetic interactions of two-level quantum dots. Designed and built at Michigan State University.
- C++14-compatible compiler (tested with GCC and Clang)
- Eigen3 (at least v3.2.2)
- Boost (at least v.1.55.0):
- SILO (optional)
QuEST relies on CMake to generate appropriate compile scripts. To build the executable, first run
mkdir build
cd build
followed by
cmake $PATH_TO_QUEST && make
This will attempt to build
quest(simulation executable)qtest(unit test executable)point_gen(utility to quickly generate distributions of points)siloify(utility to convertquestoutput to the SILO file format for use in e.g. VisIt)
QuEST requires three files to specify the parameters of a simulation:
input.cfg, dots.cfg, and pulse.cfg. Of these, input.cfg has the most
flexibility; you can specify alternate paths to the other configuration files
as well as modify the simulation parameters (speed of light, number of
particles, timestep, etc.). Run ./quest --help for details of the possible
parameter options.
dots.cfg contains a list of quantum dots, one-per-line, each with the
following format:
x y z omega_0 T1 T2 dx dy dz
──┬── ───┬─── ──┬── ───┬────
│ │ │ └──── transition dipole moment
│ │ └─────────── decay time constants
│ └────────────────── transition frequency
└───────────────────────── spatial coordinates
pulse.cfg specifies the incident Gaussian pulse(s) with the following format:
E_0 delay sigma omega_L kx ky kz px py pz
─┬─ ──┬── ──┬── ───┬─── ───┬──── ───┬────
│ │ │ │ │ └──── polarization vector (normalized)
│ │ │ │ └───────────── wavevector
│ │ │ └───────────────────── laser frequency
│ │ └──────────────────────────── pulse width (dimensionless)
│ └────────────────────────────────── peak shift
└─────────────────────────────────────── amplitude
With all three input files in place, simply run the simulation with ./quest.
The executable will read everything in, perform the calculation with a
percentage complete indicator, and then produce output.dat which contains the
trajectory of the matrix elements for every particle in the system.
Please see CONTRIBUTING.md for details on submitting changes.
