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.

Accessing the latest release of devicegen on GitHub

Fig. 3.1 Accessing the latest release of devicegen on GitHub

Downloading the source code of devicegen on GitHub

Fig. 3.2 Downloading the source code of devicegen on GitHub

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.