1. QTCAD
This section describes how to install QTCAD and its dependencies.
1.1. Software requirements
QTCAD consists of three main Python libraries, and thus requires a properly working Python installation. The recommended Python distribution for QTCAD is Miniconda, which may be installed using the instructions on the official conda website. This will include both Python and conda, the preferred package management tool for QTCAD installation.
QTCAD also uses mesh files as input. These mesh files can be produced with Gmsh. Following the conda QTCAD installation instructions below ensures that Gmsh is properly installed in the QTCAD virtual environement. In any situation where this is not possible, Gmsh may be installed by following the instructions on the official Gmsh website or in the next section. The website also contains Gmsh tutorials. Video tutorials on how to use Gmsh can also easily be found on YouTube.
Similarly, 3D mesh and geometry files may be generated from 2D layouts using the Python API coded in devicegen. Again, the conda installation procedure explained below will install this package automatically. Manual installation of devicegen is explained in the devicegen installation page.
Remark that while QTCAD is a commercial proprietary software, all its dependencies specified above are available for free.
1.2. Hardware requirements
Precise hardware requirements are strongly dependent on the complexity of the problem being solved both in terms of size of the mesh and solvers being employed. Therefore, it is quite non-trivial to provide universal hardware requirements for QTCAD.
Instead, below, we give two examples of systems on which QTCAD simulations may be run successfully. The first system is a laptop which may be used to run basic simulations for meshes with up to approximately 200,000 nodes that define simple devices with one or two quantum dots. This system uses a processor that dates back from 2015 and should be interpreted as a minimal setup. The second system is a more advanced desktop workstation which we routinely use for complex simulations using meshes with up to approximately 2,000,000 nodes.
These configurations should be understood as typical system examples, and not as hard requirements. We have indeed successfully run QTCAD on a wide variety of systems (Windows, Mac, or Linux laptops, desktop workstations, cloud computing services, HPC clusters, etc.). Since computation times depend non-trivially on many factors such as the hardware being used, number of cores employed, solver, mesh dimension, convergence properties of the problem being studied, tolerance of the solvers, or basis-set dimension (in the case of the many-body solver), they are not given here. Instead, we encourage users to experiment with our tutorials and practical applications on their machine. Nevertheless, for simulations of typical few-electron single or double quantum-dot devices, a laptop or a desktop computer should suffice, and HPC clusters should not be necessary.
1.2.1. System 1 (laptop)
CPU |
6th Gen Intel® Core™ i5-6300U @ 2.40GHz
|
GPU |
No discrete GPU, only integrated graphics
|
RAM |
8 GB |
HDD |
256 GB (SSD) |
OS |
Windows 10 |
1.2.2. System 2 (desktop)
CPU |
13th Gen Intel® Core™ i9-13900K @ 3.00 GHz
|
GPU |
None |
RAM |
128 GB |
HDD |
1 TB (SSD) |
OS |
Linux (Ubuntu distribution) |
1.2.3. Operating system
We officially support the following operating systems:
Windows
Linux
macOS
1.3. Downloading QTCAD
To download QTCAD, please visit the Nanoacademic client portal at
https://portal.nanoacademic.com/
If you already have a Nanoacademic account, please log in using your password.
Otherwise, please create your account, and then log in.
If this was not already done, please proceed to fill in the required user profile information (name, email address, institution, phone number, etc.).
Once you have a valid profile, please click on the “Products” section and select QTCAD. You should then see the following page:
Click on “Start your free trial”.
You will then see the following page which will allow you to download your license.
This will produce a file called license.lic
which we discuss further
in the License Activation page.
The next step is to click the “Download QTCAD” button. This will bring you to a page containing all available QTCAD versions. Please download the latest one at the top of the page.
1.4. Package installation with conda (recommended)
1.4.1. Setting up conda
Assuming that Miniconda (or Anaconda) is installed on your machine as recommended in the Software requirements section, it is good practice to make sure that you are using the latest version of conda. This can be done by updating your base conda environment.
conda update -n base conda
In addition, though this is optional, we strongly recommend installing Libmamba in your base environment. Libmamba is a faster dependency solver for conda which can significantly speed up QTCAD installation. Libmamba can be installed and set as the default dependency solver in your base environment as follows:
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
1.4.2. QTCAD installation on Linux and macOS
Unzip the compressed file in the target installation directory (represented here by
installation_path
).unzip qtcad.zip -d installation_path
Move to the
qtcad
directory inside the installation directory.cd installation_path/qtcad
Create the virtual environment that will be used to run QTCAD.
conda env update -f qtcad-OS.yml
where OS stands for
linux
ormac
, depending on your operating system.Warning
If you are using a Mac with an Arm-based processors (e.g. Apple M1), please install an osx-64 version of the environment using Rosetta due to the lack of support of some packages for Arm-based processors.
softwareupdate --install-rosetta ** RESTART YOUR SHELL ** CONDA_SUBDIR=osx-64 conda env create -f qtcad-mac.yml
Activate the virtual environment.
conda activate qtcad
Install the package
pip install .
Once the package is installed, it can be used like any regular Python
package, provided the qtcad
virtual environment is activated (step 4,
above).
1.4.3. QTCAD installation on Windows
To install QTCAD in Windows, it is recommended to use a PowerShell terminal.
Unzip the compressed directory in the target installation directory (represented here by the string
installation_path
).Expand-Archive qtcad.zip installation_path
Move to the
qtcad
directory inside the installation directory.cd installation_path/qtcad
Create the virtual environment that will be used to run QTCAD.
conda env update -f qtcad-win.yml
Activate the virtual environment.
conda activate qtcad
Install the package
pip install .
Once the package is installed, it can be used like any regular Python
package, provided the qtcad
virtual environment is activated (step 4,
above).
1.5. Package installation with pyenv (not recommended)
It is strongly recommended to install QTCAD using conda (Section 1.4).
However, some high-performance computing (HPC) clusters may not allow a conda install for various reasons (technical or administrative).
In these situations, installation with pyenv may be attempted despite the above recommendation.
If you need to install QTCAD through pyenv or any approach different from the
default conda installation method, please contact Nanoacademic to get the
required support. For example, the requirements.txt
file included with
QTCAD for pyenv installations may have to be manually tailored to your
workstation and operating system.
1.5.1. Linux and macOS
1.5.1.1. Installing pyenv
Before installing pyenv, it is useful to make sure that the recommended build environment is first put in place.
To install pyenv, an automatic installer is available on the official pyenv GitHub webpage.
If you prefer to manually clone the pyenv git repository, please follow these instructions, and then make sure to correctly set up your shell environment according to the procedure described after the section linked above.
After installing pyenv, a necessary next step to proceed with the QTCAD installation instructions that follow is to install the pyenv-virtualenv plugin of pyenv.
Note that if the automatic installer was used, this plugin may already have
been installed. In this case, assuming that pyenv was installed in a standard
directory, a directory called pyenv-virtualenv will be
found in $HOME/.pyenv/plugins/
.
1.5.1.2. Installing QTCAD dependencies
Install the Python 3.8 interpreter with
pyenv install 3.8.0
Create a virtual environment for QTCAD using the Python 3.8 interpreter with
pyenv virtualenv 3.8.0 qtcad
Activate the
qtcad
environment withpyenv shell qtcad
The list of virtual environments can be shown with
pyenv virtualenvs
A typical output will look like
3.8.0/envs/qtcad (created from /home/user/.pyenv/versions/3.8.0) * qtcad (created from /home/user/.pyenv/versions/3.8.0)
Here, the asterisk (*) indicates that the active environment is the
qtcad
environment.Install the packages specified in the
requirements.txt
file using pip withpip install -r requirements.txt
1.5.1.3. Installing QTCAD
Finally, QTCAD itself is installed with
pip install .
After installation, QTCAD may be launched simply by activating the qtcad
virtual environment (step 3 in Section 1.5.1.2). It should then be
possible to run Python scripts that call any of the QTCAD packages.
1.5.2. Windows
pyenv is not officially supported in Windows. A Windows version called pyenv-win exists, but was not tested by Nanoacademic. Please contact Nanoacademic if you need to install QTCAD on Windows with any approach other than the recommended conda approach.