Coder Social home page Coder Social logo

hilbiii / dft_qe_beginner_tutorial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from crivella/dft_qe_beginner_tutorial

0.0 0.0 0.0 15.7 MB

Esercitazioni DFT con quantum espresso

Shell 61.46% Gnuplot 23.45% C 5.17% Fortran 5.92% Python 4.01%

dft_qe_beginner_tutorial's Introduction

DFT_esercitazioni

Beginner tutorial for Density Functional Theory(DFT) calculation using Quantum Espresso(QE)[1,2]

Required packages

  • A working version of QE 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) (The exercises script will generate gnuplot file to plot the results. Other programs can also be used)
  • A working version of XCrySDen, a program that can visualize input and output files of QE.

Installing/Compiling QE

  • QE can be installed from repository for Debian based linux distros (e.g.: Ubuntu) by running the command

    sudo apt-get install quantum-espresso
    

    PS: The max version of QE that can be installed this way is ... maybe 6.0 now

  • QE can be compiled from source:

  1. Download the desired release version from the GitHub page "https://github.com/QEF/q-e/releases".

  2. Unzip/tar the downloaded package and go inside the folder.

  3. From terminal run the commands

    ./configure --prefix=path for installation
    make all
    make install
    

NOTES: options for the configuration / use of external libraries for optimized executables is beyond the purpose of this tutorial.

Exercises and their purpose/aim

Bulk silicon (0_Si_bulk)

  1. Construct an input file for a choosen system and visualize it using xcrysden
  2. Run a simple self-consistent calculation using pw.x
  3. Estimate the kinetic cutoff convergency
  4. Determine the theoretical lattice parameter
  5. Calculate a charge density and visualize it using XCrySDen
  6. Generate a high-symmetry k-path using xcrysden and calculate a band structure
  7. Calculate the density of states(DOS) and optical properties(independent particle approximation) and show the convergence over the number of k_points and empty bands used

Two-dimensional boron nitride (1_BN)

  1. How to use a supercell in order to run calculation for material that are not periodic in all directions.

Graphene (2_Graphene)

  1. Run calculation for a metallic/semimetallic system

Carbon monoxide (3_CO)

  1. Run a relax calculation and visualize the output using xcrysden
  2. Run a calculaiton for a molecule (0D system)
  3. Calculate the binding energy of a molecule
  4. Visualize the HOMO and LUMO of a molecule (charge density for specific k-point and band)
  5. Use a Lennard-Jones like potential to fit the data 'E_tot' vs 'bond lenght'

Other folders

  • Docs: Contain additional tutorials in pdf format
  • Codes: Contain user-made code to analyze some of the data produced by QE
    1. boad.c (by Davide Grassano aka Crivella): Apply a gaussian broadening(to the y_n data) to a multicolumn file where the 1st column represents the x data and the 2nd,3rd,... columns represent the y_1, y_2, ... data.
    2. plot_pwbands.f90 (by ...) : ...
  • Pseudo: Contain the pseudopotential required to perform the exercises

Bibliography

  1. P. Giannozzi, S. Baroni, N. Bonini, M. Calandra, R. Car, C. Cavazzoni, D. Ceresoli, G. L. Chiarotti, M. Cococcioni, I. Dabo, et al., Journal of physics: Condensed matter 21, 395502 (2009).
  2. P. Giannozzi, O. Andreussi, T. Brumme, O. Bunau, M. B. Nardelli, M. Calandra, R. Car, C. Cavazzoni, D. Ceresoli, M. Cococcioni, et al., Journal of Physics: Condensed Matter 29, 465901 (2017).

dft_qe_beginner_tutorial's People

Contributors

attacc avatar crivella avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.