3. Devicegen
The most general way to define a mesh for QTCAD simulation is by using Gmsh. In principle, Gmsh can be used to produce meshes for arbitrary geometries and features a flexible interface for mesh refinement. Many tutorials are available online to learn how to use Gmsh.
However, many spin-qubit devices can be defined simply by extruding the 2D geometry from the top surface of the chip on which it is patterned. For such cases, Nanoacademic has developed a specialized device generator called devicegen, which wraps Gmsh functions to enable geometry definition from the device layout combined with a few lines of code in a simple Python API. The source code for this device generator is publicly available on GitHub, and users are welcome to contribute to and improve the code.
To use devicegen, clone the GitHub repository with:
git clone git@github.com:nanoacademic/devicegen.git
To install devicegen inside the qtcad
conda environment,
activate the environment and move to the root of the
devicegen repository. Then type
python setup.py develop
You may then get the latest updates from the device generator through
git pull
Alternatively, if you do not use Git, you may simply download the source code from the latest official release on the GitHub page.
After downloading the source code, proceed as explained above to add devicegen to your QTCAD conda environment.
You may learn how to use devicegen by following its tutorials, which are
stored in the tutorials
directory. The tutorials are Markdown files which
may be viewed using a Markdown viewer or directly on the GitHub
website by clicking on the tutorial files in your browser.