Beginner tutorial for Density Functional Theory (DFT) calculations for 2D materials using Quantum Espresso(QE) [1,2].
- A working version of QE (>=6.4) needs to be installed/compiled and the executables needs to be located in the PATH environmental variable or specified manually in the variable BIN_DIR.
- A working version of gnuplot (>=5.0) (Some scripts will generate gnuplot files to plot the results. Other programs can also be used)
- A working version of XCrySDen (http://www.xcrysden.org/), a program that can visualize input and output files of QE.
- A working version of avogadro (https://avogadro.cc/), a program for creating and viewing molecular structures
- A working version of python (>=3) with matplotlib and numpy installed
-
QE can be installed from repository for Debian based linux distros (e.g.: Ubuntu) by running the command
% sudo apt-get install quantum-espressoPS: The latest available version is shown at: https://packages.ubuntu.com/groovy/quantum-espresso (>6.5-1)
-
QE can be compiled from source:
-
Download the desired release version from the GitHub page "https://github.com/QEF/q-e/releases".
-
Unzip/tar the downloaded package and go inside the folder.
-
From terminal run the commands
% ./configure --prefix=path for installation % make all % make install
NOTE: options for the configuration / use of external libraries for optimized executables is beyond the purpose of this tutorial.
To download the exercise repository, run
git clone https://github.com/mpalummo/DFT-2D.git DFT-2D
cd DFT-2D
The repository can be updated by running
git pull
Alternatively, you can download a static copy by browsing to https://github.com/mpalummo/DFT-2D , click the green Code button and Download zip (unzip to extract)
C_1L, C_2L, BN_1L, BN_2L, MoS2-BULK, MoS2-1L,MoS2-2L
Optionally you can go also in C-BULK and BN-BULK to check how different xc-vdW functionals influence the equibrium atomic structure and consequently all the electronic properties
If you go in CBN-2L and run simulations you can see how graphene properties change when it is interfaced with a BN monolayer Note that an averaged lattice parameter between graphene and BN has been selected to relax the heterobilayer. In this way about 1% of strain is present for both layers. This is done to have the minimum commensurate 1x1 supercell for the hetero-bilayer, in real world the two layers have slightly different lattice parameters can be even uncommensurate.
If something goes wrong try to open inputs and scripts files and check them to understand which is the problem
Attention in all the shell scripts: if your shell is not zsh substitute zsh with bash at the beginning of the script file