Rheedium¶
Rheedium (Documentation)¶
Overview¶
Rheedium is a JAX based computational framework for simulating RHEED patterns with automatic differentiation capabilities and GPU acceleration.
To install rheedium
pip install rheedium
or clone it as:
git clone git@github.com:debangshu-mukherjee/rheedium.git
Guides¶
Guides Overview - Complete guide index
Ewald-CTR Tutorial - Complete walkthrough from Ewald sphere to CTR rods
Kinematic Scattering - Diffraction theory, structure factors, and intensity calculations
Ewald Sphere - Geometric diffraction conditions in reciprocal space
Form Factors - Atomic scattering amplitudes and thermal (Debye-Waller) effects
Surface Rods - Crystal truncation rods, roughness, and finite domain effects
Layer Control - Controlling which atomic layers contribute to patterns
Arbitrary Directions - Simulating RHEED from any azimuth or surface orientation
Data Wrangling - Parsing XYZ, CIF, and POSCAR files
Unit Cell - Lattice vectors, reciprocal space, and surface slabs
PyTree Architecture - JAX data structures for GPU acceleration
Tutorials¶
See the tutorials for hands-on examples.
API Reference¶
See the full API documentation on Read the Docs.
Development¶
Install the development environment with:
uv sync --extra dev
Run the static type checker with:
uv run ty check src
Recommended local validation before pushing:
uv run ruff check src/ tests/
uv run ruff format --check src/ tests/
uv run ty check src
uv run pytest -v
License¶
This project is licensed under the MIT License - see the LICENSE file for details.
Citation¶
If you use Rheedium in your research, please cite:
@software{rheedium_software,
title={Rheedium: High-Performance RHEED Pattern Simulation},
author={Mukherjee, Debangshu},
year={2025},
url={https://github.com/debangshu-mukherjee/rheedium},
version={2025.10.05},
doi={10.5281/zenodo.14757400},
}