Skip to content

garrettj403/QMix

Repository files navigation

QMix

Quantum Mixing software

PyPI version ci flake8 License: GPL v3

QMix is used to simulate the quasiparticle tunneling currents in Superconductor/Insulator/Superconductor (SIS) junctions. In radio astronomy, these junctions are used for heterodyne mixing at millimeter and submillimeter wavelengths. QMix can be used to simulate the behavior of SIS mixers, optimize their performance and analyze experimental data.

In order to calculate the quasiparticle tunneling currents, QMix uses multi-tone spectral domain analysis (see references). Among other applications, this makes QMix ideal for simulating power saturation, higher-order harmonics, sub-harmonic pumping, harmonic mixing and frequency multiplication.

Website: https://garrettj403.github.io/QMix/

Getting Started

The easiest way to install QMix is using pip:

# for latest release (from PyPI)
python -m pip install QMix

# for latest commit (from GitHub)
python -m pip install git+https://github.com/garrettj403/QMix.git

Take a look at the QMix website for more information on how to use the QMix package and examples showing how to simulate SIS junctions. If you run into any problems, please create a new issue through the issue tracker with the help wanted or question tag. In your message, make sure to include your operating system, Python version, and package versions for QMix, Numpy, SciPy and Matplotlib.

Contributing to QMix

GitHub issues GitHub commits since latest release

If you would like to contribute to the QMix project, please take a look at the contribution instructions. This document includes information on reporting bugs, requesting new features, creating pull requests and contributing new code.

To get a local copy of QMix running:

# Download QMix
git clone https://github.com/garrettj403/QMix.git QMix
cd QMix/

# Create a virtual environment using Anaconda
conda env create -f environment.yml
conda activate qmix

# Install QMix
python -m pip install -e .

# Test installation
pytest --verbose --color=yes tests/

Examples

QMix can be used to simulate a wide variety of SIS junction behavior. A simple example is shown below for simulating an SIS mixer at 230 GHz. You can find more examples in the QMix/notebooks/ directory or on the QMix website.

Citing QMix

If you use QMix, please cite the following papers:

DOI1

@article{Qmix1,
  author       = {J. D. Garrett and G. Yassin},
  title        = {{QMix: A Python package for simulating the quasiparticle tunneling currents in SIS junctions}},
  publisher    = {Journal of Open Source Software},
  month        = mar,
  year         = 2019,
  volume       = 4,
  number       = 35,
  pages        = 1231,
  doi          = {10.21105/joss.01231},
  url          = {https://doi.org/10.21105/joss.01231},
}

DOI2

@article{Qmix2,
  author       = {J. D. Garrett and B.-K. Tan and F. Boussaha and C. Chaumont and G. Yassin},
  title        = {{Simulating the Behavior of a 230-GHz SIS Mixer Using Multitone Spectral Domain Analysis}},
  publisher    = {IEEE Transactions on Terahertz Science and Technology},
  month        = nov,
  year         = 2019,
  volume       = 9,
  number       = 6,
  pages        = {540--548},
  doi          = {10.1109/TTHZ.2019.2938993},
  url          = {https://ieeexplore.ieee.org/document/8822760/},
}

You can also cite a specific version of QMix by citing the appropriate Zenodo archive:

DOI3

@article{Qmix3,
  author       = {J. D. Garrett},
  title        = {{QMix  (v1.0.6)}},
  month        = jul,
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3936263},
  url          = {http://doi.org/10.5281/zenodo.3936263}
}

License

QMix is released under a GNU General Public License, Version 3.