Difference between revisions of "LabQSM"

From Wiki Max
Jump to navigation Jump to search
Line 10: Line 10:
== Getting Started ==
== Getting Started ==
[[Getting Started]]
[[Getting Started#Machine setup| Machine setup]]
[[Getting Started#Training material| Training material]]
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 [http://www.quantum-espresso.org 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 [http://www.xcrysden.org XcrySDen] or [https://jp-minerals.org/vesta/en/ VESTA](QE compatible structure visualization) and [https://avogadro.cc 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: [https://plasma-gate.weizmann.ac.il/Grace/ (XM)Grace], [http://www.gnuplot.info Gnuplot], or python with [https://matplotlib.org 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 [https://www.materialscloud.org/work/quantum-mobile available] on the [https://www.materialscloud.org MaterialsCloud] portal.
Step by step installation:
* Download the latest version of Quantum Mobile, following the link here: [https://quantum-mobile.readthedocs.io/  https://quantum-mobile.readthedocs.io/]. By doing this you'll obtain a VM image.
* If not available, install [https://www.virtualbox.org 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
* The Ubuntu OS comes with US language by default including US keyboard. If you have an Italian keyboard you need to select it by clicking on Setting->Region & Language -> Input source. You need to search and select the Italian language. Once you have set the Italian language, move it as first of the list and you will be able to switch to the Italian keyboard clicking on the keyboard icon in the top right of your screen
* Further information about Quantum Mobile installation can be found here: [https://github.com/marvel-nccr/quantum-mobile/releases/ https://github.com/marvel-nccr/quantum-mobile/releases/].
In order to use python to plot and fit data, it is also recommended to update python packages running the following:
* open a terminal
* become super-user typing
  $> sudo bash
* install python modules
  $>  pip3 install numpy
  $>  pip3 install matplotlib
  $>  pip3 install scipy
=== Opt2: Connecting to existing machines ===
In order to follow this path, you need the following information:
* the complete name of a running Unix/Linux machine (''<machine>'' in the following), something of the form  pluto.fisica.unimo.it
* a unix username (''<user>''), available on the machine
* the username passwd
With these info, you can login to the remote machine via the ssh protocol by issuing the following command:
  ssh -Y ''<user>''@''<machine>''
More info about ssh available at [[Warming up with Unix commands#More commands]].
Note that it would be very useful that the QE executables were placed in the executable path, such that you can e.g. find pw.x by typing:
  which pw.x
Make sure the required python modules (numpy, scipy, matplotlib) are installed, or asked the machine system admin.
=== 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:
* [http://www.quantum-espresso.org Quantum ESPRESSO]:
Download one of the latest tarsal archives (e.g. v6.5 or v6.6 from [https://gitlab.com/QEF/q-e/-/tags]), 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)
  $>  brew install gnuplot            (Mac Os with [https://brew.sh Homebrew] installed)
* Structure visualization software ([http://www.xcrysden.org XcrySDen] or [https://jp-minerals.org/vesta/en/ VESTA]): check out the download and installation pages of the SW webpage.
* Following the indications provided for QUantumMobile, install missing python modules if needed (having numpy, scipy, matplotlib can be useful).
=== Training material ===
In order to download the training material needed for these classes, clone the [https://github.com/max-centre/LabCQM LabQSM] repository from [https://github.com/ GitHub], by issuing the command:
  $>  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).
== Link to Selected Laboratories ==
== Link to Selected Laboratories ==

Revision as of 10:06, 16 December 2020

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 terms.

Getting Started

Machine setup Training material

Link to Selected Laboratories

Lecture 0: The Unix environment

Lecture 1: Basic DFT calculations and Convergences

Lecture 2: DFT simulations of Molecules

Lecture 3: Surfaces and Low dimensional structures