https://github.com/garrettj403/qmix
Simulate the behavior of SIS junctions
https://github.com/garrettj403/qmix
physics python radio-astronomy simulation sis-mixer
Last synced: 7 months ago
JSON representation
Simulate the behavior of SIS junctions
- Host: GitHub
- URL: https://github.com/garrettj403/qmix
- Owner: garrettj403
- License: gpl-3.0
- Created: 2018-08-08T14:10:15.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-01T03:44:19.000Z (10 months ago)
- Last Synced: 2025-06-27T01:38:13.912Z (8 months ago)
- Topics: physics, python, radio-astronomy, simulation, sis-mixer
- Language: Python
- Homepage: https://garrettj403.github.io/QMix/
- Size: 19.5 MB
- Stars: 9
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
QMix
====
**Quantum Mixing software**
[](https://badge.fury.io/py/qmix)
[](https://github.com/garrettj403/QMix/actions/workflows/ci.yml)
[](https://github.com/garrettj403/QMix/actions/workflows/linter.yml)
[](https://github.com/garrettj403/QMix/blob/master/LICENSE)
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](https://garrettj403.github.io/QMix/references.html#references-related-to-multi-tone-spectral-domain-analysis)). 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``:
```bash
# 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](https://garrettj403.github.io/QMix/) 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](https://github.com/garrettj403/QMix/issues) 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
--------------------
[](https://github.com/garrettj403/QMix/issues)
[](https://github.com/garrettj403/QMix/commits/master)
If you would like to contribute to the QMix project, please take a look at the [contribution instructions](https://github.com/garrettj403/QMix/blob/master/CONTRIBUTING.md). 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:
```bash
# 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](https://garrettj403.github.io/QMix/single-tone-simulation.html).

Citing QMix
-----------
If you use QMix, please cite the following papers:
[](https://doi.org/10.21105/joss.01231)
@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},
}
[](https://doi.org/10.1109/TTHZ.2019.2938993)
@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:
[](https://doi.org/10.5281/zenodo.2538162)
@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](https://github.com/garrettj403/QMix/blob/master/LICENSE).