Skip to content

sail-sg/jrystal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cba2d4b · Mar 21, 2025

History

76 Commits
Mar 18, 2025
Mar 20, 2025
Feb 13, 2025
Mar 21, 2025
Mar 14, 2025
Feb 13, 2025
Mar 20, 2025
Mar 14, 2025
Mar 20, 2025
Mar 14, 2025
Mar 21, 2025
Feb 13, 2025
Mar 14, 2025
Mar 21, 2025

Repository files navigation

Jrystal

A JAX-based Differentiable Density Functional Theory Framework for Materials

feature-solid

Reference docs

Core Features

feature-AD

Differentiable: Leveraging JAX's automatic differentiation for efficient gradient computation of quantum properties, enabling straightforward optimization workflows.

feature-gpu

GPU-Accelerated: Optimized for modern GPU architectures, delivering high-performance quantum calculations with automatic hardware acceleration.

feature-solid

Solid-State Calculation: Full-featured framework for periodic systems using plane wave basis sets, supporting precise electronic structure calculations of crystalline materials.

feature-total

Direct Optimization: A direct minimization approach that avoids SCF iterations, enabling smooth convergence and natural integration of machine learning methods, and advanced quantum chemistry methods into density functional theory calculations.

Installation

You can install Jrystal directly from GitHub:

pip install git@github.com:sail-sg/jrystal.git

Development Installation

To install in development mode:

git clone git@github.com:sail-sg/jrystal.git
cd jrystal
pip install -e .

This allows you to modify the source code and have the changes take effect without rebuilding and reinstalling.

To build and serve the documentation locally:

make doc-dev

Then visit localhost:8000.

Usage

Run calculations using the command line interface:

jrystal -m energy -c config.yaml

The following modes are supported:

  • energy: compute the ground state energy of a system
  • band: compute the band structure of a system

You can customize the calculation by modifying the config.yaml file.

Band Structure Benchmarks

Jrystal has been benchmarked against Quantum ESPRESSO for various materials. Below are the comparison results for both all-electron and norm-conserving pseudopotential calculations.

All-electron Calculations

Silicon (Si) Band Structure

Silicon (Si)


Aluminum (Al) Band Structure

Aluminum (Al)


Graphene Band Structure

Graphene


Sodium (Na) Band Structure

Sodium (Na)


Norm-conserving Pseudopotential Calculations

Silicon (Si) Band Structure

Silicon (Si)


Aluminum (Al) Band Structure

Aluminum (Al)


Development Status

Note: The pseudopotential model is currently experimental.

The Team

This project is jointly developed by SEA AI LAB (SAIL) and NUS I-FIM.

SAIL Logo I-FIM Logo

Citation

If you find this project useful, please cite:

@inproceedings{ml4ps2024,
    title = {Jrystal: A JAX-based Differentiable Density Functional Theory Framework for Materials},
    author = {Li, Tianbo and Shi, Zekun and Dale, Stephen Gregory and Vignale, Giovanni and Lin, Min},
    booktitle = {Machine Learning and the Physical Sciences Workshop at NeurIPS 2024},
    year = {2024},
}

@article{li2024diagonalization,
    title={Diagonalization without Diagonalization: A Direct Optimization Approach for Solid-State Density Functional Theory},
    author={Li, Tianbo and Lin, Min and Dale, Stephen and Shi, Zekun and Neto, AH Castro and Novoselov, Kostya S and Vignale, Giovanni},
    journal={arXiv preprint arXiv:2411.05033},
    year={2024}
}

License

This project is licensed under the Apache License 2.0.