XRDlicious submodule for creating random point defects (interstitials, substitutes, vacancies, clusters, bubbles) in crystal structures. Also allows to fix atoms in POSCAR for Selective dynamics within VASP. Try it here: xrdlicious-point-defects.streamlit.app/.
- Video tutorial at YouTube for creating point defects.
- Video tutorial at YouTube for fixing atoms for Selective Dynamics in POSCAR within VASP .
If you like this application, please cite: Lebeda, Miroslav, et al. XRDlicious: an interactive web-based platform for online calculation of diffraction patterns and radial distribution functions from crystal structures. Applied Crystallography, 2025, 58.5.
For more computationally demanding calculations with more extensive data, please compile the code locally on your computer (follow the manual below).
- Python 3.x (Tested 3.12)
- Console (For Windows, I recommend to use WSL2 (Windows Subsystem for Linux))
- Git (optional for downloading the code)
Open your terminal console and write the following commands (the bold text):
(Optional) Install Git:
sudo apt update
sudo apt install git
-
Download the XRDlicious code from GitHub (or download it manually without Git on the following link by clicking on 'Code' and 'Download ZIP', then extract the ZIP. With Git, it is automatically extracted):
git clone https://github.com/bracerino/GUI-point-defects.git -
Navigate to the downloaded project folder:
cd GUI-point-defects/ -
Create a Python virtual environment to prevent possible conflicts between packages:
python3 -m venv point_defects_env -
Activate the Python virtual environment (before activating, make sure you are inside the xrdlicious folder):
source point_defects_env/bin/activate -
Install all the necessary Python packages:
pip install -r requirements.txt -
Run the XRDlicious app (always before running it, make sure to activate its Python virtual environment (Step 4):
streamlit run app.py
Python 3.12.3
- streamlit==1.45.1
- numpy==1.26.4
- matplotlib==3.10.3
- ase==3.25.0
- matminer==0.9.3
- pymatgen==2025.5.28
- py3Dmol==2.4.2
- plotly==6.1.1
- streamlit-plotly-events
- setuptools
- mp-api==0.45.3
- aflow==0.0.11
- pillow==11.2.1
- pymatgen.analysis.defects==2025.1.18
- psutil==7.0.0
- Upload structure and create supercell
- Select mode and its settings (introduce interstitials, vacancies, or substitutes). For less than 500 atoms in the structure, it is possible to select to place the defects either as far away as possible, as near as possible, or something in between these two cases using fast greedy algorithm (see the description on the application website). For higher number, it is possible to place the defects only randomly do to large computational demand.

- Apply the settings and download the modified defected structure.

