This repository contains the hands-on material for a Density Functional Theory (DFT) workshop based on Quantum ESPRESSO (PWscf), including installation notes, tutorial exercises, input templates, helper scripts, and reference outputs.
Later, this repository may be extended with material for other electronic-structure codes, but the current content is focused on Quantum ESPRESSO.
-
Choose an installation route:
- Quantum Mobile VM (Windows): Installation/Quantum_Mobile_Installation.md
- Quantum ESPRESSO on Windows via WSL: Installation/QE_in_WSL_Windows.md
- Remote login tools (optional): Installation/MobaXerm_Putty_Installation.md
- GUI/visualization tools (optional): Installation/Burai_Install_Windows_Linux.md, Installation/VESTA_Installation.md
-
Start with the tutorials: Tutorials_QE/
- Tutorial 1 (Linux + visualization): Tutorials_QE/Tutorial-1/
- Tutorial 2 (SCF + convergence tests in Si): Tutorials_QE/Tutorial-2/
- Tutorial 3 (post-processing + supercells + bands): Tutorials_QE/Tutorial-3/
-
Pick or download pseudopotentials:
- Pseudopotentials folder + trusted download links: psudo/README.md
-
Verify your QE executables (examples used in this repo):
pw.x(SCF/NSCF/Bands calculations)pp.x(charge density post-processing)dos.x(density of states)bands.x+plotband.x(band structure collection/plotting)ev.x(equation-of-state fit used in Tutorial 2)
All installation guides are under Installation/:
- Quantum Mobile VM (recommended for a ready-to-use Linux environment): Installation/Quantum_Mobile_Installation.md
- QE on Windows via WSL (Ubuntu + conda): Installation/QE_in_WSL_Windows.md
- BURAI (QE GUI): Installation/Burai_Install_Windows_Linux.md
- VESTA (structure/charge visualization): Installation/VESTA_Installation.md
- MobaXterm / PuTTY (SSH + file transfer): Installation/MobaXerm_Putty_Installation.md
Top-level helper notes:
- Basic Linux commands: Tutorials_QE/Basic_command/Basic_Linux_command.md
- Basic
vi/vim: Tutorials_QE/Basic_command/Basic_Vi_command.md - Basic
awk: Tutorials_QE/Basic_command/Basic_awk_command.md - Basic gnuplot usage: Tutorials_QE/Basic_command/GNU_Plot_Basic.md
- Linux basics (short exercise included): Tutorials_QE/Tutorial-1/LINUX_BASICS
- XCrySDen visualization walkthrough: Tutorials_QE/Tutorial-1/XCRYSDEN_Tutorial
- Example structure inputs: Tutorials_QE/Tutorial-1/XCRYSDEN/
- XMGrace plotting walkthrough: Tutorials_QE/Tutorial-1/XMGRACE_Tutorial
- Example data files: Tutorials_QE/Tutorial-1/XMGRACE/
Main tutorial text: Tutorials_QE/Tutorial-2/Instructions
- Exercise 1: plane-wave cutoff convergence
- Sample input: Tutorials_QE/Tutorial-2/Exercise-1/Si.sample.in
- Automation script: Tutorials_QE/Tutorial-2/Exercise-1/Si.ecutwfc.sh
- Reference inputs/outputs and example data: Tutorials_QE/Tutorial-2/Exercise-1/Reference/
- Exercise 2: k-point convergence
- Automation script: Tutorials_QE/Tutorial-2/Exercise-2/Si.sample_K.sh
- Reference inputs/outputs and example data: Tutorials_QE/Tutorial-2/Exercise-2/Reference/
- Exercise 3: lattice-constant scan and equation-of-state fit
- Automation script: Tutorials_QE/Tutorial-2/Exercise-3/Si.sample_alat.sh
- Reference inputs/outputs and example data: Tutorials_QE/Tutorial-2/Exercise-3/Reference/
- Exercise 1: charge density extraction and DOS
- Instructions: Tutorials_QE/Tutorial-3/Exercise-1/INSTRUCTIONS
- Input templates: Tutorials_QE/Tutorial-3/Exercise-1/Si.scf.in, Tutorials_QE/Tutorial-3/Exercise-1/Si.pp_rho.in, Tutorials_QE/Tutorial-3/Exercise-1/Si.pp_rho.2D.in, Tutorials_QE/Tutorial-3/Exercise-1/dos.in
- Example outputs (xsf, dos, logs): Tutorials_QE/Tutorial-3/Exercise-1/Reference/
- Exercise 2: supercell calculations
- Exercise 3: band structure (reference outputs included)
- Instructions: Tutorials_QE/Tutorial-3/Exercise-3/INSTRUCTIONS
- Bands collection input: Tutorials_QE/Tutorial-3/Exercise-3/bands.in
- Brillouin-zone image: Tutorials_QE/Tutorial-3/Exercise-3/FCC.Brillouinzone_image.png
- Example outputs and plotting files: Tutorials_QE/Tutorial-3/Exercise-3/Reference/
See psudo/README.md for:
- the pseudopotentials shipped with this repo
- QE-compatible pseudopotential libraries (trusted sources) and download links
- Many input files and scripts contain hard-coded
pseudo_dirpaths that point to specific workshop machines. Updatepseudo_dirto your local pseudopotential folder (for example, the included UPFs are in psudo/). - Some templates use pseudopotential filenames that do not match the UPF filenames shipped in this repo. Make sure the
ATOMIC_SPECIESline matches an existing UPF file. - Keep
prefixandoutdirconsistent across SCF/NSCF and post-processing steps (pp.x,dos.x,bands.x), and create theoutdirdirectory if the input points to a non-existent folder (for example, Tutorials_QE/Tutorial-3/Exercise-1/dos.in usesoutdir = './tmp/'). - Each
Reference/folder contains example inputs/outputs that can be used to validate that your run is behaving as expected.