Course: Computational Methods for Atomistic Simulations
Authors: Khasan Akhmadiev, Alexander Kvashnin
Purpose: This repository contains laboratory assignments for the course, focusing on calculating phonon / electronic properties of materials using the Quantum ESPRESSO (QE) package.
This project is primarily designed for running calculations on a remote server.
- Create a working directory on the server.
- Clone the repository:
git clone https://github.com/hasaki77/QE_Laboratory_Work.git cd QE_Laboratory_Work
An isolated environment is required to run the Jupyter Notebooks.
- Install the necessary packages using the dependency file (
environment.yml):conda env create -f environment.yml conda activate lab_env pip install git+https://github.com/Griffin-Group/pymatgen-io-espresso
- Activating mpirun
Before executing any calculation, ensure the QE environment variables are correctly sourced. Check, that MPI is working:
mpirun --version
- Connect to the server using VSCode Remote-SSH (recommended) or open a Jupyter Notebook server session.
- Open the lab assignment file (e.g.,
1_Structure_Optimization.ipynb). - Inside the Notebook, select the kernel
lab_env. - Run all cells to confirm functionality.
Each lab assignment is presented as a separate Jupyter Notebook, which includes a theoretical introduction, calculation code, and specific tasks.
| No. | Assignment Title | Primary Objective | File Link |
|---|---|---|---|
| 1 | Structure Optimization | Optimize cut-off energy and k-points parameters, followed by structure relaxation. | 1_Structure_Optimization.ipynb |
| 2 | Phonon & Electronic Properties | Calculate phonon/electronic Density of States (DOS) and band structures. | 2_Electron_Phonon_props.ipynb |
| 3 | MLIP Training | Implement Molecular Dynamics to generate structures used for training a Machine Learning Interatomic Potential (MLIP). | 3_MLIP_calculation.ipynb |
In addition to the labs, students must select a second structure (of their own choice) to implement the Final Project.
| Category | Software | Link | Purpose |
|---|---|---|---|
| SSH Client | PuTTY / Built-in Terminal | putty.org | Remote connection to the server. |
| Code Editor | VSCode with Remote-SSH | code.visualstudio.com | Code editing and running Jupyter Notebooks. |
| SFTP Client | WinSCP / FileZilla | winscp.net | Managing files between local machine and server. |
Good luck with your calculations! 🍀