This is the homepage for the hands-on tutorial Laboratory of Quantum Simulation of Materials (LabQSM) held by Andrea Ferretti and Daniele Varsano, a university (master-level) class on electronic structure methods, with a particular focus on density functional theory (DFT).
Starting from 2016/2017, this training material has been extensively used in Master degree in Physics of the University of Modena and Reggio Emilia (UniMoRe), fall termx.
In order to go through this tutorial you need to have access to a Unix/Linux machine, where you can run Unix terminals. Software-wise, one needs the following:
- One quantum engine, i.e. a software able to run quantum mechanical DFT simulations. Here we consider Quantum ESPRESSO (QE). During this class we'll be using QE-v6.5, though any version newer that 6.0 would do.
- Structure visualization and builders: applications like XcrySDen or VESTA(QE compatible structure visualization) and Avogadro (molecular editor) will be used in the more advanced part of the class.
- General purpose scientific plotting tools. At least one of the following SW should be available: (XM)Grace, Gnuplot, or python with matplotlib support.
Several options are available:
- Opt1: Using the Quantum Mobile virtual machine (VM);
- Opt2: Connecting to existing machines, compliant with the class, as provided by the tutors
- Opt3: Installing your own machine
Opt1: Using Quantum Mobile
Quantum mobile is a ready-to-go VM, thought to provide all MaX flagship codes (incl QE) together with AiiDA seamlessly integrated in a plug-and-play linux (Ubuntu) environment. Quantum Mobile is available on the MaterialsCloud portal.
Step by step installation:
- Download the latest version of Quantum Mobile, following the link here: https://quantum-mobile.readthedocs.io/. By doing this you'll obtain a VM image.
- If not available, install VirtualBox to run the Quantum Mobile VM.
- Double click on the Quantum Mobile and follow the instruction to start the VM.
- At this point, after few minutes, you should see a virtualised Ubuntu OS. By opening a terminal you'll see that pw.x (and the other required executables) are available. Among others, all executables from the QE distribution, XcrySDen, Grace, gnuplot, and python are all pre-installed.
- The unix accounting within the VM is as follows:
user: max passwd: moritz
- Further information about Quantum Mobile installation can be found here: https://github.com/marvel-nccr/quantum-mobile/releases/.
Opt2: Connecting to existing machines
Opt3: Installing the needed software in your own machine
If you want to use your desktop or laptop, be sure you have the following software installed:
Download one of the latest tarsal archives (e.g. v6.5 or v6.6 from ), open it, and run the configure script. From command line you can issue:
$> wget https://gitlab.com/QEF/q-e/-/archive/qe-6.5/q-e-qe-6.5.tar.gz $> tar xvfz q-e-qe-6.5.tar.gz $> cd q-e-qe-6.5 $> ./configure $> make pw; make pp
Most of the time the configure script is able to produce a (basic) working configuration even without specifying any flags. In case you want to refine the installation or have some troubles configuring, have a look at the configure manual
$> ./configure --help
- General purpose scientific plotting tools: python and gnuplot (and in most cases Grace as well) can be installed by using software managers such as apt-get or yum (RedHat/CentOS). For the case of gnuplot
$> sudo apt-get install gnuplot (or) $> sudo yum install gnuplot (RedHat)
- Structure visualization software (XcrySDen or VESTA): check out the download and installation pages of the SW webpage.
> git clone https://github.com/max-centre/LabQSM.git
No passed request is be prompted, and a folder called LabQSM is created locally. Inspect the contact of the folder by typing:
> ls LabQSM/ > LAB_1 LICENSE README.md docs tools
On every new lecture, or when mentioned by the tutors, update the repository by typing:
> cd LabQSM > git pull
You are now all set and ready to start the hands-on part. Important notice: do not edit any of the files contained in the repository unless requested (otherwise you may not be able to update the repository using the git pull command, the presence of local changes conflicting with this git operation).