Rheedium (Documentation)
Rheedium is a JAX based computational framework for simulating RHEED patterns with automatic differentiation capabilities and GPU acceleration.
To install rheedium
pip install rheediumor clone it as:
git clone git@github.com:debangshu-mukherjee/rheedium.git- 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
See the tutorials for hands-on examples.
See the full API documentation on Read the Docs.
Install the development environment with:
uv sync --extra devRun the static type checker with:
uv run ty check srcRecommended 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 -vThis project is licensed under the MIT License - see the LICENSE file for details.
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},
}